diff --git a/generated/TypeScript_R2.ts b/generated/TypeScript_R2.ts index 33a39c8f3..7086bb01f 100644 --- a/generated/TypeScript_R2.ts +++ b/generated/TypeScript_R2.ts @@ -12,52 +12,52 @@ export interface Address extends Element { /** * The name of the city, town, village or other community or delivery center. */ - city?: string; - _city?: Element; + city?: string|undefined; + _city?: Element|undefined; /** * Country - a nation as commonly understood or generally accepted. */ - country?: string; - _country?: Element; + country?: string|undefined; + _country?: Element|undefined; /** * The name of the administrative area (county). */ - district?: string; - _district?: Element; + district?: string|undefined; + _district?: Element|undefined; /** * home | work | temp | old - purpose of this address. */ - line?: string[]; - _line?: Element[]; + line?: string[]|undefined; + _line?: Element[]|undefined; /** * Allows addresses to be placed in historical context. */ - period?: Period; + period?: Period|undefined; /** * A postal code designating a region defined by the postal service. */ - postalCode?: string; - _postalCode?: Element; + postalCode?: string|undefined; + _postalCode?: Element|undefined; /** * Sub-unit of a country with limited sovereignty in a federally organized country. A code may be used if codes are in common use (i.e. US 2 letter state codes). */ - state?: string; - _state?: Element; + state?: string|undefined; + _state?: Element|undefined; /** * A renderable, unencoded form. */ - text?: string; - _text?: Element; + text?: string|undefined; + _text?: Element|undefined; /** * Distinguishes between physical addresses (those you can visit) and mailing addresses (e.g. PO Boxes and care-of addresses). Most addresses are both. */ - type?: AddressTypeCodes; - _type?: Element; + type?: AddressTypeCodes|undefined; + _type?: Element|undefined; /** * Allows an appropriate address to be chosen from a list of many. */ - use?: AddressUseCodes; - _use?: Element; + use?: AddressUseCodes|undefined; + _use?: Element|undefined; } /** * Code Values for the Address.type field @@ -88,22 +88,22 @@ export interface Annotation extends Element { /** * The individual responsible for making the annotation. */ - authorReference?: Reference; + authorReference?: Reference|undefined; /** * The individual responsible for making the annotation. */ - authorString?: string; - _authorString?: Element; + authorString?: string|undefined; + _authorString?: Element|undefined; /** * The text of the annotation. */ text: string; - _text?: Element; + _text?: Element|undefined; /** * Indicates when this particular annotation was made. */ - time?: string; - _time?: Element; + time?: string|undefined; + _time?: Element|undefined; } /** * For referring to data content defined in other formats. @@ -112,42 +112,42 @@ export interface Attachment extends Element { /** * Processors of the data need to be able to know how to interpret the data. */ - contentType?: string; - _contentType?: Element; + contentType?: string|undefined; + _contentType?: Element|undefined; /** * This is often tracked as an integrity issue for use of the attachment. */ - creation?: string; - _creation?: Element; + creation?: string|undefined; + _creation?: Element|undefined; /** * The data needs to able to be transmitted inline. */ - data?: string; - _data?: Element; + data?: string|undefined; + _data?: Element|undefined; /** * Included so that applications can verify that the contents of a location have not changed and so that a signature of the content can implicitly sign the content of an image without having to include the data in the instance or reference the url in the signature. */ - hash?: string; - _hash?: Element; + hash?: string|undefined; + _hash?: Element|undefined; /** * Users need to be able to choose between the languages in a set of attachments. */ - language?: string; - _language?: Element; + language?: string|undefined; + _language?: Element|undefined; /** * Representing the size allows applications to determine whether they should fetch the content automatically in advance, or refuse to fetch it at all. */ - size?: number; + size?: number|undefined; /** * Applications need a label to display to a human user in place of the actual data if the data cannot be rendered or perceived by the viewer. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * The data needs to be transmitted by reference. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; } /** * Base definition for all elements that are defined inside a resource - but not those in a data type. @@ -156,7 +156,7 @@ export interface BackboneElement extends Element { /** * 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 that contains it. Usually modifier elements provide negation or qualification. In order 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 is allowed to 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. */ - modifierExtension?: Extension[]; + modifierExtension?: Extension[]|undefined; } /** * A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text. @@ -165,12 +165,12 @@ export interface CodeableConcept extends Element { /** * Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings. */ - coding?: Coding[]; + coding?: Coding[]|undefined; /** * The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source. */ - text?: string; - _text?: Element; + text?: string|undefined; + _text?: Element|undefined; } /** * A reference to a code defined by a terminology system. @@ -179,28 +179,28 @@ export interface Coding extends Element { /** * Need to refer to a particular code in the system. */ - code?: string; - _code?: Element; + code?: string|undefined; + _code?: Element|undefined; /** * Need to be able to carry a human-readable meaning of the code for readers that do not know the system. */ - display?: string; - _display?: Element; + display?: string|undefined; + _display?: Element|undefined; /** * Need to be unambiguous about the source of the definition of the symbol. */ - system?: string; - _system?: Element; + system?: string|undefined; + _system?: Element|undefined; /** * This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing. */ - userSelected?: boolean; - _userSelected?: Element; + userSelected?: boolean|undefined; + _userSelected?: Element|undefined; /** * The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc. @@ -209,26 +209,26 @@ export interface ContactPoint extends Element { /** * Time period when the contact point was/is in use. */ - period?: Period; + period?: Period|undefined; /** * Specifies a preferred order in which to use a set of contacts. Contacts are ranked with lower values coming before higher values. */ - rank?: number; + rank?: number|undefined; /** * Telecommunications form for contact point - what communications system is required to make use of the contact. */ - system?: ContactPointSystemCodes; - _system?: Element; + system?: ContactPointSystemCodes|undefined; + _system?: Element|undefined; /** * Need to track the way a person uses this contact, so a user can choose which is appropriate for their purpose. */ - use?: ContactPointUseCodes; - _use?: Element; + use?: ContactPointUseCodes|undefined; + _use?: Element|undefined; /** * Need to support legacy numbers that are not in a tightly controlled format. */ - value?: string; - _value?: Element; + value?: string|undefined; + _value?: Element|undefined; } /** * Code Values for the ContactPoint.system field @@ -272,12 +272,12 @@ export interface Element { /** * May be used to represent additional information that is not part of the basic definition of the element. In order 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 is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. */ - extension?: Extension[]; + extension?: Extension[]|undefined; /** * unique id for the element within a resource (for internal references). */ - id?: string; - _id?: Element; + id?: string|undefined; + _id?: Element|undefined; } /** * 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). @@ -286,23 +286,23 @@ export interface ElementDefinitionSlicing extends Element { /** * A human-readable text description of how the slicing works. If there is no discriminator, this is required to be present to provide whatever information is possible about how the slices can be differentiated. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Designates which child elements are used to discriminate between the slices when processing an instance. If one or more discriminators are provided, the value of the child elements in the instance data SHALL completely distinguish which slice the element in the resource matches based on the allowed values for those elements in each of the slices. */ - discriminator?: string[]; - _discriminator?: Element[]; + discriminator?: string[]|undefined; + _discriminator?: Element[]|undefined; /** * If the matching elements have to occur in the same order as defined in the profile. */ - ordered?: boolean; - _ordered?: Element; + ordered?: boolean|undefined; + _ordered?: Element|undefined; /** * Whether additional slices are allowed or not. When the slices are ordered, profile authors can also say that additional slices are only allowed at the end. */ rules: ElementDefinitionSlicingRulesCodes; - _rules?: Element; + _rules?: Element|undefined; } /** * Code Values for the ElementDefinition.slicing.rules field @@ -320,7 +320,7 @@ export interface ElementDefinitionBase extends Element { * Maximum cardinality of the base element identified by the path. */ max: string; - _max?: Element; + _max?: Element|undefined; /** * Minimum cardinality of the base element identified by the path. */ @@ -329,7 +329,7 @@ export interface ElementDefinitionBase extends Element { * The Path that identifies the base element - this matches the ElementDefinition.path for that element. Across FHIR, there is only one base definition of any element - that is, an element definition on a [[[StructureDefinition]]] without a StructureDefinition.base. */ path: string; - _path?: Element; + _path?: Element|undefined; } /** * The data type or resource that the value of this element is permitted to be. @@ -338,18 +338,18 @@ export interface ElementDefinitionType extends Element { /** * If the type is a reference to another resource, how the resource is or can be aggregated - is it a contained resource, or a reference, and if the context is a bundle, is it included in the bundle. */ - aggregation?: ElementDefinitionTypeAggregationCodes[]; - _aggregation?: Element[]; + aggregation?: ElementDefinitionTypeAggregationCodes[]|undefined; + _aggregation?: Element[]|undefined; /** * Name of Data type or Resource that is a(or the) type used for this element. */ code: string; - _code?: Element; + _code?: Element|undefined; /** * Identifies a profile structure or implementation Guide that SHALL hold for resources or datatypes referenced as the type of this element. Can be a local reference - to another structure in this profile, or a reference to a structure in another profile. When more than one profile is specified, the content must conform to all of them. When an implementation guide is specified, the resource SHALL conform to at least one profile defined in the implementation guide. */ - profile?: string[]; - _profile?: Element[]; + profile?: string[]|undefined; + _profile?: Element[]|undefined; } /** * Code Values for the ElementDefinition.type.aggregation field @@ -367,27 +367,27 @@ export interface ElementDefinitionConstraint extends Element { * Text that can be used to describe the constraint in messages identifying that the constraint has been violated. */ human: string; - _human?: Element; + _human?: Element|undefined; /** * Allows identification of which elements have their cardinalities impacted by the constraint. Will not be referenced for constraints that do not affect cardinality. */ key: string; - _key?: Element; + _key?: Element|undefined; /** * Description of why this constraint is necessary or appropriate. */ - requirements?: string; - _requirements?: Element; + requirements?: string|undefined; + _requirements?: Element|undefined; /** * Identifies the impact constraint violation has on the conformance of the instance. */ severity: ElementDefinitionConstraintSeverityCodes; - _severity?: Element; + _severity?: Element|undefined; /** * Used in Schematron tests of the validity of the resource. */ xpath: string; - _xpath?: Element; + _xpath?: Element|undefined; } /** * Code Values for the ElementDefinition.constraint.severity field @@ -403,22 +403,22 @@ export interface ElementDefinitionBinding extends Element { /** * Describes the intended use of this particular set of codes. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Indicates the degree of conformance expectations associated with this binding - that is, the degree to which the provided value set must be adhered to in the instances. */ strength: ElementDefinitionBindingStrengthCodes; - _strength?: Element; + _strength?: Element|undefined; /** * Points to the value set or external definition (e.g. implicit value set) that identifies the set of codes to be used. */ - valueSetUri?: string; - _valueSetUri?: Element; + valueSetUri?: string|undefined; + _valueSetUri?: Element|undefined; /** * Points to the value set or external definition (e.g. implicit value set) that identifies the set of codes to be used. */ - valueSetReference?: Reference; + valueSetReference?: Reference|undefined; } /** * Code Values for the ElementDefinition.binding.strength field @@ -437,17 +437,17 @@ export interface ElementDefinitionMapping extends Element { * An internal reference to the definition of a mapping. */ identity: string; - _identity?: Element; + _identity?: Element|undefined; /** * Identifies the computable language in which mapping.map is expressed. */ - language?: string; - _language?: Element; + language?: string|undefined; + _language?: Element|undefined; /** * Expresses what part of the target specification corresponds to this element. */ map: string; - _map?: Element; + _map?: Element|undefined; } /** * Captures constraints on each element within the resource, profile, or extension. @@ -456,983 +456,983 @@ export interface ElementDefinition extends Element { /** * Allows for better easier recognition of the element by multiple communities, including international communities. */ - alias?: string[]; - _alias?: Element[]; + alias?: string[]|undefined; + _alias?: Element[]|undefined; /** * Information about the base definition of the element, provided to make it unncessary for tools to trace the deviation of the element through the derived and related profiles. This information is only provided where the element definition represents a constraint on another element definition, and must be present if there is a base element definition. */ - base?: ElementDefinitionBase; + base?: ElementDefinitionBase|undefined; /** * Binds to a value set if this element is coded (code, Coding, CodeableConcept). */ - binding?: ElementDefinitionBinding; + binding?: ElementDefinitionBinding|undefined; /** * Links the meaning of an element to an external terminology. */ - code?: Coding[]; + code?: Coding[]|undefined; /** * Explanatory notes and implementation guidance about the data element, including notes about how to use the data properly, exceptions to proper use, etc. */ - comments?: string; - _comments?: Element; + comments?: string|undefined; + _comments?: Element|undefined; /** * A reference to an invariant that may make additional statements about the cardinality or value in the instance. */ - condition?: string[]; - _condition?: Element[]; + condition?: string[]|undefined; + _condition?: Element[]|undefined; /** * Formal constraints such as co-occurrence and other constraints that can be computationally evaluated within the context of the instance. */ - constraint?: ElementDefinitionConstraint[]; + constraint?: ElementDefinitionConstraint[]|undefined; /** * 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; - _defaultValueBoolean?: Element; + defaultValueBoolean?: boolean|undefined; + _defaultValueBoolean?: Element|undefined; /** * 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; + defaultValueInteger?: number|undefined; /** * 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; + defaultValueDecimal?: number|undefined; /** * 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; - _defaultValueBase64Binary?: Element; + defaultValueBase64Binary?: string|undefined; + _defaultValueBase64Binary?: Element|undefined; /** * 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; - _defaultValueInstant?: Element; + defaultValueInstant?: string|undefined; + _defaultValueInstant?: Element|undefined; /** * 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; - _defaultValueString?: Element; + defaultValueString?: string|undefined; + _defaultValueString?: Element|undefined; /** * 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; - _defaultValueUri?: Element; + defaultValueUri?: string|undefined; + _defaultValueUri?: Element|undefined; /** * 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; - _defaultValueDate?: Element; + defaultValueDate?: string|undefined; + _defaultValueDate?: Element|undefined; /** * 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; - _defaultValueDateTime?: Element; + defaultValueDateTime?: string|undefined; + _defaultValueDateTime?: Element|undefined; /** * 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; - _defaultValueTime?: Element; + defaultValueTime?: string|undefined; + _defaultValueTime?: Element|undefined; /** * 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; - _defaultValueCode?: Element; + defaultValueCode?: string|undefined; + _defaultValueCode?: Element|undefined; /** * 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; - _defaultValueOid?: Element; + defaultValueOid?: string|undefined; + _defaultValueOid?: Element|undefined; /** * 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; - _defaultValueId?: Element; + defaultValueId?: string|undefined; + _defaultValueId?: Element|undefined; /** * 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; + defaultValueUnsignedInt?: number|undefined; /** * 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; + defaultValuePositiveInt?: number|undefined; /** * 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; - _defaultValueMarkdown?: Element; + defaultValueMarkdown?: string|undefined; + _defaultValueMarkdown?: Element|undefined; /** * 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; + defaultValueAnnotation?: Annotation|undefined; /** * 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; + defaultValueAttachment?: Attachment|undefined; /** * 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; + defaultValueIdentifier?: Identifier|undefined; /** * 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; + defaultValueCodeableConcept?: CodeableConcept|undefined; /** * 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; + defaultValueCoding?: Coding|undefined; /** * 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; + defaultValueQuantity?: Quantity|undefined; /** * 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; + defaultValueRange?: Range|undefined; /** * 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; + defaultValuePeriod?: Period|undefined; /** * 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; + defaultValueRatio?: Ratio|undefined; /** * 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; + defaultValueSampledData?: SampledData|undefined; /** * 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; + defaultValueSignature?: Signature|undefined; /** * 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; + defaultValueHumanName?: HumanName|undefined; /** * 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; + defaultValueAddress?: Address|undefined; /** * 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; + defaultValueContactPoint?: ContactPoint|undefined; /** * 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; + defaultValueTiming?: Timing|undefined; /** * 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; + defaultValueReference?: Reference|undefined; /** * 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; + defaultValueMeta?: Meta|undefined; /** * To allow a user to state the usage of an element in a particular context. */ - definition?: string; - _definition?: Element; + definition?: string|undefined; + _definition?: Element|undefined; /** * A sample value for this element demonstrating the type of information that would typically be captured. */ - exampleBoolean?: boolean; - _exampleBoolean?: Element; + exampleBoolean?: boolean|undefined; + _exampleBoolean?: Element|undefined; /** * A sample value for this element demonstrating the type of information that would typically be captured. */ - exampleInteger?: number; + exampleInteger?: number|undefined; /** * A sample value for this element demonstrating the type of information that would typically be captured. */ - exampleDecimal?: number; + exampleDecimal?: number|undefined; /** * A sample value for this element demonstrating the type of information that would typically be captured. */ - exampleBase64Binary?: string; - _exampleBase64Binary?: Element; + exampleBase64Binary?: string|undefined; + _exampleBase64Binary?: Element|undefined; /** * A sample value for this element demonstrating the type of information that would typically be captured. */ - exampleInstant?: string; - _exampleInstant?: Element; + exampleInstant?: string|undefined; + _exampleInstant?: Element|undefined; /** * A sample value for this element demonstrating the type of information that would typically be captured. */ - exampleString?: string; - _exampleString?: Element; + exampleString?: string|undefined; + _exampleString?: Element|undefined; /** * A sample value for this element demonstrating the type of information that would typically be captured. */ - exampleUri?: string; - _exampleUri?: Element; + exampleUri?: string|undefined; + _exampleUri?: Element|undefined; /** * A sample value for this element demonstrating the type of information that would typically be captured. */ - exampleDate?: string; - _exampleDate?: Element; + exampleDate?: string|undefined; + _exampleDate?: Element|undefined; /** * A sample value for this element demonstrating the type of information that would typically be captured. */ - exampleDateTime?: string; - _exampleDateTime?: Element; + exampleDateTime?: string|undefined; + _exampleDateTime?: Element|undefined; /** * A sample value for this element demonstrating the type of information that would typically be captured. */ - exampleTime?: string; - _exampleTime?: Element; + exampleTime?: string|undefined; + _exampleTime?: Element|undefined; /** * A sample value for this element demonstrating the type of information that would typically be captured. */ - exampleCode?: string; - _exampleCode?: Element; + exampleCode?: string|undefined; + _exampleCode?: Element|undefined; /** * A sample value for this element demonstrating the type of information that would typically be captured. */ - exampleOid?: string; - _exampleOid?: Element; + exampleOid?: string|undefined; + _exampleOid?: Element|undefined; /** * A sample value for this element demonstrating the type of information that would typically be captured. */ - exampleId?: string; - _exampleId?: Element; + exampleId?: string|undefined; + _exampleId?: Element|undefined; /** * A sample value for this element demonstrating the type of information that would typically be captured. */ - exampleUnsignedInt?: number; + exampleUnsignedInt?: number|undefined; /** * A sample value for this element demonstrating the type of information that would typically be captured. */ - examplePositiveInt?: number; + examplePositiveInt?: number|undefined; /** * A sample value for this element demonstrating the type of information that would typically be captured. */ - exampleMarkdown?: string; - _exampleMarkdown?: Element; + exampleMarkdown?: string|undefined; + _exampleMarkdown?: Element|undefined; /** * A sample value for this element demonstrating the type of information that would typically be captured. */ - exampleAnnotation?: Annotation; + exampleAnnotation?: Annotation|undefined; /** * A sample value for this element demonstrating the type of information that would typically be captured. */ - exampleAttachment?: Attachment; + exampleAttachment?: Attachment|undefined; /** * A sample value for this element demonstrating the type of information that would typically be captured. */ - exampleIdentifier?: Identifier; + exampleIdentifier?: Identifier|undefined; /** * A sample value for this element demonstrating the type of information that would typically be captured. */ - exampleCodeableConcept?: CodeableConcept; + exampleCodeableConcept?: CodeableConcept|undefined; /** * A sample value for this element demonstrating the type of information that would typically be captured. */ - exampleCoding?: Coding; + exampleCoding?: Coding|undefined; /** * A sample value for this element demonstrating the type of information that would typically be captured. */ - exampleQuantity?: Quantity; + exampleQuantity?: Quantity|undefined; /** * A sample value for this element demonstrating the type of information that would typically be captured. */ - exampleRange?: Range; + exampleRange?: Range|undefined; /** * A sample value for this element demonstrating the type of information that would typically be captured. */ - examplePeriod?: Period; + examplePeriod?: Period|undefined; /** * A sample value for this element demonstrating the type of information that would typically be captured. */ - exampleRatio?: Ratio; + exampleRatio?: Ratio|undefined; /** * A sample value for this element demonstrating the type of information that would typically be captured. */ - exampleSampledData?: SampledData; + exampleSampledData?: SampledData|undefined; /** * A sample value for this element demonstrating the type of information that would typically be captured. */ - exampleSignature?: Signature; + exampleSignature?: Signature|undefined; /** * A sample value for this element demonstrating the type of information that would typically be captured. */ - exampleHumanName?: HumanName; + exampleHumanName?: HumanName|undefined; /** * A sample value for this element demonstrating the type of information that would typically be captured. */ - exampleAddress?: Address; + exampleAddress?: Address|undefined; /** * A sample value for this element demonstrating the type of information that would typically be captured. */ - exampleContactPoint?: ContactPoint; + exampleContactPoint?: ContactPoint|undefined; /** * A sample value for this element demonstrating the type of information that would typically be captured. */ - exampleTiming?: Timing; + exampleTiming?: Timing|undefined; /** * A sample value for this element demonstrating the type of information that would typically be captured. */ - exampleReference?: Reference; + exampleReference?: Reference|undefined; /** * A sample value for this element demonstrating the type of information that would typically be captured. */ - exampleMeta?: Meta; + exampleMeta?: Meta|undefined; /** * 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; - _fixedBoolean?: Element; + fixedBoolean?: boolean|undefined; + _fixedBoolean?: Element|undefined; /** * 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; + fixedInteger?: number|undefined; /** * 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; + fixedDecimal?: number|undefined; /** * 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; - _fixedBase64Binary?: Element; + fixedBase64Binary?: string|undefined; + _fixedBase64Binary?: Element|undefined; /** * 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; - _fixedInstant?: Element; + fixedInstant?: string|undefined; + _fixedInstant?: Element|undefined; /** * 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; - _fixedString?: Element; + fixedString?: string|undefined; + _fixedString?: Element|undefined; /** * 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; - _fixedUri?: Element; + fixedUri?: string|undefined; + _fixedUri?: Element|undefined; /** * 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; - _fixedDate?: Element; + fixedDate?: string|undefined; + _fixedDate?: Element|undefined; /** * 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; - _fixedDateTime?: Element; + fixedDateTime?: string|undefined; + _fixedDateTime?: Element|undefined; /** * 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; - _fixedTime?: Element; + fixedTime?: string|undefined; + _fixedTime?: Element|undefined; /** * 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; - _fixedCode?: Element; + fixedCode?: string|undefined; + _fixedCode?: Element|undefined; /** * 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; - _fixedOid?: Element; + fixedOid?: string|undefined; + _fixedOid?: Element|undefined; /** * 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; - _fixedId?: Element; + fixedId?: string|undefined; + _fixedId?: Element|undefined; /** * 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; + fixedUnsignedInt?: number|undefined; /** * 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; + fixedPositiveInt?: number|undefined; /** * 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; - _fixedMarkdown?: Element; + fixedMarkdown?: string|undefined; + _fixedMarkdown?: Element|undefined; /** * 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; + fixedAnnotation?: Annotation|undefined; /** * 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; + fixedAttachment?: Attachment|undefined; /** * 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; + fixedIdentifier?: Identifier|undefined; /** * 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; + fixedCodeableConcept?: CodeableConcept|undefined; /** * 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; + fixedCoding?: Coding|undefined; /** * 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; + fixedQuantity?: Quantity|undefined; /** * 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; + fixedRange?: Range|undefined; /** * 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; + fixedPeriod?: Period|undefined; /** * 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; + fixedRatio?: Ratio|undefined; /** * 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; + fixedSampledData?: SampledData|undefined; /** * 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; + fixedSignature?: Signature|undefined; /** * 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; + fixedHumanName?: HumanName|undefined; /** * 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; + fixedAddress?: Address|undefined; /** * 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; + fixedContactPoint?: ContactPoint|undefined; /** * 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; + fixedTiming?: Timing|undefined; /** * 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; + fixedReference?: Reference|undefined; /** * 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; + fixedMeta?: Meta|undefined; /** * Allows elements to be introduced into a specification that can't safely be ignored by applications that don't recognize them. */ - isModifier?: boolean; - _isModifier?: Element; + isModifier?: boolean|undefined; + _isModifier?: Element|undefined; /** * Allow clients to search through large resources quickly. */ - isSummary?: boolean; - _isSummary?: Element; + isSummary?: boolean|undefined; + _isSummary?: Element|undefined; /** * 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; - _label?: Element; + label?: string|undefined; + _label?: Element|undefined; /** * Provides guidance to implementers familiar with or converting content from other specifications. */ - mapping?: ElementDefinitionMapping[]; + mapping?: ElementDefinitionMapping[]|undefined; /** * The maximum number of times this element is permitted to appear in the instance. */ - max?: string; - _max?: Element; + max?: string|undefined; + _max?: Element|undefined; /** * Indicates the maximum length in characters that is permitted to be present in conformant instances and which is expected to be supported by conformant consumers that support the element. */ - maxLength?: number; + maxLength?: number|undefined; /** * The maximum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - maxValueBoolean?: boolean; - _maxValueBoolean?: Element; + maxValueBoolean?: boolean|undefined; + _maxValueBoolean?: Element|undefined; /** * The maximum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - maxValueInteger?: number; + maxValueInteger?: number|undefined; /** * The maximum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - maxValueDecimal?: number; + maxValueDecimal?: number|undefined; /** * The maximum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - maxValueBase64Binary?: string; - _maxValueBase64Binary?: Element; + maxValueBase64Binary?: string|undefined; + _maxValueBase64Binary?: Element|undefined; /** * The maximum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - maxValueInstant?: string; - _maxValueInstant?: Element; + maxValueInstant?: string|undefined; + _maxValueInstant?: Element|undefined; /** * The maximum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - maxValueString?: string; - _maxValueString?: Element; + maxValueString?: string|undefined; + _maxValueString?: Element|undefined; /** * The maximum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - maxValueUri?: string; - _maxValueUri?: Element; + maxValueUri?: string|undefined; + _maxValueUri?: Element|undefined; /** * The maximum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - maxValueDate?: string; - _maxValueDate?: Element; + maxValueDate?: string|undefined; + _maxValueDate?: Element|undefined; /** * The maximum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - maxValueDateTime?: string; - _maxValueDateTime?: Element; + maxValueDateTime?: string|undefined; + _maxValueDateTime?: Element|undefined; /** * The maximum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - maxValueTime?: string; - _maxValueTime?: Element; + maxValueTime?: string|undefined; + _maxValueTime?: Element|undefined; /** * The maximum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - maxValueCode?: string; - _maxValueCode?: Element; + maxValueCode?: string|undefined; + _maxValueCode?: Element|undefined; /** * The maximum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - maxValueOid?: string; - _maxValueOid?: Element; + maxValueOid?: string|undefined; + _maxValueOid?: Element|undefined; /** * The maximum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - maxValueId?: string; - _maxValueId?: Element; + maxValueId?: string|undefined; + _maxValueId?: Element|undefined; /** * The maximum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - maxValueUnsignedInt?: number; + maxValueUnsignedInt?: number|undefined; /** * The maximum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - maxValuePositiveInt?: number; + maxValuePositiveInt?: number|undefined; /** * The maximum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - maxValueMarkdown?: string; - _maxValueMarkdown?: Element; + maxValueMarkdown?: string|undefined; + _maxValueMarkdown?: Element|undefined; /** * The maximum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - maxValueAnnotation?: Annotation; + maxValueAnnotation?: Annotation|undefined; /** * The maximum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - maxValueAttachment?: Attachment; + maxValueAttachment?: Attachment|undefined; /** * The maximum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - maxValueIdentifier?: Identifier; + maxValueIdentifier?: Identifier|undefined; /** * The maximum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - maxValueCodeableConcept?: CodeableConcept; + maxValueCodeableConcept?: CodeableConcept|undefined; /** * The maximum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - maxValueCoding?: Coding; + maxValueCoding?: Coding|undefined; /** * The maximum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - maxValueQuantity?: Quantity; + maxValueQuantity?: Quantity|undefined; /** * The maximum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - maxValueRange?: Range; + maxValueRange?: Range|undefined; /** * The maximum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - maxValuePeriod?: Period; + maxValuePeriod?: Period|undefined; /** * The maximum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - maxValueRatio?: Ratio; + maxValueRatio?: Ratio|undefined; /** * The maximum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - maxValueSampledData?: SampledData; + maxValueSampledData?: SampledData|undefined; /** * The maximum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - maxValueSignature?: Signature; + maxValueSignature?: Signature|undefined; /** * The maximum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - maxValueHumanName?: HumanName; + maxValueHumanName?: HumanName|undefined; /** * The maximum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - maxValueAddress?: Address; + maxValueAddress?: Address|undefined; /** * The maximum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - maxValueContactPoint?: ContactPoint; + maxValueContactPoint?: ContactPoint|undefined; /** * The maximum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - maxValueTiming?: Timing; + maxValueTiming?: Timing|undefined; /** * The maximum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - maxValueReference?: Reference; + maxValueReference?: Reference|undefined; /** * The maximum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - maxValueMeta?: Meta; + maxValueMeta?: Meta|undefined; /** * 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; - _meaningWhenMissing?: Element; + meaningWhenMissing?: string|undefined; + _meaningWhenMissing?: Element|undefined; /** * The minimum number of times this element SHALL appear in the instance. */ - min?: number; + min?: number|undefined; /** * The minimum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - minValueBoolean?: boolean; - _minValueBoolean?: Element; + minValueBoolean?: boolean|undefined; + _minValueBoolean?: Element|undefined; /** * The minimum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - minValueInteger?: number; + minValueInteger?: number|undefined; /** * The minimum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - minValueDecimal?: number; + minValueDecimal?: number|undefined; /** * The minimum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - minValueBase64Binary?: string; - _minValueBase64Binary?: Element; + minValueBase64Binary?: string|undefined; + _minValueBase64Binary?: Element|undefined; /** * The minimum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - minValueInstant?: string; - _minValueInstant?: Element; + minValueInstant?: string|undefined; + _minValueInstant?: Element|undefined; /** * The minimum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - minValueString?: string; - _minValueString?: Element; + minValueString?: string|undefined; + _minValueString?: Element|undefined; /** * The minimum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - minValueUri?: string; - _minValueUri?: Element; + minValueUri?: string|undefined; + _minValueUri?: Element|undefined; /** * The minimum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - minValueDate?: string; - _minValueDate?: Element; + minValueDate?: string|undefined; + _minValueDate?: Element|undefined; /** * The minimum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - minValueDateTime?: string; - _minValueDateTime?: Element; + minValueDateTime?: string|undefined; + _minValueDateTime?: Element|undefined; /** * The minimum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - minValueTime?: string; - _minValueTime?: Element; + minValueTime?: string|undefined; + _minValueTime?: Element|undefined; /** * The minimum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - minValueCode?: string; - _minValueCode?: Element; + minValueCode?: string|undefined; + _minValueCode?: Element|undefined; /** * The minimum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - minValueOid?: string; - _minValueOid?: Element; + minValueOid?: string|undefined; + _minValueOid?: Element|undefined; /** * The minimum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - minValueId?: string; - _minValueId?: Element; + minValueId?: string|undefined; + _minValueId?: Element|undefined; /** * The minimum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - minValueUnsignedInt?: number; + minValueUnsignedInt?: number|undefined; /** * The minimum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - minValuePositiveInt?: number; + minValuePositiveInt?: number|undefined; /** * The minimum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - minValueMarkdown?: string; - _minValueMarkdown?: Element; + minValueMarkdown?: string|undefined; + _minValueMarkdown?: Element|undefined; /** * The minimum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - minValueAnnotation?: Annotation; + minValueAnnotation?: Annotation|undefined; /** * The minimum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - minValueAttachment?: Attachment; + minValueAttachment?: Attachment|undefined; /** * The minimum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - minValueIdentifier?: Identifier; + minValueIdentifier?: Identifier|undefined; /** * The minimum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - minValueCodeableConcept?: CodeableConcept; + minValueCodeableConcept?: CodeableConcept|undefined; /** * The minimum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - minValueCoding?: Coding; + minValueCoding?: Coding|undefined; /** * The minimum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - minValueQuantity?: Quantity; + minValueQuantity?: Quantity|undefined; /** * The minimum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - minValueRange?: Range; + minValueRange?: Range|undefined; /** * The minimum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - minValuePeriod?: Period; + minValuePeriod?: Period|undefined; /** * The minimum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - minValueRatio?: Ratio; + minValueRatio?: Ratio|undefined; /** * The minimum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - minValueSampledData?: SampledData; + minValueSampledData?: SampledData|undefined; /** * The minimum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - minValueSignature?: Signature; + minValueSignature?: Signature|undefined; /** * The minimum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - minValueHumanName?: HumanName; + minValueHumanName?: HumanName|undefined; /** * The minimum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - minValueAddress?: Address; + minValueAddress?: Address|undefined; /** * The minimum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - minValueContactPoint?: ContactPoint; + minValueContactPoint?: ContactPoint|undefined; /** * The minimum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - minValueTiming?: Timing; + minValueTiming?: Timing|undefined; /** * The minimum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - minValueReference?: Reference; + minValueReference?: Reference|undefined; /** * The minimum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity. */ - minValueMeta?: Meta; + minValueMeta?: Meta|undefined; /** * Allows a profile to set expectations for system capabilities beyond merely respecting cardinality constraints. */ - mustSupport?: boolean; - _mustSupport?: Element; + mustSupport?: boolean|undefined; + _mustSupport?: Element|undefined; /** * Allows referencing a defined element. May also be used for code generation purposes. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Identifies the name of a slice defined elsewhere in the profile whose constraints should be applied to the current element. */ - nameReference?: string; - _nameReference?: Element; + nameReference?: string|undefined; + _nameReference?: Element|undefined; /** * 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; - _path?: Element; + _path?: Element|undefined; /** * 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. The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.). */ - patternBoolean?: boolean; - _patternBoolean?: Element; + patternBoolean?: boolean|undefined; + _patternBoolean?: Element|undefined; /** * 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. The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.). */ - patternInteger?: number; + patternInteger?: number|undefined; /** * 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. The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.). */ - patternDecimal?: number; + patternDecimal?: number|undefined; /** * 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. The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.). */ - patternBase64Binary?: string; - _patternBase64Binary?: Element; + patternBase64Binary?: string|undefined; + _patternBase64Binary?: Element|undefined; /** * 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. The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.). */ - patternInstant?: string; - _patternInstant?: Element; + patternInstant?: string|undefined; + _patternInstant?: Element|undefined; /** * 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. The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.). */ - patternString?: string; - _patternString?: Element; + patternString?: string|undefined; + _patternString?: Element|undefined; /** * 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. The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.). */ - patternUri?: string; - _patternUri?: Element; + patternUri?: string|undefined; + _patternUri?: Element|undefined; /** * 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. The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.). */ - patternDate?: string; - _patternDate?: Element; + patternDate?: string|undefined; + _patternDate?: Element|undefined; /** * 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. The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.). */ - patternDateTime?: string; - _patternDateTime?: Element; + patternDateTime?: string|undefined; + _patternDateTime?: Element|undefined; /** * 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. The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.). */ - patternTime?: string; - _patternTime?: Element; + patternTime?: string|undefined; + _patternTime?: Element|undefined; /** * 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. The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.). */ - patternCode?: string; - _patternCode?: Element; + patternCode?: string|undefined; + _patternCode?: Element|undefined; /** * 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. The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.). */ - patternOid?: string; - _patternOid?: Element; + patternOid?: string|undefined; + _patternOid?: Element|undefined; /** * 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. The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.). */ - patternId?: string; - _patternId?: Element; + patternId?: string|undefined; + _patternId?: Element|undefined; /** * 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. The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.). */ - patternUnsignedInt?: number; + patternUnsignedInt?: number|undefined; /** * 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. The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.). */ - patternPositiveInt?: number; + patternPositiveInt?: number|undefined; /** * 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. The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.). */ - patternMarkdown?: string; - _patternMarkdown?: Element; + patternMarkdown?: string|undefined; + _patternMarkdown?: Element|undefined; /** * 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. The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.). */ - patternAnnotation?: Annotation; + patternAnnotation?: Annotation|undefined; /** * 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. The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.). */ - patternAttachment?: Attachment; + patternAttachment?: Attachment|undefined; /** * 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. The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.). */ - patternIdentifier?: Identifier; + patternIdentifier?: Identifier|undefined; /** * 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. The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.). */ - patternCodeableConcept?: CodeableConcept; + patternCodeableConcept?: CodeableConcept|undefined; /** * 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. The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.). */ - patternCoding?: Coding; + patternCoding?: Coding|undefined; /** * 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. The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.). */ - patternQuantity?: Quantity; + patternQuantity?: Quantity|undefined; /** * 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. The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.). */ - patternRange?: Range; + patternRange?: Range|undefined; /** * 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. The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.). */ - patternPeriod?: Period; + patternPeriod?: Period|undefined; /** * 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. The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.). */ - patternRatio?: Ratio; + patternRatio?: Ratio|undefined; /** * 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. The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.). */ - patternSampledData?: SampledData; + patternSampledData?: SampledData|undefined; /** * 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. The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.). */ - patternSignature?: Signature; + patternSignature?: Signature|undefined; /** * 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. The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.). */ - patternHumanName?: HumanName; + patternHumanName?: HumanName|undefined; /** * 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. The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.). */ - patternAddress?: Address; + patternAddress?: Address|undefined; /** * 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. The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.). */ - patternContactPoint?: ContactPoint; + patternContactPoint?: ContactPoint|undefined; /** * 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. The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.). */ - patternTiming?: Timing; + patternTiming?: Timing|undefined; /** * 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. The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.). */ - patternReference?: Reference; + patternReference?: Reference|undefined; /** * 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. The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.). */ - patternMeta?: Meta; + patternMeta?: Meta|undefined; /** * Codes that define how this element is represented in instances, when the deviation varies from the normal case. */ - representation?: string[]; - _representation?: Element[]; + representation?: string[]|undefined; + _representation?: Element[]|undefined; /** * 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; - _requirements?: Element; + requirements?: string|undefined; + _requirements?: Element|undefined; /** * A concise description of what this element means (e.g. for use in autogenerated summaries). */ - short?: string; - _short?: Element; + short?: string|undefined; + _short?: Element|undefined; /** * 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; + slicing?: ElementDefinitionSlicing|undefined; /** * The data type or resource that the value of this element is permitted to be. */ - type?: ElementDefinitionType[]; + type?: ElementDefinitionType[]|undefined; } /** * Optional Extensions Element - found in all resources. @@ -1442,151 +1442,151 @@ export interface Extension extends Element { * Source of the definition for the extension code - a logical name or a URL. */ url: string; - _url?: Element; + _url?: Element|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueBoolean?: boolean; - _valueBoolean?: Element; + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueInteger?: number; + valueInteger?: number|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueDecimal?: number; + valueDecimal?: number|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueBase64Binary?: string; - _valueBase64Binary?: Element; + valueBase64Binary?: string|undefined; + _valueBase64Binary?: Element|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueInstant?: string; - _valueInstant?: Element; + valueInstant?: string|undefined; + _valueInstant?: Element|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueString?: string; - _valueString?: Element; + valueString?: string|undefined; + _valueString?: Element|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueUri?: string; - _valueUri?: Element; + valueUri?: string|undefined; + _valueUri?: Element|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueDate?: string; - _valueDate?: Element; + valueDate?: string|undefined; + _valueDate?: Element|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueDateTime?: string; - _valueDateTime?: Element; + valueDateTime?: string|undefined; + _valueDateTime?: Element|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueTime?: string; - _valueTime?: Element; + valueTime?: string|undefined; + _valueTime?: Element|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueCode?: string; - _valueCode?: Element; + valueCode?: string|undefined; + _valueCode?: Element|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueOid?: string; - _valueOid?: Element; + valueOid?: string|undefined; + _valueOid?: Element|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueId?: string; - _valueId?: Element; + valueId?: string|undefined; + _valueId?: Element|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueUnsignedInt?: number; + valueUnsignedInt?: number|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valuePositiveInt?: number; + valuePositiveInt?: number|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueMarkdown?: string; - _valueMarkdown?: Element; + valueMarkdown?: string|undefined; + _valueMarkdown?: Element|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueAnnotation?: Annotation; + valueAnnotation?: Annotation|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueAttachment?: Attachment; + valueAttachment?: Attachment|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueIdentifier?: Identifier; + valueIdentifier?: Identifier|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueCodeableConcept?: CodeableConcept; + valueCodeableConcept?: CodeableConcept|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueCoding?: Coding; + valueCoding?: Coding|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueRange?: Range; + valueRange?: Range|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valuePeriod?: Period; + valuePeriod?: Period|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueRatio?: Ratio; + valueRatio?: Ratio|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueSampledData?: SampledData; + valueSampledData?: SampledData|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueSignature?: Signature; + valueSignature?: Signature|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueHumanName?: HumanName; + valueHumanName?: HumanName|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueAddress?: Address; + valueAddress?: Address|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueContactPoint?: ContactPoint; + valueContactPoint?: ContactPoint|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueTiming?: Timing; + valueTiming?: Timing|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueReference?: Reference; + valueReference?: Reference|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueMeta?: Meta; + valueMeta?: Meta|undefined; } /** * A human's name with the ability to identify parts and usage. @@ -1595,37 +1595,37 @@ export interface HumanName extends Element { /** * The part of a name that links to the genealogy. In some cultures (e.g. Eritrea) the family name of a son is the first name of his father. */ - family?: string[]; - _family?: Element[]; + family?: string[]|undefined; + _family?: Element[]|undefined; /** * Given name. */ - given?: string[]; - _given?: Element[]; + given?: string[]|undefined; + _given?: Element[]|undefined; /** * Allows names to be placed in historical context. */ - period?: Period; + period?: Period|undefined; /** * Part of the name that is acquired as a title due to academic, legal, employment or nobility status, etc. and that appears at the start of the name. */ - prefix?: string[]; - _prefix?: Element[]; + prefix?: string[]|undefined; + _prefix?: Element[]|undefined; /** * Part of the name that is acquired as a title due to academic, legal, employment or nobility status, etc. and that appears at the end of the name. */ - suffix?: string[]; - _suffix?: Element[]; + suffix?: string[]|undefined; + _suffix?: Element[]|undefined; /** * A renderable, unencoded form. */ - text?: string; - _text?: Element; + text?: string|undefined; + _text?: Element|undefined; /** * Allows the appropriate name for a particular context of use to be selected from among a set of names. */ - use?: HumanNameUseCodes; - _use?: Element; + use?: HumanNameUseCodes|undefined; + _use?: Element|undefined; } /** * Code Values for the HumanName.use field @@ -1646,30 +1646,30 @@ export interface Identifier extends Element { /** * Organization that issued/manages the identifier. */ - assigner?: Reference; + assigner?: Reference|undefined; /** * Time period during which identifier is/was valid for use. */ - period?: Period; + period?: Period|undefined; /** * There are many sequences of identifiers. To perform matching, we need to know what sequence we're dealing with. The system identifies a particular sequence or set of unique identifiers. */ - system?: string; - _system?: Element; + system?: string|undefined; + _system?: Element|undefined; /** * Allows users to make use of identifiers when the identifier system is not known. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; /** * Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers. */ - use?: IdentifierUseCodes; - _use?: Element; + use?: IdentifierUseCodes|undefined; + _use?: Element|undefined; /** * The portion of the identifier typically displayed to the user and which is unique within the context of the system. */ - value?: string; - _value?: Element; + value?: string|undefined; + _value?: Element|undefined; } /** * Code Values for the Identifier.use field @@ -1687,26 +1687,26 @@ export interface Meta extends Element { /** * When the resource last changed - e.g. when the version changed. */ - lastUpdated?: string; - _lastUpdated?: Element; + lastUpdated?: string|undefined; + _lastUpdated?: Element|undefined; /** * A list of profiles [[[StructureDefinition]]]s that this resource claims to conform to. The URL is a reference to [[[StructureDefinition.url]]]. */ - profile?: string[]; - _profile?: Element[]; + profile?: string[]|undefined; + _profile?: Element[]|undefined; /** * Security labels applied to this resource. These tags connect specific resources to the overall security policy and infrastructure. */ - security?: Coding[]; + security?: Coding[]|undefined; /** * Tags applied to this resource. Tags are intended to be used to identify and relate resources to process and workflow, and applications are not required to consider the tags when interpreting the meaning of a resource. */ - tag?: Coding[]; + tag?: Coding[]|undefined; /** * The version specific identifier, as it appears in the version portion of the URL. This values changes when the resource is created, updated, or deleted. */ - versionId?: string; - _versionId?: Element; + versionId?: string|undefined; + _versionId?: Element|undefined; } /** * There SHALL be a code if there is a value and it SHALL be an expression of currency. If system is present, it SHALL be ISO 4217 (system = "urn:iso:std:iso:4217" - currency). @@ -1721,12 +1721,12 @@ export interface Narrative extends Element { * The actual narrative content, a stripped down version of XHTML. */ div: string; - _div?: Element; + _div?: Element|undefined; /** * The status of the narrative - whether it's entirely generated (from just the defined data or the extensions too), or whether a human authored it and it may contain additional data. */ status: NarrativeStatusCodes; - _status?: Element; + _status?: Element|undefined; } /** * Code Values for the Narrative.status field @@ -1744,13 +1744,13 @@ export interface Period extends Element { /** * The end of the period. If the end of the period is missing, it means that the period is ongoing. The start may be in the past, and the end date in the future, which means that period is expected/planned to end at that time. */ - end?: string; - _end?: Element; + end?: string|undefined; + _end?: Element|undefined; /** * The start of the period. The boundary is inclusive. */ - start?: string; - _start?: Element; + start?: string|undefined; + _start?: Element|undefined; } /** * 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. @@ -1759,27 +1759,27 @@ export interface Quantity extends Element { /** * Need a computable form of the unit that is fixed across all forms. UCUM provides this for quantities, but SNOMED CT provides many units of interest. */ - code?: string; - _code?: Element; + code?: string|undefined; + _code?: Element|undefined; /** * Need a framework for handling measures where the value is <5ug/L or >400mg/L due to the limitations of measuring methodology. */ - comparator?: QuantityComparatorCodes; - _comparator?: Element; + comparator?: QuantityComparatorCodes|undefined; + _comparator?: Element|undefined; /** * Need to know the system that defines the coded form of the unit. */ - system?: string; - _system?: Element; + system?: string|undefined; + _system?: Element|undefined; /** * There are many representations for units of measure and in many contexts, particular representations are fixed and required. I.e. mcg for micrograms. */ - unit?: string; - _unit?: Element; + unit?: string|undefined; + _unit?: Element|undefined; /** * Precision is handled implicitly in almost all cases of measurement. */ - value?: number; + value?: number|undefined; } /** * Code Values for the Quantity.comparator field @@ -1797,11 +1797,11 @@ export interface Range extends Element { /** * The high limit. The boundary is inclusive. */ - high?: Quantity; + high?: Quantity|undefined; /** * The low limit. The boundary is inclusive. */ - low?: Quantity; + low?: Quantity|undefined; } /** * A relationship of two Quantity values - expressed as a numerator and a denominator. @@ -1810,11 +1810,11 @@ export interface Ratio extends Element { /** * The value of the denominator. */ - denominator?: Quantity; + denominator?: Quantity|undefined; /** * The value of the numerator. */ - numerator?: Quantity; + numerator?: Quantity|undefined; } /** * A reference from one resource to another. @@ -1823,13 +1823,13 @@ export interface Reference extends Element { /** * Plain text narrative that identifies the resource in addition to the resource reference. */ - display?: string; - _display?: Element; + display?: string|undefined; + _display?: Element|undefined; /** * A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources. */ - reference?: string; - _reference?: Element; + reference?: string|undefined; + _reference?: Element|undefined; } /** * A series of measurements taken by a device, with upper and lower limits. There may be more than one dimension in the data. @@ -1839,7 +1839,7 @@ export interface SampledData extends Element { * A series of data points which are decimal values separated by a single space (character u20). The special values "E" (error), "L" (below detection limit) and "U" (above detection limit) can also be used in place of a decimal value. */ data: string; - _data?: Element; + _data?: Element|undefined; /** * The number of sample points at each time point. If this value is greater than one, then the dimensions will be interlaced - all the sample points for a point in time will be recorded at once. */ @@ -1847,11 +1847,11 @@ export interface SampledData extends Element { /** * A correction factor that is applied to the sampled data points before they are added to the origin. */ - factor?: number; + factor?: number|undefined; /** * The lower limit of detection of the measured points. This is needed if any of the data points have the value "L" (lower than detection limit). */ - lowerLimit?: number; + lowerLimit?: number|undefined; /** * The base quantity that a measured value of zero represents. In addition, this provides the units of the entire measurement series. */ @@ -1863,7 +1863,7 @@ export interface SampledData extends Element { /** * The upper limit of detection of the measured points. This is needed if any of the data points have the value "U" (higher than detection limit). */ - upperLimit?: number; + upperLimit?: number|undefined; } /** * A digital signature along with supporting context. The signature may be electronic/cryptographic in nature, or a graphical image representing a hand-written signature, or a signature process. Different Signature approaches have different utilities. @@ -1873,12 +1873,12 @@ export interface Signature extends Element { * The base64 encoding of the Signature content. */ blob: string; - _blob?: Element; + _blob?: Element|undefined; /** * A mime type that indicates the technical format of the signature. Important mime types are application/signature+xml for X ML DigSig, application/jwt for JWT, and image/* for a graphical image of a signature. */ contentType: string; - _contentType?: Element; + _contentType?: Element|undefined; /** * An indication of the reason that the entity signed this document. This may be explicitly included as part of the signature information and can be used when determining accountability for various actions concerning the document. */ @@ -1887,16 +1887,16 @@ export interface Signature extends Element { * When the digital signature was signed. */ when: string; - _when?: Element; + _when?: Element|undefined; /** * A reference to an application-usable description of the person that signed the certificate (e.g. the signature used their private key). */ - whoUri?: string; - _whoUri?: Element; + whoUri?: string|undefined; + _whoUri?: Element|undefined; /** * A reference to an application-usable description of the person that signed the certificate (e.g. the signature used their private key). */ - whoReference?: Reference; + whoReference?: Reference|undefined; } /** * The comparator is not used on a SimpleQuantity @@ -1910,58 +1910,58 @@ export interface TimingRepeat extends Element { /** * Either a duration for the length of the timing schedule, a range of possible length, or outer bounds for start and/or end limits of the timing schedule. */ - boundsQuantity?: Quantity; + boundsQuantity?: Quantity|undefined; /** * Either a duration for the length of the timing schedule, a range of possible length, or outer bounds for start and/or end limits of the timing schedule. */ - boundsRange?: Range; + boundsRange?: Range|undefined; /** * Either a duration for the length of the timing schedule, a range of possible length, or outer bounds for start and/or end limits of the timing schedule. */ - boundsPeriod?: Period; + boundsPeriod?: Period|undefined; /** * Repetitions may be limited by end time or total occurrences. */ - count?: number; + count?: number|undefined; /** * Some activities are not instantaneous and need to be maintained for a period of time. */ - duration?: number; + duration?: number|undefined; /** * Some activities are not instantaneous and need to be maintained for a period of time. */ - durationMax?: number; + durationMax?: number|undefined; /** * The units of time for the duration, in UCUM units. */ - durationUnits?: TimingRepeatDurationUnitsCodes; - _durationUnits?: Element; + durationUnits?: TimingRepeatDurationUnitsCodes|undefined; + _durationUnits?: Element|undefined; /** * The number of times to repeat the action within the specified period / period range (i.e. both period and periodMax provided). */ - frequency?: number; + frequency?: number|undefined; /** * If present, indicates that the frequency is a range - so repeat between [frequency] and [frequencyMax] times within the period or period range. */ - frequencyMax?: number; + frequencyMax?: number|undefined; /** * Indicates the duration of time over which repetitions are to occur; e.g. to express "3 times per day", 3 would be the frequency and "1 day" would be the period. */ - period?: number; + period?: number|undefined; /** * If present, indicates that the period is a range from [period] to [periodMax], allowing expressing concepts such as "do this once every 3-5 days. */ - periodMax?: number; + periodMax?: number|undefined; /** * The units of time for the period in UCUM units. */ - periodUnits?: TimingRepeatPeriodUnitsCodes; - _periodUnits?: Element; + periodUnits?: TimingRepeatPeriodUnitsCodes|undefined; + _periodUnits?: Element|undefined; /** * Timings are frequently determined by occurrences such as waking, eating and sleep. */ - when?: string; - _when?: Element; + when?: string|undefined; + _when?: Element|undefined; } /** * Code Values for the Timing.repeat.durationUnits field @@ -1994,16 +1994,16 @@ export interface Timing extends Element { /** * A code for the timing pattern. Some codes such as BID are ubiquitous, but many institutions define their own additional codes. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * In an MAR, for instance, you need to take a general specification, and turn it into a precise specification. */ - event?: string[]; - _event?: Element[]; + event?: string[]|undefined; + _event?: Element[]|undefined; /** * Many timing schedules are determined by regular repetitions. */ - repeat?: TimingRepeat; + repeat?: TimingRepeat|undefined; } /** * A financial tool for tracking value accrued for a particular purpose. In the healthcare field, used to track charges for a patient, cost centres, etc. @@ -2014,50 +2014,50 @@ export interface Account extends DomainResource { /** * Indicates the period of time over which the account is allowed. */ - activePeriod?: Period; + activePeriod?: Period|undefined; /** * Represents the sum of all credits less all debits associated with the account. Might be positive, zero or negative. */ - balance?: Quantity; + balance?: Quantity|undefined; /** * Identifies the period of time the account applies to; e.g. accounts created per fiscal year, quarter, etc. */ - coveragePeriod?: Period; + coveragePeriod?: Period|undefined; /** * Identifies the currency to which transactions must be converted when crediting or debiting the account. */ - currency?: Coding; + currency?: Coding|undefined; /** * Provides additional information about what the account tracks and how it is used. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Unique identifier used to reference the account. May or may not be intended for human use (e.g. credit card number). */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Name used for the account when displaying it to humans in reports, etc. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Indicates the organization, department, etc. with responsibility for the account. */ - owner?: Reference; + owner?: Reference|undefined; /** * Indicates whether the account is presently used/useable or not. */ - status?: string; - _status?: Element; + status?: string|undefined; + _status?: Element|undefined; /** * Identifies the patient, device, practitioner, location or other object the account is associated with. */ - subject?: Reference; + subject?: Reference|undefined; /** * Categorizes the account for reporting and searching purposes. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Code Values for the Account.status field @@ -2073,17 +2073,17 @@ export interface AllergyIntoleranceReaction extends BackboneElement { /** * Statement about the degree of clinical certainty that the specific substance was the cause of the manifestation in this reaction event. */ - certainty?: AllergyIntoleranceReactionCertaintyCodes; - _certainty?: Element; + certainty?: AllergyIntoleranceReactionCertaintyCodes|undefined; + _certainty?: Element|undefined; /** * Text description about the reaction as a whole, including details of the manifestation if required. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Identification of the route by which the subject was exposed to the substance. */ - exposureRoute?: CodeableConcept; + exposureRoute?: CodeableConcept|undefined; /** * Clinical symptoms and/or signs that are observed or associated with the adverse reaction event. */ @@ -2091,21 +2091,21 @@ export interface AllergyIntoleranceReaction extends BackboneElement { /** * Additional text about the adverse reaction event not captured in other fields. */ - note?: Annotation; + note?: Annotation|undefined; /** * Record of the date and/or time of the onset of the Reaction. */ - onset?: string; - _onset?: Element; + onset?: string|undefined; + _onset?: Element|undefined; /** * Clinical assessment of the severity of the reaction event as a whole, potentially considering multiple different manifestations. */ - severity?: AllergyIntoleranceReactionSeverityCodes; - _severity?: Element; + severity?: AllergyIntoleranceReactionSeverityCodes|undefined; + _severity?: Element|undefined; /** * Identification of the specific substance considered to be responsible for the Adverse Reaction event. Note: the substance for a specific reaction may be different to the substance identified as the cause of the risk, but must be consistent with it. For instance, it may be a more specific substance (e.g. a brand medication) or a composite substance that includes the identified substance. It must be clinically safe to only process the AllergyIntolerance.substance and ignore the AllergyIntolerance.event.substance. */ - substance?: CodeableConcept; + substance?: CodeableConcept|undefined; } /** * Code Values for the AllergyIntolerance.reaction.certainty field @@ -2132,31 +2132,31 @@ export interface AllergyIntolerance extends DomainResource { /** * Category of the identified Substance. */ - category?: AllergyIntoleranceCategoryCodes; - _category?: Element; + category?: AllergyIntoleranceCategoryCodes|undefined; + _category?: Element|undefined; /** * Estimate of the potential clinical harm, or seriousness, of the reaction to the identified Substance. */ - criticality?: AllergyIntoleranceCriticalityCodes; - _criticality?: Element; + criticality?: AllergyIntoleranceCriticalityCodes|undefined; + _criticality?: Element|undefined; /** * This records identifiers associated with this allergy/intolerance concern that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation). */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Represents the date and/or time of the last known occurrence of a reaction event. */ - lastOccurence?: string; - _lastOccurence?: Element; + lastOccurence?: string|undefined; + _lastOccurence?: Element|undefined; /** * Additional narrative about the propensity for the Adverse Reaction, not captured in other fields. */ - note?: Annotation; + note?: Annotation|undefined; /** * Record of the date and/or time of the onset of the Allergy or Intolerance. */ - onset?: string; - _onset?: Element; + onset?: string|undefined; + _onset?: Element|undefined; /** * The patient who has the allergy or intolerance. */ @@ -2164,25 +2164,25 @@ export interface AllergyIntolerance extends DomainResource { /** * Details about each adverse reaction event linked to exposure to the identified Substance. */ - reaction?: AllergyIntoleranceReaction[]; + reaction?: AllergyIntoleranceReaction[]|undefined; /** * Date when the sensitivity was recorded. */ - recordedDate?: string; - _recordedDate?: Element; + recordedDate?: string|undefined; + _recordedDate?: Element|undefined; /** * Individual who recorded the record and takes responsibility for its conten. */ - recorder?: Reference; + recorder?: Reference|undefined; /** * The source of the information about the allergy that is recorded. */ - reporter?: Reference; + reporter?: Reference|undefined; /** * Assertion about certainty associated with the propensity, or potential risk, of a reaction to the identified Substance. */ - status?: AllergyIntoleranceStatusCodes; - _status?: Element; + status?: AllergyIntoleranceStatusCodes|undefined; + _status?: Element|undefined; /** * Identification of a substance, or a class of substances, that is considered to be responsible for the adverse reaction risk. */ @@ -2190,8 +2190,8 @@ export interface AllergyIntolerance extends DomainResource { /** * Identification of the underlying physiological mechanism for the reaction risk. */ - type?: AllergyIntoleranceTypeCodes; - _type?: Element; + type?: AllergyIntoleranceTypeCodes|undefined; + _type?: Element|undefined; } /** * Code Values for the AllergyIntolerance.category field @@ -2236,21 +2236,21 @@ export interface AppointmentParticipant extends BackboneElement { /** * A Person, Location/HealthcareService or Device that is participating in the appointment. */ - actor?: Reference; + actor?: Reference|undefined; /** * Is this participant required to be present at the meeting. This covers a use-case where 2 doctors need to meet to discuss the results for a specific patient, and the patient is not required to be present. */ - required?: AppointmentParticipantRequiredCodes; - _required?: Element; + required?: AppointmentParticipantRequiredCodes|undefined; + _required?: Element|undefined; /** * Participation status of the Patient. */ status: AppointmentParticipantStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Role of participant in the appointment. */ - type?: CodeableConcept[]; + type?: CodeableConcept[]|undefined; } /** * Code Values for the Appointment.participant.required field @@ -2278,26 +2278,26 @@ export interface Appointment extends DomainResource { /** * Additional comments about the appointment. */ - comment?: string; - _comment?: Element; + comment?: string|undefined; + _comment?: Element|undefined; /** * The brief description of the appointment as would be shown on a subject line in a meeting request, or appointment list. Detailed or expanded information should be put in the comment field. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Date/Time that the appointment is to conclude. */ - end?: string; - _end?: Element; + end?: string|undefined; + _end?: Element|undefined; /** * This records identifiers associated with this appointment concern that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation). */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Number of minutes that the appointment is to take. This can be less than the duration between the start and end times (where actual time of appointment is only an estimate or is a planned appointment request). */ - minutesDuration?: number; + minutesDuration?: number|undefined; /** * List of participants involved in the appointment. */ @@ -2305,29 +2305,29 @@ export interface Appointment extends DomainResource { /** * The priority of the appointment. Can be used to make informed decisions if needing to re-prioritize appointments. (The iCal Standard specifies 0 as undefined, 1 as highest, 9 as lowest priority). */ - priority?: number; + priority?: number|undefined; /** * The reason that this appointment is being scheduled. This is more clinical than administrative. */ - reason?: CodeableConcept; + reason?: CodeableConcept|undefined; /** * The slot that this appointment is filling. If provided then the schedule will not be provided as slots are not recursive, and the start/end values MUST be the same as from the slot. */ - slot?: Reference[]; + slot?: Reference[]|undefined; /** * Date/Time that the appointment is to take place. */ - start?: string; - _start?: Element; + start?: string|undefined; + _start?: Element|undefined; /** * The overall status of the Appointment. Each of the participants has their own participation status which indicates their involvement in the process, however this status indicates the shared status. */ status: AppointmentStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * The type of appointment that is being booked (This may also be associated with participants for location, and/or a HealthcareService). */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Code Values for the Appointment.status field @@ -2350,7 +2350,7 @@ export interface AppointmentResponse extends DomainResource { /** * A Person, Location/HealthcareService or Device that is participating in the appointment. */ - actor?: Reference; + actor?: Reference|undefined; /** * Appointment that this response is replying to. */ @@ -2358,31 +2358,31 @@ export interface AppointmentResponse extends DomainResource { /** * Additional comments about the appointment. */ - comment?: string; - _comment?: Element; + comment?: string|undefined; + _comment?: Element|undefined; /** * This may be either the same as the appointment request to confirm the details of the appointment, or alternately a new time to request a re-negotiation of the end time. */ - end?: string; - _end?: Element; + end?: string|undefined; + _end?: Element|undefined; /** * This records identifiers associated with this appointment response concern that are defined by business processes and/ or used to refer to it when a direct URL reference to the resource itself is not appropriate. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Participation status of the participant. When the status is declined or tentative if the start/end times are different to the appointment, then these times should be interpreted as a requested time change. When the status is accepted, the times can either be the time of the appointment (as a confirmation of the time) or can be empty. */ participantStatus: AppointmentResponseParticipantStatusCodes; - _participantStatus?: Element; + _participantStatus?: Element|undefined; /** * Role of participant in the appointment. */ - participantType?: CodeableConcept[]; + participantType?: CodeableConcept[]|undefined; /** * Date/Time that the appointment is to take place, or requested new start time. */ - start?: string; - _start?: Element; + start?: string|undefined; + _start?: Element|undefined; } /** * Code Values for the AppointmentResponse.participantStatus field @@ -2402,31 +2402,31 @@ export interface AuditEventEvent extends BackboneElement { /** * This broadly indicates what kind of action was done on the Participant Object. */ - action?: string; - _action?: Element; + action?: string|undefined; + _action?: Element|undefined; /** * This ties an event to a specific date and time. Security audits typically require a consistent time base (e.g. UTC), to eliminate time-zone issues arising from geographical distribution. */ dateTime: string; - _dateTime?: Element; + _dateTime?: Element|undefined; /** * Indicates whether the event succeeded or failed. */ - outcome?: string; - _outcome?: Element; + outcome?: string|undefined; + _outcome?: Element|undefined; /** * A free text description of the outcome of the event. */ - outcomeDesc?: string; - _outcomeDesc?: Element; + outcomeDesc?: string|undefined; + _outcomeDesc?: Element|undefined; /** * The purposeOfUse (reason) that was used during the event being recorded. */ - purposeOfEvent?: Coding[]; + purposeOfEvent?: Coding[]|undefined; /** * This field enables queries of messages by implementation-defined event categories. */ - subtype?: Coding[]; + subtype?: Coding[]|undefined; /** * This identifies the performed function. For "Execute" Event Action Code audit records, this identifies the application function performed. */ @@ -2439,13 +2439,13 @@ export interface AuditEventParticipantNetwork extends BackboneElement { /** * This datum identifies the user's network access point, which may be distinct from the server that performed the action. It is an optional value that may be used to group events recorded on separate servers for analysis of a specific network access point's data access across all servers. */ - address?: string; - _address?: Element; + address?: string|undefined; + _address?: Element|undefined; /** * This datum identifies the type of network access point identifier of the user device for the audit event. It is an optional value that may be used to group events recorded on separate servers for analysis of access according to a network access point's type. */ - type?: string; - _type?: Element; + type?: string|undefined; + _type?: Element|undefined; } /** * The event has one or more active participants. @@ -2454,51 +2454,51 @@ export interface AuditEventParticipant extends BackboneElement { /** * In some situations a human user may authenticate with one identity but, to access a specific application system, may use a synonymous identify. For example, some "single sign on" implementations will do this. The alternative identifier would then be the original identify used for authentication, and the User ID is the one known to and used by the application. */ - altId?: string; - _altId?: Element; + altId?: string|undefined; + _altId?: Element|undefined; /** * Where the event occurred. */ - location?: Reference; + location?: Reference|undefined; /** * Usually, this is used instead of specifying a network address. This field is not used for Media Id (i.e. the serial number of a CD). */ - media?: Coding; + media?: Coding|undefined; /** * The User ID and Authorization User ID may be internal or otherwise obscure values. This field assists the auditor in identifying the actual user. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Logical network location for application activity, if the activity has a network location. */ - network?: AuditEventParticipantNetwork; + network?: AuditEventParticipantNetwork|undefined; /** * This value is used retrospectively to determine the authorization policies. */ - policy?: string[]; - _policy?: Element[]; + policy?: string[]|undefined; + _policy?: Element[]|undefined; /** * The reason (purpose of use), specific to this participant, that was used during the event being recorded. */ - purposeOfUse?: Coding[]; + purposeOfUse?: Coding[]|undefined; /** * This field ties an audit event to a specific resource. */ - reference?: Reference; + reference?: Reference|undefined; /** * This value is used to distinguish between requestor-users and recipient-users. For example, one person may initiate a report-output to be sent to another user. */ requestor: boolean; - _requestor?: Element; + _requestor?: Element|undefined; /** * This value ties an audited event to a user's role(s). It is an optional value that might be used to group events for analysis by user functional role categories. */ - role?: CodeableConcept[]; + role?: CodeableConcept[]|undefined; /** * This field ties an audit event to a specific user. */ - userId?: Identifier; + userId?: Identifier|undefined; } /** * The event is reported by one source. @@ -2511,12 +2511,12 @@ export interface AuditEventSource extends BackboneElement { /** * This value differentiates among the sites in a multi-site enterprise health information system. */ - site?: string; - _site?: Element; + site?: string|undefined; + _site?: Element|undefined; /** * This field indicates which type of source is identified by the Audit Source ID. It is an optional value that may be used to group events for analysis according to the type of source where the event occurred. */ - type?: Coding[]; + type?: Coding[]|undefined; } /** * Additional Information about the Object. @@ -2526,12 +2526,12 @@ export interface AuditEventObjectDetail extends BackboneElement { * Name of the property. */ type: string; - _type?: Element; + _type?: Element|undefined; /** * Property value. */ value: string; - _value?: Element; + _value?: Element|undefined; } /** * The event may have other objects involved. @@ -2540,46 +2540,46 @@ export interface AuditEventObject extends BackboneElement { /** * Text that describes the object in more detail. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Additional Information about the Object. */ - detail?: AuditEventObjectDetail[]; + detail?: AuditEventObjectDetail[]|undefined; /** * Identifies a specific instance of the participant object. The reference should always be version specific. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * Institutional policies for privacy and security may optionally fall under different accountability rules based on data life cycle. This provides a differentiating value for those cases. */ - lifecycle?: Coding; + lifecycle?: Coding|undefined; /** * An instance-specific descriptor of the Participant Object ID audited, such as a person's name. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * For query events it may be necessary to capture the actual query input to the query process in order to identify the specific event. Because of differences among query implementations and data encoding for them, this is a base 64 encoded data blob. It may be subsequently decoded or interpreted by downstream audit analysis processing. */ - query?: string; - _query?: Element; + query?: string|undefined; + _query?: Element|undefined; /** * Identifies a specific instance of the participant object. The reference should always be version specific. */ - reference?: Reference; + reference?: Reference|undefined; /** * For some detailed audit analysis it may be necessary to indicate a more granular type of participant, based on the application role it serves. */ - role?: Coding; + role?: Coding|undefined; /** * This field identifies the security labels for a specific instance of an object, such as a patient, to detect/track privacy and security issues. */ - securityLabel?: Coding[]; + securityLabel?: Coding[]|undefined; /** * To describe the object being acted upon. In addition to queries on the subject of the action in an auditable event, it is also important to be able to query on the object type for the action. */ - type?: Coding; + type?: Coding|undefined; } /** * A record of an event made for purposes of maintaining a security log. Typical uses include detection of intrusion attempts and monitoring for inappropriate usage. @@ -2594,7 +2594,7 @@ export interface AuditEvent extends DomainResource { /** * The event may have other objects involved. */ - object?: AuditEventObject[]; + object?: AuditEventObject[]|undefined; /** * The event has one or more active participants. */ @@ -2613,7 +2613,7 @@ export interface Basic extends DomainResource { /** * Needed for partitioning the resource. */ - author?: Reference; + author?: Reference|undefined; /** * Must be able to distinguish different types of "basic" resources. */ @@ -2621,16 +2621,16 @@ export interface Basic extends DomainResource { /** * Allows ordering resource instances by time. */ - created?: string; - _created?: Element; + created?: string|undefined; + _created?: Element|undefined; /** * Identifier assigned to the resource for business purposes, outside the context of FHIR. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Needed for partitioning the resource by Patient. */ - subject?: Reference; + subject?: Reference|undefined; } /** * A binary resource can contain any content, whether text, image, pdf, zip archive, etc. @@ -2642,12 +2642,12 @@ export interface Binary extends Resource { * The actual content, base64 encoded. */ content: string; - _content?: Element; + _content?: Element|undefined; /** * MimeType of the binary content represented as a standard MimeType (BCP 13). */ contentType: string; - _contentType?: Element; + _contentType?: Element|undefined; } /** * Record details about the anatomical location of a specimen or body part. This resource may be used when a coded concept does not provide the necessary detail needed for the use case. @@ -2658,24 +2658,24 @@ export interface BodySite extends DomainResource { /** * Named anatomical location - ideally coded where possible. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * Description of anatomical location. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Identifier for this instance of the anatomical location. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Image or images used to identify a location. */ - image?: Attachment[]; + image?: Attachment[]|undefined; /** * Modifier to refine the anatomical location. These include modifiers for laterality, relative location, directionality, number, and plane. */ - modifier?: CodeableConcept[]; + modifier?: CodeableConcept[]|undefined; /** * The person to which the body site belongs. */ @@ -2689,12 +2689,12 @@ export interface BundleLink extends BackboneElement { * A name which details the functional use for this link - see [[http://www.iana.org/assignments/link-relations/link-relations.xhtml]]. */ relation: string; - _relation?: Element; + _relation?: Element|undefined; /** * The reference details for the link. */ url: string; - _url?: Element; + _url?: Element|undefined; } /** * Information about the search process that lead to the creation of this entry. @@ -2703,12 +2703,12 @@ export interface BundleEntrySearch extends BackboneElement { /** * Why this entry is in the result set - whether it's included as a match or because of an _include requirement. */ - mode?: BundleEntrySearchModeCodes; - _mode?: Element; + mode?: BundleEntrySearchModeCodes|undefined; + _mode?: Element|undefined; /** * When searching, the server's search ranking score for the entry. */ - score?: number; + score?: number|undefined; } /** * Code Values for the Bundle.entry.search.mode field @@ -2725,33 +2725,33 @@ export interface BundleEntryRequest extends BackboneElement { /** * Only perform the operation if the Etag value matches. For more information, see the API section ["Managing Resource Contention"](http.html#concurrency). */ - ifMatch?: string; - _ifMatch?: Element; + ifMatch?: string|undefined; + _ifMatch?: Element|undefined; /** * Only perform the operation if the last updated date matches. See the API documentation for ["Conditional Read"](http.html#cread). */ - ifModifiedSince?: string; - _ifModifiedSince?: Element; + ifModifiedSince?: string|undefined; + _ifModifiedSince?: Element|undefined; /** * Instruct the server not to perform the create if a specified resource already exists. For further information, see the API documentation for ["Conditional Create"](http.html#ccreate). This is just the query portion of the URL - what follows the "?" (not including the "?"). */ - ifNoneExist?: string; - _ifNoneExist?: Element; + ifNoneExist?: string|undefined; + _ifNoneExist?: Element|undefined; /** * If the ETag values match, return a 304 Not modified status. See the API documentation for ["Conditional Read"](http.html#cread). */ - ifNoneMatch?: string; - _ifNoneMatch?: Element; + ifNoneMatch?: string|undefined; + _ifNoneMatch?: Element|undefined; /** * The HTTP verb for this entry in either a update history, or a transaction/ transaction response. */ method: BundleEntryRequestMethodCodes; - _method?: Element; + _method?: Element|undefined; /** * The URL for this entry, relative to the root (the address to which the request is posted). */ url: string; - _url?: Element; + _url?: Element|undefined; } /** * Code Values for the Bundle.entry.request.method field @@ -2769,23 +2769,23 @@ export interface BundleEntryResponse extends BackboneElement { /** * The etag for the resource, it the operation for the entry produced a versioned resource. */ - etag?: string; - _etag?: Element; + etag?: string|undefined; + _etag?: Element|undefined; /** * The date/time that the resource was modified on the server. */ - lastModified?: string; - _lastModified?: Element; + lastModified?: string|undefined; + _lastModified?: Element|undefined; /** * The location header created by processing this operation. */ - location?: string; - _location?: Element; + location?: string|undefined; + _location?: Element|undefined; /** * The status code returned by processing this entry. */ status: string; - _status?: Element; + _status?: Element|undefined; } /** * An entry in a bundle resource - will either contain a resource, or information about a resource (transactions and history only). @@ -2794,28 +2794,28 @@ export interface BundleEntry extends BackboneE /** * The Absolute URL for the resource. This must be provided for all resources. The fullUrl SHALL not disagree with the id in the resource. The fullUrl is a version independent reference to the resource. */ - fullUrl?: string; - _fullUrl?: Element; + fullUrl?: string|undefined; + _fullUrl?: Element|undefined; /** * A series of links that provide context to this entry. */ - link?: BundleLink[]; + link?: BundleLink[]|undefined; /** * Additional information about how this entry should be processed as part of a transaction. */ - request?: BundleEntryRequest; + request?: BundleEntryRequest|undefined; /** * The Resources for the entry. */ - resource?: BundleContentType; + resource?: BundleContentType|undefined; /** * Additional information about how this entry should be processed as part of a transaction. */ - response?: BundleEntryResponse; + response?: BundleEntryResponse|undefined; /** * Information about the search process that lead to the creation of this entry. */ - search?: BundleEntrySearch; + search?: BundleEntrySearch|undefined; } /** * A container for a collection of resources. @@ -2826,24 +2826,24 @@ export interface Bundle extends Resource { /** * An entry in a bundle resource - will either contain a resource, or information about a resource (transactions and history only). */ - entry?: BundleEntry[]; + entry?: BundleEntry[]|undefined; /** * A series of links that provide context to this bundle. */ - link?: BundleLink[]; + link?: BundleLink[]|undefined; /** * This element allows capturing signatures on documents. It also allows signatures on messages, transactions or even query responses. It may support content-authentication, non-repudiation or other business cases. This is primarily relevant where the bundle may travel through multiple hops or via other mechanisms where HTTPS non-repudiation is insufficient. */ - signature?: Signature; + signature?: Signature|undefined; /** * If a set of search matches, this is the total number of matches for the search (as opposed to the number of results in this bundle). */ - total?: number; + total?: number|undefined; /** * Indicates the purpose of this bundle- how it was intended to be used. */ type: BundleTypeCodes; - _type?: Element; + _type?: Element|undefined; } /** * Code Values for the Bundle.type field @@ -2866,8 +2866,8 @@ export interface CarePlanRelatedPlan extends BackboneElement { /** * Identifies the type of relationship this plan has to the target plan. */ - code?: CarePlanRelatedPlanCodeCodes; - _code?: Element; + code?: CarePlanRelatedPlanCodeCodes|undefined; + _code?: Element|undefined; /** * A reference to the plan to which a relationship is asserted. */ @@ -2888,11 +2888,11 @@ export interface CarePlanParticipant extends BackboneElement { /** * The specific person or organization who is participating/expected to participate in the care plan. */ - member?: Reference; + member?: Reference|undefined; /** * Indicates specific responsibility of an individual within the care plan; e.g. "Primary physician", "Team coordinator", "Caregiver", etc. */ - role?: CodeableConcept; + role?: CodeableConcept|undefined; } /** * Details in a simple form for generic care plan systems. @@ -2901,79 +2901,79 @@ export interface CarePlanActivityDetail extends BackboneElement { /** * May determine what types of extensions are permitted. */ - category?: CodeableConcept; + category?: CodeableConcept|undefined; /** * Allows matching performed to planned as well as validation against protocols. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * Allows rough dose checking. */ - dailyAmount?: Quantity; + dailyAmount?: Quantity|undefined; /** * This provides a textual description of constraints on the intended activity occurrence, including relation to other activities. It may also include objectives, pre-conditions and end-conditions. Finally, it may convey specifics about the activity such as body site, method, route, etc. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * So that participants know the link explicitly. */ - goal?: Reference[]; + goal?: Reference[]|undefined; /** * Helps in planning of activity. */ - location?: Reference; + location?: Reference|undefined; /** * Helps in planning of activity. */ - performer?: Reference[]; + performer?: Reference[]|undefined; /** * Identifies the food, drug or other product to be consumed or supplied in the activity. */ - productCodeableConcept?: CodeableConcept; + productCodeableConcept?: CodeableConcept|undefined; /** * Identifies the food, drug or other product to be consumed or supplied in the activity. */ - productReference?: Reference; + productReference?: Reference|undefined; /** * Captures intention to not do something that may have been previously typical. */ prohibited: boolean; - _prohibited?: Element; + _prohibited?: Element|undefined; /** * Identifies the quantity expected to be supplied, administered or consumed by the subject. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * Provides the rationale that drove the inclusion of this particular activity as part of the plan. */ - reasonCode?: CodeableConcept[]; + reasonCode?: CodeableConcept[]|undefined; /** * Provides the health condition(s) that drove the inclusion of this particular activity as part of the plan. */ - reasonReference?: Reference[]; + reasonReference?: Reference[]|undefined; /** * Allows prompting for activities and detection of missed planned activities. */ - scheduledTiming?: Timing; + scheduledTiming?: Timing|undefined; /** * Allows prompting for activities and detection of missed planned activities. */ - scheduledPeriod?: Period; + scheduledPeriod?: Period|undefined; /** * Allows prompting for activities and detection of missed planned activities. */ - scheduledString?: string; - _scheduledString?: Element; + scheduledString?: string|undefined; + _scheduledString?: Element|undefined; /** * Indicates progress against the plan, whether the activity is still relevant for the plan. */ - status?: CarePlanActivityDetailStatusCodes; - _status?: Element; + status?: CarePlanActivityDetailStatusCodes|undefined; + _status?: Element|undefined; /** * Provides reason why the activity isn't yet started, is on hold, was cancelled, etc. */ - statusReason?: CodeableConcept; + statusReason?: CodeableConcept|undefined; } /** * Code Values for the CarePlan.activity.detail.status field @@ -2993,19 +2993,19 @@ export interface CarePlanActivity extends BackboneElement { /** * Links plan to resulting actions. */ - actionResulting?: Reference[]; + actionResulting?: Reference[]|undefined; /** * Details in a simple form for generic care plan systems. */ - detail?: CarePlanActivityDetail; + detail?: CarePlanActivityDetail|undefined; /** * Can be used to capture information about adherence, progress, concerns, etc. */ - progress?: Annotation[]; + progress?: Annotation[]|undefined; /** * Details in a form consistent with other applications and contexts of use. */ - reference?: Reference; + reference?: Reference|undefined; } /** * Describes the intention of how one or more practitioners intend to deliver care for a particular patient, group or community for a period of time, possibly limited to care for a specific condition or set of conditions. @@ -3016,70 +3016,70 @@ export interface CarePlan extends DomainResource { /** * Allows systems to prompt for performance of planned activities, and validate plans against best practice. */ - activity?: CarePlanActivity[]; + activity?: CarePlanActivity[]|undefined; /** * Links plan to the conditions it manages. Also scopes plans - multiple plans may exist addressing different concerns. */ - addresses?: Reference[]; + addresses?: Reference[]|undefined; /** * Identifies the individual(s) or ogranization who is responsible for the content of the care plan. */ - author?: Reference[]; + author?: Reference[]|undefined; /** * Used for filtering what plan(s) are retrieved and displayed to different types of users. */ - category?: CodeableConcept[]; + category?: CodeableConcept[]|undefined; /** * Identifies the context in which this particular CarePlan is defined. */ - context?: Reference; + context?: Reference|undefined; /** * Provides more detail than conveyed by category. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Provides context for plan. Allows plan effectiveness to be evaluated by clinicians. */ - goal?: Reference[]; + goal?: Reference[]|undefined; /** * Need to allow connection to a wider workflow. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Indicates how current the plan is. */ - modified?: string; - _modified?: Element; + modified?: string|undefined; + _modified?: Element|undefined; /** * Used to capture information that applies to the plan as a whole that doesn't fit into discrete elements. */ - note?: Annotation; + note?: Annotation|undefined; /** * Allows representation of care teams, helps scope care plan. In some cases may be a determiner of access permissions. */ - participant?: CarePlanParticipant[]; + participant?: CarePlanParticipant[]|undefined; /** * Allows tracking what plan(s) are in effect at a particular time. */ - period?: Period; + period?: Period|undefined; /** * Identifies CarePlans with some sort of formal relationship to the current plan. */ - relatedPlan?: CarePlanRelatedPlan[]; + relatedPlan?: CarePlanRelatedPlan[]|undefined; /** * Allows clinicians to determine whether the plan is actionable or not. */ status: CarePlanStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Identifies the patient or group whose intended care is described by the plan. */ - subject?: Reference; + subject?: Reference|undefined; /** * Identifies barriers and other considerations associated with the care plan. */ - support?: Reference[]; + support?: Reference[]|undefined; } /** * Code Values for the CarePlan.status field @@ -3098,19 +3098,19 @@ export interface ClaimPayee extends BackboneElement { /** * The organization who is to be reimbursed for the claim (the party to whom any benefit is assigned). */ - organization?: Reference; + organization?: Reference|undefined; /** * The person other than the subscriber who is to be reimbursed for the claim (the party to whom any benefit is assigned). */ - person?: Reference; + person?: Reference|undefined; /** * The provider who is to be reimbursed for the claim (the party to whom any benefit is assigned). */ - provider?: Reference; + provider?: Reference|undefined; /** * Party to be reimbursed: Subscriber, provider, other. */ - type?: Coding; + type?: Coding|undefined; } /** * Ordered list of patient diagnosis for which care is sought. @@ -3132,12 +3132,12 @@ export interface ClaimCoverage extends BackboneElement { /** * The contract number of a business agreement which describes the terms and conditions. */ - businessArrangement?: string; - _businessArrangement?: Element; + businessArrangement?: string|undefined; + _businessArrangement?: Element|undefined; /** * Used by downstream payers to determine what balance remains and the net payable. */ - claimResponse?: Reference; + claimResponse?: Reference|undefined; /** * Need to identify the issuer to target for processing and for coordination of benefit processing. */ @@ -3146,16 +3146,16 @@ export interface ClaimCoverage extends BackboneElement { * To identify which coverage is being adjudicated. */ focal: boolean; - _focal?: Element; + _focal?: Element|undefined; /** * Knowledge of the original version can inform the processing of this instance so that information which is processable by the originating system may be generated. */ - originalRuleset?: Coding; + originalRuleset?: Coding|undefined; /** * To provide any pre=determination or prior authorization reference. */ - preAuthRef?: string[]; - _preAuthRef?: Element[]; + preAuthRef?: string[]|undefined; + _preAuthRef?: Element[]|undefined; /** * To determine the relationship between the patient and the subscriber. */ @@ -3172,19 +3172,19 @@ export interface ClaimItemDetailSubDetail extends BackboneElement { /** * If a fee is present the associated product/service code must be present. */ - factor?: number; + factor?: number|undefined; /** * If a fee is present the associated product/service code must be present. */ - net?: Quantity; + net?: Quantity|undefined; /** * If a fee is present the associated product/service code must be present. */ - points?: number; + points?: number|undefined; /** * The number of repetitions of a service or product. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * A service line number. */ @@ -3200,11 +3200,11 @@ export interface ClaimItemDetailSubDetail extends BackboneElement { /** * The UDI code and issuer if applicable for the supplied product. */ - udi?: Coding; + udi?: Coding|undefined; /** * If a fee is present the associated product/service code must be present. */ - unitPrice?: Quantity; + unitPrice?: Quantity|undefined; } /** * Second tier of goods and services. @@ -3213,19 +3213,19 @@ export interface ClaimItemDetail extends BackboneElement { /** * If a fee is present the associated product/service code must be present. */ - factor?: number; + factor?: number|undefined; /** * If a fee is present the associated product/service code must be present. */ - net?: Quantity; + net?: Quantity|undefined; /** * If a fee is present the associated product/service code must be present. */ - points?: number; + points?: number|undefined; /** * The number of repetitions of a service or product. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * A service line number. */ @@ -3237,7 +3237,7 @@ export interface ClaimItemDetail extends BackboneElement { /** * Third tier of goods and services. */ - subDetail?: ClaimItemDetailSubDetail[]; + subDetail?: ClaimItemDetailSubDetail[]|undefined; /** * The type of product or service. */ @@ -3245,11 +3245,11 @@ export interface ClaimItemDetail extends BackboneElement { /** * The UDI code and issuer if applicable for the supplied product. */ - udi?: Coding; + udi?: Coding|undefined; /** * If a fee is present the associated product/service code must be present. */ - unitPrice?: Quantity; + unitPrice?: Quantity|undefined; } /** * The materials and placement date of prior fixed prosthesis. @@ -3258,17 +3258,17 @@ export interface ClaimItemProsthesis extends BackboneElement { /** * May impact on adjudication. */ - initial?: boolean; - _initial?: Element; + initial?: boolean|undefined; + _initial?: Element|undefined; /** * May impact on adjudication. */ - priorDate?: string; - _priorDate?: Element; + priorDate?: string|undefined; + _priorDate?: Element|undefined; /** * May impact on adjudication. */ - priorMaterial?: Coding; + priorMaterial?: Coding|undefined; } /** * First tier of goods and services. @@ -3277,43 +3277,43 @@ export interface ClaimItem extends BackboneElement { /** * Physical service site on the patient (limb, tooth, etc.). */ - bodySite?: Coding; + bodySite?: Coding|undefined; /** * Second tier of goods and services. */ - detail?: ClaimItemDetail[]; + detail?: ClaimItemDetail[]|undefined; /** * Diagnosis applicable for this service or product line. */ - diagnosisLinkId?: number[]; + diagnosisLinkId?: number[]|undefined; /** * If a fee is present the associated product/service code must be present. */ - factor?: number; + factor?: number|undefined; /** * May impact on adjudication. */ - modifier?: Coding[]; + modifier?: Coding[]|undefined; /** * If a fee is present the associated product/service code must be present. */ - net?: Quantity; + net?: Quantity|undefined; /** * If a fee is present the associated product/service code must be present. */ - points?: number; + points?: number|undefined; /** * The materials and placement date of prior fixed prosthesis. */ - prosthesis?: ClaimItemProsthesis; + prosthesis?: ClaimItemProsthesis|undefined; /** * The practitioner who is responsible for the services rendered to the patient. */ - provider?: Reference; + provider?: Reference|undefined; /** * The number of repetitions of a service or product. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * A service line number. */ @@ -3325,12 +3325,12 @@ export interface ClaimItem extends BackboneElement { /** * The date when the enclosed suite of services were performed or completed. */ - serviceDate?: string; - _serviceDate?: Element; + serviceDate?: string|undefined; + _serviceDate?: Element|undefined; /** * A region or surface of the site, e.g. limb region or tooth surface(s). */ - subSite?: Coding[]; + subSite?: Coding[]|undefined; /** * The type of product or service. */ @@ -3338,11 +3338,11 @@ export interface ClaimItem extends BackboneElement { /** * The UDI code and issuer if applicable for the supplied product. */ - udi?: Coding; + udi?: Coding|undefined; /** * If the item is a node then this is the fee for the product or service, otherwise this is the total of the fees for the children of the group. */ - unitPrice?: Quantity; + unitPrice?: Quantity|undefined; } /** * The list of missing teeth may influence the adjudication of services for example with Bridges. @@ -3351,12 +3351,12 @@ export interface ClaimMissingTeeth extends BackboneElement { /** * Some services and adjudications require this information. */ - extractionDate?: string; - _extractionDate?: Element; + extractionDate?: string|undefined; + _extractionDate?: Element|undefined; /** * Provides the reason for the missing tooth. */ - reason?: Coding; + reason?: Coding|undefined; /** * Provides the tooth number of the missing tooth. */ @@ -3371,77 +3371,77 @@ export interface Claim extends DomainResource { /** * Coverage may be dependent on accidents. */ - accident?: string; - _accident?: Element; + accident?: string|undefined; + _accident?: Element|undefined; /** * Coverage may be dependent on the type of accident. */ - accidentType?: Coding; + accidentType?: Coding|undefined; /** * Code to indicate that Xrays, images, emails, documents, models or attachments are being sent in support of this submission. */ - additionalMaterials?: Coding[]; + additionalMaterials?: Coding[]|undefined; /** * List of patient conditions for which care is sought. */ - condition?: Coding[]; + condition?: Coding[]|undefined; /** * Health care programs and insurers are significant payors of health service costs. */ - coverage?: ClaimCoverage[]; + coverage?: ClaimCoverage[]|undefined; /** * The date when the enclosed suite of services were performed or completed. */ - created?: string; - _created?: Element; + created?: string|undefined; + _created?: Element|undefined; /** * Ordered list of patient diagnosis for which care is sought. */ - diagnosis?: ClaimDiagnosis[]; + diagnosis?: ClaimDiagnosis[]|undefined; /** * Person who created the invoice/claim/pre-determination or pre-authorization. */ - enterer?: Reference; + enterer?: Reference|undefined; /** * To determine extenuating circumstances for coverage. */ - exception?: Coding[]; + exception?: Coding[]|undefined; /** * Facility where the services were provided. */ - facility?: Reference; + facility?: Reference|undefined; /** * In the case of a Pre-Determination/Pre-Authorization the provider may request that funds in the amount of the expected Benefit be reserved ('Patient' or 'Provider') to pay for the Benefits determined on the subsequent claim(s). 'None' explicitly indicates no funds reserving is requested. */ - fundsReserve?: Coding; + fundsReserve?: Coding|undefined; /** * The business identifier for the instance: invoice number, claim number, pre-determination or pre-authorization number. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Coverage may be modified based on exception information provided. */ - interventionException?: Coding[]; + interventionException?: Coding[]|undefined; /** * First tier of goods and services. */ - item?: ClaimItem[]; + item?: ClaimItem[]|undefined; /** * The list of missing teeth may influence the adjudication of services for example with Bridges. */ - missingTeeth?: ClaimMissingTeeth[]; + missingTeeth?: ClaimMissingTeeth[]|undefined; /** * The organization which is responsible for the bill, claim pre-determination, pre-authorization. */ - organization?: Reference; + organization?: Reference|undefined; /** * Original prescription to support the dispensing of pharmacy services, medications or products. */ - originalPrescription?: Reference; + originalPrescription?: Reference|undefined; /** * The version of the specification from which the original instance was created. */ - originalRuleset?: Coding; + originalRuleset?: Coding|undefined; /** * Patient Resource. */ @@ -3449,46 +3449,46 @@ export interface Claim extends DomainResource { /** * The party to be reimbursed for the services. */ - payee?: ClaimPayee; + payee?: ClaimPayee|undefined; /** * For type=Pharmacy and Vision only. */ - prescription?: Reference; + prescription?: Reference|undefined; /** * Immediate (stat), best effort (normal), deferred (deferred). */ - priority?: Coding; + priority?: Coding|undefined; /** * The provider which is responsible for the bill, claim pre-determination, pre-authorization. */ - provider?: Reference; + provider?: Reference|undefined; /** * The referral resource which lists the date, practitioner, reason and other supporting information. */ - referral?: Reference; + referral?: Reference|undefined; /** * The version of the specification on which this instance relies. */ - ruleset?: Coding; + ruleset?: Coding|undefined; /** * Often required for over-age dependents. */ - school?: string; - _school?: Element; + school?: string|undefined; + _school?: Element|undefined; /** * Insurer Identifier, typical BIN number (6 digit). */ - target?: Reference; + target?: Reference|undefined; /** * The category of claim this is. */ type: ClaimTypeCodes; - _type?: Element; + _type?: Element|undefined; /** * Complete (Bill or Claim), Proposed (Pre-Authorization), Exploratory (Pre-determination). */ - use?: ClaimUseCodes; - _use?: Element; + use?: ClaimUseCodes|undefined; + _use?: Element|undefined; } /** * Code Values for the Claim.type field @@ -3516,7 +3516,7 @@ export interface ClaimResponseItemAdjudication extends BackboneElement { /** * Monetary amount associated with the code. */ - amount?: Quantity; + amount?: Quantity|undefined; /** * Code indicating: Co-Pay, deductible, eligible, benefit, tax, etc. */ @@ -3524,7 +3524,7 @@ export interface ClaimResponseItemAdjudication extends BackboneElement { /** * A non-monetary value for example a percentage. Mutually exclusive to the amount element above. */ - value?: number; + value?: number|undefined; } /** * The adjudications results. @@ -3533,7 +3533,7 @@ export interface ClaimResponseItemDetailAdjudication extends BackboneElement { /** * Monetary amount associated with the code. */ - amount?: Quantity; + amount?: Quantity|undefined; /** * Code indicating: Co-Pay, deductible, eligible, benefit, tax, etc. */ @@ -3541,7 +3541,7 @@ export interface ClaimResponseItemDetailAdjudication extends BackboneElement { /** * A non-monetary value for example a percentage. Mutually exclusive to the amount element above. */ - value?: number; + value?: number|undefined; } /** * The adjudications results. @@ -3550,7 +3550,7 @@ export interface ClaimResponseItemDetailSubDetailAdjudication extends BackboneEl /** * Monetary amount associated with the code. */ - amount?: Quantity; + amount?: Quantity|undefined; /** * Code indicating: Co-Pay, deductible, eligible, benefit, tax, etc. */ @@ -3558,7 +3558,7 @@ export interface ClaimResponseItemDetailSubDetailAdjudication extends BackboneEl /** * A non-monetary value for example a percentage. Mutually exclusive to the amount element above. */ - value?: number; + value?: number|undefined; } /** * The third tier service adjudications for submitted services. @@ -3567,7 +3567,7 @@ export interface ClaimResponseItemDetailSubDetail extends BackboneElement { /** * The adjudications results. */ - adjudication?: ClaimResponseItemDetailSubDetailAdjudication[]; + adjudication?: ClaimResponseItemDetailSubDetailAdjudication[]|undefined; /** * A service line number. */ @@ -3580,7 +3580,7 @@ export interface ClaimResponseItemDetail extends BackboneElement { /** * The adjudications results. */ - adjudication?: ClaimResponseItemDetailAdjudication[]; + adjudication?: ClaimResponseItemDetailAdjudication[]|undefined; /** * A service line number. */ @@ -3588,7 +3588,7 @@ export interface ClaimResponseItemDetail extends BackboneElement { /** * The third tier service adjudications for submitted services. */ - subDetail?: ClaimResponseItemDetailSubDetail[]; + subDetail?: ClaimResponseItemDetailSubDetail[]|undefined; } /** * The first tier service adjudications for submitted services. @@ -3597,15 +3597,15 @@ export interface ClaimResponseItem extends BackboneElement { /** * The adjudications results. */ - adjudication?: ClaimResponseItemAdjudication[]; + adjudication?: ClaimResponseItemAdjudication[]|undefined; /** * The second tier service adjudications for submitted services. */ - detail?: ClaimResponseItemDetail[]; + detail?: ClaimResponseItemDetail[]|undefined; /** * A list of note references to the notes provided below. */ - noteNumber?: number[]; + noteNumber?: number[]|undefined; /** * A service line number. */ @@ -3618,7 +3618,7 @@ export interface ClaimResponseAddItemAdjudication extends BackboneElement { /** * Monetary amount associated with the code. */ - amount?: Quantity; + amount?: Quantity|undefined; /** * Code indicating: Co-Pay, deductible, eligible, benefit, tax, etc. */ @@ -3626,7 +3626,7 @@ export interface ClaimResponseAddItemAdjudication extends BackboneElement { /** * A non-monetary value for example a percentage. Mutually exclusive to the amount element above. */ - value?: number; + value?: number|undefined; } /** * The adjudications results. @@ -3635,7 +3635,7 @@ export interface ClaimResponseAddItemDetailAdjudication extends BackboneElement /** * Monetary amount associated with the code. */ - amount?: Quantity; + amount?: Quantity|undefined; /** * Code indicating: Co-Pay, deductible, eligible, benefit, tax, etc. */ @@ -3643,7 +3643,7 @@ export interface ClaimResponseAddItemDetailAdjudication extends BackboneElement /** * A non-monetary value for example a percentage. Mutually exclusive to the amount element above. */ - value?: number; + value?: number|undefined; } /** * The second tier service adjudications for payor added services. @@ -3652,11 +3652,11 @@ export interface ClaimResponseAddItemDetail extends BackboneElement { /** * The adjudications results. */ - adjudication?: ClaimResponseAddItemDetailAdjudication[]; + adjudication?: ClaimResponseAddItemDetailAdjudication[]|undefined; /** * The fee charged for the professional service or product.. */ - fee?: Quantity; + fee?: Quantity|undefined; /** * A code to indicate the Professional Service or Product supplied. */ @@ -3669,23 +3669,23 @@ export interface ClaimResponseAddItem extends BackboneElement { /** * The adjudications results. */ - adjudication?: ClaimResponseAddItemAdjudication[]; + adjudication?: ClaimResponseAddItemAdjudication[]|undefined; /** * The second tier service adjudications for payor added services. */ - detail?: ClaimResponseAddItemDetail[]; + detail?: ClaimResponseAddItemDetail[]|undefined; /** * The fee charged for the professional service or product.. */ - fee?: Quantity; + fee?: Quantity|undefined; /** * A list of note references to the notes provided below. */ - noteNumberLinkId?: number[]; + noteNumberLinkId?: number[]|undefined; /** * List of input service items which this service line is intended to replace. */ - sequenceLinkId?: number[]; + sequenceLinkId?: number[]|undefined; /** * A code to indicate the Professional Service or Product supplied. */ @@ -3702,15 +3702,15 @@ export interface ClaimResponseError extends BackboneElement { /** * The sequence number of the addition within the line item submitted which contains the error. This value is omitted when the error is not related to an Addition. */ - detailSequenceLinkId?: number; + detailSequenceLinkId?: number|undefined; /** * The sequence number of the line item submitted which contains the error. This value is omitted when the error is elsewhere. */ - sequenceLinkId?: number; + sequenceLinkId?: number|undefined; /** * The sequence number of the addition within the line item submitted which contains the error. This value is omitted when the error is not related to an Addition. */ - subdetailSequenceLinkId?: number; + subdetailSequenceLinkId?: number|undefined; } /** * Note text. @@ -3719,16 +3719,16 @@ export interface ClaimResponseNote extends BackboneElement { /** * An integer associated with each note which may be referred to from each service line item. */ - number?: number; + number?: number|undefined; /** * The note text. */ - text?: string; - _text?: Element; + text?: string|undefined; + _text?: Element|undefined; /** * The note purpose: Print/Display. */ - type?: Coding; + type?: Coding|undefined; } /** * Health care programs and insurers are significant payors of health service costs. @@ -3737,12 +3737,12 @@ export interface ClaimResponseCoverage extends BackboneElement { /** * The contract number of a business agreement which describes the terms and conditions. */ - businessArrangement?: string; - _businessArrangement?: Element; + businessArrangement?: string|undefined; + _businessArrangement?: Element|undefined; /** * Used by downstream payers to determine what balance remains and the net payable. */ - claimResponse?: Reference; + claimResponse?: Reference|undefined; /** * Need to identify the issuer to target for processing and for coordination of benefit processing. */ @@ -3751,16 +3751,16 @@ export interface ClaimResponseCoverage extends BackboneElement { * To identify which coverage is being adjudicated. */ focal: boolean; - _focal?: Element; + _focal?: Element|undefined; /** * Knowledge of the original version can inform the processing of this instance so that information which is processable by the originating system may be generated. */ - originalRuleset?: Coding; + originalRuleset?: Coding|undefined; /** * To provide any pre-determination or prior authorization reference. */ - preAuthRef?: string[]; - _preAuthRef?: Element[]; + preAuthRef?: string[]|undefined; + _preAuthRef?: Element[]|undefined; /** * To determine the relationship between the patient and the subscriber. */ @@ -3779,111 +3779,111 @@ export interface ClaimResponse extends DomainResource { /** * The first tier service adjudications for payor added services. */ - addItem?: ClaimResponseAddItem[]; + addItem?: ClaimResponseAddItem[]|undefined; /** * Health care programs and insurers are significant payors of health service costs. */ - coverage?: ClaimResponseCoverage[]; + coverage?: ClaimResponseCoverage[]|undefined; /** * The date when the enclosed suite of services were performed or completed. */ - created?: string; - _created?: Element; + created?: string|undefined; + _created?: Element|undefined; /** * A description of the status of the adjudication. */ - disposition?: string; - _disposition?: Element; + disposition?: string|undefined; + _disposition?: Element|undefined; /** * Mutually exclusive with Services Provided (Item). */ - error?: ClaimResponseError[]; + error?: ClaimResponseError[]|undefined; /** * The form to be used for printing the content. */ - form?: Coding; + form?: Coding|undefined; /** * The Response business identifier. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The first tier service adjudications for submitted services. */ - item?: ClaimResponseItem[]; + item?: ClaimResponseItem[]|undefined; /** * Note text. */ - note?: ClaimResponseNote[]; + note?: ClaimResponseNote[]|undefined; /** * The Insurer who produced this adjudicated response. */ - organization?: Reference; + organization?: Reference|undefined; /** * Knowledge of the original version can inform the processing of this instance so that information which is processable by the originating system may be generated. */ - originalRuleset?: Coding; + originalRuleset?: Coding|undefined; /** * Transaction status: error, complete. */ - outcome?: ClaimResponseOutcomeCodes; - _outcome?: Element; + outcome?: ClaimResponseOutcomeCodes|undefined; + _outcome?: Element|undefined; /** * Party to be reimbursed: Subscriber, provider, other. */ - payeeType?: Coding; + payeeType?: Coding|undefined; /** * Adjustment to the payment of this transaction which is not related to adjudication of this transaction. */ - paymentAdjustment?: Quantity; + paymentAdjustment?: Quantity|undefined; /** * Reason for the payment adjustment. */ - paymentAdjustmentReason?: Coding; + paymentAdjustmentReason?: Coding|undefined; /** * Payable less any payment adjustment. */ - paymentAmount?: Quantity; + paymentAmount?: Quantity|undefined; /** * Estimated payment data. */ - paymentDate?: string; - _paymentDate?: Element; + paymentDate?: string|undefined; + _paymentDate?: Element|undefined; /** * Payment identifier. */ - paymentRef?: Identifier; + paymentRef?: Identifier|undefined; /** * Original request resource referrence. */ - request?: Reference; + request?: Reference|undefined; /** * The organization which is responsible for the services rendered to the patient. */ - requestOrganization?: Reference; + requestOrganization?: Reference|undefined; /** * The practitioner who is responsible for the services rendered to the patient. */ - requestProvider?: Reference; + requestProvider?: Reference|undefined; /** * Status of funds reservation (For provider, for Patient, None). */ - reserved?: Coding; + reserved?: Coding|undefined; /** * The version of the style of resource contents. This should be mapped to the allowable profiles for this and supporting resources. */ - ruleset?: Coding; + ruleset?: Coding|undefined; /** * Total amount of benefit payable (Equal to sum of the Benefit amounts from all detail lines and additions less the Unallocated Deductible). */ - totalBenefit?: Quantity; + totalBenefit?: Quantity|undefined; /** * This is a check value that the receiver calculates and returns. */ - totalCost?: Quantity; + totalCost?: Quantity|undefined; /** * The amount of deductible applied which was not allocated to any particular service line. */ - unallocDeductable?: Quantity; + unallocDeductable?: Quantity|undefined; } /** * Code Values for the ClaimResponse.outcome field @@ -3903,7 +3903,7 @@ export interface ClinicalImpressionInvestigations extends BackboneElement { /** * A record of a specific investigation that was undertaken. */ - item?: Reference[]; + item?: Reference[]|undefined; } /** * Specific findings or diagnoses that was considered likely or relevant to ongoing treatment. @@ -3912,8 +3912,8 @@ export interface ClinicalImpressionFinding extends BackboneElement { /** * Which investigations support finding or diagnosis. */ - cause?: string; - _cause?: Element; + cause?: string|undefined; + _cause?: Element|undefined; /** * Specific text of code for finding or diagnosis. */ @@ -3930,8 +3930,8 @@ export interface ClinicalImpressionRuledOut extends BackboneElement { /** * Grounds for elimination. */ - reason?: string; - _reason?: Element; + reason?: string|undefined; + _reason?: Element|undefined; } /** * A record of a clinical assessment performed to determine what problem(s) may affect the patient and before planning the treatments or management strategies that are best to manage a patient's condition. Assessments are often 1:1 with a clinical consultation / encounter, but this varies greatly depending on the clinical workflow. This resource is called "ClinicalImpression" rather than "ClinicalAssessment" to avoid confusion with the recording of assessment tools such as Apgar score. @@ -3942,29 +3942,29 @@ export interface ClinicalImpression extends DomainResource { /** * Actions taken during assessment. */ - action?: Reference[]; + action?: Reference[]|undefined; /** * The clinician performing the assessment. */ - assessor?: Reference; + assessor?: Reference|undefined; /** * The point in time at which the assessment was concluded (not when it was recorded). */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * A summary of the context and/or cause of the assessment - why / where was it peformed, and what patient events/sstatus prompted it. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Specific findings or diagnoses that was considered likely or relevant to ongoing treatment. */ - finding?: ClinicalImpressionFinding[]; + finding?: ClinicalImpressionFinding[]|undefined; /** * One or more sets of investigations (signs, symptions, etc.). The actual grouping of investigations vary greatly depending on the type and context of the assessment. These investigations may include data generated during the assessment process, or data previously generated and recorded that is pertinent to the outcomes. */ - investigations?: ClinicalImpressionInvestigations[]; + investigations?: ClinicalImpressionInvestigations[]|undefined; /** * The patient being assessed. */ @@ -3972,51 +3972,51 @@ export interface ClinicalImpression extends DomainResource { /** * Plan of action after assessment. */ - plan?: Reference[]; + plan?: Reference[]|undefined; /** * A reference to the last assesment that was conducted bon this patient. Assessments are often/usually ongoing in nature; a care provider (practitioner or team) will make new assessments on an ongoing basis as new data arises or the patient's conditions changes. */ - previous?: Reference; + previous?: Reference|undefined; /** * This a list of the general problems/conditions for a patient. */ - problem?: Reference[]; + problem?: Reference[]|undefined; /** * Estimate of likely outcome. */ - prognosis?: string; - _prognosis?: Element; + prognosis?: string|undefined; + _prognosis?: Element|undefined; /** * Reference to a specific published clinical protocol that was followed during this assessment, and/or that provides evidence in support of the diagnosis. */ - protocol?: string; - _protocol?: Element; + protocol?: string|undefined; + _protocol?: Element|undefined; /** * Diagnoses/conditions resolved since the last assessment. */ - resolved?: CodeableConcept[]; + resolved?: CodeableConcept[]|undefined; /** * Diagnosis considered not possible. */ - ruledOut?: ClinicalImpressionRuledOut[]; + ruledOut?: ClinicalImpressionRuledOut[]|undefined; /** * Identifies the workflow status of the assessment. */ status: ClinicalImpressionStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * A text summary of the investigations and the diagnosis. */ - summary?: string; - _summary?: Element; + summary?: string|undefined; + _summary?: Element|undefined; /** * The request or event that necessitated this assessment. This may be a diagnosis, a Care Plan, a Request Referral, or some other resource. */ - triggerCodeableConcept?: CodeableConcept; + triggerCodeableConcept?: CodeableConcept|undefined; /** * The request or event that necessitated this assessment. This may be a diagnosis, a Care Plan, a Request Referral, or some other resource. */ - triggerReference?: Reference; + triggerReference?: Reference|undefined; } /** * Code Values for the ClinicalImpression.status field @@ -4033,16 +4033,16 @@ export interface CommunicationPayload extends BackboneElement { /** * A communicated content (or for multi-part communications, one portion of the communication). */ - contentString?: string; - _contentString?: Element; + contentString?: string|undefined; + _contentString?: Element|undefined; /** * A communicated content (or for multi-part communications, one portion of the communication). */ - contentAttachment?: Attachment; + contentAttachment?: Attachment|undefined; /** * A communicated content (or for multi-part communications, one portion of the communication). */ - contentReference?: Reference; + contentReference?: Reference|undefined; } /** * An occurrence of information being transmitted; e.g. an alert that was sent to a responsible provider, a public health agency was notified about a reportable condition. @@ -4053,58 +4053,58 @@ export interface Communication extends DomainResource { /** * The type of message conveyed such as alert, notification, reminder, instruction, etc. */ - category?: CodeableConcept; + category?: CodeableConcept|undefined; /** * The encounter within which the communication was sent. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * Identifiers associated with this Communication that are defined by business processes and/ or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation). */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * A channel that was used for this communication (e.g. email, fax). */ - medium?: CodeableConcept[]; + medium?: CodeableConcept[]|undefined; /** * Text, attachment(s), or resource(s) that was communicated to the recipient. */ - payload?: CommunicationPayload[]; + payload?: CommunicationPayload[]|undefined; /** * The reason or justification for the communication. */ - reason?: CodeableConcept[]; + reason?: CodeableConcept[]|undefined; /** * The time when this communication arrived at the destination. */ - received?: string; - _received?: Element; + received?: string|undefined; + _received?: Element|undefined; /** * The entity (e.g. person, organization, clinical information system, or device) which was the target of the communication. If receipts need to be tracked by individual, a separate resource instance will need to be created for each recipient.  Multiple recipient communications are intended where either a receipt(s) is not tracked (e.g. a mass mail-out) or is captured in aggregate (all emails confirmed received by a particular time). */ - recipient?: Reference[]; + recipient?: Reference[]|undefined; /** * The communication request that was responsible for producing this communication. */ - requestDetail?: Reference; + requestDetail?: Reference|undefined; /** * The entity (e.g. person, organization, clinical information system, or device) which was the source of the communication. */ - sender?: Reference; + sender?: Reference|undefined; /** * The time when this communication was sent. */ - sent?: string; - _sent?: Element; + sent?: string|undefined; + _sent?: Element|undefined; /** * The status of the transmission. */ - status?: CommunicationStatusCodes; - _status?: Element; + status?: CommunicationStatusCodes|undefined; + _status?: Element|undefined; /** * The patient who was the focus of this communication. */ - subject?: Reference; + subject?: Reference|undefined; } /** * Code Values for the Communication.status field @@ -4123,16 +4123,16 @@ export interface CommunicationRequestPayload extends BackboneElement { /** * The communicated content (or for multi-part communications, one portion of the communication). */ - contentString?: string; - _contentString?: Element; + contentString?: string|undefined; + _contentString?: Element|undefined; /** * The communicated content (or for multi-part communications, one portion of the communication). */ - contentAttachment?: Attachment; + contentAttachment?: Attachment|undefined; /** * The communicated content (or for multi-part communications, one portion of the communication). */ - contentReference?: Reference; + contentReference?: Reference|undefined; } /** * A request to convey information; e.g. the CDS system proposes that an alert be sent to a responsible provider, the CDS system proposes that the public health agency be notified about a reportable condition. @@ -4143,66 +4143,66 @@ export interface CommunicationRequest extends DomainResource { /** * The type of message to be sent such as alert, notification, reminder, instruction, etc. */ - category?: CodeableConcept; + category?: CodeableConcept|undefined; /** * The encounter within which the communication request was created. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * A unique ID of this request for reference purposes. It must be provided if user wants it returned as part of any output, otherwise it will be autogenerated, if needed, by CDS system. Does not need to be the actual ID of the source system. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * A channel that was used for this communication (e.g. email, fax). */ - medium?: CodeableConcept[]; + medium?: CodeableConcept[]|undefined; /** * Text, attachment(s), or resource(s) to be communicated to the recipient. */ - payload?: CommunicationRequestPayload[]; + payload?: CommunicationRequestPayload[]|undefined; /** * Characterizes how quickly the proposed act must be initiated. Includes concepts such as stat, urgent, routine. */ - priority?: CodeableConcept; + priority?: CodeableConcept|undefined; /** * The reason or justification for the communication request. */ - reason?: CodeableConcept[]; + reason?: CodeableConcept[]|undefined; /** * The entity (e.g. person, organization, clinical information system, or device) which is the intended target of the communication. */ - recipient?: Reference[]; + recipient?: Reference[]|undefined; /** * The time when the request was made. */ - requestedOn?: string; - _requestedOn?: Element; + requestedOn?: string|undefined; + _requestedOn?: Element|undefined; /** * The responsible person who authorizes this order, e.g. physician. This may be different than the author of the order statement, e.g. clerk, who may have entered the statement into the order entry application. */ - requester?: Reference; + requester?: Reference|undefined; /** * The time when this communication is to occur. */ - scheduledDateTime?: string; - _scheduledDateTime?: Element; + scheduledDateTime?: string|undefined; + _scheduledDateTime?: Element|undefined; /** * The time when this communication is to occur. */ - scheduledPeriod?: Period; + scheduledPeriod?: Period|undefined; /** * The entity (e.g. person, organization, clinical information system, or device) which is to be the source of the communication. */ - sender?: Reference; + sender?: Reference|undefined; /** * The status of the proposal or order. */ - status?: CommunicationRequestStatusCodes; - _status?: Element; + status?: CommunicationRequestStatusCodes|undefined; + _status?: Element|undefined; /** * The patient who is the focus of this communication request. */ - subject?: Reference; + subject?: Reference|undefined; } /** * Code Values for the CommunicationRequest.status field @@ -4227,16 +4227,16 @@ export interface CompositionAttester extends BackboneElement { * Indicates the level of authority of the attestation. */ mode: CompositionAttesterModeCodes[]; - _mode?: Element[]; + _mode?: Element[]|undefined; /** * Identifies who has taken on the responsibility for accuracy of the composition content. */ - party?: Reference; + party?: Reference|undefined; /** * Identifies when the information in the composition was deemed accurate. (Things may have changed since then.). */ - time?: string; - _time?: Element; + time?: string|undefined; + _time?: Element|undefined; } /** * Code Values for the Composition.attester.mode field @@ -4254,15 +4254,15 @@ export interface CompositionEvent extends BackboneElement { /** * This list of codes represents the main clinical acts, such as a colonoscopy or an appendectomy, being documented. In some cases, the event is inherent in the typeCode, such as a "History and Physical Report" in which the procedure being documented is necessarily a "History and Physical" act. */ - code?: CodeableConcept[]; + code?: CodeableConcept[]|undefined; /** * The description and/or reference of the event(s) being documented. For example, this could be used to document such a colonoscopy or an appendectomy. */ - detail?: Reference[]; + detail?: Reference[]|undefined; /** * The period of time covered by the documentation. There is no assertion that the documentation is a complete representation for this period, only that it documents events during this time. */ - period?: Period; + period?: Period|undefined; } /** * The root of the sections that make up the composition. @@ -4271,37 +4271,37 @@ export interface CompositionSection extends BackboneElement { /** * Provides computable standardized labels to topics within the document. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * Allows capturing things like "none exist" or "not asked" which can be important for most lists. */ - emptyReason?: CodeableConcept; + emptyReason?: CodeableConcept|undefined; /** * A reference to the actual resource from which the narrative in the section is derived. */ - entry?: Reference[]; + entry?: Reference[]|undefined; /** * Sections are used in various ways, and it must be known in what way it is safe to use the entries in them. */ - mode?: CompositionSectionModeCodes; - _mode?: Element; + mode?: CompositionSectionModeCodes|undefined; + _mode?: Element|undefined; /** * Important for presentation and rendering. Lists may be sorted to place more important information first or to group related entries. */ - orderedBy?: CodeableConcept; + orderedBy?: CodeableConcept|undefined; /** * A nested sub-section within this section. */ - section?: CompositionSection[]; + section?: CompositionSection[]|undefined; /** * A human-readable narrative that contains the attested content of the section, used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. */ - text?: Narrative; + text?: Narrative|undefined; /** * Section headings are often standardized for different types of documents. They give guidance to humans on how the document is organized. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; } /** * Code Values for the Composition.section.mode field @@ -4320,7 +4320,7 @@ export interface Composition extends DomainResource { /** * Identifies responsibility for the accuracy of the composition content. */ - attester?: CompositionAttester[]; + attester?: CompositionAttester[]|undefined; /** * Identifies who is responsible for the content. */ @@ -4328,42 +4328,42 @@ export interface Composition extends DomainResource { /** * Helps humans to assess whether the composition is of interest when viewing an index of compositions or documents. */ - class?: CodeableConcept; + class?: CodeableConcept|undefined; /** * The code specifying the level of confidentiality of the Composition. */ - confidentiality?: string; - _confidentiality?: Element; + confidentiality?: string|undefined; + _confidentiality?: Element|undefined; /** * Identifies where to go to find the current version, where to report issues, etc. */ - custodian?: Reference; + custodian?: Reference|undefined; /** * dateTime is used for tracking, organizing versions and searching. */ date: string; - _date?: Element; + _date?: Element|undefined; /** * Provides context for the composition and supports searching. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * Provides context for the composition and creates a linkage between a resource describing an event and the composition created describing the event. */ - event?: CompositionEvent[]; + event?: CompositionEvent[]|undefined; /** * Logical identifier for the composition, assigned when created. This identifier stays constant as the composition is changed over time. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * The root of the sections that make up the composition. */ - section?: CompositionSection[]; + section?: CompositionSection[]|undefined; /** * Need to be able to mark interim, amended, or withdrawn compositions or documents. */ status: CompositionStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Essential metadata for searching for the composition. Identifies who and/or what the composition/document is about. */ @@ -4372,7 +4372,7 @@ export interface Composition extends DomainResource { * Official human-readable label for the composition. */ title: string; - _title?: Element; + _title?: Element|undefined; /** * Key metadata element describing the composition, used in searching/filtering. */ @@ -4394,12 +4394,12 @@ export interface ConceptMapContact extends BackboneElement { /** * The name of an individual to contact regarding the concept map. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Contact details for individual (if a name was provided) or the publisher. */ - telecom?: ContactPoint[]; + telecom?: ContactPoint[]|undefined; } /** * A set of additional dependencies for this mapping to hold. This mapping is only applicable if the specified element can be resolved, and it has the specified value. @@ -4409,17 +4409,17 @@ export interface ConceptMapElementTargetDependsOn extends BackboneElement { * Identity (code or path) or the element/item/ValueSet that the map depends on / refers to. */ code: string; - _code?: Element; + _code?: Element|undefined; /** * An absolute URI that identifies the code system of the dependency code (if the source/dependency is a value set that crosses code systems). */ codeSystem: string; - _codeSystem?: Element; + _codeSystem?: Element|undefined; /** * A reference to a specific concept that holds a coded value. This can be an element in a FHIR resource, or a specific reference to a data element in a different specification (e.g. HL7 v2) or a general reference to a kind of data field, or a reference to a value set with an appropriately narrow definition. */ element: string; - _element?: Element; + _element?: Element|undefined; } /** * A concept from the target value set that this concept maps to. @@ -4428,31 +4428,31 @@ export interface ConceptMapElementTarget extends BackboneElement { /** * Identity (code or path) or the element/item that the map refers to. */ - code?: string; - _code?: Element; + code?: string|undefined; + _code?: Element|undefined; /** * An absolute URI that identifies the code system of the target code (if the target is a value set that cross code systems). */ - codeSystem?: string; - _codeSystem?: Element; + codeSystem?: string|undefined; + _codeSystem?: Element|undefined; /** * A description of status/issues in mapping that conveys additional information not represented in the structured data. */ - comments?: string; - _comments?: Element; + comments?: string|undefined; + _comments?: Element|undefined; /** * A set of additional dependencies for this mapping to hold. This mapping is only applicable if the specified element can be resolved, and it has the specified value. */ - dependsOn?: ConceptMapElementTargetDependsOn[]; + dependsOn?: ConceptMapElementTargetDependsOn[]|undefined; /** * The equivalence between the source and target concepts (counting for the dependencies and products). The equivalence is read from target to source (e.g. the target is 'wider' than the source). */ equivalence: ConceptMapElementTargetEquivalenceCodes; - _equivalence?: Element; + _equivalence?: Element|undefined; /** * A set of additional outcomes from this mapping to other elements. To properly execute this mapping, the specified element must be mapped to some data element or source that is in context. The mapping may still be useful without a place for the additional data elements, but the equivalence cannot be relied on. */ - product?: ConceptMapElementTargetDependsOn[]; + product?: ConceptMapElementTargetDependsOn[]|undefined; } /** * Code Values for the ConceptMap.element.target.equivalence field @@ -4475,17 +4475,17 @@ export interface ConceptMapElement extends BackboneElement { /** * Identity (code or path) or the element/item being mapped. */ - code?: string; - _code?: Element; + code?: string|undefined; + _code?: Element|undefined; /** * An absolute URI that identifies the Code System (if the source is a value set that crosses more than one code system). */ - codeSystem?: string; - _codeSystem?: Element; + codeSystem?: string|undefined; + _codeSystem?: Element|undefined; /** * A concept from the target value set that this concept maps to. */ - target?: ConceptMapElementTarget[]; + target?: ConceptMapElementTarget[]|undefined; } /** * A statement of relationships from one set of concepts to one or more other concepts - either code systems or data elements, or classes in class models. @@ -4496,87 +4496,87 @@ export interface ConceptMap extends DomainResource { /** * Contacts to assist a user in finding and communicating with the publisher. */ - contact?: ConceptMapContact[]; + contact?: ConceptMapContact[]|undefined; /** * A copyright statement relating to the concept map and/or its contents. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * Need to know when a concept map was first legal for use or became withdrawn or replaced. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * Human understandability. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Mappings for an individual concept in the source to one or more concepts in the target. */ - element?: ConceptMapElement[]; + element?: ConceptMapElement[]|undefined; /** * This ConceptMap was authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * Formal identifier that is used to identify this concept map when it is represented in other formats, or referenced in a specification, model, design or an instance. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * Support human navigation. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Helps establish the "authority/credibility" of the concept map. May also allow for contact. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * Explains why this concept map is needed and why it has been constrained as it has. */ - requirements?: string; - _requirements?: Element; + requirements?: string|undefined; + _requirements?: Element|undefined; /** * The source value set that specifies the concepts that are being mapped. */ - sourceUri?: string; - _sourceUri?: Element; + sourceUri?: string|undefined; + _sourceUri?: Element|undefined; /** * The source value set that specifies the concepts that are being mapped. */ - sourceReference?: Reference; + sourceReference?: Reference|undefined; /** * Identify when/if the concept map should be used. */ status: ConceptMapStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * The target value set provides context to the mappings. Note that the mapping is made between concepts, not between value sets, but the value set provides important context about how the concept mapping choices are made. */ - targetUri?: string; - _targetUri?: Element; + targetUri?: string|undefined; + _targetUri?: Element|undefined; /** * The target value set provides context to the mappings. Note that the mapping is made between concepts, not between value sets, but the value set provides important context about how the concept mapping choices are made. */ - targetReference?: Reference; + targetReference?: Reference|undefined; /** * An absolute URL that is used to identify this concept map when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this concept map is (or will be) published. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * Assist in searching for appropriate concept map instances. */ - useContext?: CodeableConcept[]; + useContext?: CodeableConcept[]|undefined; /** * The identifier that is used to identify this version of the concept map when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the profile author manually and the value should be a timestamp. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the ConceptMap.status field @@ -4593,11 +4593,11 @@ export interface ConditionStage extends BackboneElement { /** * Reference to a formal record of the evidence on which the staging assessment is based. */ - assessment?: Reference[]; + assessment?: Reference[]|undefined; /** * A simple summary of the stage such as "Stage 3". The determination of the stage is disease-specific. */ - summary?: CodeableConcept; + summary?: CodeableConcept|undefined; } /** * Supporting Evidence / manifestations that are the basis on which this condition is suspected or confirmed. @@ -4606,11 +4606,11 @@ export interface ConditionEvidence extends BackboneElement { /** * A manifestation or symptom that led to the recording of this condition. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * Links to other relevant information, including pathology reports. */ - detail?: Reference[]; + detail?: Reference[]|undefined; } /** * Use to record detailed information about conditions, problems or diagnoses recognized by a clinician. There are many uses including: recording a diagnosis during an encounter; populating a problem list or a summary statement, such as a discharge summary. @@ -4621,47 +4621,47 @@ export interface Condition extends DomainResource { /** * The date or estimated date that the condition resolved or went into remission. This is called "abatement" because of the many overloaded connotations associated with "remission" or "resolution" - Conditions are never really resolved, but they can abate. */ - abatementDateTime?: string; - _abatementDateTime?: Element; + abatementDateTime?: string|undefined; + _abatementDateTime?: Element|undefined; /** * The date or estimated date that the condition resolved or went into remission. This is called "abatement" because of the many overloaded connotations associated with "remission" or "resolution" - Conditions are never really resolved, but they can abate. */ - abatementQuantity?: Quantity; + abatementQuantity?: Quantity|undefined; /** * The date or estimated date that the condition resolved or went into remission. This is called "abatement" because of the many overloaded connotations associated with "remission" or "resolution" - Conditions are never really resolved, but they can abate. */ - abatementBoolean?: boolean; - _abatementBoolean?: Element; + abatementBoolean?: boolean|undefined; + _abatementBoolean?: Element|undefined; /** * The date or estimated date that the condition resolved or went into remission. This is called "abatement" because of the many overloaded connotations associated with "remission" or "resolution" - Conditions are never really resolved, but they can abate. */ - abatementPeriod?: Period; + abatementPeriod?: Period|undefined; /** * The date or estimated date that the condition resolved or went into remission. This is called "abatement" because of the many overloaded connotations associated with "remission" or "resolution" - Conditions are never really resolved, but they can abate. */ - abatementRange?: Range; + abatementRange?: Range|undefined; /** * The date or estimated date that the condition resolved or went into remission. This is called "abatement" because of the many overloaded connotations associated with "remission" or "resolution" - Conditions are never really resolved, but they can abate. */ - abatementString?: string; - _abatementString?: Element; + abatementString?: string|undefined; + _abatementString?: Element|undefined; /** * Individual who is making the condition statement. */ - asserter?: Reference; + asserter?: Reference|undefined; /** * The anatomical location where this condition manifests itself. */ - bodySite?: CodeableConcept[]; + bodySite?: CodeableConcept[]|undefined; /** * A category assigned to the condition. */ - category?: CodeableConcept; + category?: CodeableConcept|undefined; /** * The clinical status of the condition. */ - clinicalStatus?: string; - _clinicalStatus?: Element; + clinicalStatus?: string|undefined; + _clinicalStatus?: Element|undefined; /** * Identification of the condition, problem or diagnosis. */ @@ -4669,47 +4669,47 @@ export interface Condition extends DomainResource { /** * A date, when the Condition statement was documented. */ - dateRecorded?: string; - _dateRecorded?: Element; + dateRecorded?: string|undefined; + _dateRecorded?: Element|undefined; /** * Encounter during which the condition was first asserted. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * Supporting Evidence / manifestations that are the basis on which this condition is suspected or confirmed. */ - evidence?: ConditionEvidence[]; + evidence?: ConditionEvidence[]|undefined; /** * Need to allow connection to a wider workflow. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Additional information about the Condition. This is a general notes/comments entry for description of the Condition, its diagnosis and prognosis. */ - notes?: string; - _notes?: Element; + notes?: string|undefined; + _notes?: Element|undefined; /** * Estimated or actual date or date-time the condition began, in the opinion of the clinician. */ - onsetDateTime?: string; - _onsetDateTime?: Element; + onsetDateTime?: string|undefined; + _onsetDateTime?: Element|undefined; /** * Estimated or actual date or date-time the condition began, in the opinion of the clinician. */ - onsetQuantity?: Quantity; + onsetQuantity?: Quantity|undefined; /** * Estimated or actual date or date-time the condition began, in the opinion of the clinician. */ - onsetPeriod?: Period; + onsetPeriod?: Period|undefined; /** * Estimated or actual date or date-time the condition began, in the opinion of the clinician. */ - onsetRange?: Range; + onsetRange?: Range|undefined; /** * Estimated or actual date or date-time the condition began, in the opinion of the clinician. */ - onsetString?: string; - _onsetString?: Element; + onsetString?: string|undefined; + _onsetString?: Element|undefined; /** * Indicates the patient who the condition record is associated with. */ @@ -4717,16 +4717,16 @@ export interface Condition extends DomainResource { /** * A subjective assessment of the severity of the condition as evaluated by the clinician. */ - severity?: CodeableConcept; + severity?: CodeableConcept|undefined; /** * Clinical stage or grade of a condition. May include formal severity assessments. */ - stage?: ConditionStage; + stage?: ConditionStage|undefined; /** * The verification status to support the clinical status of the condition. */ verificationStatus: ConditionVerificationStatusCodes; - _verificationStatus?: Element; + _verificationStatus?: Element|undefined; } /** * Code Values for the Condition.clinicalStatus field @@ -4755,12 +4755,12 @@ export interface ConformanceContact extends BackboneElement { /** * The name of an individual to contact regarding the conformance. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Contact details for individual (if a name was provided) or the publisher. */ - telecom?: ContactPoint[]; + telecom?: ContactPoint[]|undefined; } /** * Software that is covered by this conformance statement. It is used when the conformance statement describes the capabilities of a particular software version, independent of an installation. @@ -4770,17 +4770,17 @@ export interface ConformanceSoftware extends BackboneElement { * Name software is known by. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * Date this version of the software released. */ - releaseDate?: string; - _releaseDate?: Element; + releaseDate?: string|undefined; + _releaseDate?: Element|undefined; /** * The version identifier for the software covered by this statement. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Identifies a specific implementation instance that is described by the conformance statement - i.e. a particular installation, rather than the capabilities of a software program. @@ -4790,12 +4790,12 @@ export interface ConformanceImplementation extends BackboneElement { * Information about the specific installation that this conformance statement relates to. */ description: string; - _description?: Element; + _description?: Element|undefined; /** * An absolute base URL for the implementation. This forms the base for REST interfaces as well as the mailbox and document interfaces. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; } /** * Certificates associated with security profiles. @@ -4804,13 +4804,13 @@ export interface ConformanceRestSecurityCertificate extends BackboneElement { /** * Actual certificate. */ - blob?: string; - _blob?: Element; + blob?: string|undefined; + _blob?: Element|undefined; /** * Mime type for certificate. */ - type?: string; - _type?: Element; + type?: string|undefined; + _type?: Element|undefined; } /** * Information about security implementation from an interface perspective - what a client needs to know. @@ -4819,21 +4819,21 @@ export interface ConformanceRestSecurity extends BackboneElement { /** * Certificates associated with security profiles. */ - certificate?: ConformanceRestSecurityCertificate[]; + certificate?: ConformanceRestSecurityCertificate[]|undefined; /** * Server adds CORS headers when responding to requests - this enables javascript applications to use the server. */ - cors?: boolean; - _cors?: Element; + cors?: boolean|undefined; + _cors?: Element|undefined; /** * General description of how security works. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Types of security services are supported/required by the system. */ - service?: CodeableConcept[]; + service?: CodeableConcept[]|undefined; } /** * Identifies a restful operation supported by the solution. @@ -4843,12 +4843,12 @@ export interface ConformanceRestResourceInteraction extends BackboneElement { * Coded identifier of the operation, supported by the system resource. */ code: ConformanceRestResourceInteractionCodeCodes; - _code?: Element; + _code?: Element|undefined; /** * REST allows a degree of variability in the implementation of RESTful solutions that is useful for exchange partners to be aware of. */ - documentation?: string; - _documentation?: Element; + documentation?: string|undefined; + _documentation?: Element|undefined; } /** * Code Values for the Conformance.rest.resource.interaction.code field @@ -4871,38 +4871,38 @@ export interface ConformanceRestResourceSearchParam extends BackboneElement { /** * Contains the names of any search parameters which may be chained to the containing search parameter. Chained parameters may be added to search parameters of type reference, and specify that resources will only be returned if they contain a reference to a resource which matches the chained parameter value. Values for this field should be drawn from Conformance.rest.resource.searchParam.name on the target resource type. */ - chain?: string[]; - _chain?: Element[]; + chain?: string[]|undefined; + _chain?: Element[]|undefined; /** * An absolute URI that is a formal reference to where this parameter was first defined, so that a client can be confident of the meaning of the search parameter (a reference to [[[SearchParameter.url]]]). */ - definition?: string; - _definition?: Element; + definition?: string|undefined; + _definition?: Element|undefined; /** * This allows documentation of any distinct behaviors about how the search parameter is used. For example, text matching algorithms. */ - documentation?: string; - _documentation?: Element; + documentation?: string|undefined; + _documentation?: Element|undefined; /** * A modifier supported for the search parameter. */ - modifier?: ConformanceRestResourceSearchParamModifierCodes[]; - _modifier?: Element[]; + modifier?: ConformanceRestResourceSearchParamModifierCodes[]|undefined; + _modifier?: Element[]|undefined; /** * The name of the search parameter used in the interface. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * Types of resource (if a resource is referenced). */ - target?: string[]; - _target?: Element[]; + target?: string[]|undefined; + _target?: Element[]|undefined; /** * The type of value a search parameter refers to, and how the content is interpreted. */ type: ConformanceRestResourceSearchParamTypeCodes; - _type?: Element; + _type?: Element|undefined; } /** * Code Values for the Conformance.rest.resource.searchParam.modifier field @@ -4939,18 +4939,18 @@ export interface ConformanceRestResource extends BackboneElement { /** * A flag that indicates that the server supports conditional create. */ - conditionalCreate?: boolean; - _conditionalCreate?: Element; + conditionalCreate?: boolean|undefined; + _conditionalCreate?: Element|undefined; /** * A code that indicates how the server supports conditional delete. */ - conditionalDelete?: ConformanceRestResourceConditionalDeleteCodes; - _conditionalDelete?: Element; + conditionalDelete?: ConformanceRestResourceConditionalDeleteCodes|undefined; + _conditionalDelete?: Element|undefined; /** * A flag that indicates that the server supports conditional update. */ - conditionalUpdate?: boolean; - _conditionalUpdate?: Element; + conditionalUpdate?: boolean|undefined; + _conditionalUpdate?: Element|undefined; /** * Identifies a restful operation supported by the solution. */ @@ -4958,41 +4958,41 @@ export interface ConformanceRestResource extends BackboneElement { /** * A specification of the profile that describes the solution's overall support for the resource, including any constraints on cardinality, bindings, lengths or other limitations. See further discussion in [Using Profiles]{profiling.html#profile-uses}. */ - profile?: Reference; + profile?: Reference|undefined; /** * A flag for whether the server is able to return past versions as part of the vRead operation. */ - readHistory?: boolean; - _readHistory?: Element; + readHistory?: boolean|undefined; + _readHistory?: Element|undefined; /** * A list of _include values supported by the server. */ - searchInclude?: string[]; - _searchInclude?: Element[]; + searchInclude?: string[]|undefined; + _searchInclude?: Element[]|undefined; /** * Search parameters for implementations to support and/or make use of - either references to ones defined in the specification, or additional ones defined for/by the implementation. */ - searchParam?: ConformanceRestResourceSearchParam[]; + searchParam?: ConformanceRestResourceSearchParam[]|undefined; /** * A list of _revinclude (reverse include) values supported by the server. */ - searchRevInclude?: string[]; - _searchRevInclude?: Element[]; + searchRevInclude?: string[]|undefined; + _searchRevInclude?: Element[]|undefined; /** * A type of resource exposed via the restful interface. */ type: string; - _type?: Element; + _type?: Element|undefined; /** * A flag to indicate that the server allows or needs to allow the client to create new identities on the server (e.g. that is, the client PUTs to a location where there is no existing resource). Allowing this operation means that the server allows the client to create new identities on the server. */ - updateCreate?: boolean; - _updateCreate?: Element; + updateCreate?: boolean|undefined; + _updateCreate?: Element|undefined; /** * This field is set to no-version to specify that the system does not support (server) or use (client) versioning for this resource type. If this has some other value, the server must at least correctly track and populate the versionId meta-property on resources. If the value is 'versioned-update', then the server supports all the versioning features, including using e-tags for version integrity in the API. */ - versioning?: ConformanceRestResourceVersioningCodes; - _versioning?: Element; + versioning?: ConformanceRestResourceVersioningCodes|undefined; + _versioning?: Element|undefined; } /** * Code Values for the Conformance.rest.resource.conditionalDelete field @@ -5018,12 +5018,12 @@ export interface ConformanceRestInteraction extends BackboneElement { * A coded identifier of the operation, supported by the system. */ code: ConformanceRestInteractionCodeCodes; - _code?: Element; + _code?: Element|undefined; /** * Guidance specific to the implementation of this operation, such as limitations on the kind of transactions allowed, or information about system wide search is implemented. */ - documentation?: string; - _documentation?: Element; + documentation?: string|undefined; + _documentation?: Element|undefined; } /** * Code Values for the Conformance.rest.interaction.code field @@ -5045,7 +5045,7 @@ export interface ConformanceRestOperation extends BackboneElement { * The name of a query, which is used in the _query parameter when the query is called. */ name: string; - _name?: Element; + _name?: Element|undefined; } /** * A definition of the restful capabilities of the solution, if any. @@ -5054,26 +5054,26 @@ export interface ConformanceRest extends BackboneElement { /** * An absolute URI which is a reference to the definition of a compartment hosted by the system. */ - compartment?: string[]; - _compartment?: Element[]; + compartment?: string[]|undefined; + _compartment?: Element[]|undefined; /** * Information about the system's restful capabilities that apply across all applications, such as security. */ - documentation?: string; - _documentation?: Element; + documentation?: string|undefined; + _documentation?: Element|undefined; /** * A specification of restful operations supported by the system. */ - interaction?: ConformanceRestInteraction[]; + interaction?: ConformanceRestInteraction[]|undefined; /** * Identifies whether this portion of the statement is describing ability to initiate or receive restful operations. */ mode: ConformanceRestModeCodes; - _mode?: Element; + _mode?: Element|undefined; /** * Definition of an operation or a named query and with its parameters and their meaning and type. */ - operation?: ConformanceRestOperation[]; + operation?: ConformanceRestOperation[]|undefined; /** * A specification of the restful capabilities of the solution for a specific resource type. */ @@ -5081,16 +5081,16 @@ export interface ConformanceRest extends BackboneElement { /** * Search parameters that are supported for searching all resources for implementations to support and/or make use of - either references to ones defined in the specification, or additional ones defined for/by the implementation. */ - searchParam?: ConformanceRestResourceSearchParam[]; + searchParam?: ConformanceRestResourceSearchParam[]|undefined; /** * Information about security implementation from an interface perspective - what a client needs to know. */ - security?: ConformanceRestSecurity; + security?: ConformanceRestSecurity|undefined; /** * A code that indicates how transactions are supported. */ - transactionMode?: ConformanceRestTransactionModeCodes; - _transactionMode?: Element; + transactionMode?: ConformanceRestTransactionModeCodes|undefined; + _transactionMode?: Element|undefined; } /** * Code Values for the Conformance.rest.mode field @@ -5116,7 +5116,7 @@ export interface ConformanceMessagingEndpoint extends BackboneElement { * The network address of the end-point. For solutions that do not use network addresses for routing, it can be just an identifier. */ address: string; - _address?: Element; + _address?: Element|undefined; /** * A list of the messaging transport protocol(s) identifiers, supported by this endpoint. */ @@ -5129,8 +5129,8 @@ export interface ConformanceMessagingEvent extends BackboneElement { /** * The impact of the content of the message. */ - category?: ConformanceMessagingEventCategoryCodes; - _category?: Element; + category?: ConformanceMessagingEventCategoryCodes|undefined; + _category?: Element|undefined; /** * A coded identifier of a supported messaging event. */ @@ -5138,18 +5138,18 @@ export interface ConformanceMessagingEvent extends BackboneElement { /** * Guidance on how this event is handled, such as internal system trigger points, business rules, etc. */ - documentation?: string; - _documentation?: Element; + documentation?: string|undefined; + _documentation?: Element|undefined; /** * A resource associated with the event. This is the resource that defines the event. */ focus: string; - _focus?: Element; + _focus?: Element|undefined; /** * The mode of this event declaration - whether application is sender or receiver. */ mode: ConformanceMessagingEventModeCodes; - _mode?: Element; + _mode?: Element|undefined; /** * Information about the request for this event. */ @@ -5181,12 +5181,12 @@ export interface ConformanceMessaging extends BackboneElement { /** * Documentation about the system's messaging capabilities for this endpoint not otherwise documented by the conformance statement. For example, process for becoming an authorized messaging exchange partner. */ - documentation?: string; - _documentation?: Element; + documentation?: string|undefined; + _documentation?: Element|undefined; /** * An endpoint (network accessible address) to which messages and/or replies are to be sent. */ - endpoint?: ConformanceMessagingEndpoint[]; + endpoint?: ConformanceMessagingEndpoint[]|undefined; /** * A description of the solution's support for an event at this end-point. */ @@ -5194,7 +5194,7 @@ export interface ConformanceMessaging extends BackboneElement { /** * Length if the receiver's reliable messaging cache in minutes (if a receiver) or how long the cache length on the receiver should be (if a sender). */ - reliableCache?: number; + reliableCache?: number|undefined; } /** * A document definition. @@ -5203,13 +5203,13 @@ export interface ConformanceDocument extends BackboneElement { /** * A description of how the application supports or uses the specified document profile. For example, when are documents created, what action is taken with consumed documents, etc. */ - documentation?: string; - _documentation?: Element; + documentation?: string|undefined; + _documentation?: Element|undefined; /** * Mode of this document declaration - whether application is producer or consumer. */ mode: ConformanceDocumentModeCodes; - _mode?: Element; + _mode?: Element|undefined; /** * A constraint on a resource used in the document. */ @@ -5232,100 +5232,100 @@ export interface Conformance extends DomainResource { * A code that indicates whether the application accepts unknown elements or extensions when reading resources. */ acceptUnknown: ConformanceAcceptUnknownCodes; - _acceptUnknown?: Element; + _acceptUnknown?: Element|undefined; /** * Contacts to assist a user in finding and communicating with the publisher. */ - contact?: ConformanceContact[]; + contact?: ConformanceContact[]|undefined; /** * A copyright statement relating to the conformance statement and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the details of the system described by the conformance statement. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * The date (and optionally time) when the conformance statement was published. The date must change when the business version changes, if it does, and it must change if the status code changes. In addition, it should change when the substantive content of the conformance statement changes. */ date: string; - _date?: Element; + _date?: Element|undefined; /** * A free text natural language description of the conformance statement and its use. Typically, this is used when the conformance statement describes a desired rather than an actual solution, for example as a formal expression of requirements as part of an RFP. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * A document definition. */ - document?: ConformanceDocument[]; + document?: ConformanceDocument[]|undefined; /** * A flag to indicate that this conformance statement is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * The version of the FHIR specification on which this conformance statement is based. */ fhirVersion: string; - _fhirVersion?: Element; + _fhirVersion?: Element|undefined; /** * A list of the formats supported by this implementation using their content types. */ format: string[]; - _format?: Element[]; + _format?: Element[]|undefined; /** * Identifies a specific implementation instance that is described by the conformance statement - i.e. a particular installation, rather than the capabilities of a software program. */ - implementation?: ConformanceImplementation; + implementation?: ConformanceImplementation|undefined; /** * Allow searching the 3 modes. */ kind: ConformanceKindCodes; - _kind?: Element; + _kind?: Element|undefined; /** * A description of the messaging capabilities of the solution. */ - messaging?: ConformanceMessaging[]; + messaging?: ConformanceMessaging[]|undefined; /** * A free text natural language name identifying the conformance statement. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * A list of profiles that represent different use cases supported by the system. For a server, "supported by the system" means the system hosts/produces a set of resources that are conformant to a particular profile, and allows clients that use its services to search using this profile and to find appropriate data. For a client, it means the system will search by this profile and process data according to the guidance implicit in the profile. See further discussion in [Using Profiles]{profiling.html#profile-uses}. */ - profile?: Reference[]; + profile?: Reference[]|undefined; /** * Helps establish the "authority/credibility" of the conformance. May also allow for contact. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * Explains why this conformance statement is needed and why it's been constrained as it has. */ - requirements?: string; - _requirements?: Element; + requirements?: string|undefined; + _requirements?: Element|undefined; /** * A definition of the restful capabilities of the solution, if any. */ - rest?: ConformanceRest[]; + rest?: ConformanceRest[]|undefined; /** * Software that is covered by this conformance statement. It is used when the conformance statement describes the capabilities of a particular software version, independent of an installation. */ - software?: ConformanceSoftware; + software?: ConformanceSoftware|undefined; /** * The status of this conformance statement. */ - status?: ConformanceStatusCodes; - _status?: Element; + status?: ConformanceStatusCodes|undefined; + _status?: Element|undefined; /** * An absolute URL that is used to identify this conformance statement when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this conformance statement is (or will be) published. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * The identifier that is used to identify this version of the conformance statement when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the profile author manually and the value should be a timestamp. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the Conformance.acceptUnknown field @@ -5371,7 +5371,7 @@ export interface ContractActor extends BackboneElement { /** * Role type of actors assigned roles in this Contract. */ - role?: CodeableConcept[]; + role?: CodeableConcept[]|undefined; } /** * Contract Valued Item List. @@ -5380,40 +5380,40 @@ export interface ContractValuedItem extends BackboneElement { /** * Indicates the time during which this Contract ValuedItem information is effective. */ - effectiveTime?: string; - _effectiveTime?: Element; + effectiveTime?: string|undefined; + _effectiveTime?: Element|undefined; /** * Specific type of Contract Valued Item that may be priced. */ - entityCodeableConcept?: CodeableConcept; + entityCodeableConcept?: CodeableConcept|undefined; /** * Specific type of Contract Valued Item that may be priced. */ - entityReference?: Reference; + entityReference?: Reference|undefined; /** * A real number that represents a multiplier used in determining the overall value of the Contract Valued Item delivered. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount. */ - factor?: number; + factor?: number|undefined; /** * Identifies a Contract Valued Item instance. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * Expresses the product of the Contract Valued Item unitQuantity and the unitPriceAmt. For example, the formula: unit Quantity * unit Price (Cost per Point) * factor Number * points = net Amount. Quantity, factor and points are assumed to be 1 if not supplied. */ - net?: Quantity; + net?: Quantity|undefined; /** * An amount that expresses the weighting (based on difficulty, cost and/or resource intensiveness) associated with the Contract Valued Item delivered. The concept of Points allows for assignment of point values for a Contract Valued Item, such that a monetary amount can be assigned to each point. */ - points?: number; + points?: number|undefined; /** * Specifies the units by which the Contract Valued Item is measured or counted, and quantifies the countable or measurable Contract Valued Item instances. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * A Contract Valued Item unit valuation measure. */ - unitPrice?: Quantity; + unitPrice?: Quantity|undefined; } /** * Party signing this Contract. @@ -5427,7 +5427,7 @@ export interface ContractSigner extends BackboneElement { * Legally binding Contract DSIG signature contents in Base64. */ signature: string; - _signature?: Element; + _signature?: Element|undefined; /** * Role of this Contract signer, e.g. notary, grantee. */ @@ -5444,7 +5444,7 @@ export interface ContractTermActor extends BackboneElement { /** * Role played by the actor assigned this role in this Contract Provision. */ - role?: CodeableConcept[]; + role?: CodeableConcept[]|undefined; } /** * Contract Provision Valued Item List. @@ -5453,40 +5453,40 @@ export interface ContractTermValuedItem extends BackboneElement { /** * Indicates the time during which this Contract Term ValuedItem information is effective. */ - effectiveTime?: string; - _effectiveTime?: Element; + effectiveTime?: string|undefined; + _effectiveTime?: Element|undefined; /** * Specific type of Contract Provision Valued Item that may be priced. */ - entityCodeableConcept?: CodeableConcept; + entityCodeableConcept?: CodeableConcept|undefined; /** * Specific type of Contract Provision Valued Item that may be priced. */ - entityReference?: Reference; + entityReference?: Reference|undefined; /** * A real number that represents a multiplier used in determining the overall value of the Contract Provision Valued Item delivered. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount. */ - factor?: number; + factor?: number|undefined; /** * Identifies a Contract Provision Valued Item instance. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * Expresses the product of the Contract Provision Valued Item unitQuantity and the unitPriceAmt. For example, the formula: unit Quantity * unit Price (Cost per Point) * factor Number * points = net Amount. Quantity, factor and points are assumed to be 1 if not supplied. */ - net?: Quantity; + net?: Quantity|undefined; /** * An amount that expresses the weighting (based on difficulty, cost and/or resource intensiveness) associated with the Contract Provision Valued Item delivered. The concept of Points allows for assignment of point values for a Contract ProvisionValued Item, such that a monetary amount can be assigned to each point. */ - points?: number; + points?: number|undefined; /** * Specifies the units by which the Contract Provision Valued Item is measured or counted, and quantifies the countable or measurable Contract Term Valued Item instances. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * A Contract Provision Valued Item unit valuation measure. */ - unitPrice?: Quantity; + unitPrice?: Quantity|undefined; } /** * One or more Contract Provisions, which may be related and conveyed as a group, and may contain nested groups. @@ -5495,53 +5495,53 @@ export interface ContractTerm extends BackboneElement { /** * Action stipulated by this Contract Provision. */ - action?: CodeableConcept[]; + action?: CodeableConcept[]|undefined; /** * Reason or purpose for the action stipulated by this Contract Provision. */ - actionReason?: CodeableConcept[]; + actionReason?: CodeableConcept[]|undefined; /** * List of actors participating in this Contract Provision. */ - actor?: ContractTermActor[]; + actor?: ContractTermActor[]|undefined; /** * Relevant time or time-period when this Contract Provision is applicable. */ - applies?: Period; + applies?: Period|undefined; /** * Nested group of Contract Provisions. */ - group?: ContractTerm[]; + group?: ContractTerm[]|undefined; /** * Unique identifier for this particular Contract Provision. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * When this Contract Provision was issued. */ - issued?: string; - _issued?: Element; + issued?: string|undefined; + _issued?: Element|undefined; /** * Who or what this Contract Provision is about. */ - subject?: Reference; + subject?: Reference|undefined; /** * Subtype of this Contract Provision, e.g. life time maximum payment for a contract term for specific valued item, e.g. disability payment. */ - subType?: CodeableConcept; + subType?: CodeableConcept|undefined; /** * Human readable form of this Contract Provision. */ - text?: string; - _text?: Element; + text?: string|undefined; + _text?: Element|undefined; /** * Type of Contract Provision such as specific requirements, purposes for actions, obligations, prohibitions, e.g. life time maximum benefit. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; /** * Contract Provision Valued Item List. */ - valuedItem?: ContractTermValuedItem[]; + valuedItem?: ContractTermValuedItem[]|undefined; } /** * The "patient friendly language" versionof the Contract in whole or in parts. "Patient friendly language" means the representation of the Contract and Contract Provisions in a manner that is readily accessible and understandable by a layperson in accordance with best practices for communication styles that ensure that those agreeing to or signing the Contract understand the roles, actions, obligations, responsibilities, and implication of the agreement. @@ -5550,11 +5550,11 @@ export interface ContractFriendly extends BackboneElement { /** * Human readable rendering of this Contract in a format and representation intended to enhance comprehension and ensure understandability. */ - contentAttachment?: Attachment; + contentAttachment?: Attachment|undefined; /** * Human readable rendering of this Contract in a format and representation intended to enhance comprehension and ensure understandability. */ - contentReference?: Reference; + contentReference?: Reference|undefined; } /** * List of Legal expressions or representations of this Contract. @@ -5563,11 +5563,11 @@ export interface ContractLegal extends BackboneElement { /** * Contract legal text in human renderable form. */ - contentAttachment?: Attachment; + contentAttachment?: Attachment|undefined; /** * Contract legal text in human renderable form. */ - contentReference?: Reference; + contentReference?: Reference|undefined; } /** * List of Computable Policy Rule Language Representations of this Contract. @@ -5576,11 +5576,11 @@ export interface ContractRule extends BackboneElement { /** * Computable Contract conveyed using a policy rule language (e.g. XACML, DKAL, SecPal). */ - contentAttachment?: Attachment; + contentAttachment?: Attachment|undefined; /** * Computable Contract conveyed using a policy rule language (e.g. XACML, DKAL, SecPal). */ - contentReference?: Reference; + contentReference?: Reference|undefined; } /** * A formal agreement between parties regarding the conduct of business, exchange of information or other matters. @@ -5591,80 +5591,80 @@ export interface Contract extends DomainResource { /** * Action stipulated by this Contract. */ - action?: CodeableConcept[]; + action?: CodeableConcept[]|undefined; /** * Reason for action stipulated by this Contract. */ - actionReason?: CodeableConcept[]; + actionReason?: CodeableConcept[]|undefined; /** * List of Contract actors. */ - actor?: ContractActor[]; + actor?: ContractActor[]|undefined; /** * Relevant time or time-period when this Contract is applicable. */ - applies?: Period; + applies?: Period|undefined; /** * A formally or informally recognized grouping of people, principals, organizations, or jurisdictions formed for the purpose of achieving some form of collective action such as the promulgation, administration and enforcement of contracts and policies. */ - authority?: Reference[]; + authority?: Reference[]|undefined; /** * Legally binding Contract: This is the signed and legally recognized representation of the Contract, which is considered the "source of truth" and which would be the basis for legal action related to enforcement of this Contract. */ - bindingAttachment?: Attachment; + bindingAttachment?: Attachment|undefined; /** * Legally binding Contract: This is the signed and legally recognized representation of the Contract, which is considered the "source of truth" and which would be the basis for legal action related to enforcement of this Contract. */ - bindingReference?: Reference; + bindingReference?: Reference|undefined; /** * Recognized governance framework or system operating with a circumscribed scope in accordance with specified principles, policies, processes or procedures for managing rights, actions, or behaviors of parties or principals relative to resources. */ - domain?: Reference[]; + domain?: Reference[]|undefined; /** * The "patient friendly language" versionof the Contract in whole or in parts. "Patient friendly language" means the representation of the Contract and Contract Provisions in a manner that is readily accessible and understandable by a layperson in accordance with best practices for communication styles that ensure that those agreeing to or signing the Contract understand the roles, actions, obligations, responsibilities, and implication of the agreement. */ - friendly?: ContractFriendly[]; + friendly?: ContractFriendly[]|undefined; /** * Unique identifier for this Contract. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * When this Contract was issued. */ - issued?: string; - _issued?: Element; + issued?: string|undefined; + _issued?: Element|undefined; /** * List of Legal expressions or representations of this Contract. */ - legal?: ContractLegal[]; + legal?: ContractLegal[]|undefined; /** * List of Computable Policy Rule Language Representations of this Contract. */ - rule?: ContractRule[]; + rule?: ContractRule[]|undefined; /** * Party signing this Contract. */ - signer?: ContractSigner[]; + signer?: ContractSigner[]|undefined; /** * Who and/or what this Contract is about: typically a Patient, Organization, or valued items such as goods and services. */ - subject?: Reference[]; + subject?: Reference[]|undefined; /** * More specific type or specialization of an overarching or more general contract such as auto insurance, home owner insurance, prenupial agreement, Advanced-Directive, or privacy consent. */ - subType?: CodeableConcept[]; + subType?: CodeableConcept[]|undefined; /** * One or more Contract Provisions, which may be related and conveyed as a group, and may contain nested groups. */ - term?: ContractTerm[]; + term?: ContractTerm[]|undefined; /** * Type of Contract such as an insurance policy, real estate contract, a will, power of attorny, Privacy or Security policy , trust framework agreement, etc. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; /** * Contract Valued Item List. */ - valuedItem?: ContractValuedItem[]; + valuedItem?: ContractValuedItem[]|undefined; } /** * Financial instrument which may be used to pay for or reimburse health care products and services. @@ -5675,62 +5675,62 @@ export interface Coverage extends DomainResource { /** * Business Identification Number (BIN number) used to identify the routing of eclaims if the insurer themselves don't have a BIN number for all of their business. */ - bin?: Identifier; + bin?: Identifier|undefined; /** * The policy(s) which constitute this insurance coverage. */ - contract?: Reference[]; + contract?: Reference[]|undefined; /** * For some coverage a single identifier is issued to the PolicyHolder and dependent number issues to each to each of their dependents to track and manage the plan. */ - dependent?: number; + dependent?: number|undefined; /** * Identifies a style or collective of coverage issues by the underwriter, for example may be used to identify a class of coverage or employer group. May also be referred to as a Policy or Group ID. */ - group?: string; - _group?: Element; + group?: string|undefined; + _group?: Element|undefined; /** * This value may uniquely identify the coverage or it may be used in conjunction with the additional identifiers below. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Need to identify the issuer to target for processing and for coordination of benefit processing. */ - issuer?: Reference; + issuer?: Reference|undefined; /** * The identifier for a community of providers. */ - network?: Identifier; + network?: Identifier|undefined; /** * Time period during which the coverage is in force. A missing start date indicates the start date isn't known, a missing end date means the coverage is continuing to be in force. */ - period?: Period; + period?: Period|undefined; /** * Identifies a style or collective of coverage issues by the underwriter, for example may be used to identify a class of coverage or employer group. May also be referred to as a Policy or Group ID. */ - plan?: string; - _plan?: Element; + plan?: string|undefined; + _plan?: Element|undefined; /** * Some coverage, for example social plans, may be offered in short time increments, for example for a week or a month at a time, so while the rest of the plan details and identifiers may remain constant over time, the instance is incremented with each renewal and provided to the covered party on their 'card'. */ - sequence?: number; + sequence?: number|undefined; /** * Identifies a sub-style or sub-collective of coverage issues by the underwriter, for example may be used to identify a specific employer group within a class of employers. May be referred to as a Section or Division ID. */ - subPlan?: string; - _subPlan?: Element; + subPlan?: string|undefined; + _subPlan?: Element|undefined; /** * The party who 'owns' the insurance contractual relationship to the policy or to whom the benefit of the policy is due. */ - subscriber?: Reference; + subscriber?: Reference|undefined; /** * The id issued to the subscriber. */ - subscriberId?: Identifier; + subscriberId?: Identifier|undefined; /** * The order of application of coverages is dependent on the types of coverage. */ - type?: Coding; + type?: Coding|undefined; } /** * Contacts to assist a user in finding and communicating with the publisher. @@ -5739,12 +5739,12 @@ export interface DataElementContact extends BackboneElement { /** * The name of an individual to contact regarding the data element. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Contact details for individual (if a name was provided) or the publisher. */ - telecom?: ContactPoint[]; + telecom?: ContactPoint[]|undefined; } /** * Identifies a specification (other than a terminology) that the elements which make up the DataElement have some correspondence with. @@ -5753,23 +5753,23 @@ export interface DataElementMapping extends BackboneElement { /** * Comments about this mapping, including version notes, issues, scope limitations, and other important notes for usage. */ - comments?: string; - _comments?: Element; + comments?: string|undefined; + _comments?: Element|undefined; /** * An internal id that is used to identify this mapping set when specific mappings are made on a per-element basis. */ identity: string; - _identity?: Element; + _identity?: Element|undefined; /** * A name for the specification that is being mapped to. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * An absolute URI that identifies the specification that this mapping is expressed to. */ - uri?: string; - _uri?: Element; + uri?: string|undefined; + _uri?: Element|undefined; } /** * The formal description of a single piece of information that can be gathered and reported. @@ -5780,17 +5780,17 @@ export interface DataElement extends DomainResource { /** * Contacts to assist a user in finding and communicating with the publisher. */ - contact?: DataElementContact[]; + contact?: DataElementContact[]|undefined; /** * A copyright statement relating to the definition of the data element. Copyright statements are generally legal restrictions on the use and publishing of the details of the definition of the data element. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * The date this version of the data element was published. The date must change when the business version changes, if it does, and it must change if the status code changes. In addition, it should change when the substantive content of the data element changes. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * 1. */ @@ -5798,50 +5798,50 @@ export interface DataElement extends DomainResource { /** * A flag to indicate that this search data element definition is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * Formal identifier that is used to identify this data element when it is represented in other formats, or referenced in a specification, model, design or an instance. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Identifies a specification (other than a terminology) that the elements which make up the DataElement have some correspondence with. */ - mapping?: DataElementMapping[]; + mapping?: DataElementMapping[]|undefined; /** * The term used by humans to refer to the data element. Should ideally be unique within the context in which the data element is expected to be used. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Helps establish the "authority/credibility" of the data element. May also allow for contact. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * Allows filtering of data elements that are appropriate for use. */ status: DataElementStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Allows determining the degree of comparability of data element instances. Less granular data elements result in data that is less comparable (or at least requires more work to compare). */ - stringency?: DataElementStringencyCodes; - _stringency?: Element; + stringency?: DataElementStringencyCodes|undefined; + _stringency?: Element|undefined; /** * An absolute URL that is used to identify this data element when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this data element is (or will be) published. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching of data element definitions. */ - useContext?: CodeableConcept[]; + useContext?: CodeableConcept[]|undefined; /** * There may be multiple resource versions of the data element that have this same identifier. The resource version id will change for technical reasons, whereas the stated version number needs to be under the author's control. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the DataElement.status field @@ -5873,12 +5873,12 @@ export interface DetectedIssueMitigation extends BackboneElement { /** * Identifies the practitioner who determined the mitigation and takes responsibility for the mitigation step occurring. */ - author?: Reference; + author?: Reference|undefined; /** * Indicates when the mitigating action was documented. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; } /** * Indicates an actual or potential clinical issue with or between one or more active or proposed clinical actions for a patient; e.g. Drug-drug interaction, Ineffective treatment frequency, Procedure-condition conflict, etc. @@ -5889,47 +5889,47 @@ export interface DetectedIssue extends DomainResource { /** * Individual or device responsible for the issue being raised. For example, a decision support application or a pharmacist conducting a medication review. */ - author?: Reference; + author?: Reference|undefined; /** * Identifies the general type of issue identified. */ - category?: CodeableConcept; + category?: CodeableConcept|undefined; /** * No-one can be responsible for mitigation prior to the issue being identified. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * A textual explanation of the detected issue. */ - detail?: string; - _detail?: Element; + detail?: string|undefined; + _detail?: Element|undefined; /** * Allows linking instances of the same detected issue found on different servers. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * Indicates the resource representing the current activity or proposed activity that is potentially problematic. */ - implicated?: Reference[]; + implicated?: Reference[]|undefined; /** * Indicates an action that has been taken or is committed to to reduce or eliminate the likelihood of the risk identified by the detected issue from manifesting. Can also reflect an observation of known mitigating factors that may reduce/eliminate the need for any action. */ - mitigation?: DetectedIssueMitigation[]; + mitigation?: DetectedIssueMitigation[]|undefined; /** * While the subject could be inferred by tracing the subject of the implicated resources, it's useful to have a direct link for query purposes. */ - patient?: Reference; + patient?: Reference|undefined; /** * The literature, knowledge-base or similar reference that describes the propensity for the detected issue identified. */ - reference?: string; - _reference?: Element; + reference?: string|undefined; + _reference?: Element|undefined; /** * Indicates the degree of importance associated with the identified issue based on the potential impact on the patient. */ - severity?: DetectedIssueSeverityCodes; - _severity?: Element; + severity?: DetectedIssueSeverityCodes|undefined; + _severity?: Element|undefined; } /** * Code Values for the DetectedIssue.severity field @@ -5948,57 +5948,57 @@ export interface Device extends DomainResource { /** * Contact details for an organization or a particular human that is responsible for the device. */ - contact?: ContactPoint[]; + contact?: ContactPoint[]|undefined; /** * The date and time beyond which this device is no longer valid or should not be used (if applicable). */ - expiry?: string; - _expiry?: Element; + expiry?: string|undefined; + _expiry?: Element|undefined; /** * Unique instance identifiers assigned to a device by organizations like manufacturers or owners. If the identifier identifies the type of device, Device.type should be used. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The place where the device can be found. */ - location?: Reference; + location?: Reference|undefined; /** * Lot number assigned by the manufacturer. */ - lotNumber?: string; - _lotNumber?: Element; + lotNumber?: string|undefined; + _lotNumber?: Element|undefined; /** * The date and time when the device was manufactured. */ - manufactureDate?: string; - _manufactureDate?: Element; + manufactureDate?: string|undefined; + _manufactureDate?: Element|undefined; /** * A name of the manufacturer. */ - manufacturer?: string; - _manufacturer?: Element; + manufacturer?: string|undefined; + _manufacturer?: Element|undefined; /** * The "model" is an identifier assigned by the manufacturer to identify the product by its type. This number is shared by the all devices sold as the same type. */ - model?: string; - _model?: Element; + model?: string|undefined; + _model?: Element|undefined; /** * Descriptive information, usage information or implantation information that is not captured in an existing element. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * An organization that is responsible for the provision and ongoing maintenance of the device. */ - owner?: Reference; + owner?: Reference|undefined; /** * Patient information, if the resource is affixed to a person. */ - patient?: Reference; + patient?: Reference|undefined; /** * Status of the Device availability. */ - status?: DeviceStatusCodes; - _status?: Element; + status?: DeviceStatusCodes|undefined; + _status?: Element|undefined; /** * Code or identifier to identify a kind of device. */ @@ -6006,18 +6006,18 @@ export interface Device extends DomainResource { /** * United States Food and Drug Administration mandated Unique Device Identifier (UDI). Use the human readable information (the content that the user sees, which is sometimes different to the exact syntax represented in the barcode) - see http://www.fda.gov/MedicalDevices/DeviceRegulationandGuidance/UniqueDeviceIdentification/default.htm. */ - udi?: string; - _udi?: Element; + udi?: string|undefined; + _udi?: Element|undefined; /** * A network address on which the device may be contacted directly. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * The version of the device, if the device has multiple releases under the same model, or if the device is software or carries firmware. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the Device.status field @@ -6034,16 +6034,16 @@ export interface DeviceComponentProductionSpecification extends BackboneElement /** * Describes the internal component unique identification. This is a provision for manufacture specific standard components using a private OID. 11073-10101 has a partition for private OID semantic that the manufacture can make use of. */ - componentId?: Identifier; + componentId?: Identifier|undefined; /** * Describes the printable string defining the component. */ - productionSpec?: string; - _productionSpec?: Element; + productionSpec?: string|undefined; + _productionSpec?: Element|undefined; /** * Describes the specification type, such as, serial number, part number, hardware revision, software revision, etc. */ - specType?: CodeableConcept; + specType?: CodeableConcept|undefined; } /** * Describes the characteristics, operational status and capabilities of a medical-related component of a medical device. @@ -6058,37 +6058,37 @@ export interface DeviceComponent extends DomainResource { /** * Describes the language code for the human-readable text string produced by the device. This language code will follow the IETF language tag. Example: en-US. */ - languageCode?: CodeableConcept; + languageCode?: CodeableConcept|undefined; /** * Describes the timestamp for the most recent system change which includes device configuration or setting change. */ lastSystemChange: string; - _lastSystemChange?: Element; + _lastSystemChange?: Element|undefined; /** * Describes the physical principle of the measurement. For example: thermal, chemical, acoustical, etc. */ - measurementPrinciple?: DeviceComponentMeasurementPrincipleCodes; - _measurementPrinciple?: Element; + measurementPrinciple?: DeviceComponentMeasurementPrincipleCodes|undefined; + _measurementPrinciple?: Element|undefined; /** * Indicates current operational status of the device. For example: On, Off, Standby, etc. */ - operationalStatus?: CodeableConcept[]; + operationalStatus?: CodeableConcept[]|undefined; /** * Describes the parameter group supported by the current device component that is based on some nomenclature, e.g. cardiovascular. */ - parameterGroup?: CodeableConcept; + parameterGroup?: CodeableConcept|undefined; /** * Describes the link to the parent resource. For example: Channel is linked to its VMD parent. */ - parent?: Reference; + parent?: Reference|undefined; /** * Describes the production specification such as component revision, serial number, etc. */ - productionSpecification?: DeviceComponentProductionSpecification[]; + productionSpecification?: DeviceComponentProductionSpecification[]|undefined; /** * Describes the link to the source Device that contains administrative device information such as manufacture, serial number, etc. */ - source?: Reference; + source?: Reference|undefined; /** * Describes the specific component type as defined in the object-oriented or metric nomenclature partition. */ @@ -6117,18 +6117,18 @@ export interface DeviceMetricCalibration extends BackboneElement { /** * Describes the state of the calibration. */ - state?: DeviceMetricCalibrationStateCodes; - _state?: Element; + state?: DeviceMetricCalibrationStateCodes|undefined; + _state?: Element|undefined; /** * Describes the time last calibration has been performed. */ - time?: string; - _time?: Element; + time?: string|undefined; + _time?: Element|undefined; /** * Describes the type of the calibration method. */ - type?: DeviceMetricCalibrationTypeCodes; - _type?: Element; + type?: DeviceMetricCalibrationTypeCodes|undefined; + _type?: Element|undefined; } /** * Code Values for the DeviceMetric.calibration.state field @@ -6157,17 +6157,17 @@ export interface DeviceMetric extends DomainResource { /** * Describes the calibrations that have been performed or that are required to be performed. */ - calibration?: DeviceMetricCalibration[]; + calibration?: DeviceMetricCalibration[]|undefined; /** * Indicates the category of the observation generation process. A DeviceMetric can be for example a setting, measurement, or calculation. */ category: DeviceMetricCategoryCodes; - _category?: Element; + _category?: Element|undefined; /** * Describes the color representation for the metric. This is often used to aid clinicians to track and identify parameter types by color. In practice, consider a Patient Monitor that has ECG/HR and Pleth for example; the parameters are displayed in different characteristic colors, such as HR-blue, BP-green, and PR and SpO2- magenta. */ - color?: DeviceMetricColorCodes; - _color?: Element; + color?: DeviceMetricColorCodes|undefined; + _color?: Element|undefined; /** * Describes the unique identification of this metric that has been assigned by the device or gateway software. For example: handle ID. It should be noted that in order to make the identifier unique, the system element of the identifier should be set to the unique identifier of the device. */ @@ -6175,20 +6175,20 @@ export interface DeviceMetric extends DomainResource { /** * Describes the measurement repetition time. This is not necessarily the same as the update period. The measurement repetition time can range from milliseconds up to hours. An example for a measurement repetition time in the range of milliseconds is the sampling rate of an ECG. An example for a measurement repetition time in the range of hours is a NIBP that is triggered automatically every hour. The update period may be different than the measurement repetition time, if the device does not update the published observed value with the same frequency as it was measured. */ - measurementPeriod?: Timing; + measurementPeriod?: Timing|undefined; /** * Indicates current operational state of the device. For example: On, Off, Standby, etc. */ - operationalStatus?: DeviceMetricOperationalStatusCodes; - _operationalStatus?: Element; + operationalStatus?: DeviceMetricOperationalStatusCodes|undefined; + _operationalStatus?: Element|undefined; /** * Describes the link to the DeviceComponent that this DeviceMetric belongs to and that provide information about the location of this DeviceMetric in the containment structure of the parent Device. An example would be a DeviceComponent that represents a Channel. This reference can be used by a client application to distinguish DeviceMetrics that have the same type, but should be interpreted based on their containment location. */ - parent?: Reference; + parent?: Reference|undefined; /** * Describes the link to the Device that this DeviceMetric belongs to and that contains administrative device information such as manufacture, serial number, etc. */ - source?: Reference; + source?: Reference|undefined; /** * Describes the type of the metric. For example: Heart Rate, PEEP Setting, etc. */ @@ -6196,7 +6196,7 @@ export interface DeviceMetric extends DomainResource { /** * Describes the unit that an observed value determined for this metric will have. For example: Percent, Seconds, etc. */ - unit?: CodeableConcept; + unit?: CodeableConcept|undefined; } /** * Code Values for the DeviceMetric.category field @@ -6237,11 +6237,11 @@ export interface DeviceUseRequest extends DomainResource { /** * Knowing where the device is targeted is important for tracking if multiple sites are possible. */ - bodySiteCodeableConcept?: CodeableConcept; + bodySiteCodeableConcept?: CodeableConcept|undefined; /** * Knowing where the device is targeted is important for tracking if multiple sites are possible. */ - bodySiteReference?: Reference; + bodySiteReference?: Reference|undefined; /** * The details of the device to be used. */ @@ -6249,44 +6249,44 @@ export interface DeviceUseRequest extends DomainResource { /** * An encounter that provides additional context in which this request is made. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * Identifiers assigned to this order by the orderer or by the receiver. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Reason or justification for the use of this device. */ - indication?: CodeableConcept[]; + indication?: CodeableConcept[]|undefined; /** * Details about this request that were not represented at all or sufficiently in one of the attributes provided in a class. These may include for example a comment, an instruction, or a note associated with the statement. */ - notes?: string[]; - _notes?: Element[]; + notes?: string[]|undefined; + _notes?: Element[]|undefined; /** * The time when the request was made. */ - orderedOn?: string; - _orderedOn?: Element; + orderedOn?: string|undefined; + _orderedOn?: Element|undefined; /** * Characterizes how quickly the use of device must be initiated. Includes concepts such as stat, urgent, routine. */ - priority?: DeviceUseRequestPriorityCodes; - _priority?: Element; + priority?: DeviceUseRequestPriorityCodes|undefined; + _priority?: Element|undefined; /** * The proposed act must be performed if the indicated conditions occur, e.g.., shortness of breath, SpO2 less than x%. */ - prnReason?: CodeableConcept[]; + prnReason?: CodeableConcept[]|undefined; /** * The time at which the request was made/recorded. */ - recordedOn?: string; - _recordedOn?: Element; + recordedOn?: string|undefined; + _recordedOn?: Element|undefined; /** * The status of the request. */ - status?: DeviceUseRequestStatusCodes; - _status?: Element; + status?: DeviceUseRequestStatusCodes|undefined; + _status?: Element|undefined; /** * The patient who will use the device. */ @@ -6294,16 +6294,16 @@ export interface DeviceUseRequest extends DomainResource { /** * The timing schedule for the use of the device The Schedule data type allows many different expressions, for example. "Every 8 hours"; "Three times a day"; "1/2 an hour before breakfast for 10 days from 23-Dec 2011:"; "15 Oct 2013, 17 Oct 2013 and 1 Nov 2013". */ - timingTiming?: Timing; + timingTiming?: Timing|undefined; /** * The timing schedule for the use of the device The Schedule data type allows many different expressions, for example. "Every 8 hours"; "Three times a day"; "1/2 an hour before breakfast for 10 days from 23-Dec 2011:"; "15 Oct 2013, 17 Oct 2013 and 1 Nov 2013". */ - timingPeriod?: Period; + timingPeriod?: Period|undefined; /** * The timing schedule for the use of the device The Schedule data type allows many different expressions, for example. "Every 8 hours"; "Three times a day"; "1/2 an hour before breakfast for 10 days from 23-Dec 2011:"; "15 Oct 2013, 17 Oct 2013 and 1 Nov 2013". */ - timingDateTime?: string; - _timingDateTime?: Element; + timingDateTime?: string|undefined; + _timingDateTime?: Element|undefined; } /** * Code Values for the DeviceUseRequest.priority field @@ -6338,11 +6338,11 @@ export interface DeviceUseStatement extends DomainResource { /** * Knowing where the device is targeted is important for tracking if multiple sites are possible. */ - bodySiteCodeableConcept?: CodeableConcept; + bodySiteCodeableConcept?: CodeableConcept|undefined; /** * Knowing where the device is targeted is important for tracking if multiple sites are possible. */ - bodySiteReference?: Reference; + bodySiteReference?: Reference|undefined; /** * The details of the device used. */ @@ -6350,21 +6350,21 @@ export interface DeviceUseStatement extends DomainResource { /** * An external identifier for this statement such as an IRI. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Reason or justification for the use of the device. */ - indication?: CodeableConcept[]; + indication?: CodeableConcept[]|undefined; /** * Details about the device statement that were not represented at all or sufficiently in one of the attributes provided in a class. These may include for example a comment, an instruction, or a note associated with the statement. */ - notes?: string[]; - _notes?: Element[]; + notes?: string[]|undefined; + _notes?: Element[]|undefined; /** * The time at which the statement was made/recorded. */ - recordedOn?: string; - _recordedOn?: Element; + recordedOn?: string|undefined; + _recordedOn?: Element|undefined; /** * The patient who used the device. */ @@ -6372,20 +6372,20 @@ export interface DeviceUseStatement extends DomainResource { /** * How often the device was used. */ - timingTiming?: Timing; + timingTiming?: Timing|undefined; /** * How often the device was used. */ - timingPeriod?: Period; + timingPeriod?: Period|undefined; /** * How often the device was used. */ - timingDateTime?: string; - _timingDateTime?: Element; + timingDateTime?: string|undefined; + _timingDateTime?: Element|undefined; /** * The time period over which the device was used. */ - whenUsed?: Period; + whenUsed?: Period|undefined; } /** * A summary of the events of interest that have occurred as the request is processed; e.g. when the order was made, various processing steps (specimens received), when it was completed. @@ -6394,21 +6394,21 @@ export interface DiagnosticOrderEvent extends BackboneElement { /** * The person responsible for performing or recording the action. */ - actor?: Reference; + actor?: Reference|undefined; /** * The date/time at which the event occurred. */ dateTime: string; - _dateTime?: Element; + _dateTime?: Element|undefined; /** * Additional information about the event that occurred - e.g. if the status remained unchanged. */ - description?: CodeableConcept; + description?: CodeableConcept|undefined; /** * The status for the event. */ status: DiagnosticOrderEventStatusCodes; - _status?: Element; + _status?: Element|undefined; } /** * Code Values for the DiagnosticOrder.event.status field @@ -6435,7 +6435,7 @@ export interface DiagnosticOrderItem extends BackboneElement { /** * Anatomical location where the request test should be performed. This is the target site. */ - bodySite?: CodeableConcept; + bodySite?: CodeableConcept|undefined; /** * A code that identifies a particular diagnostic investigation, or panel of investigations, that have been requested. */ @@ -6443,16 +6443,16 @@ export interface DiagnosticOrderItem extends BackboneElement { /** * A summary of the events of interest that have occurred as this item of the request is processed. */ - event?: DiagnosticOrderEvent[]; + event?: DiagnosticOrderEvent[]|undefined; /** * If the item is related to a specific specimen. */ - specimen?: Reference[]; + specimen?: Reference[]|undefined; /** * The status of this individual item within the order. */ - status?: DiagnosticOrderItemStatusCodes; - _status?: Element; + status?: DiagnosticOrderItemStatusCodes|undefined; + _status?: Element|undefined; } /** * Code Values for the DiagnosticOrder.item.status field @@ -6481,45 +6481,45 @@ export interface DiagnosticOrder extends DomainResource { /** * An encounter that provides additional information about the healthcare context in which this request is made. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * A summary of the events of interest that have occurred as the request is processed; e.g. when the order was made, various processing steps (specimens received), when it was completed. */ - event?: DiagnosticOrderEvent[]; + event?: DiagnosticOrderEvent[]|undefined; /** * Identifiers assigned to this order instance by the orderer and/or the receiver and/or order fulfiller. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The specific diagnostic investigations that are requested as part of this request. Sometimes, there can only be one item per request, but in most contexts, more than one investigation can be requested. */ - item?: DiagnosticOrderItem[]; + item?: DiagnosticOrderItem[]|undefined; /** * Any other notes associated with this patient, specimen or order (e.g. "patient hates needles"). */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * The practitioner that holds legal responsibility for ordering the investigation. */ - orderer?: Reference; + orderer?: Reference|undefined; /** * The clinical priority associated with this order. */ - priority?: DiagnosticOrderPriorityCodes; - _priority?: Element; + priority?: DiagnosticOrderPriorityCodes|undefined; + _priority?: Element|undefined; /** * An explanation or justification for why this diagnostic investigation is being requested. This is often for billing purposes. May relate to the resources referred to in supportingInformation. */ - reason?: CodeableConcept[]; + reason?: CodeableConcept[]|undefined; /** * One or more specimens that the diagnostic investigation is about. */ - specimen?: Reference[]; + specimen?: Reference[]|undefined; /** * The status of the order. */ - status?: DiagnosticOrderStatusCodes; - _status?: Element; + status?: DiagnosticOrderStatusCodes|undefined; + _status?: Element|undefined; /** * Who or what the investigation is to be performed on. This is usually a human patient, but diagnostic tests can also be requested on animals, groups of humans or animals, devices such as dialysis machines, or even locations (typically for environmental scans). */ @@ -6527,7 +6527,7 @@ export interface DiagnosticOrder extends DomainResource { /** * Additional clinical information about the patient or specimen that may influence test interpretations. This includes observations explicitly requested by the producer(filler) to provide context or supporting information needed to complete the order. */ - supportingInformation?: Reference[]; + supportingInformation?: Reference[]|undefined; } /** * Code Values for the DiagnosticOrder.priority field @@ -6563,8 +6563,8 @@ export interface DiagnosticReportImage extends BackboneElement { /** * The provider of the report should make a comment about each image included in the report. */ - comment?: string; - _comment?: Element; + comment?: string|undefined; + _comment?: Element|undefined; /** * Reference to the image source. */ @@ -6579,7 +6579,7 @@ export interface DiagnosticReport extends DomainResource { /** * A code that classifies the clinical discipline, department or diagnostic service that created the report (e.g. cardiology, biochemistry, hematology, MRI). This is used for searching, sorting and display purposes. */ - category?: CodeableConcept; + category?: CodeableConcept|undefined; /** * A code or name that describes this diagnostic report. */ @@ -6587,42 +6587,42 @@ export interface DiagnosticReport extends DomainResource { /** * Codes for the conclusion. */ - codedDiagnosis?: CodeableConcept[]; + codedDiagnosis?: CodeableConcept[]|undefined; /** * Need to be able to provide a conclusion that is not lost among the basic result data. */ - conclusion?: string; - _conclusion?: Element; + conclusion?: string|undefined; + _conclusion?: Element|undefined; /** * Need to know where in the patient history to file/present this report. */ - effectiveDateTime?: string; - _effectiveDateTime?: Element; + effectiveDateTime?: string|undefined; + _effectiveDateTime?: Element|undefined; /** * Need to know where in the patient history to file/present this report. */ - effectivePeriod?: Period; + effectivePeriod?: Period|undefined; /** * The link to the health care event (encounter) when the order was made. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * Need to know what identifier to use when making queries about this report from the source laboratory, and for linking to the report outside FHIR context. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Many diagnostic services include images in the report as part of their service. */ - image?: DiagnosticReportImage[]; + image?: DiagnosticReportImage[]|undefined; /** * One or more links to full details of any imaging performed during the diagnostic investigation. Typically, this is imaging performed by DICOM enabled modalities, but this is not required. A fully enabled PACS viewer can use this information to provide views of the source images. */ - imagingStudy?: Reference[]; + imagingStudy?: Reference[]|undefined; /** * Clinicians need to be able to check the date that the report was released. */ issued: string; - _issued?: Element; + _issued?: Element|undefined; /** * Need to know whom to contact if there are queries about the results. Also may need to track the source of reports for secondary data analysis. */ @@ -6630,24 +6630,24 @@ export interface DiagnosticReport extends DomainResource { /** * Gives Laboratory the ability to provide its own fully formatted report for clinical fidelity. */ - presentedForm?: Attachment[]; + presentedForm?: Attachment[]|undefined; /** * Need to be able to track completion of requests based on reports issued and also to report what diagnostic tests were requested (not always the same as what is delivered). */ - request?: Reference[]; + request?: Reference[]|undefined; /** * Need to support individual results, or report groups of results, where the result grouping is arbitrary, but meaningful. This structure is recursive - observations can contain observations. */ - result?: Reference[]; + result?: Reference[]|undefined; /** * Need to be able to report information about the collected specimens on which the report is based. */ - specimen?: Reference[]; + specimen?: Reference[]|undefined; /** * Diagnostic services routinely issue provisional/incomplete reports, and sometimes withdraw previously released reports. */ status: DiagnosticReportStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * SHALL know the subject context. */ @@ -6672,11 +6672,11 @@ export interface DocumentManifestContent extends BackboneElement { /** * The list of references to document content, or Attachment that consist of the parts of this document manifest. Usually, these would be document references, but direct references to Media or Attachments are also allowed. */ - pAttachment?: Attachment; + pAttachment?: Attachment|undefined; /** * The list of references to document content, or Attachment that consist of the parts of this document manifest. Usually, these would be document references, but direct references to Media or Attachments are also allowed. */ - pReference?: Reference; + pReference?: Reference|undefined; } /** * Related identifiers or resources associated with the DocumentManifest. @@ -6685,11 +6685,11 @@ export interface DocumentManifestRelated extends BackboneElement { /** * Related identifier to this DocumentManifest. For example, Order numbers, accession numbers, XDW workflow numbers. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * Related Resource to this DocumentManifest. For example, Order, DiagnosticOrder, Procedure, EligibilityRequest, etc. */ - ref?: Reference; + ref?: Reference|undefined; } /** * A manifest that defines a set of documents. @@ -6700,7 +6700,7 @@ export interface DocumentManifest extends DomainResource { /** * Identifies who is responsible for creating the manifest, and adding documents to it. */ - author?: Reference[]; + author?: Reference[]|undefined; /** * The list of Documents included in the manifest. */ @@ -6708,47 +6708,47 @@ export interface DocumentManifest extends DomainResource { /** * When the document manifest was created for submission to the server (not necessarily the same thing as the actual resource last modified time, since it may be modified, replicated, etc.). */ - created?: string; - _created?: Element; + created?: string|undefined; + _created?: Element|undefined; /** * Helps humans to assess whether the document is of interest. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Other identifiers associated with the document manifest, including version independent identifiers. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * A single identifier that uniquely identifies this manifest. Principally used to refer to the manifest in non-FHIR contexts. */ - masterIdentifier?: Identifier; + masterIdentifier?: Identifier|undefined; /** * A patient, practitioner, or organization for which this set of documents is intended. */ - recipient?: Reference[]; + recipient?: Reference[]|undefined; /** * Related identifiers or resources associated with the DocumentManifest. */ - related?: DocumentManifestRelated[]; + related?: DocumentManifestRelated[]|undefined; /** * Identifies the source system, application, or software that produced the document manifest. */ - source?: string; - _source?: Element; + source?: string|undefined; + _source?: Element|undefined; /** * The status of this document manifest. */ status: DocumentManifestStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Who or what the set of documents is about. The documents can be about a person, (patient or healthcare practitioner), a device (i.e. machine) or even a group of subjects (such as a document about a herd of farm animals, or a set of patients that share a common exposure). If the documents cross more than one subject, then more than one subject is allowed here (unusual use case). */ - subject?: Reference; + subject?: Reference|undefined; /** * Specifies the kind of this set of documents (e.g. Patient Summary, Discharge Summary, Prescription, etc.). The type of a set of documents may be the same as one of the documents in it - especially if there is only one - but it may be wider. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Code Values for the DocumentManifest.status field @@ -6766,7 +6766,7 @@ export interface DocumentReferenceRelatesTo extends BackboneElement { * The type of relationship that this document has with anther document. */ code: DocumentReferenceRelatesToCodeCodes; - _code?: Element; + _code?: Element|undefined; /** * The target document of this relationship. */ @@ -6792,7 +6792,7 @@ export interface DocumentReferenceContent extends BackboneElement { /** * An identifier of the document encoding, structure, and template that the document conforms to beyond the base format indicated in the mimeType. */ - format?: Coding[]; + format?: Coding[]|undefined; } /** * Related identifiers or resources associated with the DocumentReference. @@ -6801,11 +6801,11 @@ export interface DocumentReferenceContextRelated extends BackboneElement { /** * Related identifier to this DocumentReference. If both id and ref are present they shall refer to the same thing. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * Related Resource to this DocumentReference. If both id and ref are present they shall refer to the same thing. */ - ref?: Reference; + ref?: Reference|undefined; } /** * The clinical context in which the document was prepared. @@ -6814,31 +6814,31 @@ export interface DocumentReferenceContext extends BackboneElement { /** * Describes the clinical encounter or type of care that the document content is associated with. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * This list of codes represents the main clinical acts, such as a colonoscopy or an appendectomy, being documented. In some cases, the event is inherent in the typeCode, such as a "History and Physical Report" in which the procedure being documented is necessarily a "History and Physical" act. */ - event?: CodeableConcept[]; + event?: CodeableConcept[]|undefined; /** * The kind of facility where the patient was seen. */ - facilityType?: CodeableConcept; + facilityType?: CodeableConcept|undefined; /** * The time period over which the service that is described by the document was provided. */ - period?: Period; + period?: Period|undefined; /** * This is an important piece of metadata that providers often rely upon to quickly sort and/or filter out to find specific content. */ - practiceSetting?: CodeableConcept; + practiceSetting?: CodeableConcept|undefined; /** * Related identifiers or resources associated with the DocumentReference. */ - related?: DocumentReferenceContextRelated[]; + related?: DocumentReferenceContextRelated[]|undefined; /** * The Patient Information as known when the document was published. May be a reference to a version specific, or contained. */ - sourcePatientInfo?: Reference; + sourcePatientInfo?: Reference|undefined; } /** * A reference to a document . @@ -6849,15 +6849,15 @@ export interface DocumentReference extends DomainResource { /** * Which person or organization authenticates that this document is valid. */ - authenticator?: Reference; + authenticator?: Reference|undefined; /** * Identifies who is responsible for adding the information to the document. */ - author?: Reference[]; + author?: Reference[]|undefined; /** * Helps humans to assess whether the document is of interest when viewing a list of documents. */ - class?: CodeableConcept; + class?: CodeableConcept|undefined; /** * The document and format referenced. There may be multiple content element repetitions, each with a different format. */ @@ -6865,55 +6865,55 @@ export interface DocumentReference extends DomainResource { /** * The clinical context in which the document was prepared. */ - context?: DocumentReferenceContext; + context?: DocumentReferenceContext|undefined; /** * When the document was created. */ - created?: string; - _created?: Element; + created?: string|undefined; + _created?: Element|undefined; /** * Identifies the organization or group who is responsible for ongoing maintenance of and access to the document. */ - custodian?: Reference; + custodian?: Reference|undefined; /** * Helps humans to assess whether the document is of interest. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * The status of the underlying document. */ - docStatus?: CodeableConcept; + docStatus?: CodeableConcept|undefined; /** * Other identifiers associated with the document, including version independent identifiers. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * When the document reference was created. */ indexed: string; - _indexed?: Element; + _indexed?: Element|undefined; /** * The structure and format of this Id shall be consistent with the specification corresponding to the formatCode attribute. (e.g. for a DICOM standard document a 64 character numeric UID, for an HL7 CDA format a serialization of the CDA Document Id extension and root in the form "oid^extension", where OID is a 64 digits max, and the Id is a 16 UTF-8 char max. If the OID is coded without the extension then the '^' character shall not be included.). */ - masterIdentifier?: Identifier; + masterIdentifier?: Identifier|undefined; /** * Relationships that this document has with other document references that already exist. */ - relatesTo?: DocumentReferenceRelatesTo[]; + relatesTo?: DocumentReferenceRelatesTo[]|undefined; /** * Use of the Health Care Privacy/Security Classification (HCS) system of security-tag use is recommended. */ - securityLabel?: CodeableConcept[]; + securityLabel?: CodeableConcept[]|undefined; /** * The status of this document reference. */ status: DocumentReferenceStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Who or what the document is about. The document can be about a person, (patient or healthcare practitioner), a device (e.g. a machine) or even a group of subjects (such as a document about a herd of farm animals, or a set of patients that share a common exposure). */ - subject?: Reference; + subject?: Reference|undefined; /** * Specifies the particular kind of document referenced (e.g. History and Physical, Discharge Summary, Progress Note). This usually equates to the purpose of making the document referenced. */ @@ -6936,19 +6936,19 @@ export interface DomainResource extends Resource { /** * These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope. */ - contained?: FhirResource[]; + contained?: FhirResource[]|undefined; /** * May be used to represent additional information that is not part of the basic definition of the resource. In order 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 is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. */ - extension?: Extension[]; + extension?: Extension[]|undefined; /** * May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order 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 is allowed to 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. */ - modifierExtension?: Extension[]; + modifierExtension?: Extension[]|undefined; /** * A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety. */ - text?: Narrative; + text?: Narrative|undefined; } /** * This resource provides the insurance eligibility details from the insurer regarding a specified coverage and optionally some class of service. @@ -6959,32 +6959,32 @@ export interface EligibilityRequest extends DomainResource { /** * The date when this resource was created. */ - created?: string; - _created?: Element; + created?: string|undefined; + _created?: Element|undefined; /** * The Response business identifier. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The organization which is responsible for the services rendered to the patient. */ - organization?: Reference; + organization?: Reference|undefined; /** * Knowledge of the original version can inform the processing of this instance so that information which is processable by the originating system may be generated. */ - originalRuleset?: Coding; + originalRuleset?: Coding|undefined; /** * The practitioner who is responsible for the services rendered to the patient. */ - provider?: Reference; + provider?: Reference|undefined; /** * The version of the style of resource contents. This should be mapped to the allowable profiles for this and supporting resources. */ - ruleset?: Coding; + ruleset?: Coding|undefined; /** * The Insurer who is target of the request. */ - target?: Reference; + target?: Reference|undefined; } /** * This resource provides eligibility and plan details from the processing of an Eligibility resource. @@ -6995,46 +6995,46 @@ export interface EligibilityResponse extends DomainResource { /** * The date when the enclosed suite of services were performed or completed. */ - created?: string; - _created?: Element; + created?: string|undefined; + _created?: Element|undefined; /** * A description of the status of the adjudication. */ - disposition?: string; - _disposition?: Element; + disposition?: string|undefined; + _disposition?: Element|undefined; /** * The Response business identifier. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The Insurer who produced this adjudicated response. */ - organization?: Reference; + organization?: Reference|undefined; /** * Knowledge of the original version can inform the processing of this instance so that information which is processable by the originating system may be generated. */ - originalRuleset?: Coding; + originalRuleset?: Coding|undefined; /** * Transaction status: error, complete. */ - outcome?: EligibilityResponseOutcomeCodes; - _outcome?: Element; + outcome?: EligibilityResponseOutcomeCodes|undefined; + _outcome?: Element|undefined; /** * Original request resource reference. */ - request?: Reference; + request?: Reference|undefined; /** * The organization which is responsible for the services rendered to the patient. */ - requestOrganization?: Reference; + requestOrganization?: Reference|undefined; /** * The practitioner who is responsible for the services rendered to the patient. */ - requestProvider?: Reference; + requestProvider?: Reference|undefined; /** * The version of the style of resource contents. This should be mapped to the allowable profiles for this and supporting resources. */ - ruleset?: Coding; + ruleset?: Coding|undefined; } /** * Code Values for the EligibilityResponse.outcome field @@ -7055,7 +7055,7 @@ export interface EncounterStatusHistory extends BackboneElement { * planned | arrived | in-progress | onleave | finished | cancelled. */ status: EncounterStatusHistoryStatusCodes; - _status?: Element; + _status?: Element|undefined; } /** * Code Values for the Encounter.statusHistory.status field @@ -7075,15 +7075,15 @@ export interface EncounterParticipant extends BackboneElement { /** * Persons involved in the encounter other than the patient. */ - individual?: Reference; + individual?: Reference|undefined; /** * The period of time that the specified participant was present during the encounter. These can overlap or be sub-sets of the overall encounters period. */ - period?: Period; + period?: Period|undefined; /** * Role of participant in encounter. */ - type?: CodeableConcept[]; + type?: CodeableConcept[]|undefined; } /** * Details about the admission to a healthcare service. @@ -7092,47 +7092,47 @@ export interface EncounterHospitalization extends BackboneElement { /** * From where patient was admitted (physician referral, transfer). */ - admitSource?: CodeableConcept; + admitSource?: CodeableConcept|undefined; /** * The admitting diagnosis field is used to record the diagnosis codes as reported by admitting practitioner. This could be different or in addition to the conditions reported as reason-condition(s) for the encounter. */ - admittingDiagnosis?: Reference[]; + admittingDiagnosis?: Reference[]|undefined; /** * Location to which the patient is discharged. */ - destination?: Reference; + destination?: Reference|undefined; /** * Used to track patient's diet restrictions and/or preference. For a complete description of the nutrition needs of a patient during their stay, one should use the nutritionOrder resource which links to Encounter. */ - dietPreference?: CodeableConcept[]; + dietPreference?: CodeableConcept[]|undefined; /** * The final diagnosis given a patient before release from the hospital after all testing, surgery, and workup are complete. */ - dischargeDiagnosis?: Reference[]; + dischargeDiagnosis?: Reference[]|undefined; /** * Category or kind of location after discharge. */ - dischargeDisposition?: CodeableConcept; + dischargeDisposition?: CodeableConcept|undefined; /** * The location from which the patient came before admission. */ - origin?: Reference; + origin?: Reference|undefined; /** * Pre-admission identifier. */ - preAdmissionIdentifier?: Identifier; + preAdmissionIdentifier?: Identifier|undefined; /** * Whether this hospitalization is a readmission and why if known. */ - reAdmission?: CodeableConcept; + reAdmission?: CodeableConcept|undefined; /** * Wheelchair, translator, stretcher, etc. */ - specialArrangement?: CodeableConcept[]; + specialArrangement?: CodeableConcept[]|undefined; /** * Special courtesies (VIP, board member). */ - specialCourtesy?: CodeableConcept[]; + specialCourtesy?: CodeableConcept[]|undefined; } /** * List of locations where the patient has been during this encounter. @@ -7145,12 +7145,12 @@ export interface EncounterLocation extends BackboneElement { /** * Time period during which the patient was present at the location. */ - period?: Period; + period?: Period|undefined; /** * The status of the participants' presence at the specified location during the period specified. If the participant is is no longer at the location, then the period will have an end date/time. */ - status?: EncounterLocationStatusCodes; - _status?: Element; + status?: EncounterLocationStatusCodes|undefined; + _status?: Element|undefined; } /** * Code Values for the Encounter.location.status field @@ -7170,81 +7170,81 @@ export interface Encounter extends DomainResource { /** * The appointment that scheduled this encounter. */ - appointment?: Reference; + appointment?: Reference|undefined; /** * inpatient | outpatient | ambulatory | emergency +. */ - class?: EncounterClassCodes; - _class?: Element; + class?: EncounterClassCodes|undefined; + _class?: Element|undefined; /** * Where a specific encounter should be classified as a part of a specific episode(s) of care this field should be used. This association can facilitate grouping of related encounters together for a specific purpose, such as government reporting, issue tracking, association via a common problem. The association is recorded on the encounter as these are typically created after the episode of care, and grouped on entry rather than editing the episode of care to append another encounter to it (the episode of care could span years). */ - episodeOfCare?: Reference[]; + episodeOfCare?: Reference[]|undefined; /** * Details about the admission to a healthcare service. */ - hospitalization?: EncounterHospitalization; + hospitalization?: EncounterHospitalization|undefined; /** * Identifier(s) by which this encounter is known. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The referral request this encounter satisfies (incoming referral). */ - incomingReferral?: Reference[]; + incomingReferral?: Reference[]|undefined; /** * Reason the encounter takes place, as specified using information from another resource. For admissions, this is the admission diagnosis. The indication will typically be a Condition (with other resources referenced in the evidence.detail), or a Procedure. */ - indication?: Reference[]; + indication?: Reference[]|undefined; /** * Quantity of time the encounter lasted. This excludes the time during leaves of absence. */ - length?: Quantity; + length?: Quantity|undefined; /** * List of locations where the patient has been during this encounter. */ - location?: EncounterLocation[]; + location?: EncounterLocation[]|undefined; /** * The list of people responsible for providing the service. */ - participant?: EncounterParticipant[]; + participant?: EncounterParticipant[]|undefined; /** * Another Encounter of which this encounter is a part of (administratively or in time). */ - partOf?: Reference; + partOf?: Reference|undefined; /** * The patient present at the encounter. */ - patient?: Reference; + patient?: Reference|undefined; /** * The start and end time of the encounter. */ - period?: Period; + period?: Period|undefined; /** * Indicates the urgency of the encounter. */ - priority?: CodeableConcept; + priority?: CodeableConcept|undefined; /** * Reason the encounter takes place, expressed as a code. For admissions, this can be used for a coded admission diagnosis. */ - reason?: CodeableConcept[]; + reason?: CodeableConcept[]|undefined; /** * An organization that is in charge of maintaining the information of this Encounter (e.g. who maintains the report or the master service catalog item, etc.). This MAY be the same as the organization on the Patient record, however it could be different. This MAY not be not the Service Delivery Location's Organization. */ - serviceProvider?: Reference; + serviceProvider?: Reference|undefined; /** * planned | arrived | in-progress | onleave | finished | cancelled. */ status: EncounterStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * The status history permits the encounter resource to contain the status history without needing to read through the historical versions of the resource, or even have the server store them. */ - statusHistory?: EncounterStatusHistory[]; + statusHistory?: EncounterStatusHistory[]|undefined; /** * Specific type of encounter (e.g. e-mail consultation, surgical day-care, skilled nursing, rehabilitation). */ - type?: CodeableConcept[]; + type?: CodeableConcept[]|undefined; } /** * Code Values for the Encounter.class field @@ -7284,24 +7284,24 @@ export interface EnrollmentRequest extends DomainResource { /** * The date when this resource was created. */ - created?: string; - _created?: Element; + created?: string|undefined; + _created?: Element|undefined; /** * The Response business identifier. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The organization which is responsible for the services rendered to the patient. */ - organization?: Reference; + organization?: Reference|undefined; /** * Knowledge of the original version can inform the processing of this instance so that information which is processable by the originating system may be generated. */ - originalRuleset?: Coding; + originalRuleset?: Coding|undefined; /** * The practitioner who is responsible for the services rendered to the patient. */ - provider?: Reference; + provider?: Reference|undefined; /** * To determine the relationship between the patient and the subscriber. */ @@ -7309,7 +7309,7 @@ export interface EnrollmentRequest extends DomainResource { /** * The version of the style of resource contents. This should be mapped to the allowable profiles for this and supporting resources. */ - ruleset?: Coding; + ruleset?: Coding|undefined; /** * Patient Resource. */ @@ -7317,7 +7317,7 @@ export interface EnrollmentRequest extends DomainResource { /** * The Insurer who is target of the request. */ - target?: Reference; + target?: Reference|undefined; } /** * This resource provides enrollment and plan details from the processing of an Enrollment resource. @@ -7328,46 +7328,46 @@ export interface EnrollmentResponse extends DomainResource { /** * The date when the enclosed suite of services were performed or completed. */ - created?: string; - _created?: Element; + created?: string|undefined; + _created?: Element|undefined; /** * A description of the status of the adjudication. */ - disposition?: string; - _disposition?: Element; + disposition?: string|undefined; + _disposition?: Element|undefined; /** * The Response business identifier. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The Insurer who produced this adjudicated response. */ - organization?: Reference; + organization?: Reference|undefined; /** * Knowledge of the original version can inform the processing of this instance so that information which is processable by the originating system may be generated. */ - originalRuleset?: Coding; + originalRuleset?: Coding|undefined; /** * Transaction status: error, complete. */ - outcome?: EnrollmentResponseOutcomeCodes; - _outcome?: Element; + outcome?: EnrollmentResponseOutcomeCodes|undefined; + _outcome?: Element|undefined; /** * Original request resource reference. */ - request?: Reference; + request?: Reference|undefined; /** * The organization which is responsible for the services rendered to the patient. */ - requestOrganization?: Reference; + requestOrganization?: Reference|undefined; /** * The practitioner who is responsible for the services rendered to the patient. */ - requestProvider?: Reference; + requestProvider?: Reference|undefined; /** * The version of the style of resource contents. This should be mapped to the allowable profiles for this and supporting resources. */ - ruleset?: Coding; + ruleset?: Coding|undefined; } /** * Code Values for the EnrollmentResponse.outcome field @@ -7388,7 +7388,7 @@ export interface EpisodeOfCareStatusHistory extends BackboneElement { * planned | waitlist | active | onhold | finished | cancelled. */ status: EpisodeOfCareStatusHistoryStatusCodes; - _status?: Element; + _status?: Element|undefined; } /** * Code Values for the EpisodeOfCare.statusHistory.status field @@ -7408,15 +7408,15 @@ export interface EpisodeOfCareCareTeam extends BackboneElement { /** * The practitioner (or Organization) within the team. */ - member?: Reference; + member?: Reference|undefined; /** * The period of time this practitioner is performing some role within the episode of care. */ - period?: Period; + period?: Period|undefined; /** * The role this team member is taking within this episode of care. */ - role?: CodeableConcept[]; + role?: CodeableConcept[]|undefined; } /** * An association between a patient and an organization / healthcare provider(s) during which time encounters may occur. The managing organization assumes a level of responsibility for the patient during this time. @@ -7427,23 +7427,23 @@ export interface EpisodeOfCare extends DomainResource { /** * The practitioner that is the care manager/care co-ordinator for this patient. */ - careManager?: Reference; + careManager?: Reference|undefined; /** * The list of practitioners that may be facilitating this episode of care for specific purposes. */ - careTeam?: EpisodeOfCareCareTeam[]; + careTeam?: EpisodeOfCareCareTeam[]|undefined; /** * A list of conditions/problems/diagnoses that this episode of care is intended to be providing care for. */ - condition?: Reference[]; + condition?: Reference[]|undefined; /** * Identifier(s) by which this EpisodeOfCare is known. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The organization that has assumed the specific responsibilities for the specified duration. */ - managingOrganization?: Reference; + managingOrganization?: Reference|undefined; /** * The patient that this EpisodeOfCare applies to. */ @@ -7451,24 +7451,24 @@ export interface EpisodeOfCare extends DomainResource { /** * The interval during which the managing organization assumes the defined responsibility. */ - period?: Period; + period?: Period|undefined; /** * Referral Request(s) that are fulfilled by this EpisodeOfCare, incoming referrals. */ - referralRequest?: Reference[]; + referralRequest?: Reference[]|undefined; /** * planned | waitlist | active | onhold | finished | cancelled. */ status: EpisodeOfCareStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * The history of statuses that the EpisodeOfCare has been through (without requiring processing the history of the resource). */ - statusHistory?: EpisodeOfCareStatusHistory[]; + statusHistory?: EpisodeOfCareStatusHistory[]|undefined; /** * A classification of the type of encounter; e.g. specialist referral, disease management, type of funded care. */ - type?: CodeableConcept[]; + type?: CodeableConcept[]|undefined; } /** * Code Values for the EpisodeOfCare.status field @@ -7490,46 +7490,46 @@ export interface ExplanationOfBenefit extends DomainResource { /** * The date when the enclosed suite of services were performed or completed. */ - created?: string; - _created?: Element; + created?: string|undefined; + _created?: Element|undefined; /** * A description of the status of the adjudication. */ - disposition?: string; - _disposition?: Element; + disposition?: string|undefined; + _disposition?: Element|undefined; /** * The Response business identifier. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The Insurer who produced this adjudicated response. */ - organization?: Reference; + organization?: Reference|undefined; /** * Knowledge of the original version can inform the processing of this instance so that information which is processable by the originating system may be generated. */ - originalRuleset?: Coding; + originalRuleset?: Coding|undefined; /** * Transaction status: error, complete. */ - outcome?: ExplanationOfBenefitOutcomeCodes; - _outcome?: Element; + outcome?: ExplanationOfBenefitOutcomeCodes|undefined; + _outcome?: Element|undefined; /** * Original request resource reference. */ - request?: Reference; + request?: Reference|undefined; /** * The organization which is responsible for the services rendered to the patient. */ - requestOrganization?: Reference; + requestOrganization?: Reference|undefined; /** * The practitioner who is responsible for the services rendered to the patient. */ - requestProvider?: Reference; + requestProvider?: Reference|undefined; /** * The version of the style of resource contents. This should be mapped to the allowable profiles for this and supporting resources. */ - ruleset?: Coding; + ruleset?: Coding|undefined; } /** * Code Values for the ExplanationOfBenefit.outcome field @@ -7549,28 +7549,28 @@ export interface FamilyMemberHistoryCondition extends BackboneElement { /** * An area where general notes can be placed about this specific condition. */ - note?: Annotation; + note?: Annotation|undefined; /** * Age of onset of a condition in relatives is predictive of risk for the patient. */ - onsetQuantity?: Quantity; + onsetQuantity?: Quantity|undefined; /** * Age of onset of a condition in relatives is predictive of risk for the patient. */ - onsetRange?: Range; + onsetRange?: Range|undefined; /** * Age of onset of a condition in relatives is predictive of risk for the patient. */ - onsetPeriod?: Period; + onsetPeriod?: Period|undefined; /** * Age of onset of a condition in relatives is predictive of risk for the patient. */ - onsetString?: string; - _onsetString?: Element; + onsetString?: string|undefined; + _onsetString?: Element|undefined; /** * Indicates what happened as a result of this condition. If the condition resulted in death, deceased date is captured on the relation. */ - outcome?: CodeableConcept; + outcome?: CodeableConcept|undefined; } /** * Significant health events and conditions for a person related to the patient relevant in the context of care for the patient. @@ -7581,80 +7581,80 @@ export interface FamilyMemberHistory extends DomainResource { /** * While age can be calculated from date of birth, sometimes recording age directly is more natureal for clinicians. */ - ageQuantity?: Quantity; + ageQuantity?: Quantity|undefined; /** * While age can be calculated from date of birth, sometimes recording age directly is more natureal for clinicians. */ - ageRange?: Range; + ageRange?: Range|undefined; /** * While age can be calculated from date of birth, sometimes recording age directly is more natureal for clinicians. */ - ageString?: string; - _ageString?: Element; + ageString?: string|undefined; + _ageString?: Element|undefined; /** * Allows calculation of the relative's age. */ - bornPeriod?: Period; + bornPeriod?: Period|undefined; /** * Allows calculation of the relative's age. */ - bornDate?: string; - _bornDate?: Element; + bornDate?: string|undefined; + _bornDate?: Element|undefined; /** * Allows calculation of the relative's age. */ - bornString?: string; - _bornString?: Element; + bornString?: string|undefined; + _bornString?: Element|undefined; /** * The significant Conditions (or condition) that the family member had. This is a repeating section to allow a system to represent more than one condition per resource, though there is nothing stopping multiple resources - one per condition. */ - condition?: FamilyMemberHistoryCondition[]; + condition?: FamilyMemberHistoryCondition[]|undefined; /** * Allows determination of how current the summary is. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * Deceased flag or the actual or approximate age of the relative at the time of death for the family member history record. */ - deceasedBoolean?: boolean; - _deceasedBoolean?: Element; + deceasedBoolean?: boolean|undefined; + _deceasedBoolean?: Element|undefined; /** * Deceased flag or the actual or approximate age of the relative at the time of death for the family member history record. */ - deceasedQuantity?: Quantity; + deceasedQuantity?: Quantity|undefined; /** * Deceased flag or the actual or approximate age of the relative at the time of death for the family member history record. */ - deceasedRange?: Range; + deceasedRange?: Range|undefined; /** * Deceased flag or the actual or approximate age of the relative at the time of death for the family member history record. */ - deceasedDate?: string; - _deceasedDate?: Element; + deceasedDate?: string|undefined; + _deceasedDate?: Element|undefined; /** * Deceased flag or the actual or approximate age of the relative at the time of death for the family member history record. */ - deceasedString?: string; - _deceasedString?: Element; + deceasedString?: string|undefined; + _deceasedString?: Element|undefined; /** * Not all relationship codes imply gender and the relative's gender can be relevant for risk assessments. */ - gender?: FamilyMemberHistoryGenderCodes; - _gender?: Element; + gender?: FamilyMemberHistoryGenderCodes|undefined; + _gender?: Element|undefined; /** * Need to allow connection to a wider workflow. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Allows greater ease in ensuring the same person is being talked about. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * This property allows a non condition-specific note to the made about the related person. Ideally, the note would be in the condition property, but this is not always possible. */ - note?: Annotation; + note?: Annotation|undefined; /** * The person who this history concerns. */ @@ -7667,7 +7667,7 @@ export interface FamilyMemberHistory extends DomainResource { * A code specifying a state of a Family Member History record. */ status: FamilyMemberHistoryStatusCodes; - _status?: Element; + _status?: Element|undefined; } /** * Code Values for the FamilyMemberHistory.gender field @@ -7696,11 +7696,11 @@ export interface Flag extends DomainResource { /** * The person, organization or device that created the flag. */ - author?: Reference; + author?: Reference|undefined; /** * Allows an flag to be divided into different categories like clinical, administrative etc. Intended to be used as a means of filtering which flags are displayed to particular user or in a given context. */ - category?: CodeableConcept; + category?: CodeableConcept|undefined; /** * The coded value or textual component of the flag to display to the user. */ @@ -7708,20 +7708,20 @@ export interface Flag extends DomainResource { /** * This alert is only relevant during the encounter. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * Identifier assigned to the flag for external use (outside the FHIR environment). */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The period of time from the activation of the flag to inactivation of the flag. If the flag is active, the end of the period should be unspecified. */ - period?: Period; + period?: Period|undefined; /** * Supports basic workflow. */ status: FlagStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * The patient, location, group , organization , or practitioner this is about record this flag is associated with. */ @@ -7742,11 +7742,11 @@ export interface GoalOutcome extends BackboneElement { /** * Details of what's changed (or not changed). */ - resultCodeableConcept?: CodeableConcept; + resultCodeableConcept?: CodeableConcept|undefined; /** * Details of what's changed (or not changed). */ - resultReference?: Reference; + resultReference?: Reference|undefined; } /** * Describes the intended objective(s) for a patient, group or organization care, for example, weight loss, restoring an activity of daily living, obtaining herd immunity via immunization, meeting a process improvement objective, etc. @@ -7757,72 +7757,72 @@ export interface Goal extends DomainResource { /** * Allows specific goals to explicitly linked to the concerns they're dealing with - makes the goal more understandable. */ - addresses?: Reference[]; + addresses?: Reference[]|undefined; /** * Indicates whose goal this is - patient goal, practitioner goal, etc. */ - author?: Reference; + author?: Reference|undefined; /** * Allows goals to be filtered and sorted. */ - category?: CodeableConcept[]; + category?: CodeableConcept[]|undefined; /** * Without a description of what's trying to be achieved, element has no purpose. */ description: string; - _description?: Element; + _description?: Element|undefined; /** * Need to allow connection to a wider workflow. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * There's a need to capture information about the goal that doesn't actually describe the goal. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * Outcome tracking is a key aspect of care planning. */ - outcome?: GoalOutcome[]; + outcome?: GoalOutcome[]|undefined; /** * Used for sorting and presenting goals. */ - priority?: CodeableConcept; + priority?: CodeableConcept|undefined; /** * Goals can be established prior to there being an intention to start pursuing them; e.g. Goals for post-surgical recovery established prior to surgery. */ - startDate?: string; - _startDate?: Element; + startDate?: string|undefined; + _startDate?: Element|undefined; /** * Goals can be established prior to there being an intention to start pursuing them; e.g. Goals for post-surgical recovery established prior to surgery. */ - startCodeableConcept?: CodeableConcept; + startCodeableConcept?: CodeableConcept|undefined; /** * Allows measuring outcome and whether goal needs to be further tracked. */ status: GoalStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Identifies when the current status. I.e. When initially created, when achieved, when cancelled, etc. */ - statusDate?: string; - _statusDate?: Element; + statusDate?: string|undefined; + _statusDate?: Element|undefined; /** * Captures the reason for the current status. */ - statusReason?: CodeableConcept; + statusReason?: CodeableConcept|undefined; /** * Subject is optional to support annonymized reporting. */ - subject?: Reference; + subject?: Reference|undefined; /** * Identifies when the goal should be evaluated. */ - targetDate?: string; - _targetDate?: Element; + targetDate?: string|undefined; + _targetDate?: Element|undefined; /** * Identifies when the goal should be evaluated. */ - targetQuantity?: Quantity; + targetQuantity?: Quantity|undefined; } /** * Code Values for the Goal.status field @@ -7850,28 +7850,28 @@ export interface GroupCharacteristic extends BackboneElement { * Sometimes group membership is determined by characteristics not possessed. */ exclude: boolean; - _exclude?: Element; + _exclude?: Element|undefined; /** * The period over which the characteristic is tested; e.g. the patient had an operation during the month of June. */ - period?: Period; + period?: Period|undefined; /** * The value of the characteristic is what determines group membership. */ - valueCodeableConcept?: CodeableConcept; + valueCodeableConcept?: CodeableConcept|undefined; /** * The value of the characteristic is what determines group membership. */ - valueBoolean?: boolean; - _valueBoolean?: Element; + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; /** * The value of the characteristic is what determines group membership. */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; /** * The value of the characteristic is what determines group membership. */ - valueRange?: Range; + valueRange?: Range|undefined; } /** * Often the only thing of interest about a group is "who's in it". @@ -7884,12 +7884,12 @@ export interface GroupMember extends BackboneElement { /** * Sometimes you don't know when someone stopped being in a group, but not when. */ - inactive?: boolean; - _inactive?: Element; + inactive?: boolean|undefined; + _inactive?: Element|undefined; /** * Need to track who was in a group at a particular time. */ - period?: Period; + period?: Period|undefined; } /** * Represents a defined collection of entities that may be discussed or acted upon collectively but which are not expected to act collectively and are not formally or legally recognized; i.e. a collection of entities that isn't an Organization. @@ -7901,37 +7901,37 @@ export interface Group extends DomainResource { * There are use-cases for groups that define specific collections of individuals, and other groups that define "types" of intended individuals. The requirements for both kinds of groups are similar, so we use a single resource, distinguished by this flag. */ actual: boolean; - _actual?: Element; + _actual?: Element|undefined; /** * Needs to be a generic mechanism for identifying what individuals can be part of a group. */ - characteristic?: GroupCharacteristic[]; + characteristic?: GroupCharacteristic[]|undefined; /** * Provides a specific type of resource the group includes; e.g. "cow", "syringe", etc. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * Allows the group to be referenced from external specifications. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Often the only thing of interest about a group is "who's in it". */ - member?: GroupMember[]; + member?: GroupMember[]|undefined; /** * Used to identify the group in human communication. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Group size is a common defining characteristic. */ - quantity?: number; + quantity?: number|undefined; /** * Identifies what type of resources the group is made up of. */ type: GroupTypeCodes; - _type?: Element; + _type?: Element|undefined; } /** * Code Values for the Group.type field @@ -7951,7 +7951,7 @@ export interface HealthcareServiceServiceType extends BackboneElement { /** * Collection of specialties handled by the service site. This is more of a medical term. */ - specialty?: CodeableConcept[]; + specialty?: CodeableConcept[]|undefined; /** * The specific type of service being delivered or performed. */ @@ -7964,23 +7964,23 @@ export interface HealthcareServiceAvailableTime extends BackboneElement { /** * Is this always available? (hence times are irrelevant) e.g. 24 hour service. */ - allDay?: boolean; - _allDay?: Element; + allDay?: boolean|undefined; + _allDay?: Element|undefined; /** * The closing time of day. Note: If the AllDay flag is set, then this time is ignored. */ - availableEndTime?: string; - _availableEndTime?: Element; + availableEndTime?: string|undefined; + _availableEndTime?: Element|undefined; /** * The opening time of day. Note: If the AllDay flag is set, then this time is ignored. */ - availableStartTime?: string; - _availableStartTime?: Element; + availableStartTime?: string|undefined; + _availableStartTime?: Element|undefined; /** * Indicates which days of the week are available between the start and end Times. */ - daysOfWeek?: HealthcareServiceAvailableTimeDaysOfWeekCodes[]; - _daysOfWeek?: Element[]; + daysOfWeek?: HealthcareServiceAvailableTimeDaysOfWeekCodes[]|undefined; + _daysOfWeek?: Element[]|undefined; } /** * Code Values for the HealthcareService.availableTime.daysOfWeek field @@ -8002,11 +8002,11 @@ export interface HealthcareServiceNotAvailable extends BackboneElement { * The reason that can be presented to the user as to why this time is not available. */ description: string; - _description?: Element; + _description?: Element|undefined; /** * Service is not available (seasonally or for a public holiday) from this date. */ - during?: Period; + during?: Period|undefined; } /** * The details of a healthcare service available at a location. @@ -8017,48 +8017,48 @@ export interface HealthcareService extends DomainResource { /** * Indicates whether or not a prospective consumer will require an appointment for a particular service at a site to be provided by the Organization. Indicates if an appointment is required for access to this service. */ - appointmentRequired?: boolean; - _appointmentRequired?: Element; + appointmentRequired?: boolean|undefined; + _appointmentRequired?: Element|undefined; /** * A description of site availability exceptions, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as details in the available Times and not available Times. */ - availabilityExceptions?: string; - _availabilityExceptions?: Element; + availabilityExceptions?: string|undefined; + _availabilityExceptions?: Element|undefined; /** * A collection of times that the Service Site is available. */ - availableTime?: HealthcareServiceAvailableTime[]; + availableTime?: HealthcareServiceAvailableTime[]|undefined; /** * Collection of characteristics (attributes). */ - characteristic?: CodeableConcept[]; + characteristic?: CodeableConcept[]|undefined; /** * Any additional description of the service and/or any specific issues not covered by the other attributes, which can be displayed as further detail under the serviceName. */ - comment?: string; - _comment?: Element; + comment?: string|undefined; + _comment?: Element|undefined; /** * The location(s) that this service is available to (not where the service is provided). */ - coverageArea?: Reference[]; + coverageArea?: Reference[]|undefined; /** * Does this service have specific eligibility requirements that need to be met in order to use the service? */ - eligibility?: CodeableConcept; + eligibility?: CodeableConcept|undefined; /** * Describes the eligibility conditions for the service. */ - eligibilityNote?: string; - _eligibilityNote?: Element; + eligibilityNote?: string|undefined; + _eligibilityNote?: Element|undefined; /** * Extra details about the service that can't be placed in the other fields. */ - extraDetails?: string; - _extraDetails?: Element; + extraDetails?: string|undefined; + _extraDetails?: Element|undefined; /** * External identifiers for this item. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The location where this healthcare service may be provided. */ @@ -8066,50 +8066,50 @@ export interface HealthcareService extends DomainResource { /** * The HealthcareService is not available during this period of time due to the provided reason. */ - notAvailable?: HealthcareServiceNotAvailable[]; + notAvailable?: HealthcareServiceNotAvailable[]|undefined; /** * If there is a photo/symbol associated with this HealthcareService, it may be included here to facilitate quick identification of the service in a list. */ - photo?: Attachment; + photo?: Attachment|undefined; /** * Program Names that can be used to categorize the service. */ - programName?: string[]; - _programName?: Element[]; + programName?: string[]|undefined; + _programName?: Element[]|undefined; /** * The organization that provides this healthcare service. */ - providedBy?: Reference; + providedBy?: Reference|undefined; /** * The public part of the 'keys' allocated to an Organization by an accredited body to support secure exchange of data over the internet. To be provided by the Organization, where available. */ - publicKey?: string; - _publicKey?: Element; + publicKey?: string|undefined; + _publicKey?: Element|undefined; /** * Ways that the service accepts referrals, if this is not provided then it is implied that no referral is required. */ - referralMethod?: CodeableConcept[]; + referralMethod?: CodeableConcept[]|undefined; /** * Identifies the broad category of service being performed or delivered. */ - serviceCategory?: CodeableConcept; + serviceCategory?: CodeableConcept|undefined; /** * Further description of the service as it would be presented to a consumer while searching. */ - serviceName?: string; - _serviceName?: Element; + serviceName?: string|undefined; + _serviceName?: Element|undefined; /** * The code(s) that detail the conditions under which the healthcare service is available/offered. */ - serviceProvisionCode?: CodeableConcept[]; + serviceProvisionCode?: CodeableConcept[]|undefined; /** * A specific type of service that may be delivered or performed. */ - serviceType?: HealthcareServiceServiceType[]; + serviceType?: HealthcareServiceServiceType[]|undefined; /** * List of contacts related to this specific healthcare service. */ - telecom?: ContactPoint[]; + telecom?: ContactPoint[]|undefined; } /** * The specific set of frames referenced in this imaging object selection. The URL retrieves the pixel data, and is encapsulated in a multipart MIME response. @@ -8123,7 +8123,7 @@ export interface ImagingObjectSelectionStudySeriesInstanceFrames extends Backbon * WADO-RS URL enables retrieval of the frames using DICOM WADO-RS API. */ url: string; - _url?: Element; + _url?: Element|undefined; } /** * DICOM SOP instances are identified through the UIDs of the study - series - instance hierarchy. This is the instance level identity of the instance in the selection. @@ -8132,22 +8132,22 @@ export interface ImagingObjectSelectionStudySeriesInstance extends BackboneEleme /** * The specific set of frames referenced in this imaging object selection. The URL retrieves the pixel data, and is encapsulated in a multipart MIME response. */ - frames?: ImagingObjectSelectionStudySeriesInstanceFrames[]; + frames?: ImagingObjectSelectionStudySeriesInstanceFrames[]|undefined; /** * DICOM SOP instances can be an image or other data object. The SOP class UID provide the accurate information about what type the instance is. */ sopClass: string; - _sopClass?: Element; + _sopClass?: Element|undefined; /** * SOP instance UID is required to fully identify the DICOM SOP instance in the selection. */ uid: string; - _uid?: Element; + _uid?: Element|undefined; /** * WADO-RS URL enables retrieval of the SOP instance using DICOM WADO-RS API. */ url: string; - _url?: Element; + _url?: Element|undefined; } /** * DICOM SOP instances are identified through the UIDs of the study - series - instance hierarchy. In addition, the locator at the series level provide a means of retrieving the entire series. @@ -8160,13 +8160,13 @@ export interface ImagingObjectSelectionStudySeries extends BackboneElement { /** * Series instance UID is required to fully identify the DICOM SOP instances in the selection. */ - uid?: string; - _uid?: Element; + uid?: string|undefined; + _uid?: Element|undefined; /** * WADO-RS URL enables retrieval of the entire series using DICOM WADO-RS API. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; } /** * DICOM SOP instances are identified through the UIDs of the study - series - instance hierarchy. In addition, the locator at the study level provide a means of retrieving the entire study. @@ -8175,7 +8175,7 @@ export interface ImagingObjectSelectionStudy extends BackboneElement { /** * Used to retrieve the ImagingStudy that contain the images referenced in the Imaging ObjectSelection.study. */ - imagingStudy?: Reference; + imagingStudy?: Reference|undefined; /** * DICOM SOP instances are identified through the UIDs of the study - series - instance hierarchy. In addition, the locator at the series level provide a means of retrieving the entire series. */ @@ -8184,12 +8184,12 @@ export interface ImagingObjectSelectionStudy extends BackboneElement { * Study instance UID is required to fully identify the DICOM SOP instances in the selection. */ uid: string; - _uid?: Element; + _uid?: Element|undefined; /** * WADO-RS URL enables retrieval of the entire study using DICOM WADO-RS API. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; } /** * A manifest of a set of DICOM Service-Object Pair Instances (SOP Instances). The referenced SOP Instances (images or other content) are for a single patient, and may be from one or more studies. The referenced SOP Instances have been selected for a purpose, such as quality assurance, conference, or consult. Reflecting that range of purposes, typical ImagingObjectSelection resources may include all SOP Instances in a study (perhaps for sharing through a Health Information Exchange); key images from multiple studies (for reference by a referring or treating physician); a multi-frame ultrasound instance ("cine" video clip) and a set of measurements taken from that instance (for inclusion in a teaching file); and so on. @@ -8200,17 +8200,17 @@ export interface ImagingObjectSelection extends DomainResource { /** * Track the selection decision maker. */ - author?: Reference; + author?: Reference|undefined; /** * Date and time when the selection was made can be important to understand the content of selection. */ - authoringTime?: string; - _authoringTime?: Element; + authoringTime?: string|undefined; + _authoringTime?: Element|undefined; /** * Need to provide a narrative description of the SOP instances in the selection. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * SOP Instances in ImagingObjectSelection must be from the same patient. */ @@ -8227,7 +8227,7 @@ export interface ImagingObjectSelection extends DomainResource { * DICOM SOP Instance is always assigned with a unique identifier (UID). */ uid: string; - _uid?: Element; + _uid?: Element|undefined; } /** * A single SOP Instance within the series, e.g. an image, or presentation state. @@ -8236,31 +8236,31 @@ export interface ImagingStudySeriesInstance extends BackboneElement { /** * Content of the instance or a rendering thereof (e.g. a JPEG of an image, or an XML of a structured report). May be represented for example by inline encoding; by a URL reference to a WADO-RS service that makes the instance available; or to a FHIR Resource (e.g. Media, Document, etc.). Multiple content attachments may be used for alternate representations of the instance. */ - content?: Attachment[]; + content?: Attachment[]|undefined; /** * The number of instance in the series. */ - number?: number; + number?: number|undefined; /** * DICOM instance type. */ sopClass: string; - _sopClass?: Element; + _sopClass?: Element|undefined; /** * The description of the instance. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * A human-friendly SOP Class name. */ - type?: string; - _type?: Element; + type?: string|undefined; + _type?: Element|undefined; /** * Formal identifier for this image or other content. */ uid: string; - _uid?: Element; + _uid?: Element|undefined; } /** * Each study has one or more series of images or other content. @@ -8269,25 +8269,25 @@ export interface ImagingStudySeries extends BackboneElement { /** * Availability of series (online, offline or nearline). */ - availability?: ImagingStudySeriesAvailabilityCodes; - _availability?: Element; + availability?: ImagingStudySeriesAvailabilityCodes|undefined; + _availability?: Element|undefined; /** * Body part examined. See DICOM Part 16 Annex L for the mapping from DICOM to Snomed CT. */ - bodySite?: Coding; + bodySite?: Coding|undefined; /** * A description of the series. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * A single SOP Instance within the series, e.g. an image, or presentation state. */ - instance?: ImagingStudySeriesInstance[]; + instance?: ImagingStudySeriesInstance[]|undefined; /** * Laterality if body site is paired anatomic structure and laterality is not pre-coordinated in body site code. */ - laterality?: Coding; + laterality?: Coding|undefined; /** * The modality of this series sequence. */ @@ -8295,7 +8295,7 @@ export interface ImagingStudySeries extends BackboneElement { /** * The Numeric identifier of this series in the study. */ - number?: number; + number?: number|undefined; /** * Number of SOP Instances in Series. */ @@ -8303,18 +8303,18 @@ export interface ImagingStudySeries extends BackboneElement { /** * The date and time the series was started. */ - started?: string; - _started?: Element; + started?: string|undefined; + _started?: Element|undefined; /** * Formal identifier for this series. */ uid: string; - _uid?: Element; + _uid?: Element|undefined; /** * URI/URL specifying the location of the referenced series using WADO-RS. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; } /** * Code Values for the ImagingStudy.series.availability field @@ -8334,29 +8334,29 @@ export interface ImagingStudy extends DomainResource { /** * Accession Number is an identifier related to some aspect of imaging workflow and data management. Usage may vary across different institutions. See for instance [IHE Radiology Technical Framework Volume 1 Appendix A](http://www.ihe.net/uploadedFiles/Documents/Radiology/IHE_RAD_TF_Rev13.0_Vol1_FT_2014-07-30.pdf). */ - accession?: Identifier; + accession?: Identifier|undefined; /** * Availability of study (online, offline or nearline). */ - availability?: ImagingStudyAvailabilityCodes; - _availability?: Element; + availability?: ImagingStudyAvailabilityCodes|undefined; + _availability?: Element|undefined; /** * Institution-generated description or classification of the Study performed. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Other identifiers for the study. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Who read the study and interpreted the images or other content. */ - interpreter?: Reference; + interpreter?: Reference|undefined; /** * A list of all the Series.ImageModality values that are actual acquisition modalities, i.e. those in the DICOM Context Group 29 (value set OID 1.2.840.10008.6.1.19). */ - modalityList?: Coding[]; + modalityList?: Coding[]|undefined; /** * Number of SOP Instances in Study. */ @@ -8368,7 +8368,7 @@ export interface ImagingStudy extends DomainResource { /** * To support grouped procedures (one imaging study supporting multiple ordered procedures, e.g. chest/abdomen/pelvis CT). */ - order?: Reference[]; + order?: Reference[]|undefined; /** * The patient imaged in the study. */ @@ -8376,30 +8376,30 @@ export interface ImagingStudy extends DomainResource { /** * Type of procedure performed. */ - procedure?: Reference[]; + procedure?: Reference[]|undefined; /** * The requesting/referring physician. */ - referrer?: Reference; + referrer?: Reference|undefined; /** * Each study has one or more series of images or other content. */ - series?: ImagingStudySeries[]; + series?: ImagingStudySeries[]|undefined; /** * Date and Time the study started. */ - started?: string; - _started?: Element; + started?: string|undefined; + _started?: Element|undefined; /** * Formal identifier for the study. */ uid: string; - _uid?: Element; + _uid?: Element|undefined; /** * WADO-RS resource where Study is available. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; } /** * Code Values for the ImagingStudy.availability field @@ -8417,11 +8417,11 @@ export interface ImmunizationExplanation extends BackboneElement { /** * Reasons why a vaccine was administered. */ - reason?: CodeableConcept[]; + reason?: CodeableConcept[]|undefined; /** * Reason why a vaccine was not administered. */ - reasonNotGiven?: CodeableConcept[]; + reasonNotGiven?: CodeableConcept[]|undefined; } /** * Categorical data indicating that an adverse event is associated in time to an immunization. @@ -8430,17 +8430,17 @@ export interface ImmunizationReaction extends BackboneElement { /** * Date of reaction to the immunization. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * Details of the reaction. */ - detail?: Reference; + detail?: Reference|undefined; /** * Self-reported indicator. */ - reported?: boolean; - _reported?: Element; + reported?: boolean|undefined; + _reported?: Element|undefined; } /** * Contains information about the protocol(s) under which the vaccine was administered. @@ -8449,12 +8449,12 @@ export interface ImmunizationVaccinationProtocol extends BackboneElement { /** * Indicates the authority who published the protocol. E.g. ACIP. */ - authority?: Reference; + authority?: Reference|undefined; /** * Contains the description about the protocol under which the vaccine was administered. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Nominal position in a series. */ @@ -8466,16 +8466,16 @@ export interface ImmunizationVaccinationProtocol extends BackboneElement { /** * Provides an explanation as to why an immunization event should or should not count against the protocol. */ - doseStatusReason?: CodeableConcept; + doseStatusReason?: CodeableConcept|undefined; /** * One possible path to achieve presumed immunity against a disease - within the context of an authority. */ - series?: string; - _series?: Element; + series?: string|undefined; + _series?: Element|undefined; /** * The recommended number of doses to achieve immunity. */ - seriesDoses?: number; + seriesDoses?: number|undefined; /** * The targeted disease. */ @@ -8490,46 +8490,46 @@ export interface Immunization extends DomainResource { /** * Date vaccine administered or was to be administered. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * The quantity of vaccine product that was administered. */ - doseQuantity?: Quantity; + doseQuantity?: Quantity|undefined; /** * The visit or admission or other contact between patient and health care provider the immunization was performed as part of. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * Date vaccine batch expires. */ - expirationDate?: string; - _expirationDate?: Element; + expirationDate?: string|undefined; + _expirationDate?: Element|undefined; /** * Reasons why a vaccine was or was not administered. */ - explanation?: ImmunizationExplanation; + explanation?: ImmunizationExplanation|undefined; /** * A unique identifier assigned to this immunization record. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The service delivery location where the vaccine administration occurred. */ - location?: Reference; + location?: Reference|undefined; /** * Lot number of the vaccine product. */ - lotNumber?: string; - _lotNumber?: Element; + lotNumber?: string|undefined; + _lotNumber?: Element|undefined; /** * Name of vaccine manufacturer. */ - manufacturer?: Reference; + manufacturer?: Reference|undefined; /** * Extra information about the immunization that is not conveyed by the other attributes. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * The patient who either received or did not receive the immunization. */ @@ -8537,37 +8537,37 @@ export interface Immunization extends DomainResource { /** * Clinician who administered the vaccine. */ - performer?: Reference; + performer?: Reference|undefined; /** * Categorical data indicating that an adverse event is associated in time to an immunization. */ - reaction?: ImmunizationReaction[]; + reaction?: ImmunizationReaction[]|undefined; /** * True if this administration was reported rather than directly administered. */ reported: boolean; - _reported?: Element; + _reported?: Element|undefined; /** * Clinician who ordered the vaccination. */ - requester?: Reference; + requester?: Reference|undefined; /** * The path by which the vaccine product is taken into the body. */ - route?: CodeableConcept; + route?: CodeableConcept|undefined; /** * Body site where vaccine was administered. */ - site?: CodeableConcept; + site?: CodeableConcept|undefined; /** * Indicates the current status of the vaccination event. */ status: ImmunizationStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Contains information about the protocol(s) under which the vaccine was administered. */ - vaccinationProtocol?: ImmunizationVaccinationProtocol[]; + vaccinationProtocol?: ImmunizationVaccinationProtocol[]|undefined; /** * Vaccine that was administered or was to be administered. */ @@ -8576,7 +8576,7 @@ export interface Immunization extends DomainResource { * Indicates if the vaccination was or was not given. */ wasNotGiven: boolean; - _wasNotGiven?: Element; + _wasNotGiven?: Element|undefined; } /** * Code Values for the Immunization.status field @@ -8600,7 +8600,7 @@ export interface ImmunizationRecommendationRecommendationDateCriterion extends B * The date whose meaning is specified by dateCriterion.code. */ value: string; - _value?: Element; + _value?: Element|undefined; } /** * Contains information about the protocol under which the vaccine was administered. @@ -8609,21 +8609,21 @@ export interface ImmunizationRecommendationRecommendationProtocol extends Backbo /** * Indicates the authority who published the protocol. For example, ACIP. */ - authority?: Reference; + authority?: Reference|undefined; /** * Contains the description about the protocol under which the vaccine was administered. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Indicates the nominal position in a series of the next dose. This is the recommended dose number as per a specified protocol. */ - doseSequence?: number; + doseSequence?: number|undefined; /** * One possible path to achieve presumed immunity against a disease - within the context of an authority. */ - series?: string; - _series?: Element; + series?: string|undefined; + _series?: Element|undefined; } /** * Vaccine administration recommendations. @@ -8633,15 +8633,15 @@ export interface ImmunizationRecommendationRecommendation extends BackboneElemen * The date the immunization recommendation was created. */ date: string; - _date?: Element; + _date?: Element|undefined; /** * Vaccine date recommendations. For example, earliest date to administer, latest date to administer, etc. */ - dateCriterion?: ImmunizationRecommendationRecommendationDateCriterion[]; + dateCriterion?: ImmunizationRecommendationRecommendationDateCriterion[]|undefined; /** * This indicates the next recommended dose number (e.g. dose 2 is the next recommended dose). */ - doseNumber?: number; + doseNumber?: number|undefined; /** * Vaccine administration status. */ @@ -8649,15 +8649,15 @@ export interface ImmunizationRecommendationRecommendation extends BackboneElemen /** * Contains information about the protocol under which the vaccine was administered. */ - protocol?: ImmunizationRecommendationRecommendationProtocol; + protocol?: ImmunizationRecommendationRecommendationProtocol|undefined; /** * Immunization event history that supports the status and recommendation. */ - supportingImmunization?: Reference[]; + supportingImmunization?: Reference[]|undefined; /** * Patient Information that supports the status and recommendation. This includes patient observations, adverse reactions and allergy/intolerance information. */ - supportingPatientInformation?: Reference[]; + supportingPatientInformation?: Reference[]|undefined; /** * Vaccine that pertains to the recommendation. */ @@ -8672,7 +8672,7 @@ export interface ImmunizationRecommendation extends DomainResource { /** * A unique identifier assigned to this particular recommendation record. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The patient for whom the recommendations are for. */ @@ -8689,12 +8689,12 @@ export interface ImplementationGuideContact extends BackboneElement { /** * The name of an individual to contact regarding the implementation guide. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Contact details for individual (if a name was provided) or the publisher. */ - telecom?: ContactPoint[]; + telecom?: ContactPoint[]|undefined; } /** * Another implementation guide that this implementation depends on. Typically, an implementation guide uses value sets, profiles etc.defined in other implementation guides. @@ -8704,12 +8704,12 @@ export interface ImplementationGuideDependency extends BackboneElement { * How the dependency is represented when the guide is published. */ type: ImplementationGuideDependencyTypeCodes; - _type?: Element; + _type?: Element|undefined; /** * Where the dependency is located. */ uri: string; - _uri?: Element; + _uri?: Element|undefined; } /** * Code Values for the ImplementationGuide.dependency.type field @@ -8725,36 +8725,36 @@ export interface ImplementationGuidePackageResource extends BackboneElement { /** * A short code that may be used to identify the resource throughout the implementation guide. */ - acronym?: string; - _acronym?: Element; + acronym?: string|undefined; + _acronym?: Element|undefined; /** * A description of the reason that a resource has been included in the implementation guide. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Another resource that this resource is an example for. This is mostly used for resources that are included as examples of StructureDefinitions. */ - exampleFor?: Reference; + exampleFor?: Reference|undefined; /** * A human assigned name for the resource. All resources SHOULD have a name, but the name may be extracted from the resource (e.g. ValueSet.name). */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * This element is provided so that implementation guide tooling does not have to guess the purpose of including a resource in the implementation guide based on the type or context. */ purpose: ImplementationGuidePackageResourcePurposeCodes; - _purpose?: Element; + _purpose?: Element|undefined; /** * Where this resource is found. */ - sourceUri?: string; - _sourceUri?: Element; + sourceUri?: string|undefined; + _sourceUri?: Element|undefined; /** * Where this resource is found. */ - sourceReference?: Reference; + sourceReference?: Reference|undefined; } /** * Code Values for the ImplementationGuide.package.resource.purpose field @@ -8774,13 +8774,13 @@ export interface ImplementationGuidePackage extends BackboneElement { /** * Human readable text describing the package. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * The name for the group, as used in page.package. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * A resource that is part of the implementation guide. Conformance resources (value set, structure definition, conformance statements etc.) are obvious candidates for inclusion, but any kind of resource can be included as an example resource. */ @@ -8798,7 +8798,7 @@ export interface ImplementationGuideGlobal extends BackboneElement { * The type of resource that all instances must conform to. */ type: string; - _type?: Element; + _type?: Element|undefined; } /** * A page / section in the implementation guide. The root page is the implementation guide home page. @@ -8807,37 +8807,37 @@ export interface ImplementationGuidePage extends BackboneElement { /** * The format of the page. */ - format?: string; - _format?: Element; + format?: string|undefined; + _format?: Element|undefined; /** * The kind of page that this is. Some pages are autogenerated (list, example), and other kinds are of interest so that tools can navigate the user to the page of interest. */ kind: ImplementationGuidePageKindCodes; - _kind?: Element; + _kind?: Element|undefined; /** * A short name used to represent this page in navigational structures such as table of contents, bread crumbs, etc. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * For constructed pages, a list of packages to include in the page (or else empty for everything). */ - package?: string[]; - _package?: Element[]; + package?: string[]|undefined; + _package?: Element[]|undefined; /** * Nested Pages/Sections under this page. */ - page?: ImplementationGuidePage[]; + page?: ImplementationGuidePage[]|undefined; /** * The source address for the page. */ source: string; - _source?: Element; + _source?: Element|undefined; /** * For constructed pages, what kind of resources to include in the list. */ - type?: string[]; - _type?: Element[]; + type?: string[]|undefined; + _type?: Element[]|undefined; } /** * Code Values for the ImplementationGuide.page.kind field @@ -8861,50 +8861,50 @@ export interface ImplementationGuide extends DomainResource { /** * A binary file that is included in the implementation guide when it is published. */ - binary?: string[]; - _binary?: Element[]; + binary?: string[]|undefined; + _binary?: Element[]|undefined; /** * Contacts to assist a user in finding and communicating with the publisher. */ - contact?: ImplementationGuideContact[]; + contact?: ImplementationGuideContact[]|undefined; /** * A copyright statement relating to the implementation guide and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the details of the constraints and mappings. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * The date this version of the implementation guide was published. The date must change when the business version changes, if it does, and it must change if the status code changes. In addition, it should change when the substantive content of the implementation guide changes. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * Another implementation guide that this implementation depends on. Typically, an implementation guide uses value sets, profiles etc.defined in other implementation guides. */ - dependency?: ImplementationGuideDependency[]; + dependency?: ImplementationGuideDependency[]|undefined; /** * A free text natural language description of the Implementation Guide and its use. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Allows filtering of Implementation Guides that are appropriate for use vs. not. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * The version of the FHIR specification on which this ImplementationGuide is based - this is the formal version of the specification, without the revision number, e.g. [publication].[major].[minor], which is 1.0.2 for this version. */ - fhirVersion?: string; - _fhirVersion?: Element; + fhirVersion?: string|undefined; + _fhirVersion?: Element|undefined; /** * A set of profiles that all resources covered by this implementation guide must conform to. */ - global?: ImplementationGuideGlobal[]; + global?: ImplementationGuideGlobal[]|undefined; /** * A free text natural language name identifying the Implementation Guide. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * A logical group of resources. Logical groups can be used when building pages. */ @@ -8916,27 +8916,27 @@ export interface ImplementationGuide extends DomainResource { /** * Helps establish the "authority/credibility" of the implementation guide. May also allow for contact. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * Allows filtering of Implementation Guides that are appropriate for use vs. not. */ status: ImplementationGuideStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * This is required to allow hosting Implementation Guides on multiple different servers, and to allow for the editorial process. */ url: string; - _url?: Element; + _url?: Element|undefined; /** * Assist in searching for appropriate implementation guide. */ - useContext?: CodeableConcept[]; + useContext?: CodeableConcept[]|undefined; /** * There may be multiple resource versions of the Implementation Guide that have this same identifier. The resource version id will change for technical reasons, whereas the stated version number needs to be under the author's control. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the ImplementationGuide.status field @@ -8953,17 +8953,17 @@ export interface ListEntry extends BackboneElement { /** * The date may be significant for understanding the meaning of items in a working list. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * The flag element may contain codes that an application processing the list does not understand. However there can be no ambiguity if a list item is actually marked as "deleted". */ - deleted?: boolean; - _deleted?: Element; + deleted?: boolean|undefined; + _deleted?: Element|undefined; /** * This field is present to support various clinical uses of lists, such as a discharge summary medication list, where flags specify whether the medication was added, modified, or deleted from the list. */ - flag?: CodeableConcept; + flag?: CodeableConcept|undefined; /** * A reference to the actual resource from which data was derived. */ @@ -8978,60 +8978,60 @@ export interface List extends DomainResource { /** * Lists often contain subsets of resources rather than an exhaustive list. The code identifies what type of subset is included. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * Identifies how current the list is which affects relevance. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * Allows capturing things like "none exist" or "not asked" which can be important for most lists. */ - emptyReason?: CodeableConcept; + emptyReason?: CodeableConcept|undefined; /** * The encounter that is the context in which this list was created. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * Entries in this list. */ - entry?: ListEntry[]; + entry?: ListEntry[]|undefined; /** * Identifier for the List assigned for business purposes outside the context of FHIR. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Lists are used in various ways, and it must be known in what way it is safe to use them. */ mode: ListModeCodes; - _mode?: Element; + _mode?: Element|undefined; /** * Comments that apply to the overall list. */ - note?: string; - _note?: Element; + note?: string|undefined; + _note?: Element|undefined; /** * Important for presentation and rendering. Lists may be sorted to place more important information first or to group related entries. */ - orderedBy?: CodeableConcept; + orderedBy?: CodeableConcept|undefined; /** * Allows follow-up as well as context. */ - source?: Reference; + source?: Reference|undefined; /** * Indicates the current state of this list. */ status: ListStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * The primary purpose of listing the subject explicitly is to help with finding the right list. */ - subject?: Reference; + subject?: Reference|undefined; /** * Allows customization beyond just the code identifying the kind of list. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; } /** * Code Values for the List.mode field @@ -9056,7 +9056,7 @@ export interface LocationPosition extends BackboneElement { /** * Altitude. The value domain and the interpretation are the same as for the text of the altitude element in KML (see notes below). */ - altitude?: number; + altitude?: number|undefined; /** * Latitude. The value domain and the interpretation are the same as for the text of the latitude element in KML (see notes below). */ @@ -9075,55 +9075,55 @@ export interface Location extends DomainResource { /** * If locations can be visited, we need to keep track of their address. */ - address?: Address; + address?: Address|undefined; /** * Humans need additional information to verify a correct location has been identified. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Organization label locations in registries, need to keep track of those. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Need to know who manages the location. */ - managingOrganization?: Reference; + managingOrganization?: Reference|undefined; /** * When using a Location resource for scheduling or orders, we need to be able to refer to a class of Locations instead of a specific Location. */ - mode?: LocationModeCodes; - _mode?: Element; + mode?: LocationModeCodes|undefined; + _mode?: Element|undefined; /** * Name of the location as used by humans. Does not need to be unique. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * For purposes of location, display and identification, knowing which locations are located within other locations is important. */ - partOf?: Reference; + partOf?: Reference|undefined; /** * For purposes of showing relevant locations in queries, we need to categorize locations. */ - physicalType?: CodeableConcept; + physicalType?: CodeableConcept|undefined; /** * For mobile applications and automated route-finding knowing the exact location of the Location is required. */ - position?: LocationPosition; + position?: LocationPosition|undefined; /** * active | suspended | inactive. */ - status?: LocationStatusCodes; - _status?: Element; + status?: LocationStatusCodes|undefined; + _status?: Element|undefined; /** * The contact details of communication devices available at the location. This can include phone numbers, fax numbers, mobile numbers, email addresses and web sites. */ - telecom?: ContactPoint[]; + telecom?: ContactPoint[]|undefined; /** * Indicates the type of function performed at the location. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Code Values for the Location.mode field @@ -9153,49 +9153,49 @@ export interface Media extends DomainResource { /** * The name of the device / manufacturer of the device that was used to make the recording. */ - deviceName?: string; - _deviceName?: Element; + deviceName?: string|undefined; + _deviceName?: Element|undefined; /** * The duration of the recording in seconds - for audio and video. */ - duration?: number; + duration?: number|undefined; /** * The number of frames in a photo. This is used with a multi-page fax, or an imaging acquisition context that takes multiple slices in a single image, or an animated gif. If there is more than one frame, this SHALL have a value in order to alert interface software that a multi-frame capable rendering widget is required. */ - frames?: number; + frames?: number|undefined; /** * Height of the image in pixels (photo/video). */ - height?: number; + height?: number|undefined; /** * Identifiers associated with the image - these may include identifiers for the image itself, identifiers for the context of its collection (e.g. series ids) and context ids such as accession numbers or other workflow identifiers. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The person who administered the collection of the image. */ - operator?: Reference; + operator?: Reference|undefined; /** * Who/What this Media is a record of. */ - subject?: Reference; + subject?: Reference|undefined; /** * Details of the type of the media - usually, how it was acquired (what type of device). If images sourced from a DICOM system, are wrapped in a Media resource, then this is the modality. */ - subtype?: CodeableConcept; + subtype?: CodeableConcept|undefined; /** * Whether the media is a photo (still image), an audio recording, or a video recording. */ type: MediaTypeCodes; - _type?: Element; + _type?: Element|undefined; /** * The name of the imaging view e.g. Lateral or Antero-posterior (AP). */ - view?: CodeableConcept; + view?: CodeableConcept|undefined; /** * Width of the image in pixels (photo/video). */ - width?: number; + width?: number|undefined; } /** * Code Values for the Media.type field @@ -9212,7 +9212,7 @@ export interface MedicationProductIngredient extends BackboneElement { /** * Specifies how many (or how much) of the items there are in this Medication. For example, 250 mg per tablet. */ - amount?: Ratio; + amount?: Ratio|undefined; /** * The actual ingredient - either a substance (simple ingredient) or another medication. */ @@ -9225,13 +9225,13 @@ export interface MedicationProductBatch extends BackboneElement { /** * When this specific batch of product will expire. */ - expirationDate?: string; - _expirationDate?: Element; + expirationDate?: string|undefined; + _expirationDate?: Element|undefined; /** * The assigned lot number of a batch of the specified product. */ - lotNumber?: string; - _lotNumber?: Element; + lotNumber?: string|undefined; + _lotNumber?: Element|undefined; } /** * Information that only applies to products (not packages). @@ -9240,15 +9240,15 @@ export interface MedicationProduct extends BackboneElement { /** * Information about a group of medication produced or packaged from one production run. */ - batch?: MedicationProductBatch[]; + batch?: MedicationProductBatch[]|undefined; /** * Describes the form of the item. Powder; tablets; carton. */ - form?: CodeableConcept; + form?: CodeableConcept|undefined; /** * Identifies a particular constituent of interest in the product. */ - ingredient?: MedicationProductIngredient[]; + ingredient?: MedicationProductIngredient[]|undefined; } /** * A set of components that go to make up the described item. @@ -9257,7 +9257,7 @@ export interface MedicationPackageContent extends BackboneElement { /** * The amount of the product that is in the package. */ - amount?: Quantity; + amount?: Quantity|undefined; /** * Identifies one of the items in the package. */ @@ -9270,11 +9270,11 @@ export interface MedicationPackage extends BackboneElement { /** * The kind of container that this package comes as. */ - container?: CodeableConcept; + container?: CodeableConcept|undefined; /** * A set of components that go to make up the described item. */ - content?: MedicationPackageContent[]; + content?: MedicationPackageContent[]|undefined; } /** * This resource is primarily used for the identification and definition of a medication. It covers the ingredients and the packaging for a medication. @@ -9285,24 +9285,24 @@ export interface Medication extends DomainResource { /** * A code (or set of codes) that specify this medication, or a textual description if no code is available. Usage note: This could be a standard medication code such as a code from RxNorm, SNOMED CT, IDMP etc. It could also be a national or local formulary code, optionally with translations to other code systems. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * Set to true if the item is attributable to a specific manufacturer. */ - isBrand?: boolean; - _isBrand?: Element; + isBrand?: boolean|undefined; + _isBrand?: Element|undefined; /** * Describes the details of the manufacturer. */ - manufacturer?: Reference; + manufacturer?: Reference|undefined; /** * Information that only applies to packages (not products). */ - package?: MedicationPackage; + package?: MedicationPackage|undefined; /** * Information that only applies to products (not packages). */ - product?: MedicationProduct; + product?: MedicationProduct|undefined; } /** * Describes the medication dosage information details e.g. dose, rate, site, route, etc. @@ -9311,36 +9311,36 @@ export interface MedicationAdministrationDosage extends BackboneElement { /** * A coded value indicating the method by which the medication is intended to be or was introduced into or on the body. This attribute will most often NOT be populated. It is most commonly used for injections. For example, Slow Push, Deep IV. */ - method?: CodeableConcept; + method?: CodeableConcept|undefined; /** * The amount of the medication given at one administration event. Use this value when the administration is essentially an instantaneous event such as a swallowing a tablet or giving an injection. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * Identifies the speed with which the medication was or will be introduced into the patient. Typically the rate for an infusion e.g. 100 ml per 1 hour or 100 ml/hr. May also be expressed as a rate per unit of time e.g. 500 ml per 2 hours. Currently we do not specify a default of '1' in the denominator, but this is being discussed. Other examples: 200 mcg/min or 200 mcg/1 minute; 1 liter/8 hours. */ - rateRatio?: Ratio; + rateRatio?: Ratio|undefined; /** * Identifies the speed with which the medication was or will be introduced into the patient. Typically the rate for an infusion e.g. 100 ml per 1 hour or 100 ml/hr. May also be expressed as a rate per unit of time e.g. 500 ml per 2 hours. Currently we do not specify a default of '1' in the denominator, but this is being discussed. Other examples: 200 mcg/min or 200 mcg/1 minute; 1 liter/8 hours. */ - rateRange?: Range; + rateRange?: Range|undefined; /** * A code specifying the route or physiological path of administration of a therapeutic agent into or onto the patient. For example, topical, intravenous, etc. */ - route?: CodeableConcept; + route?: CodeableConcept|undefined; /** * A coded specification of the anatomic site where the medication first entered the body. For example, "left arm". */ - siteCodeableConcept?: CodeableConcept; + siteCodeableConcept?: CodeableConcept|undefined; /** * A coded specification of the anatomic site where the medication first entered the body. For example, "left arm". */ - siteReference?: Reference; + siteReference?: Reference|undefined; /** * Free text dosage instructions can be used for cases where the instructions are too complex to code. When coded instructions are present, the free text instructions may still be present for display to humans taking or administering the medication. */ - text?: string; - _text?: Element; + text?: string|undefined; + _text?: Element|undefined; } /** * Describes the event of a patient consuming or otherwise being administered a medication. This may be as simple as swallowing a tablet or it may be a long running infusion. Related resources tie this event to the authorizing prescription, and the specific encounter between patient and health care practitioner. @@ -9351,41 +9351,41 @@ export interface MedicationAdministration extends DomainResource { /** * The device used in administering the medication to the patient. For example, a particular infusion pump. */ - device?: Reference[]; + device?: Reference[]|undefined; /** * Describes the medication dosage information details e.g. dose, rate, site, route, etc. */ - dosage?: MedicationAdministrationDosage; + dosage?: MedicationAdministrationDosage|undefined; /** * A specific date/time or interval of time during which the administration took place (or did not take place, when the 'notGiven' attribute is true). For many administrations, such as swallowing a tablet the use of dateTime is more appropriate. */ - effectiveTimeDateTime?: string; - _effectiveTimeDateTime?: Element; + effectiveTimeDateTime?: string|undefined; + _effectiveTimeDateTime?: Element|undefined; /** * A specific date/time or interval of time during which the administration took place (or did not take place, when the 'notGiven' attribute is true). For many administrations, such as swallowing a tablet the use of dateTime is more appropriate. */ - effectiveTimePeriod?: Period; + effectiveTimePeriod?: Period|undefined; /** * The visit, admission or other contact between patient and health care provider the medication administration was performed as part of. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * External identifier - FHIR will generate its own internal identifiers (probably URLs) which do not need to be explicitly managed by the resource. The identifier here is one that would be used by another non-FHIR system - for example an automated medication pump would provide a record each time it operated; an administration while the patient was off the ward might be made with a different system and entered after the event. Particularly important if these records have to be updated. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Identifies the medication that was administered. This is either a link to a resource representing the details of the medication or a simple attribute carrying a code that identifies the medication from a known list of medications. */ - medicationCodeableConcept?: CodeableConcept; + medicationCodeableConcept?: CodeableConcept|undefined; /** * Identifies the medication that was administered. This is either a link to a resource representing the details of the medication or a simple attribute carrying a code that identifies the medication from a known list of medications. */ - medicationReference?: Reference; + medicationReference?: Reference|undefined; /** * Extra information about the medication administration that is not conveyed by the other attributes. */ - note?: string; - _note?: Element; + note?: string|undefined; + _note?: Element|undefined; /** * The person or animal receiving the medication. */ @@ -9393,29 +9393,29 @@ export interface MedicationAdministration extends DomainResource { /** * The individual who was responsible for giving the medication to the patient. */ - practitioner?: Reference; + practitioner?: Reference|undefined; /** * The original request, instruction or authority to perform the administration. */ - prescription?: Reference; + prescription?: Reference|undefined; /** * A code indicating why the medication was given. */ - reasonGiven?: CodeableConcept[]; + reasonGiven?: CodeableConcept[]|undefined; /** * A code indicating why the administration was not performed. */ - reasonNotGiven?: CodeableConcept[]; + reasonNotGiven?: CodeableConcept[]|undefined; /** * Will generally be set to show that the administration has been completed. For some long running administrations such as infusions it is possible for an administration to be started but not completed or it may be paused while some other process is under way. */ status: MedicationAdministrationStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Set this to true if the record is saying that the medication was NOT administered. */ - wasNotGiven?: boolean; - _wasNotGiven?: Element; + wasNotGiven?: boolean|undefined; + _wasNotGiven?: Element|undefined; } /** * Code Values for the MedicationAdministration.status field @@ -9434,61 +9434,61 @@ export interface MedicationDispenseDosageInstruction extends BackboneElement { /** * Additional instructions such as "Swallow with plenty of water" which may or may not be coded. */ - additionalInstructions?: CodeableConcept; + additionalInstructions?: CodeableConcept|undefined; /** * Indicates whether the Medication is only taken when needed within a specific dosing schedule (Boolean option), or it indicates the precondition for taking the Medication (CodeableConcept). Specifically if 'boolean' datatype is selected, then the following logic applies: If set to True, this indicates that the medication is only taken when needed, within the specified schedule. */ - asNeededBoolean?: boolean; - _asNeededBoolean?: Element; + asNeededBoolean?: boolean|undefined; + _asNeededBoolean?: Element|undefined; /** * Indicates whether the Medication is only taken when needed within a specific dosing schedule (Boolean option), or it indicates the precondition for taking the Medication (CodeableConcept). Specifically if 'boolean' datatype is selected, then the following logic applies: If set to True, this indicates that the medication is only taken when needed, within the specified schedule. */ - asNeededCodeableConcept?: CodeableConcept; + asNeededCodeableConcept?: CodeableConcept|undefined; /** * The amount of therapeutic or other substance given at one administration event. */ - doseRange?: Range; + doseRange?: Range|undefined; /** * The amount of therapeutic or other substance given at one administration event. */ - doseQuantity?: Quantity; + doseQuantity?: Quantity|undefined; /** * The maximum total quantity of a therapeutic substance that may be administered to a subject over the period of time, e.g. 1000mg in 24 hours. */ - maxDosePerPeriod?: Ratio; + maxDosePerPeriod?: Ratio|undefined; /** * A coded value indicating the method by which the medication is intended to be or was introduced into or on the body. */ - method?: CodeableConcept; + method?: CodeableConcept|undefined; /** * Identifies the speed with which the medication was or will be introduced into the patient. Typically the rate for an infusion e.g. 100 ml per 1 hour or 100 ml/hr. May also be expressed as a rate per unit of time e.g. 500 ml per 2 hours. Currently we do not specify a default of '1' in the denominator, but this is being discussed. Other examples: 200 mcg/min or 200 mcg/1 minute; 1 liter/8 hours. */ - rateRatio?: Ratio; + rateRatio?: Ratio|undefined; /** * Identifies the speed with which the medication was or will be introduced into the patient. Typically the rate for an infusion e.g. 100 ml per 1 hour or 100 ml/hr. May also be expressed as a rate per unit of time e.g. 500 ml per 2 hours. Currently we do not specify a default of '1' in the denominator, but this is being discussed. Other examples: 200 mcg/min or 200 mcg/1 minute; 1 liter/8 hours. */ - rateRange?: Range; + rateRange?: Range|undefined; /** * A code specifying the route or physiological path of administration of a therapeutic agent into or onto a subject. */ - route?: CodeableConcept; + route?: CodeableConcept|undefined; /** * A coded specification of the anatomic site where the medication first enters the body. */ - siteCodeableConcept?: CodeableConcept; + siteCodeableConcept?: CodeableConcept|undefined; /** * A coded specification of the anatomic site where the medication first enters the body. */ - siteReference?: Reference; + siteReference?: Reference|undefined; /** * Free text dosage instructions can be used for cases where the instructions are too complex to code. When coded instructions are present, the free text instructions may still be present for display to humans taking or administering the medication. */ - text?: string; - _text?: Element; + text?: string|undefined; + _text?: Element|undefined; /** * The timing schedule for giving the medication to the patient. The Schedule data type allows many different expressions. For example, "Every 8 hours"; "Three times a day"; "1/2 an hour before breakfast for 10 days from 23-Dec 2011:"; "15 Oct 2013, 17 Oct 2013 and 1 Nov 2013". */ - timing?: Timing; + timing?: Timing|undefined; } /** * Indicates whether or not substitution was made as part of the dispense. In some cases substitution will be expected but does not happen, in other cases substitution is not expected but does happen. This block explains what substitution did or did not happen and why. @@ -9497,11 +9497,11 @@ export interface MedicationDispenseSubstitution extends BackboneElement { /** * Indicates the reason for the substitution of (or lack of substitution) from what was prescribed. */ - reason?: CodeableConcept[]; + reason?: CodeableConcept[]|undefined; /** * The person or organization that has primary responsibility for the substitution. */ - responsibleParty?: Reference[]; + responsibleParty?: Reference[]|undefined; /** * A code signifying whether a different drug was dispensed from what was prescribed. */ @@ -9516,75 +9516,75 @@ export interface MedicationDispense extends DomainResource { /** * Indicates the medication order that is being dispensed against. */ - authorizingPrescription?: Reference[]; + authorizingPrescription?: Reference[]|undefined; /** * The amount of medication expressed as a timing amount. */ - daysSupply?: Quantity; + daysSupply?: Quantity|undefined; /** * Identification of the facility/location where the medication was shipped to, as part of the dispense event. */ - destination?: Reference; + destination?: Reference|undefined; /** * The individual responsible for dispensing the medication. */ - dispenser?: Reference; + dispenser?: Reference|undefined; /** * Indicates how the medication is to be used by the patient. */ - dosageInstruction?: MedicationDispenseDosageInstruction[]; + dosageInstruction?: MedicationDispenseDosageInstruction[]|undefined; /** * Identifier assigned by the dispensing facility - this is an identifier assigned outside FHIR. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * Identifies the medication being administered. This is either a link to a resource representing the details of the medication or a simple attribute carrying a code that identifies the medication from a known list of medications. */ - medicationCodeableConcept?: CodeableConcept; + medicationCodeableConcept?: CodeableConcept|undefined; /** * Identifies the medication being administered. This is either a link to a resource representing the details of the medication or a simple attribute carrying a code that identifies the medication from a known list of medications. */ - medicationReference?: Reference; + medicationReference?: Reference|undefined; /** * Extra information about the dispense that could not be conveyed in the other attributes. */ - note?: string; - _note?: Element; + note?: string|undefined; + _note?: Element|undefined; /** * A link to a resource representing the person to whom the medication will be given. */ - patient?: Reference; + patient?: Reference|undefined; /** * The amount of medication that has been dispensed. Includes unit of measure. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * Identifies the person who picked up the medication. This will usually be a patient or their caregiver, but some cases exist where it can be a healthcare professional. */ - receiver?: Reference[]; + receiver?: Reference[]|undefined; /** * A code specifying the state of the set of dispense events. */ - status?: MedicationDispenseStatusCodes; - _status?: Element; + status?: MedicationDispenseStatusCodes|undefined; + _status?: Element|undefined; /** * Indicates whether or not substitution was made as part of the dispense. In some cases substitution will be expected but does not happen, in other cases substitution is not expected but does happen. This block explains what substitution did or did not happen and why. */ - substitution?: MedicationDispenseSubstitution; + substitution?: MedicationDispenseSubstitution|undefined; /** * Indicates the type of dispensing event that is performed. For example, Trial Fill, Completion of Trial, Partial Fill, Emergency Fill, Samples, etc. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; /** * The time the dispensed product was provided to the patient or their representative. */ - whenHandedOver?: string; - _whenHandedOver?: Element; + whenHandedOver?: string|undefined; + _whenHandedOver?: Element|undefined; /** * The time when the dispensed product was packaged and reviewed. */ - whenPrepared?: string; - _whenPrepared?: Element; + whenPrepared?: string|undefined; + _whenPrepared?: Element|undefined; } /** * Code Values for the MedicationDispense.status field @@ -9603,61 +9603,61 @@ export interface MedicationOrderDosageInstruction extends BackboneElement { /** * Additional instructions such as "Swallow with plenty of water" which may or may not be coded. */ - additionalInstructions?: CodeableConcept; + additionalInstructions?: CodeableConcept|undefined; /** * Indicates whether the Medication is only taken when needed within a specific dosing schedule (Boolean option), or it indicates the precondition for taking the Medication (CodeableConcept). */ - asNeededBoolean?: boolean; - _asNeededBoolean?: Element; + asNeededBoolean?: boolean|undefined; + _asNeededBoolean?: Element|undefined; /** * Indicates whether the Medication is only taken when needed within a specific dosing schedule (Boolean option), or it indicates the precondition for taking the Medication (CodeableConcept). */ - asNeededCodeableConcept?: CodeableConcept; + asNeededCodeableConcept?: CodeableConcept|undefined; /** * The amount of therapeutic or other substance given at one administration event. */ - doseRange?: Range; + doseRange?: Range|undefined; /** * The amount of therapeutic or other substance given at one administration event. */ - doseQuantity?: Quantity; + doseQuantity?: Quantity|undefined; /** * The maximum total quantity of a therapeutic substance that may be administered to a subject over the period of time. For example, 1000mg in 24 hours. */ - maxDosePerPeriod?: Ratio; + maxDosePerPeriod?: Ratio|undefined; /** * A coded value indicating the method by which the medication is introduced into or onto the body. Most commonly used for injections. For examples, Slow Push; Deep IV. */ - method?: CodeableConcept; + method?: CodeableConcept|undefined; /** * Identifies the speed with which the medication was or will be introduced into the patient. Typically the rate for an infusion e.g. 100 ml per 1 hour or 100 ml/hr. May also be expressed as a rate per unit of time e.g. 500 ml per 2 hours. Currently we do not specify a default of '1' in the denominator, but this is being discussed. Other examples: 200 mcg/min or 200 mcg/1 minute; 1 liter/8 hours. */ - rateRatio?: Ratio; + rateRatio?: Ratio|undefined; /** * Identifies the speed with which the medication was or will be introduced into the patient. Typically the rate for an infusion e.g. 100 ml per 1 hour or 100 ml/hr. May also be expressed as a rate per unit of time e.g. 500 ml per 2 hours. Currently we do not specify a default of '1' in the denominator, but this is being discussed. Other examples: 200 mcg/min or 200 mcg/1 minute; 1 liter/8 hours. */ - rateRange?: Range; + rateRange?: Range|undefined; /** * A code specifying the route or physiological path of administration of a therapeutic agent into or onto a patient's body. */ - route?: CodeableConcept; + route?: CodeableConcept|undefined; /** * A coded specification of the anatomic site where the medication first enters the body. */ - siteCodeableConcept?: CodeableConcept; + siteCodeableConcept?: CodeableConcept|undefined; /** * A coded specification of the anatomic site where the medication first enters the body. */ - siteReference?: Reference; + siteReference?: Reference|undefined; /** * Free text dosage instructions can be used for cases where the instructions are too complex to code. The content of this attribute does not include the name or description of the medication. When coded instructions are present, the free text instructions may still be present for display to humans taking or administering the medication. It is expected that the text instructions will always be populated. If the dosage.timing attribute is also populated, then the dosage.text should reflect the same information as the timing. */ - text?: string; - _text?: Element; + text?: string|undefined; + _text?: Element|undefined; /** * The timing schedule for giving the medication to the patient. The Schedule data type allows many different expressions. For example: "Every 8 hours"; "Three times a day"; "1/2 an hour before breakfast for 10 days from 23-Dec 2011:"; "15 Oct 2013, 17 Oct 2013 and 1 Nov 2013". */ - timing?: Timing; + timing?: Timing|undefined; } /** * Indicates the specific details for the dispense or medication supply part of a medication order (also known as a Medication Prescription). Note that this information is NOT always sent with the order. There may be in some settings (e.g. hospitals) institutional or system support for completing the dispense details in the pharmacy department. @@ -9666,27 +9666,27 @@ export interface MedicationOrderDispenseRequest extends BackboneElement { /** * Identifies the period time over which the supplied product is expected to be used, or the length of time the dispense is expected to last. */ - expectedSupplyDuration?: Quantity; + expectedSupplyDuration?: Quantity|undefined; /** * Identifies the medication being administered. This is a link to a resource that represents the medication which may be the details of the medication or simply an attribute carrying a code that identifies the medication from a known list of medications. */ - medicationCodeableConcept?: CodeableConcept; + medicationCodeableConcept?: CodeableConcept|undefined; /** * Identifies the medication being administered. This is a link to a resource that represents the medication which may be the details of the medication or simply an attribute carrying a code that identifies the medication from a known list of medications. */ - medicationReference?: Reference; + medicationReference?: Reference|undefined; /** * An integer indicating the number of additional times (aka refills or repeats) the patient can receive the prescribed medication. Usage Notes: This integer does NOT include the original order dispense. This means that if an order indicates dispense 30 tablets plus "3 repeats", then the order can be dispensed a total of 4 times and the patient can receive a total of 120 tablets. */ - numberOfRepeatsAllowed?: number; + numberOfRepeatsAllowed?: number|undefined; /** * The amount that is to be dispensed for one fill. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * Indicates when the Prescription becomes valid, and when it ceases to be a dispensable Prescription. */ - validityPeriod?: Period; + validityPeriod?: Period|undefined; } /** * Indicates whether or not substitution can or should be part of the dispense. In some cases substitution must happen, in other cases substitution must not happen, and in others it does not matter. This block explains the prescriber's intent. If nothing is specified substitution may be done. @@ -9695,7 +9695,7 @@ export interface MedicationOrderSubstitution extends BackboneElement { /** * Indicates the reason for the substitution, or why substitution must or must not be performed. */ - reason?: CodeableConcept; + reason?: CodeableConcept|undefined; /** * A code signifying whether a different drug should be dispensed from what was prescribed. */ @@ -9710,75 +9710,75 @@ export interface MedicationOrder extends DomainResource { /** * The date (and perhaps time) when the prescription was stopped. */ - dateEnded?: string; - _dateEnded?: Element; + dateEnded?: string|undefined; + _dateEnded?: Element|undefined; /** * The date (and perhaps time) when the prescription was written. */ - dateWritten?: string; - _dateWritten?: Element; + dateWritten?: string|undefined; + _dateWritten?: Element|undefined; /** * Indicates the specific details for the dispense or medication supply part of a medication order (also known as a Medication Prescription). Note that this information is NOT always sent with the order. There may be in some settings (e.g. hospitals) institutional or system support for completing the dispense details in the pharmacy department. */ - dispenseRequest?: MedicationOrderDispenseRequest; + dispenseRequest?: MedicationOrderDispenseRequest|undefined; /** * Indicates how the medication is to be used by the patient. */ - dosageInstruction?: MedicationOrderDosageInstruction[]; + dosageInstruction?: MedicationOrderDosageInstruction[]|undefined; /** * A link to a resource that identifies the particular occurrence of contact between patient and health care provider. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * External identifier - one that would be used by another non-FHIR system - for example a re-imbursement system might issue its own id for each prescription that is created. This is particularly important where FHIR only provides part of an entire workflow process where records have to be tracked through an entire system. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Identifies the medication being administered. This is a link to a resource that represents the medication which may be the details of the medication or simply an attribute carrying a code that identifies the medication from a known list of medications. */ - medicationCodeableConcept?: CodeableConcept; + medicationCodeableConcept?: CodeableConcept|undefined; /** * Identifies the medication being administered. This is a link to a resource that represents the medication which may be the details of the medication or simply an attribute carrying a code that identifies the medication from a known list of medications. */ - medicationReference?: Reference; + medicationReference?: Reference|undefined; /** * Extra information about the prescription that could not be conveyed by the other attributes. */ - note?: string; - _note?: Element; + note?: string|undefined; + _note?: Element|undefined; /** * A link to a resource representing the person to whom the medication will be given. */ - patient?: Reference; + patient?: Reference|undefined; /** * The healthcare professional responsible for authorizing the prescription. */ - prescriber?: Reference; + prescriber?: Reference|undefined; /** * A link to a resource representing an earlier order or prescription that this order supersedes. */ - priorPrescription?: Reference; + priorPrescription?: Reference|undefined; /** * Can be the reason or the indication for writing the prescription. */ - reasonCodeableConcept?: CodeableConcept; + reasonCodeableConcept?: CodeableConcept|undefined; /** * Can be the reason or the indication for writing the prescription. */ - reasonReference?: Reference; + reasonReference?: Reference|undefined; /** * The reason why the prescription was stopped, if it was. */ - reasonEnded?: CodeableConcept; + reasonEnded?: CodeableConcept|undefined; /** * A code specifying the state of the order. Generally this will be active or completed state. */ - status?: MedicationOrderStatusCodes; - _status?: Element; + status?: MedicationOrderStatusCodes|undefined; + _status?: Element|undefined; /** * Indicates whether or not substitution can or should be part of the dispense. In some cases substitution must happen, in other cases substitution must not happen, and in others it does not matter. This block explains the prescriber's intent. If nothing is specified substitution may be done. */ - substitution?: MedicationOrderSubstitution; + substitution?: MedicationOrderSubstitution|undefined; } /** * Code Values for the MedicationOrder.status field @@ -9798,57 +9798,57 @@ export interface MedicationStatementDosage extends BackboneElement { /** * Indicates whether the Medication is only taken when needed within a specific dosing schedule (Boolean option), or it indicates the precondition for taking the Medication (CodeableConcept). Specifically if 'boolean' datatype is selected, then the following logic applies: If set to True, this indicates that the medication is only taken when needed, within the specified schedule. */ - asNeededBoolean?: boolean; - _asNeededBoolean?: Element; + asNeededBoolean?: boolean|undefined; + _asNeededBoolean?: Element|undefined; /** * Indicates whether the Medication is only taken when needed within a specific dosing schedule (Boolean option), or it indicates the precondition for taking the Medication (CodeableConcept). Specifically if 'boolean' datatype is selected, then the following logic applies: If set to True, this indicates that the medication is only taken when needed, within the specified schedule. */ - asNeededCodeableConcept?: CodeableConcept; + asNeededCodeableConcept?: CodeableConcept|undefined; /** * The maximum total quantity of a therapeutic substance that may be administered to a subject over the period of time. For example, 1000mg in 24 hours. */ - maxDosePerPeriod?: Ratio; + maxDosePerPeriod?: Ratio|undefined; /** * A coded value indicating the method by which the medication is intended to be or was introduced into or on the body. This attribute will most often NOT be populated. It is most commonly used for injections. For example, Slow Push, Deep IV. */ - method?: CodeableConcept; + method?: CodeableConcept|undefined; /** * The amount of therapeutic or other substance given at one administration event. */ - quantityQuantity?: Quantity; + quantityQuantity?: Quantity|undefined; /** * The amount of therapeutic or other substance given at one administration event. */ - quantityRange?: Range; + quantityRange?: Range|undefined; /** * Identifies the speed with which the medication was or will be introduced into the patient. Typically the rate for an infusion e.g. 100 ml per 1 hour or 100 ml/hr. May also be expressed as a rate per unit of time e.g. 500 ml per 2 hours. Currently we do not specify a default of '1' in the denominator, but this is being discussed. Other examples: 200 mcg/min or 200 mcg/1 minute; 1 liter/8 hours. */ - rateRatio?: Ratio; + rateRatio?: Ratio|undefined; /** * Identifies the speed with which the medication was or will be introduced into the patient. Typically the rate for an infusion e.g. 100 ml per 1 hour or 100 ml/hr. May also be expressed as a rate per unit of time e.g. 500 ml per 2 hours. Currently we do not specify a default of '1' in the denominator, but this is being discussed. Other examples: 200 mcg/min or 200 mcg/1 minute; 1 liter/8 hours. */ - rateRange?: Range; + rateRange?: Range|undefined; /** * A code specifying the route or physiological path of administration of a therapeutic agent into or onto a subject. */ - route?: CodeableConcept; + route?: CodeableConcept|undefined; /** * A coded specification of or a reference to the anatomic site where the medication first enters the body. */ - siteCodeableConcept?: CodeableConcept; + siteCodeableConcept?: CodeableConcept|undefined; /** * A coded specification of or a reference to the anatomic site where the medication first enters the body. */ - siteReference?: Reference; + siteReference?: Reference|undefined; /** * Free text dosage information as reported about a patient's medication use. When coded dosage information is present, the free text may still be present for display to humans. */ - text?: string; - _text?: Element; + text?: string|undefined; + _text?: Element|undefined; /** * The timing schedule for giving the medication to the patient. The Schedule data type allows many different expressions, for example. "Every 8 hours"; "Three times a day"; "1/2 an hour before breakfast for 10 days from 23-Dec 2011:"; "15 Oct 2013, 17 Oct 2013 and 1 Nov 2013". */ - timing?: Timing; + timing?: Timing|undefined; } /** * A record of a medication that is being consumed by a patient. A MedicationStatement may indicate that the patient may be taking the medication now, or has taken the medication in the past or will be taking the medication in the future. The source of this information can be the patient, significant other (such as a family member or spouse), or a clinician. A common scenario where this information is captured is during the history taking process during a patient visit or stay. The medication information may come from e.g. the patient's memory, from a prescription bottle, or from a list of medications the patient, clinician or other party maintains The primary difference between a medication statement and a medication administration is that the medication administration has complete administration information and is based on actual administration information from the person who administered the medication. A medication statement is often, if not always, less specific. There is no required date/time when the medication was administered, in fact we only know that a source has reported the patient is taking this medication, where details such as time, quantity, or rate or even medication product may be incomplete or missing or less precise. As stated earlier, the medication statement information may come from the patient's memory, from a prescription bottle or from a list of medications the patient, clinician or other party maintains. Medication administration is more formal and is not missing detailed information. @@ -9859,42 +9859,42 @@ export interface MedicationStatement extends DomainResource { /** * The date when the medication statement was asserted by the information source. */ - dateAsserted?: string; - _dateAsserted?: Element; + dateAsserted?: string|undefined; + _dateAsserted?: Element|undefined; /** * Indicates how the medication is/was used by the patient. */ - dosage?: MedicationStatementDosage[]; + dosage?: MedicationStatementDosage[]|undefined; /** * The interval of time during which it is being asserted that the patient was taking the medication (or was not taking, when the wasNotGiven element is true). */ - effectiveDateTime?: string; - _effectiveDateTime?: Element; + effectiveDateTime?: string|undefined; + _effectiveDateTime?: Element|undefined; /** * The interval of time during which it is being asserted that the patient was taking the medication (or was not taking, when the wasNotGiven element is true). */ - effectivePeriod?: Period; + effectivePeriod?: Period|undefined; /** * External identifier - FHIR will generate its own internal identifiers (probably URLs) which do not need to be explicitly managed by the resource. The identifier here is one that would be used by another non-FHIR system - for example an automated medication pump would provide a record each time it operated; an administration while the patient was off the ward might be made with a different system and entered after the event. Particularly important if these records have to be updated. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The person who provided the information about the taking of this medication. */ - informationSource?: Reference; + informationSource?: Reference|undefined; /** * Identifies the medication being administered. This is either a link to a resource representing the details of the medication or a simple attribute carrying a code that identifies the medication from a known list of medications. */ - medicationCodeableConcept?: CodeableConcept; + medicationCodeableConcept?: CodeableConcept|undefined; /** * Identifies the medication being administered. This is either a link to a resource representing the details of the medication or a simple attribute carrying a code that identifies the medication from a known list of medications. */ - medicationReference?: Reference; + medicationReference?: Reference|undefined; /** * Provides extra information about the medication statement that is not conveyed by the other attributes. */ - note?: string; - _note?: Element; + note?: string|undefined; + _note?: Element|undefined; /** * The person or animal who is/was taking the medication. */ @@ -9902,29 +9902,29 @@ export interface MedicationStatement extends DomainResource { /** * A reason for why the medication is being/was taken. */ - reasonForUseCodeableConcept?: CodeableConcept; + reasonForUseCodeableConcept?: CodeableConcept|undefined; /** * A reason for why the medication is being/was taken. */ - reasonForUseReference?: Reference; + reasonForUseReference?: Reference|undefined; /** * A code indicating why the medication was not taken. */ - reasonNotTaken?: CodeableConcept[]; + reasonNotTaken?: CodeableConcept[]|undefined; /** * A code representing the patient or other source's judgment about the state of the medication used that this statement is about. Generally this will be active or completed. */ status: MedicationStatementStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Allows linking the MedicationStatement to the underlying MedicationOrder, or to other information that supports the MedicationStatement. */ - supportingInformation?: Reference[]; + supportingInformation?: Reference[]|undefined; /** * Set this to true if the record is saying that the medication was NOT taken. */ - wasNotTaken?: boolean; - _wasNotTaken?: Element; + wasNotTaken?: boolean|undefined; + _wasNotTaken?: Element|undefined; } /** * Code Values for the MedicationStatement.status field @@ -9943,16 +9943,16 @@ export interface MessageHeaderResponse extends BackboneElement { * Allows the sender of the acknowledge message to know if the request was successful or if action is needed. */ code: MessageHeaderResponseCodeCodes; - _code?: Element; + _code?: Element|undefined; /** * Allows the sender of the message to determine what the specific issues are. */ - details?: Reference; + details?: Reference|undefined; /** * Allows receiver to know what message is being responded to. */ identifier: string; - _identifier?: Element; + _identifier?: Element|undefined; } /** * Code Values for the MessageHeader.response.code field @@ -9969,27 +9969,27 @@ export interface MessageHeaderSource extends BackboneElement { /** * Allows escalation of technical issues. */ - contact?: ContactPoint; + contact?: ContactPoint|undefined; /** * Identifies where to send responses, may influence security permissions. */ endpoint: string; - _endpoint?: Element; + _endpoint?: Element|undefined; /** * May be used to support audit. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Supports audit and possibly interface engine behavior. */ - software?: string; - _software?: Element; + software?: string|undefined; + _software?: Element|undefined; /** * Supports audit and possibly interface engine behavior. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Indicates where message is to be sent for routing purposes. Allows verification of "am I the intended recipient". @@ -9999,16 +9999,16 @@ export interface MessageHeaderDestination extends BackboneElement { * Identifies where to route the message. */ endpoint: string; - _endpoint?: Element; + _endpoint?: Element|undefined; /** * May be used for routing of response and/or to support audit. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Supports multi-hop routing. */ - target?: Reference; + target?: Reference|undefined; } /** * The header for a message exchange that is either requesting or responding to an action. The reference(s) that are the subject of the action as well as other information related to the action are typically transmitted in a bundle in which the MessageHeader resource instance is the first resource in the bundle. @@ -10019,19 +10019,19 @@ export interface MessageHeader extends DomainResource { /** * Need to know for audit/traceback requirements and possibly for authorization. */ - author?: Reference; + author?: Reference|undefined; /** * Every message event is about actual data, a single resource, that is identified in the definition of the event, and perhaps some or all linked resources. */ - data?: Reference[]; + data?: Reference[]|undefined; /** * Indicates where message is to be sent for routing purposes. Allows verification of "am I the intended recipient". */ - destination?: MessageHeaderDestination[]; + destination?: MessageHeaderDestination[]|undefined; /** * Need to know for audit/traceback requirements and possibly for authorization. */ - enterer?: Reference; + enterer?: Reference|undefined; /** * Drives the behavior associated with this message. */ @@ -10039,19 +10039,19 @@ export interface MessageHeader extends DomainResource { /** * Need to be able to track why resources are being changed and report in the audit log/history of the resource. May affect authorization. */ - reason?: CodeableConcept; + reason?: CodeableConcept|undefined; /** * Allows routing beyond just the application level. */ - receiver?: Reference; + receiver?: Reference|undefined; /** * Information about the message that this message is a response to. Only present if this message is a response. */ - response?: MessageHeaderResponse; + response?: MessageHeaderResponse|undefined; /** * Need to know for audit/traceback requirements and possibly for authorization. */ - responsible?: Reference; + responsible?: Reference|undefined; /** * Allows replies, supports audit. */ @@ -10060,7 +10060,7 @@ export interface MessageHeader extends DomainResource { * Allows limited detection of out-of-order and delayed transmission. Also supports audit. */ timestamp: string; - _timestamp?: Element; + _timestamp?: Element|undefined; } /** * Contacts to assist a user in finding and communicating with the publisher. @@ -10069,12 +10069,12 @@ export interface NamingSystemContact extends BackboneElement { /** * The name of an individual to contact regarding the naming system. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Contact details for individual (if a name was provided) or the publisher. */ - telecom?: ContactPoint[]; + telecom?: ContactPoint[]|undefined; } /** * Indicates how the system may be identified when referenced in electronic exchange. @@ -10083,22 +10083,22 @@ export interface NamingSystemUniqueId extends BackboneElement { /** * Identifies the period of time over which this identifier is considered appropriate to refer to the naming system. Outside of this window, the identifier might be non-deterministic. */ - period?: Period; + period?: Period|undefined; /** * Indicates whether this identifier is the "preferred" identifier of this type. */ - preferred?: boolean; - _preferred?: Element; + preferred?: boolean|undefined; + _preferred?: Element|undefined; /** * Identifies the unique identifier scheme used for this particular identifier. */ type: NamingSystemUniqueIdTypeCodes; - _type?: Element; + _type?: Element|undefined; /** * The string that should be sent over the wire to identify the code system or identifier system. */ value: string; - _value?: Element; + _value?: Element|undefined; } /** * Code Values for the NamingSystem.uniqueId.type field @@ -10118,50 +10118,50 @@ export interface NamingSystem extends DomainResource { /** * Contacts to assist a user in finding and communicating with the publisher. */ - contact?: NamingSystemContact[]; + contact?: NamingSystemContact[]|undefined; /** * The date (and optionally time) when the system was registered or published. The date must change when the business version changes, if it does, and it must change if the status code changes. In addition, it should change when the substantive content of the registration changes. */ date: string; - _date?: Element; + _date?: Element|undefined; /** * Details about what the namespace identifies including scope, granularity, version labeling, etc. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Indicates the purpose for the naming system - what kinds of things does it make unique? */ kind: NamingSystemKindCodes; - _kind?: Element; + _kind?: Element|undefined; /** * The descriptive name of this particular identifier type or code system. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * Helps establish the "authority/credibility" of the naming system. May also allow for contact. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * For naming systems that are retired, indicates the naming system that should be used in their place (if any). */ - replacedBy?: Reference; + replacedBy?: Reference|undefined; /** * The name of the organization that is responsible for issuing identifiers or codes for this namespace and ensuring their non-collision. */ - responsible?: string; - _responsible?: Element; + responsible?: string|undefined; + _responsible?: Element|undefined; /** * Indicates whether the naming system is "ready for use" or not. */ status: NamingSystemStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Categorizes a naming system for easier search by grouping related naming systems. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; /** * Indicates how the system may be identified when referenced in electronic exchange. */ @@ -10169,12 +10169,12 @@ export interface NamingSystem extends DomainResource { /** * Provides guidance on the use of the namespace, including the handling of formatting characters, use of upper vs. lower case, etc. */ - usage?: string; - _usage?: Element; + usage?: string|undefined; + _usage?: Element|undefined; /** * Assist in searching for appropriate content. */ - useContext?: CodeableConcept[]; + useContext?: CodeableConcept[]|undefined; } /** * Code Values for the NamingSystem.kind field @@ -10199,11 +10199,11 @@ export interface NutritionOrderOralDietNutrient extends BackboneElement { /** * The quantity of the specified nutrient to include in diet. */ - amount?: Quantity; + amount?: Quantity|undefined; /** * The nutrient that is being modified such as carbohydrate or sodium. */ - modifier?: CodeableConcept; + modifier?: CodeableConcept|undefined; } /** * Class that describes any texture modifications required for the patient to safely consume various types of solid foods. @@ -10212,11 +10212,11 @@ export interface NutritionOrderOralDietTexture extends BackboneElement { /** * The food type(s) (e.g. meats, all foods) that the texture modification applies to. This could be all foods types. */ - foodType?: CodeableConcept; + foodType?: CodeableConcept|undefined; /** * Any texture modifications (for solid foods) that should be made, e.g. easy to chew, chopped, ground, and pureed. */ - modifier?: CodeableConcept; + modifier?: CodeableConcept|undefined; } /** * Diet given orally in contrast to enteral (tube) feeding. @@ -10225,28 +10225,28 @@ export interface NutritionOrderOralDiet extends BackboneElement { /** * The required consistency (e.g. honey-thick, nectar-thick, thin, thickened.) of liquids or fluids served to the patient. */ - fluidConsistencyType?: CodeableConcept[]; + fluidConsistencyType?: CodeableConcept[]|undefined; /** * Free text or additional instructions or information pertaining to the oral diet. */ - instruction?: string; - _instruction?: Element; + instruction?: string|undefined; + _instruction?: Element|undefined; /** * Class that defines the quantity and type of nutrient modifications required for the oral diet. */ - nutrient?: NutritionOrderOralDietNutrient[]; + nutrient?: NutritionOrderOralDietNutrient[]|undefined; /** * The time period and frequency at which the diet should be given. */ - schedule?: Timing[]; + schedule?: Timing[]|undefined; /** * Class that describes any texture modifications required for the patient to safely consume various types of solid foods. */ - texture?: NutritionOrderOralDietTexture[]; + texture?: NutritionOrderOralDietTexture[]|undefined; /** * The kind of diet or dietary restriction such as fiber restricted diet or diabetic diet. */ - type?: CodeableConcept[]; + type?: CodeableConcept[]|undefined; } /** * Oral nutritional products given in order to add further nutritional value to the patient's diet. @@ -10255,25 +10255,25 @@ export interface NutritionOrderSupplement extends BackboneElement { /** * Free text or additional instructions or information pertaining to the oral supplement. */ - instruction?: string; - _instruction?: Element; + instruction?: string|undefined; + _instruction?: Element|undefined; /** * The product or brand name of the nutritional supplement such as "Acme Protein Shake". */ - productName?: string; - _productName?: Element; + productName?: string|undefined; + _productName?: Element|undefined; /** * The amount of the nutritional supplement to be given. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * The time period and frequency at which the supplement(s) should be given. */ - schedule?: Timing[]; + schedule?: Timing[]|undefined; /** * The kind of nutritional supplement product required such as a high protein or pediatric clear liquid supplement. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Formula administration instructions as structured data. This repeating structure allows for changing the administration rate or volume over time for both bolus and continuous feeding. An example of this would be an instruction to increase the rate of continuous feeding every 2 hours. @@ -10282,19 +10282,19 @@ export interface NutritionOrderEnteralFormulaAdministration extends BackboneElem /** * The volume of formula to provide to the patient per the specified administration schedule. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * The rate of administration of formula via a feeding pump, e.g. 60 mL per hour, according to the specified schedule. */ - rateQuantity?: Quantity; + rateQuantity?: Quantity|undefined; /** * The rate of administration of formula via a feeding pump, e.g. 60 mL per hour, according to the specified schedule. */ - rateRatio?: Ratio; + rateRatio?: Ratio|undefined; /** * The time period and frequency at which the enteral formula should be delivered to the patient. */ - schedule?: Timing; + schedule?: Timing|undefined; } /** * Feeding provided through the gastrointestinal tract via a tube, catheter, or stoma that delivers nutrition distal to the oral cavity. @@ -10303,42 +10303,42 @@ export interface NutritionOrderEnteralFormula extends BackboneElement { /** * The product or brand name of the type of modular component to be added to the formula. */ - additiveProductName?: string; - _additiveProductName?: Element; + additiveProductName?: string|undefined; + _additiveProductName?: Element|undefined; /** * Indicates the type of modular component such as protein, carbohydrate, fat or fiber to be provided in addition to or mixed with the base formula. */ - additiveType?: CodeableConcept; + additiveType?: CodeableConcept|undefined; /** * Formula administration instructions as structured data. This repeating structure allows for changing the administration rate or volume over time for both bolus and continuous feeding. An example of this would be an instruction to increase the rate of continuous feeding every 2 hours. */ - administration?: NutritionOrderEnteralFormulaAdministration[]; + administration?: NutritionOrderEnteralFormulaAdministration[]|undefined; /** * Free text formula administration, feeding instructions or additional instructions or information. */ - administrationInstruction?: string; - _administrationInstruction?: Element; + administrationInstruction?: string|undefined; + _administrationInstruction?: Element|undefined; /** * The product or brand name of the enteral or infant formula product such as "ACME Adult Standard Formula". */ - baseFormulaProductName?: string; - _baseFormulaProductName?: Element; + baseFormulaProductName?: string|undefined; + _baseFormulaProductName?: Element|undefined; /** * The type of enteral or infant formula such as an adult standard formula with fiber or a soy-based infant formula. */ - baseFormulaType?: CodeableConcept; + baseFormulaType?: CodeableConcept|undefined; /** * The amount of energy (Calories) that the formula should provide per specified volume, typically per mL or fluid oz. For example, an infant may require a formula that provides 24 Calories per fluid ounce or an adult may require an enteral formula that provides 1.5 Calorie/mL. */ - caloricDensity?: Quantity; + caloricDensity?: Quantity|undefined; /** * The maximum total quantity of formula that may be administered to a subject over the period of time, e.g. 1440 mL over 24 hours. */ - maxVolumeToDeliver?: Quantity; + maxVolumeToDeliver?: Quantity|undefined; /** * The route or physiological path of administration into the patient's gastrointestinal tract for purposes of providing the formula feeding, e.g. nasogastric tube. */ - routeofAdministration?: CodeableConcept; + routeofAdministration?: CodeableConcept|undefined; } /** * A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident. @@ -10349,40 +10349,40 @@ export interface NutritionOrder extends DomainResource { /** * A link to a record of allergies or intolerances which should be included in the nutrition order. */ - allergyIntolerance?: Reference[]; + allergyIntolerance?: Reference[]|undefined; /** * The date and time that this nutrition order was requested. */ dateTime: string; - _dateTime?: Element; + _dateTime?: Element|undefined; /** * An encounter that provides additional information about the healthcare context in which this request is made. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * Feeding provided through the gastrointestinal tract via a tube, catheter, or stoma that delivers nutrition distal to the oral cavity. */ - enteralFormula?: NutritionOrderEnteralFormula; + enteralFormula?: NutritionOrderEnteralFormula|undefined; /** * This modifier is used to convey order-specific modifiers about the type of food that should NOT be given. These can be derived from patient allergies, intolerances, or preferences such as No Red Meat, No Soy or No Wheat or Gluten-Free. While it should not be necessary to repeat allergy or intolerance information captured in the referenced allergyIntolerance resource in the excludeFoodModifier, this element may be used to convey additional specificity related to foods that should be eliminated from the patient’s diet for any reason. This modifier applies to the entire nutrition order inclusive of the oral diet, nutritional supplements and enteral formula feedings. */ - excludeFoodModifier?: CodeableConcept[]; + excludeFoodModifier?: CodeableConcept[]|undefined; /** * This modifier is used to convey order-specific modifiers about the type of food that should be given. These can be derived from patient allergies, intolerances, or preferences such as Halal, Vegan or Kosher. This modifier applies to the entire nutrition order inclusive of the oral diet, nutritional supplements and enteral formula feedings. */ - foodPreferenceModifier?: CodeableConcept[]; + foodPreferenceModifier?: CodeableConcept[]|undefined; /** * Identifiers assigned to this order by the order sender or by the order receiver. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Diet given orally in contrast to enteral (tube) feeding. */ - oralDiet?: NutritionOrderOralDiet; + oralDiet?: NutritionOrderOralDiet|undefined; /** * The practitioner that holds legal responsibility for ordering the diet, nutritional supplement, or formula feedings. */ - orderer?: Reference; + orderer?: Reference|undefined; /** * The person (patient) who needs the nutrition order for an oral diet, nutritional supplement and/or enteral or formula feeding. */ @@ -10390,12 +10390,12 @@ export interface NutritionOrder extends DomainResource { /** * The workflow status of the nutrition order/request. */ - status?: NutritionOrderStatusCodes; - _status?: Element; + status?: NutritionOrderStatusCodes|undefined; + _status?: Element|undefined; /** * Oral nutritional products given in order to add further nutritional value to the patient's diet. */ - supplement?: NutritionOrderSupplement[]; + supplement?: NutritionOrderSupplement[]|undefined; } /** * Code Values for the NutritionOrder.status field @@ -10417,24 +10417,24 @@ export interface ObservationReferenceRange extends BackboneElement { /** * Some analytes vary greatly over age. */ - age?: Range; + age?: Range|undefined; /** * The value of the high bound of the reference range. The high bound of the reference range endpoint is inclusive of the value (e.g. reference range is >=5 - <=9). If the high bound is omitted, it is assumed to be meaningless (e.g. reference range is >= 2.3). */ - high?: Quantity; + high?: Quantity|undefined; /** * The value of the low bound of the reference range. The low bound of the reference range endpoint is inclusive of the value (e.g. reference range is >=5 - <=9). If the low bound is omitted, it is assumed to be meaningless (e.g. reference range is <=2.3). */ - low?: Quantity; + low?: Quantity|undefined; /** * Need to be able to say what kind of reference range this is - normal, recommended, therapeutic, or perhaps what state this reference range applies to (i.e. age, hormonal cycles, etc.). */ - meaning?: CodeableConcept; + meaning?: CodeableConcept|undefined; /** * Text based reference range in an observation which may be used when a quantitative range is not appropriate for an observation. An example would be a reference value of "Negative" or a list or table of 'normals'. */ - text?: string; - _text?: Element; + text?: string|undefined; + _text?: Element|undefined; } /** * Normally, an observation will have either a value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and a set of related observations or sometimes QuestionnaireResponse from which the measure is derived. @@ -10447,8 +10447,8 @@ export interface ObservationRelated extends BackboneElement { /** * A relationship type SHOULD be provided. */ - type?: ObservationRelatedTypeCodes; - _type?: Element; + type?: ObservationRelatedTypeCodes|undefined; + _type?: Element|undefined; } /** * Code Values for the Observation.related.type field @@ -10472,54 +10472,54 @@ export interface ObservationComponent extends BackboneElement { /** * For many results it is necessary to handle exceptional values in measurements. */ - dataAbsentReason?: CodeableConcept; + dataAbsentReason?: CodeableConcept|undefined; /** * Knowing what values are considered "normal" can help evaluate the significance of a particular result. Need to be able to provide multiple reference ranges for different contexts. */ - referenceRange?: ObservationReferenceRange[]; + referenceRange?: ObservationReferenceRange[]|undefined; /** * An observation exists to have a value, though it may not if it is in error, or it represents a group of observations. */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; /** * An observation exists to have a value, though it may not if it is in error, or it represents a group of observations. */ - valueCodeableConcept?: CodeableConcept; + valueCodeableConcept?: CodeableConcept|undefined; /** * An observation exists to have a value, though it may not if it is in error, or it represents a group of observations. */ - valueString?: string; - _valueString?: Element; + valueString?: string|undefined; + _valueString?: Element|undefined; /** * An observation exists to have a value, though it may not if it is in error, or it represents a group of observations. */ - valueRange?: Range; + valueRange?: Range|undefined; /** * An observation exists to have a value, though it may not if it is in error, or it represents a group of observations. */ - valueRatio?: Ratio; + valueRatio?: Ratio|undefined; /** * An observation exists to have a value, though it may not if it is in error, or it represents a group of observations. */ - valueSampledData?: SampledData; + valueSampledData?: SampledData|undefined; /** * An observation exists to have a value, though it may not if it is in error, or it represents a group of observations. */ - valueAttachment?: Attachment; + valueAttachment?: Attachment|undefined; /** * An observation exists to have a value, though it may not if it is in error, or it represents a group of observations. */ - valueTime?: string; - _valueTime?: Element; + valueTime?: string|undefined; + _valueTime?: Element|undefined; /** * An observation exists to have a value, though it may not if it is in error, or it represents a group of observations. */ - valueDateTime?: string; - _valueDateTime?: Element; + valueDateTime?: string|undefined; + _valueDateTime?: Element|undefined; /** * An observation exists to have a value, though it may not if it is in error, or it represents a group of observations. */ - valuePeriod?: Period; + valuePeriod?: Period|undefined; } /** * Measurements and simple assertions made about a patient, device or other subject. @@ -10530,11 +10530,11 @@ export interface Observation extends DomainResource { /** * Knowing where the observation is made is important for tracking if multiple sites are possible. */ - bodySite?: CodeableConcept; + bodySite?: CodeableConcept|undefined; /** * A code that classifies the general type of observation being made. This is used for searching, sorting and display purposes. */ - category?: CodeableConcept; + category?: CodeableConcept|undefined; /** * Knowing what kind of observation is being made is essential to understanding the observation. */ @@ -10542,118 +10542,118 @@ export interface Observation extends DomainResource { /** * Need to be able to provide free text additional information. */ - comments?: string; - _comments?: Element; + comments?: string|undefined; + _comments?: Element|undefined; /** * Component observations share the same attributes in the Observation resource as the primary observation and are always treated a part of a single observation (they are not separable). However, the reference range for the primary observation value is not inherited by the component values and is required when appropriate for each component observation. */ - component?: ObservationComponent[]; + component?: ObservationComponent[]|undefined; /** * For many results it is necessary to handle exceptional values in measurements. */ - dataAbsentReason?: CodeableConcept; + dataAbsentReason?: CodeableConcept|undefined; /** * The device used to generate the observation data. */ - device?: Reference; + device?: Reference|undefined; /** * Knowing when an observation was deemed true is important to its relevance as well as determining trends. */ - effectiveDateTime?: string; - _effectiveDateTime?: Element; + effectiveDateTime?: string|undefined; + _effectiveDateTime?: Element|undefined; /** * Knowing when an observation was deemed true is important to its relevance as well as determining trends. */ - effectivePeriod?: Period; + effectivePeriod?: Period|undefined; /** * For some observations it may be important to know the link between an observation and a particular encounter. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * Allows observations to be distinguished and referenced. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * For some results, particularly numeric results, an interpretation is necessary to fully understand the significance of a result. */ - interpretation?: CodeableConcept; + interpretation?: CodeableConcept|undefined; /** * The date and time this observation was made available to providers, typically after the results have been reviewed and verified. */ - issued?: string; - _issued?: Element; + issued?: string|undefined; + _issued?: Element|undefined; /** * In some cases, method can impact results and is thus used for determining whether results can be compared or determining significance of results. */ - method?: CodeableConcept; + method?: CodeableConcept|undefined; /** * May give a degree of confidence in the observation and also indicates where follow-up questions should be directed. */ - performer?: Reference[]; + performer?: Reference[]|undefined; /** * Knowing what values are considered "normal" can help evaluate the significance of a particular result. Need to be able to provide multiple reference ranges for different contexts. */ - referenceRange?: ObservationReferenceRange[]; + referenceRange?: ObservationReferenceRange[]|undefined; /** * Normally, an observation will have either a value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and a set of related observations or sometimes QuestionnaireResponse from which the measure is derived. */ - related?: ObservationRelated[]; + related?: ObservationRelated[]|undefined; /** * The specimen that was used when this observation was made. */ - specimen?: Reference; + specimen?: Reference|undefined; /** * Need to track the status of individual results. Some results are finalized before the whole report is finalized. */ status: ObservationStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Observations have no value if you don't know who or what they're about. */ - subject?: Reference; + subject?: Reference|undefined; /** * An observation exists to have a value, though it may not if it is in error, or it represents a group of observations. */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; /** * An observation exists to have a value, though it may not if it is in error, or it represents a group of observations. */ - valueCodeableConcept?: CodeableConcept; + valueCodeableConcept?: CodeableConcept|undefined; /** * An observation exists to have a value, though it may not if it is in error, or it represents a group of observations. */ - valueString?: string; - _valueString?: Element; + valueString?: string|undefined; + _valueString?: Element|undefined; /** * An observation exists to have a value, though it may not if it is in error, or it represents a group of observations. */ - valueRange?: Range; + valueRange?: Range|undefined; /** * An observation exists to have a value, though it may not if it is in error, or it represents a group of observations. */ - valueRatio?: Ratio; + valueRatio?: Ratio|undefined; /** * An observation exists to have a value, though it may not if it is in error, or it represents a group of observations. */ - valueSampledData?: SampledData; + valueSampledData?: SampledData|undefined; /** * An observation exists to have a value, though it may not if it is in error, or it represents a group of observations. */ - valueAttachment?: Attachment; + valueAttachment?: Attachment|undefined; /** * An observation exists to have a value, though it may not if it is in error, or it represents a group of observations. */ - valueTime?: string; - _valueTime?: Element; + valueTime?: string|undefined; + _valueTime?: Element|undefined; /** * An observation exists to have a value, though it may not if it is in error, or it represents a group of observations. */ - valueDateTime?: string; - _valueDateTime?: Element; + valueDateTime?: string|undefined; + _valueDateTime?: Element|undefined; /** * An observation exists to have a value, though it may not if it is in error, or it represents a group of observations. */ - valuePeriod?: Period; + valuePeriod?: Period|undefined; } /** * Code Values for the Observation.status field @@ -10674,12 +10674,12 @@ export interface OperationDefinitionContact extends BackboneElement { /** * The name of an individual to contact regarding the operation definition. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Contact details for individual (if a name was provided) or the publisher. */ - telecom?: ContactPoint[]; + telecom?: ContactPoint[]|undefined; } /** * Binds to a value set if this parameter is coded (code, Coding, CodeableConcept). @@ -10689,16 +10689,16 @@ export interface OperationDefinitionParameterBinding extends BackboneElement { * Indicates the degree of conformance expectations associated with this binding - that is, the degree to which the provided value set must be adhered to in the instances. */ strength: OperationDefinitionParameterBindingStrengthCodes; - _strength?: Element; + _strength?: Element|undefined; /** * Points to the value set or external definition (e.g. implicit value set) that identifies the set of codes to be used. */ - valueSetUri?: string; - _valueSetUri?: Element; + valueSetUri?: string|undefined; + _valueSetUri?: Element|undefined; /** * Points to the value set or external definition (e.g. implicit value set) that identifies the set of codes to be used. */ - valueSetReference?: Reference; + valueSetReference?: Reference|undefined; } /** * Code Values for the OperationDefinition.parameter.binding.strength field @@ -10716,17 +10716,17 @@ export interface OperationDefinitionParameter extends BackboneElement { /** * Binds to a value set if this parameter is coded (code, Coding, CodeableConcept). */ - binding?: OperationDefinitionParameterBinding; + binding?: OperationDefinitionParameterBinding|undefined; /** * Describes the meaning or use of this parameter. */ - documentation?: string; - _documentation?: Element; + documentation?: string|undefined; + _documentation?: Element|undefined; /** * The maximum number of times this element is permitted to appear in the request or response. */ max: string; - _max?: Element; + _max?: Element|undefined; /** * The minimum number of times this parameter SHALL appear in the request or response. */ @@ -10735,25 +10735,25 @@ export interface OperationDefinitionParameter extends BackboneElement { * The name of used to identify the parameter. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * The parts of a Tuple Parameter. */ - part?: OperationDefinitionParameter[]; + part?: OperationDefinitionParameter[]|undefined; /** * A profile the specifies the rules that this parameter must conform to. */ - profile?: Reference; + profile?: Reference|undefined; /** * The type for this parameter. */ - type?: string; - _type?: Element; + type?: string|undefined; + _type?: Element|undefined; /** * Whether this is an input or an output parameter. */ use: OperationDefinitionParameterUseCodes; - _use?: Element; + _use?: Element|undefined; } /** * Code Values for the OperationDefinition.parameter.use field @@ -10771,95 +10771,95 @@ export interface OperationDefinition extends DomainResource { /** * Indicates that this operation definition is a constraining profile on the base. */ - base?: Reference; + base?: Reference|undefined; /** * The name used to invoke the operation. */ code: string; - _code?: Element; + _code?: Element|undefined; /** * Contacts to assist a user in finding and communicating with the publisher. */ - contact?: OperationDefinitionContact[]; + contact?: OperationDefinitionContact[]|undefined; /** * The date this version of the operation definition was published. The date must change when the business version changes, if it does, and it must change if the status code changes. In addition, it should change when the substantive content of the Operation Definition changes. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * A free text natural language description of the profile and its use. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Allows filtering of profiles that are appropriate for use vs. not. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * Operations that are idempotent (see [HTTP specification definition of idempotent](http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html)) may be invoked by performing an HTTP GET operation instead of a POST. */ - idempotent?: boolean; - _idempotent?: Element; + idempotent?: boolean|undefined; + _idempotent?: Element|undefined; /** * Indicates whether this operation can be invoked on a particular instance of one of the given types. */ instance: boolean; - _instance?: Element; + _instance?: Element|undefined; /** * Whether this is an operation or a named query. */ kind: OperationDefinitionKindCodes; - _kind?: Element; + _kind?: Element|undefined; /** * A free text natural language name identifying the operation. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * Additional information about how to use this operation or named query. */ - notes?: string; - _notes?: Element; + notes?: string|undefined; + _notes?: Element|undefined; /** * The parameters for the operation/query. */ - parameter?: OperationDefinitionParameter[]; + parameter?: OperationDefinitionParameter[]|undefined; /** * Helps establish the "authority/credibility" of the operation definition. May also allow for contact. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * Explains why this operation definition is needed and why it's been constrained as it has. */ - requirements?: string; - _requirements?: Element; + requirements?: string|undefined; + _requirements?: Element|undefined; /** * Allows filtering of profiles that are appropriate for use vs. not. */ status: OperationDefinitionStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Indicates whether this operation or named query can be invoked at the system level (e.g. without needing to choose a resource type for the context). */ system: boolean; - _system?: Element; + _system?: Element|undefined; /** * Indicates whether this operation or named query can be invoked at the resource type level for any given resource type level (e.g. without needing to choose a resource type for the context). */ - type?: string[]; - _type?: Element[]; + type?: string[]|undefined; + _type?: Element[]|undefined; /** * An absolute URL that is used to identify this operation definition when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this operation definition is (or will be) published. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * There may be multiple resource versions of the profile that have this same identifier. The resource version id will change for technical reasons, whereas the stated version number needs to be under the author's control. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the OperationDefinition.kind field @@ -10884,26 +10884,26 @@ export interface OperationOutcomeIssue extends BackboneElement { * Expresses the issue in a human and computer-friendly way, allowing the requesting system to behave differently based on the type of issue. */ code: string; - _code?: Element; + _code?: Element|undefined; /** * Additional details about the error. This may be a text description of the error, or a system code that identifies the error. */ - details?: CodeableConcept; + details?: CodeableConcept|undefined; /** * Additional diagnostic information about the issue. Typically, this may be a description of how a value is erroneous, or a stack dump to help trace the issue. */ - diagnostics?: string; - _diagnostics?: Element; + diagnostics?: string|undefined; + _diagnostics?: Element|undefined; /** * Allows systems to highlight or otherwise guide users to elements implicated in issues to allow them to be fixed more easily. */ - location?: string[]; - _location?: Element[]; + location?: string[]|undefined; + _location?: Element[]|undefined; /** * Indicates how relevant the issue is to the overall success of the action. */ severity: OperationOutcomeIssueSeverityCodes; - _severity?: Element; + _severity?: Element|undefined; } /** * Code Values for the OperationOutcome.issue.severity field @@ -10932,11 +10932,11 @@ export interface OrderWhen extends BackboneElement { /** * Code specifies when request should be done. The code may simply be a priority code. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * A formal schedule. */ - schedule?: Timing; + schedule?: Timing|undefined; } /** * A request to perform an action. @@ -10947,8 +10947,8 @@ export interface Order extends DomainResource { /** * When the order was made. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * What action is being ordered. */ @@ -10956,31 +10956,31 @@ export interface Order extends DomainResource { /** * Identifiers assigned to this order by the orderer or by the receiver. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Text - why the order was made. */ - reasonCodeableConcept?: CodeableConcept; + reasonCodeableConcept?: CodeableConcept|undefined; /** * Text - why the order was made. */ - reasonReference?: Reference; + reasonReference?: Reference|undefined; /** * Who initiated the order. */ - source?: Reference; + source?: Reference|undefined; /** * Patient this order is about. */ - subject?: Reference; + subject?: Reference|undefined; /** * Who is intended to fulfill the order. */ - target?: Reference; + target?: Reference|undefined; /** * When order should be fulfilled. */ - when?: OrderWhen; + when?: OrderWhen|undefined; } /** * A response to an order. @@ -10991,26 +10991,26 @@ export interface OrderResponse extends DomainResource { /** * The date and time at which this order response was made (created/posted). */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * Additional description about the response - e.g. a text description provided by a human user when making decisions about the order. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Links to resources that provide details of the outcome of performing the order; e.g. Diagnostic Reports in a response that is made to an order that referenced a diagnostic order. */ - fulfillment?: Reference[]; + fulfillment?: Reference[]|undefined; /** * Identifiers assigned to this order. The identifiers are usually assigned by the system responding to the order, but they may be provided or added to by other systems. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * What this response says about the status of the original order. */ orderStatus: OrderResponseOrderStatusCodes; - _orderStatus?: Element; + _orderStatus?: Element|undefined; /** * A reference to the order that this is in response to. */ @@ -11018,7 +11018,7 @@ export interface OrderResponse extends DomainResource { /** * The person, organization, or device credited with making the response. */ - who?: Reference; + who?: Reference|undefined; } /** * Code Values for the OrderResponse.orderStatus field @@ -11041,19 +11041,19 @@ export interface OrganizationContact extends BackboneElement { /** * May need to keep track of a contact party's address for contacting, billing or reporting requirements. */ - address?: Address; + address?: Address|undefined; /** * Need to be able to track the person by name. */ - name?: HumanName; + name?: HumanName|undefined; /** * Need to distinguish between multiple contact persons. */ - purpose?: CodeableConcept; + purpose?: CodeableConcept|undefined; /** * People have (primary) ways to contact them in some way such as phone, email. */ - telecom?: ContactPoint[]; + telecom?: ContactPoint[]|undefined; } /** * A formally or informally recognized grouping of people or organizations formed for the purpose of achieving some form of collective action. Includes companies, institutions, corporations, departments, community groups, healthcare practice groups, etc. @@ -11064,37 +11064,37 @@ export interface Organization extends DomainResource { /** * Need a flag to indicate a record is no longer to be used and should generally be hidden for the user in the UI. */ - active?: boolean; - _active?: Element; + active?: boolean|undefined; + _active?: Element|undefined; /** * May need to keep track of the organization's addresses for contacting, billing or reporting requirements. */ - address?: Address[]; + address?: Address[]|undefined; /** * Need to keep track of assigned contact points within bigger organization. */ - contact?: OrganizationContact[]; + contact?: OrganizationContact[]|undefined; /** * Organizations are known by a variety of ids. Some institutions maintain several, and most collect identifiers for exchange with other organizations concerning the organization. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Need to use the name as the label of the organization. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Need to be able to track the hierarchy of organizations within an organization. */ - partOf?: Reference; + partOf?: Reference|undefined; /** * Human contact for the organization. */ - telecom?: ContactPoint[]; + telecom?: ContactPoint[]|undefined; /** * Need to be able to track the kind of organization that this is - different organization types have different uses. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * A parameter passed to or received from the operation. @@ -11104,159 +11104,159 @@ export interface ParametersParameter extends BackboneElement { * The name of the parameter (reference to the operation definition). */ name: string; - _name?: Element; + _name?: Element|undefined; /** * A named part of a parameter. In many implementation context, a set of named parts is known as a "Tuple". */ - part?: ParametersParameter[]; + part?: ParametersParameter[]|undefined; /** * If the parameter is a whole resource. */ - resource?: FhirResource; + resource?: FhirResource|undefined; /** * If the parameter is a data type. */ - valueBoolean?: boolean; - _valueBoolean?: Element; + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; /** * If the parameter is a data type. */ - valueInteger?: number; + valueInteger?: number|undefined; /** * If the parameter is a data type. */ - valueDecimal?: number; + valueDecimal?: number|undefined; /** * If the parameter is a data type. */ - valueBase64Binary?: string; - _valueBase64Binary?: Element; + valueBase64Binary?: string|undefined; + _valueBase64Binary?: Element|undefined; /** * If the parameter is a data type. */ - valueInstant?: string; - _valueInstant?: Element; + valueInstant?: string|undefined; + _valueInstant?: Element|undefined; /** * If the parameter is a data type. */ - valueString?: string; - _valueString?: Element; + valueString?: string|undefined; + _valueString?: Element|undefined; /** * If the parameter is a data type. */ - valueUri?: string; - _valueUri?: Element; + valueUri?: string|undefined; + _valueUri?: Element|undefined; /** * If the parameter is a data type. */ - valueDate?: string; - _valueDate?: Element; + valueDate?: string|undefined; + _valueDate?: Element|undefined; /** * If the parameter is a data type. */ - valueDateTime?: string; - _valueDateTime?: Element; + valueDateTime?: string|undefined; + _valueDateTime?: Element|undefined; /** * If the parameter is a data type. */ - valueTime?: string; - _valueTime?: Element; + valueTime?: string|undefined; + _valueTime?: Element|undefined; /** * If the parameter is a data type. */ - valueCode?: string; - _valueCode?: Element; + valueCode?: string|undefined; + _valueCode?: Element|undefined; /** * If the parameter is a data type. */ - valueOid?: string; - _valueOid?: Element; + valueOid?: string|undefined; + _valueOid?: Element|undefined; /** * If the parameter is a data type. */ - valueId?: string; - _valueId?: Element; + valueId?: string|undefined; + _valueId?: Element|undefined; /** * If the parameter is a data type. */ - valueUnsignedInt?: number; + valueUnsignedInt?: number|undefined; /** * If the parameter is a data type. */ - valuePositiveInt?: number; + valuePositiveInt?: number|undefined; /** * If the parameter is a data type. */ - valueMarkdown?: string; - _valueMarkdown?: Element; + valueMarkdown?: string|undefined; + _valueMarkdown?: Element|undefined; /** * If the parameter is a data type. */ - valueAnnotation?: Annotation; + valueAnnotation?: Annotation|undefined; /** * If the parameter is a data type. */ - valueAttachment?: Attachment; + valueAttachment?: Attachment|undefined; /** * If the parameter is a data type. */ - valueIdentifier?: Identifier; + valueIdentifier?: Identifier|undefined; /** * If the parameter is a data type. */ - valueCodeableConcept?: CodeableConcept; + valueCodeableConcept?: CodeableConcept|undefined; /** * If the parameter is a data type. */ - valueCoding?: Coding; + valueCoding?: Coding|undefined; /** * If the parameter is a data type. */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; /** * If the parameter is a data type. */ - valueRange?: Range; + valueRange?: Range|undefined; /** * If the parameter is a data type. */ - valuePeriod?: Period; + valuePeriod?: Period|undefined; /** * If the parameter is a data type. */ - valueRatio?: Ratio; + valueRatio?: Ratio|undefined; /** * If the parameter is a data type. */ - valueSampledData?: SampledData; + valueSampledData?: SampledData|undefined; /** * If the parameter is a data type. */ - valueSignature?: Signature; + valueSignature?: Signature|undefined; /** * If the parameter is a data type. */ - valueHumanName?: HumanName; + valueHumanName?: HumanName|undefined; /** * If the parameter is a data type. */ - valueAddress?: Address; + valueAddress?: Address|undefined; /** * If the parameter is a data type. */ - valueContactPoint?: ContactPoint; + valueContactPoint?: ContactPoint|undefined; /** * If the parameter is a data type. */ - valueTiming?: Timing; + valueTiming?: Timing|undefined; /** * If the parameter is a data type. */ - valueReference?: Reference; + valueReference?: Reference|undefined; /** * If the parameter is a data type. */ - valueMeta?: Meta; + valueMeta?: Meta|undefined; } /** * This special resource type is used to represent an operation request and response (operations.html). It has no other use, and there is no RESTful endpoint associated with it. @@ -11267,7 +11267,7 @@ export interface Parameters extends Resource { /** * A parameter passed to or received from the operation. */ - parameter?: ParametersParameter[]; + parameter?: ParametersParameter[]|undefined; } /** * Need to track people you can contact about the patient. @@ -11276,32 +11276,32 @@ export interface PatientContact extends BackboneElement { /** * Need to keep track where the contact person can be contacted per postal mail or visited. */ - address?: Address; + address?: Address|undefined; /** * Needed to address the person correctly. */ - gender?: PatientContactGenderCodes; - _gender?: Element; + gender?: PatientContactGenderCodes|undefined; + _gender?: Element|undefined; /** * Contact persons need to be identified by name, but it is uncommon to need details about multiple other names for that contact person. */ - name?: HumanName; + name?: HumanName|undefined; /** * For guardians or business related contacts, the organization is relevant. */ - organization?: Reference; + organization?: Reference|undefined; /** * The period during which this contact person or organization is valid to be contacted relating to this patient. */ - period?: Period; + period?: Period|undefined; /** * Used to determine which contact person is the most relevant to approach, depending on circumstances. */ - relationship?: CodeableConcept[]; + relationship?: CodeableConcept[]|undefined; /** * People have (primary) ways to contact them in some way such as phone, email. */ - telecom?: ContactPoint[]; + telecom?: ContactPoint[]|undefined; } /** * Code Values for the Patient.contact.gender field @@ -11319,11 +11319,11 @@ export interface PatientAnimal extends BackboneElement { /** * May need to know the specific kind within the species. */ - breed?: CodeableConcept; + breed?: CodeableConcept|undefined; /** * Gender status can affect housing and animal behavior. */ - genderStatus?: CodeableConcept; + genderStatus?: CodeableConcept|undefined; /** * Need to know what kind of animal. */ @@ -11340,8 +11340,8 @@ export interface PatientCommunication extends BackboneElement { /** * People that master multiple languages up to certain level may prefer one or more, i.e. feel more confident in communicating in a particular language making other languages sort of a fall back method. */ - preferred?: boolean; - _preferred?: Element; + preferred?: boolean|undefined; + _preferred?: Element|undefined; } /** * There are multiple usecases: * Duplicate patient records due to the clerical errors associated with the difficulties of identifying humans consistently, and * Distribution of patient information across multiple servers. @@ -11355,7 +11355,7 @@ export interface PatientLink extends BackboneElement { * The type of link between this patient resource and another patient resource. */ type: PatientLinkTypeCodes; - _type?: Element; + _type?: Element|undefined; } /** * Code Values for the Patient.link.type field @@ -11374,85 +11374,85 @@ export interface Patient extends DomainResource { /** * Need to be able to mark a patient record as not to be used because it was created in error. */ - active?: boolean; - _active?: Element; + active?: boolean|undefined; + _active?: Element|undefined; /** * May need to keep track of patient addresses for contacting, billing or reporting requirements and also to help with identification. */ - address?: Address[]; + address?: Address[]|undefined; /** * Many clinical systems are extended to care for animal patients as well as human. */ - animal?: PatientAnimal; + animal?: PatientAnimal|undefined; /** * Age of the individual drives many clinical processes. */ - birthDate?: string; - _birthDate?: Element; + birthDate?: string|undefined; + _birthDate?: Element|undefined; /** * Patient's nominated care provider. */ - careProvider?: Reference[]; + careProvider?: Reference[]|undefined; /** * If a patient does not speak the local language, interpreters may be required, so languages spoken and proficiency is an important things to keep track of both for patient and other persons of interest. */ - communication?: PatientCommunication[]; + communication?: PatientCommunication[]|undefined; /** * Need to track people you can contact about the patient. */ - contact?: PatientContact[]; + contact?: PatientContact[]|undefined; /** * The fact that a patient is deceased influences the clinical process. Also, in human communication and relation management it is necessary to know whether the person is alive. */ - deceasedBoolean?: boolean; - _deceasedBoolean?: Element; + deceasedBoolean?: boolean|undefined; + _deceasedBoolean?: Element|undefined; /** * The fact that a patient is deceased influences the clinical process. Also, in human communication and relation management it is necessary to know whether the person is alive. */ - deceasedDateTime?: string; - _deceasedDateTime?: Element; + deceasedDateTime?: string|undefined; + _deceasedDateTime?: Element|undefined; /** * Needed for identification of the individual, in combination with (at least) name and birth date. Gender of individual drives many clinical processes. */ - gender?: PatientGenderCodes; - _gender?: Element; + gender?: PatientGenderCodes|undefined; + _gender?: Element|undefined; /** * Patients are almost always assigned specific numerical identifiers. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * There are multiple usecases: * Duplicate patient records due to the clerical errors associated with the difficulties of identifying humans consistently, and * Distribution of patient information across multiple servers. */ - link?: PatientLink[]; + link?: PatientLink[]|undefined; /** * Need to know who recognizes this patient record, manages and updates it. */ - managingOrganization?: Reference; + managingOrganization?: Reference|undefined; /** * Most, if not all systems capture it. */ - maritalStatus?: CodeableConcept; + maritalStatus?: CodeableConcept|undefined; /** * For disambiguation of multiple-birth children, especially relevant where the care provider doesn't meet the patient, such as labs. */ - multipleBirthBoolean?: boolean; - _multipleBirthBoolean?: Element; + multipleBirthBoolean?: boolean|undefined; + _multipleBirthBoolean?: Element|undefined; /** * For disambiguation of multiple-birth children, especially relevant where the care provider doesn't meet the patient, such as labs. */ - multipleBirthInteger?: number; + multipleBirthInteger?: number|undefined; /** * Need to be able to track the patient by multiple names. Examples are your official name and a partner name. */ - name?: HumanName[]; + name?: HumanName[]|undefined; /** * Many EHR systems have the capability to capture an image of the patient. Fits with newer social media usage too. */ - photo?: Attachment[]; + photo?: Attachment[]|undefined; /** * People have (primary) ways to contact them in some way such as phone, email. */ - telecom?: ContactPoint[]; + telecom?: ContactPoint[]|undefined; } /** * Code Values for the Patient.gender field @@ -11472,20 +11472,20 @@ export interface PaymentNotice extends DomainResource { /** * The date when this resource was created. */ - created?: string; - _created?: Element; + created?: string|undefined; + _created?: Element|undefined; /** * The Response business identifier. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The organization which is responsible for the services rendered to the patient. */ - organization?: Reference; + organization?: Reference|undefined; /** * Knowledge of the original version can inform the processing of this instance so that information which is processable by the originating system may be generated. */ - originalRuleset?: Coding; + originalRuleset?: Coding|undefined; /** * The payment status, typically paid: payment sent, cleared: payment received. */ @@ -11493,23 +11493,23 @@ export interface PaymentNotice extends DomainResource { /** * The practitioner who is responsible for the services rendered to the patient. */ - provider?: Reference; + provider?: Reference|undefined; /** * Reference of resource to reverse. */ - request?: Reference; + request?: Reference|undefined; /** * Reference of response to resource to reverse. */ - response?: Reference; + response?: Reference|undefined; /** * The version of the style of resource contents. This should be mapped to the allowable profiles for this and supporting resources. */ - ruleset?: Coding; + ruleset?: Coding|undefined; /** * The Insurer who is target of the request. */ - target?: Reference; + target?: Reference|undefined; } /** * List of individual settlement amounts and the corresponding transaction. @@ -11518,28 +11518,28 @@ export interface PaymentReconciliationDetail extends BackboneElement { /** * Amount paid for this detail. */ - amount?: Quantity; + amount?: Quantity|undefined; /** * The date of the invoice or financial resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * The organization which is receiving the payment. */ - payee?: Reference; + payee?: Reference|undefined; /** * The claim or financial resource. */ - request?: Reference; + request?: Reference|undefined; /** * The claim response resource. */ - responce?: Reference; + responce?: Reference|undefined; /** * The Organization which submitted the invoice or financial transaction. */ - submitter?: Reference; + submitter?: Reference|undefined; /** * Code to indicate the nature of the payment, adjustment, funds advance, etc. */ @@ -11552,12 +11552,12 @@ export interface PaymentReconciliationNote extends BackboneElement { /** * The note text. */ - text?: string; - _text?: Element; + text?: string|undefined; + _text?: Element|undefined; /** * The note purpose: Print/Display. */ - type?: Coding; + type?: Coding|undefined; } /** * This resource provides payment details and claim references supporting a bulk payment. @@ -11568,62 +11568,62 @@ export interface PaymentReconciliation extends DomainResource { /** * The date when the enclosed suite of services were performed or completed. */ - created?: string; - _created?: Element; + created?: string|undefined; + _created?: Element|undefined; /** * List of individual settlement amounts and the corresponding transaction. */ - detail?: PaymentReconciliationDetail[]; + detail?: PaymentReconciliationDetail[]|undefined; /** * A description of the status of the adjudication. */ - disposition?: string; - _disposition?: Element; + disposition?: string|undefined; + _disposition?: Element|undefined; /** * The form to be used for printing the content. */ - form?: Coding; + form?: Coding|undefined; /** * The Response business identifier. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Suite of notes. */ - note?: PaymentReconciliationNote[]; + note?: PaymentReconciliationNote[]|undefined; /** * The Insurer who produced this adjudicated response. */ - organization?: Reference; + organization?: Reference|undefined; /** * Knowledge of the original version can inform the processing of this instance so that information which is processable by the originating system may be generated. */ - originalRuleset?: Coding; + originalRuleset?: Coding|undefined; /** * Transaction status: error, complete. */ - outcome?: PaymentReconciliationOutcomeCodes; - _outcome?: Element; + outcome?: PaymentReconciliationOutcomeCodes|undefined; + _outcome?: Element|undefined; /** * The period of time for which payments have been gathered into this bulk payment for settlement. */ - period?: Period; + period?: Period|undefined; /** * Original request resource reference. */ - request?: Reference; + request?: Reference|undefined; /** * The organization which is responsible for the services rendered to the patient. */ - requestOrganization?: Reference; + requestOrganization?: Reference|undefined; /** * The practitioner who is responsible for the services rendered to the patient. */ - requestProvider?: Reference; + requestProvider?: Reference|undefined; /** * The version of the style of resource contents. This should be mapped to the allowable profiles for this and supporting resources. */ - ruleset?: Coding; + ruleset?: Coding|undefined; /** * Total payment amount. */ @@ -11643,8 +11643,8 @@ export interface PersonLink extends BackboneElement { /** * Level of assurance that this link is actually associated with the target resource. */ - assurance?: PersonLinkAssuranceCodes; - _assurance?: Element; + assurance?: PersonLinkAssuranceCodes|undefined; + _assurance?: Element|undefined; /** * The resource to which this actual person is associated. */ @@ -11668,46 +11668,46 @@ export interface Person extends DomainResource { /** * Need to be able to mark a person record as not to be used because it was created in error. */ - active?: boolean; - _active?: Element; + active?: boolean|undefined; + _active?: Element|undefined; /** * May need to keep track of person's addresses for contacting, billing or reporting requirements and also to help with identification. */ - address?: Address[]; + address?: Address[]|undefined; /** * Age of person drives many clinical processes, and is often used in performing identification of the person. Times are not included so as to not confuse things with potential timezone issues. */ - birthDate?: string; - _birthDate?: Element; + birthDate?: string|undefined; + _birthDate?: Element|undefined; /** * Needed for identification of the person, in combination with (at least) name and birth date. Gender of person drives many clinical processes. */ - gender?: PersonGenderCodes; - _gender?: Element; + gender?: PersonGenderCodes|undefined; + _gender?: Element|undefined; /** * People are known by a variety of ids. Some institutions maintain several, and most collect identifiers for exchange with other organizations concerning the person. Examples are national person identifier and local identifier. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Link to a resource that concerns the same actual person. */ - link?: PersonLink[]; + link?: PersonLink[]|undefined; /** * Need to know who recognizes this person record, manages and updates it. */ - managingOrganization?: Reference; + managingOrganization?: Reference|undefined; /** * Need to be able to track the person by multiple names. Examples are your official name and a partner name. */ - name?: HumanName[]; + name?: HumanName[]|undefined; /** * An image that can be displayed as a thumbnail of the person to enhance the identification of the individual. */ - photo?: Attachment; + photo?: Attachment|undefined; /** * People have (primary) ways to contact them in some way such as phone, email. */ - telecom?: ContactPoint[]; + telecom?: ContactPoint[]|undefined; } /** * Code Values for the Person.gender field @@ -11725,27 +11725,27 @@ export interface PractitionerPractitionerRole extends BackboneElement { /** * The list of healthcare services that this worker provides for this role's Organization/Location(s). */ - healthcareService?: Reference[]; + healthcareService?: Reference[]|undefined; /** * The location(s) at which this practitioner provides care. */ - location?: Reference[]; + location?: Reference[]|undefined; /** * The organization where the Practitioner performs the roles associated. */ - managingOrganization?: Reference; + managingOrganization?: Reference|undefined; /** * Even after the agencies is revoked, the fact that it existed must still be recorded. */ - period?: Period; + period?: Period|undefined; /** * Need to know what authority the practitioner has - what can they do? */ - role?: CodeableConcept; + role?: CodeableConcept|undefined; /** * Specific specialty of the practitioner. */ - specialty?: CodeableConcept[]; + specialty?: CodeableConcept[]|undefined; } /** * Qualifications obtained by training and certification. @@ -11758,15 +11758,15 @@ export interface PractitionerQualification extends BackboneElement { /** * Often, specific identities are assigned for the qualification. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Organization that regulates and issues the qualification. */ - issuer?: Reference; + issuer?: Reference|undefined; /** * Qualifications are often for a limited period of time, and can be revoked. */ - period?: Period; + period?: Period|undefined; } /** * A person who is directly or indirectly involved in the provisioning of healthcare. @@ -11777,50 +11777,50 @@ export interface Practitioner extends DomainResource { /** * Need to be able to mark a practitioner record as not to be used because it was created in error. */ - active?: boolean; - _active?: Element; + active?: boolean|undefined; + _active?: Element|undefined; /** * Need to keep track where the practitioner can found during work or for directing mail. */ - address?: Address[]; + address?: Address[]|undefined; /** * Needed for identification. */ - birthDate?: string; - _birthDate?: Element; + birthDate?: string|undefined; + _birthDate?: Element|undefined; /** * Knowing which language a practitioner speaks can help in facilitating communication with patients. */ - communication?: CodeableConcept[]; + communication?: CodeableConcept[]|undefined; /** * Needed to address the person correctly. */ - gender?: PractitionerGenderCodes; - _gender?: Element; + gender?: PractitionerGenderCodes|undefined; + _gender?: Element|undefined; /** * Often, specific identities are assigned for the agent. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Contact persons need to be identified by name, but it is uncommon to need details about multiple other names for that person. */ - name?: HumanName; + name?: HumanName|undefined; /** * Many EHR systems have the capability to capture an image of patients and personnel. Fits with newer social media usage too. */ - photo?: Attachment[]; + photo?: Attachment[]|undefined; /** * The list of roles/organizations that the practitioner is associated with. */ - practitionerRole?: PractitionerPractitionerRole[]; + practitionerRole?: PractitionerPractitionerRole[]|undefined; /** * Qualifications obtained by training and certification. */ - qualification?: PractitionerQualification[]; + qualification?: PractitionerQualification[]|undefined; /** * Need to know how to reach a practitioner. */ - telecom?: ContactPoint[]; + telecom?: ContactPoint[]|undefined; } /** * Code Values for the Practitioner.gender field @@ -11838,11 +11838,11 @@ export interface ProcedurePerformer extends BackboneElement { /** * The practitioner who was involved in the procedure. */ - actor?: Reference; + actor?: Reference|undefined; /** * For example: surgeon, anaethetist, endoscopist. */ - role?: CodeableConcept; + role?: CodeableConcept|undefined; } /** * A device that is implanted, removed or otherwise manipulated (calibration, battery replacement, fitting a prosthesis, attaching a wound-vac, etc.) as a focal portion of the Procedure. @@ -11851,7 +11851,7 @@ export interface ProcedureFocalDevice extends BackboneElement { /** * The kind of change that happened to the device during the procedure. */ - action?: CodeableConcept; + action?: CodeableConcept|undefined; /** * The device that was manipulated (changed) during the procedure. */ @@ -11866,11 +11866,11 @@ export interface Procedure extends DomainResource { /** * Detailed and structured anatomical location information. Multiple locations are allowed - e.g. multiple punch biopsies of a lesion. */ - bodySite?: CodeableConcept[]; + bodySite?: CodeableConcept[]|undefined; /** * A code that classifies the procedure for searching, sorting and display purposes (e.g. "Surgical Procedure"). */ - category?: CodeableConcept; + category?: CodeableConcept|undefined; /** * The specific procedure that is performed. Use text if the exact nature of the procedure cannot be coded (e.g. "Laparoscopic Appendectomy"). */ @@ -11878,78 +11878,78 @@ export interface Procedure extends DomainResource { /** * Any complications that occurred during the procedure, or in the immediate post-performance period. These are generally tracked separately from the notes, which will typically describe the procedure itself rather than any 'post procedure' issues. */ - complication?: CodeableConcept[]; + complication?: CodeableConcept[]|undefined; /** * The encounter during which the procedure was performed. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * A device that is implanted, removed or otherwise manipulated (calibration, battery replacement, fitting a prosthesis, attaching a wound-vac, etc.) as a focal portion of the Procedure. */ - focalDevice?: ProcedureFocalDevice[]; + focalDevice?: ProcedureFocalDevice[]|undefined; /** * If the procedure required specific follow up - e.g. removal of sutures. The followup may be represented as a simple note, or could potentially be more complex in which case the CarePlan resource can be used. */ - followUp?: CodeableConcept[]; + followUp?: CodeableConcept[]|undefined; /** * Need to allow connection to a wider workflow. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Ties a procedure to where the records are likely kept. */ - location?: Reference; + location?: Reference|undefined; /** * Any other notes about the procedure. E.g. the operative notes. */ - notes?: Annotation[]; + notes?: Annotation[]|undefined; /** * Set this to true if the record is saying that the procedure was NOT performed. */ - notPerformed?: boolean; - _notPerformed?: Element; + notPerformed?: boolean|undefined; + _notPerformed?: Element|undefined; /** * The outcome of the procedure - did it resolve reasons for the procedure being performed? */ - outcome?: CodeableConcept; + outcome?: CodeableConcept|undefined; /** * The date(time)/period over which the procedure was performed. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured. */ - performedDateTime?: string; - _performedDateTime?: Element; + performedDateTime?: string|undefined; + _performedDateTime?: Element|undefined; /** * The date(time)/period over which the procedure was performed. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured. */ - performedPeriod?: Period; + performedPeriod?: Period|undefined; /** * Limited to 'real' people rather than equipment. */ - performer?: ProcedurePerformer[]; + performer?: ProcedurePerformer[]|undefined; /** * The reason why the procedure was performed. This may be due to a Condition, may be coded entity of some type, or may simply be present as text. */ - reasonCodeableConcept?: CodeableConcept; + reasonCodeableConcept?: CodeableConcept|undefined; /** * The reason why the procedure was performed. This may be due to a Condition, may be coded entity of some type, or may simply be present as text. */ - reasonReference?: Reference; + reasonReference?: Reference|undefined; /** * A code indicating why the procedure was not performed. */ - reasonNotPerformed?: CodeableConcept[]; + reasonNotPerformed?: CodeableConcept[]|undefined; /** * This could be a histology result, pathology report, surgical report, etc.. */ - report?: Reference[]; + report?: Reference[]|undefined; /** * A reference to a resource that contains details of the request for this procedure. */ - request?: Reference; + request?: Reference|undefined; /** * A code specifying the state of the procedure. Generally this will be in-progress or completed state. */ status: ProcedureStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * The person, animal or group on which the procedure was performed. */ @@ -11957,7 +11957,7 @@ export interface Procedure extends DomainResource { /** * Used for tracking contamination, etc. */ - used?: Reference[]; + used?: Reference[]|undefined; } /** * Code Values for the Procedure.status field @@ -11977,16 +11977,16 @@ export interface ProcedureRequest extends DomainResource { /** * If a CodeableConcept is present, it indicates the pre-condition for performing the procedure. */ - asNeededBoolean?: boolean; - _asNeededBoolean?: Element; + asNeededBoolean?: boolean|undefined; + _asNeededBoolean?: Element|undefined; /** * If a CodeableConcept is present, it indicates the pre-condition for performing the procedure. */ - asNeededCodeableConcept?: CodeableConcept; + asNeededCodeableConcept?: CodeableConcept|undefined; /** * Knowing where the procedure is made is important for tracking if multiple sites are possible. */ - bodySite?: CodeableConcept[]; + bodySite?: CodeableConcept[]|undefined; /** * The specific procedure that is ordered. Use text if the exact nature of the procedure cannot be coded. */ @@ -11994,59 +11994,59 @@ export interface ProcedureRequest extends DomainResource { /** * The encounter within which the procedure proposal or request was created. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * Identifiers assigned to this order by the order or by the receiver. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Any other notes associated with this proposal or order - e.g. provider instructions. */ - notes?: Annotation[]; + notes?: Annotation[]|undefined; /** * The time when the request was made. */ - orderedOn?: string; - _orderedOn?: Element; + orderedOn?: string|undefined; + _orderedOn?: Element|undefined; /** * The healthcare professional responsible for proposing or ordering the procedure. */ - orderer?: Reference; + orderer?: Reference|undefined; /** * For example, the surgeon, anaethetist, endoscopist, etc. */ - performer?: Reference; + performer?: Reference|undefined; /** * The clinical priority associated with this order. */ - priority?: ProcedureRequestPriorityCodes; - _priority?: Element; + priority?: ProcedureRequestPriorityCodes|undefined; + _priority?: Element|undefined; /** * The reason why the procedure is being proposed or ordered. This procedure request may be motivated by a Condition for instance. */ - reasonCodeableConcept?: CodeableConcept; + reasonCodeableConcept?: CodeableConcept|undefined; /** * The reason why the procedure is being proposed or ordered. This procedure request may be motivated by a Condition for instance. */ - reasonReference?: Reference; + reasonReference?: Reference|undefined; /** * The timing schedule for the proposed or ordered procedure. The Schedule data type allows many different expressions. E.g. "Every 8 hours"; "Three times a day"; "1/2 an hour before breakfast for 10 days from 23-Dec 2011:"; "15 Oct 2013, 17 Oct 2013 and 1 Nov 2013". */ - scheduledDateTime?: string; - _scheduledDateTime?: Element; + scheduledDateTime?: string|undefined; + _scheduledDateTime?: Element|undefined; /** * The timing schedule for the proposed or ordered procedure. The Schedule data type allows many different expressions. E.g. "Every 8 hours"; "Three times a day"; "1/2 an hour before breakfast for 10 days from 23-Dec 2011:"; "15 Oct 2013, 17 Oct 2013 and 1 Nov 2013". */ - scheduledPeriod?: Period; + scheduledPeriod?: Period|undefined; /** * The timing schedule for the proposed or ordered procedure. The Schedule data type allows many different expressions. E.g. "Every 8 hours"; "Three times a day"; "1/2 an hour before breakfast for 10 days from 23-Dec 2011:"; "15 Oct 2013, 17 Oct 2013 and 1 Nov 2013". */ - scheduledTiming?: Timing; + scheduledTiming?: Timing|undefined; /** * The status of the order. */ - status?: ProcedureRequestStatusCodes; - _status?: Element; + status?: ProcedureRequestStatusCodes|undefined; + _status?: Element|undefined; /** * The person, animal or group that should receive the procedure. */ @@ -12095,72 +12095,72 @@ export interface ProcessRequest extends DomainResource { * The type of processing action being requested, for example Reversal, Readjudication, StatusRequest,PendedRequest. */ action: ProcessRequestActionCodes; - _action?: Element; + _action?: Element|undefined; /** * The date when this resource was created. */ - created?: string; - _created?: Element; + created?: string|undefined; + _created?: Element|undefined; /** * Names of resource types to exclude. */ - exclude?: string[]; - _exclude?: Element[]; + exclude?: string[]|undefined; + _exclude?: Element[]|undefined; /** * The ProcessRequest business identifier. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Names of resource types to include. */ - include?: string[]; - _include?: Element[]; + include?: string[]|undefined; + _include?: Element[]|undefined; /** * List of top level items to be re-adjudicated, if none specified then the entire submission is re-adjudicated. */ - item?: ProcessRequestItem[]; + item?: ProcessRequestItem[]|undefined; /** * Some resources must not simply be reversed in a processing or accounting sense but rather must have all history removed, such as the accidental submission of sensitive and/or wrong information. If the receiver cannot comply with a Nullify request then they must reject the request. */ - nullify?: boolean; - _nullify?: Element; + nullify?: boolean|undefined; + _nullify?: Element|undefined; /** * The organization which is responsible for the action speccified in thise request. */ - organization?: Reference; + organization?: Reference|undefined; /** * Knowledge of the original version can inform the processing of this instance so that information which is processable by the originating system may be generated. */ - originalRuleset?: Coding; + originalRuleset?: Coding|undefined; /** * A period of time during which the fulfilling resources would have been created. */ - period?: Period; + period?: Period|undefined; /** * The practitioner who is responsible for the action specified in thise request. */ - provider?: Reference; + provider?: Reference|undefined; /** * A reference to supply which authenticates the process. */ - reference?: string; - _reference?: Element; + reference?: string|undefined; + _reference?: Element|undefined; /** * Reference of resource which is the target or subject of this action. */ - request?: Reference; + request?: Reference|undefined; /** * Reference of a prior response to resource which is the target or subject of this action. */ - response?: Reference; + response?: Reference|undefined; /** * The version of the style of resource contents. This should be mapped to the allowable profiles for this and supporting resources. */ - ruleset?: Coding; + ruleset?: Coding|undefined; /** * The organization which is the target of the request. */ - target?: Reference; + target?: Reference|undefined; } /** * Code Values for the ProcessRequest.action field @@ -12178,12 +12178,12 @@ export interface ProcessResponseNotes extends BackboneElement { /** * The note text. */ - text?: string; - _text?: Element; + text?: string|undefined; + _text?: Element|undefined; /** * The note purpose: Print/Display. */ - type?: Coding; + type?: Coding|undefined; } /** * This resource provides processing status, errors and notes from the processing of a resource. @@ -12194,57 +12194,57 @@ export interface ProcessResponse extends DomainResource { /** * The date when the enclosed suite of services were performed or completed. */ - created?: string; - _created?: Element; + created?: string|undefined; + _created?: Element|undefined; /** * A description of the status of the adjudication or processing. */ - disposition?: string; - _disposition?: Element; + disposition?: string|undefined; + _disposition?: Element|undefined; /** * Processing errors. */ - error?: Coding[]; + error?: Coding[]|undefined; /** * The form to be used for printing the content. */ - form?: Coding; + form?: Coding|undefined; /** * The Response business identifier. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Suite of processing note or additional requirements is the processing has been held. */ - notes?: ProcessResponseNotes[]; + notes?: ProcessResponseNotes[]|undefined; /** * The organization who produced this adjudicated response. */ - organization?: Reference; + organization?: Reference|undefined; /** * Knowledge of the original version can inform the processing of this instance so that information which is processable by the originating system may be generated. */ - originalRuleset?: Coding; + originalRuleset?: Coding|undefined; /** * Transaction status: error, complete, held. */ - outcome?: Coding; + outcome?: Coding|undefined; /** * Original request resource reference. */ - request?: Reference; + request?: Reference|undefined; /** * The organization which is responsible for the services rendered to the patient. */ - requestOrganization?: Reference; + requestOrganization?: Reference|undefined; /** * The practitioner who is responsible for the services rendered to the patient. */ - requestProvider?: Reference; + requestProvider?: Reference|undefined; /** * The version of the style of resource contents. This should be mapped to the allowable profiles for this and supporting resources. */ - ruleset?: Coding; + ruleset?: Coding|undefined; } /** * A relationship between two the agents referenced in this resource. This is defined to allow for explicit description of the delegation between agents. For example, this human author used this device, or one person acted on another's behest. @@ -12254,7 +12254,7 @@ export interface ProvenanceAgentRelatedAgent extends BackboneElement { * An internal reference to another agent listed in this provenance by its identifier. */ target: string; - _target?: Element; + _target?: Element|undefined; /** * The type of relationship between agents. */ @@ -12267,11 +12267,11 @@ export interface ProvenanceAgent extends BackboneElement { /** * The individual, device or organization that participated in the event. */ - actor?: Reference; + actor?: Reference|undefined; /** * A relationship between two the agents referenced in this resource. This is defined to allow for explicit description of the delegation between agents. For example, this human author used this device, or one person acted on another's behest. */ - relatedAgent?: ProvenanceAgentRelatedAgent[]; + relatedAgent?: ProvenanceAgentRelatedAgent[]|undefined; /** * The function of the agent with respect to the activity. */ @@ -12279,7 +12279,7 @@ export interface ProvenanceAgent extends BackboneElement { /** * The identity of the agent as known by the authorization system. */ - userId?: Identifier; + userId?: Identifier|undefined; } /** * An entity used in this activity. @@ -12288,22 +12288,22 @@ export interface ProvenanceEntity extends BackboneElement { /** * The entity is attributed to an agent to express the agent's responsibility for that entity, possibly along with other agents. This description can be understood as shorthand for saying that the agent was responsible for the activity which generated the entity. */ - agent?: ProvenanceAgent; + agent?: ProvenanceAgent|undefined; /** * Human-readable description of the entity. */ - display?: string; - _display?: Element; + display?: string|undefined; + _display?: Element|undefined; /** * Identity of the Entity used. May be a logical or physical uri and maybe absolute or relative. */ reference: string; - _reference?: Element; + _reference?: Element|undefined; /** * How the entity was used during the activity. */ role: ProvenanceEntityRoleCodes; - _role?: Element; + _role?: Element|undefined; /** * If the type is "resource" then the resource itself was the participant. If the type is a type of resource, then the entity identified by the resource is the participant. */ @@ -12327,41 +12327,41 @@ export interface Provenance extends DomainResource { /** * An activity is something that occurs over a period of time and acts upon or with entities; it may include consuming, processing, transforming, modifying, relocating, using, or generating entities. */ - activity?: CodeableConcept; + activity?: CodeableConcept|undefined; /** * An agent takes a role in an activity such that the agent can be assigned some degree of responsibility for the activity taking place. An agent can be a person, an organization, software, or other entities that may be ascribed responsibility. */ - agent?: ProvenanceAgent[]; + agent?: ProvenanceAgent[]|undefined; /** * An entity used in this activity. */ - entity?: ProvenanceEntity[]; + entity?: ProvenanceEntity[]|undefined; /** * Where the activity occurred, if relevant. */ - location?: Reference; + location?: Reference|undefined; /** * The period during which the activity occurred. */ - period?: Period; + period?: Period|undefined; /** * Policy or plan the activity was defined by. Typically, a single activity may have multiple applicable policy documents, such as patient consent, guarantor funding, etc. */ - policy?: string[]; - _policy?: Element[]; + policy?: string[]|undefined; + _policy?: Element[]|undefined; /** * The reason that the activity was taking place. */ - reason?: CodeableConcept[]; + reason?: CodeableConcept[]|undefined; /** * The instant of time at which the activity was recorded. */ recorded: string; - _recorded?: Element; + _recorded?: Element|undefined; /** * A digital signature on the target Reference(s). The signer should match a Provenance.agent. The purpose of the signature is indicated. */ - signature?: Signature[]; + signature?: Signature[]|undefined; /** * The Reference(s) that were generated or updated by the activity described in this resource. A provenance can point to more than one target if multiple resources were created/updated by the same activity. */ @@ -12374,44 +12374,44 @@ export interface QuestionnaireGroupQuestion extends BackboneElement { /** * Allows linking of questions (and their answers) to formal terminologies. */ - concept?: Coding[]; + concept?: Coding[]|undefined; /** * It is useful to have "sub-questions", questions which normally appear when certain answers are given and which collect additional details. */ - group?: QuestionnaireGroup[]; + group?: QuestionnaireGroup[]|undefined; /** * [[[QuestionnaireResponse]]] does not require omitted groups to be included and may have some groups that repeat, so linkage based on position alone is not sufficient. */ - linkId?: string; - _linkId?: Element; + linkId?: string|undefined; + _linkId?: Element|undefined; /** * For a "choice" question, identifies one of the permitted answers for the question. */ - option?: Coding[]; + option?: Coding[]|undefined; /** * Reference to a value set containing a list of codes representing permitted answers for the question. */ - options?: Reference; + options?: Reference|undefined; /** * Used for "check all that apply" types of questions or "list your top 3", etc. */ - repeats?: boolean; - _repeats?: Element; + repeats?: boolean|undefined; + _repeats?: Element|undefined; /** * If true, indicates that the question must be answered and have required groups within it also present. If false, the question and any contained groups may be skipped when answering the questionnaire. */ - required?: boolean; - _required?: Element; + required?: boolean|undefined; + _required?: Element|undefined; /** * When including text for the questionnaire, each question may contain its actual question display text. */ - text?: string; - _text?: Element; + text?: string|undefined; + _text?: Element|undefined; /** * Defines the format in which the user is to be prompted for the answer. */ - type?: QuestionnaireGroupQuestionTypeCodes; - _type?: Element; + type?: QuestionnaireGroupQuestionTypeCodes|undefined; + _type?: Element|undefined; } /** * Code Values for the Questionnaire.group.question.type field @@ -12440,40 +12440,40 @@ export interface QuestionnaireGroup extends BackboneElement { /** * Allows linking of groups of questions (and complete Questionnaire resources) to formal terminologies. */ - concept?: Coding[]; + concept?: Coding[]|undefined; /** * Reports can consist of complex nested groups. */ - group?: QuestionnaireGroup[]; + group?: QuestionnaireGroup[]|undefined; /** * [[[QuestionnaireResponse]]] does not require omitted groups to be included and may have some groups that repeat, so linkage based on position alone is not sufficient. */ - linkId?: string; - _linkId?: Element; + linkId?: string|undefined; + _linkId?: Element|undefined; /** * Must register answers to questions. */ - question?: QuestionnaireGroupQuestion[]; + question?: QuestionnaireGroupQuestion[]|undefined; /** * Groups may be used to create set of (related) questions that can be repeated to give multiple answers to such a set. */ - repeats?: boolean; - _repeats?: Element; + repeats?: boolean|undefined; + _repeats?: Element|undefined; /** * If true, indicates that the group must be present and have required questions within it answered. If false, the group may be skipped when answering the questionnaire. */ - required?: boolean; - _required?: Element; + required?: boolean|undefined; + _required?: Element|undefined; /** * When including text for the questionnaire, each section may contain additional explanations are background text. */ - text?: string; - _text?: Element; + text?: string|undefined; + _text?: Element|undefined; /** * When including text for the questionnaire with the answers, sections may have a section header. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; } /** * A structured set of questions intended to guide the collection of answers. The questions are ordered and grouped into coherent subsets, corresponding to the structure of the grouping of the underlying questions. @@ -12484,8 +12484,8 @@ export interface Questionnaire extends DomainResource { /** * The date that this questionnaire was last changed. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * Need to be able to logically group answers to grouped questions. */ @@ -12493,31 +12493,31 @@ export interface Questionnaire extends DomainResource { /** * Need to allow connection to a wider workflow. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Conveys responsibility for the questions and their organization and also helps evaluate the questionnaire's "authority". */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * The lifecycle status of the questionnaire as a whole. */ status: QuestionnaireStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Identifies the types of subjects that can be the subject of the questionnaire. */ - subjectType?: string[]; - _subjectType?: Element[]; + subjectType?: string[]|undefined; + _subjectType?: Element[]|undefined; /** * Contact details to assist a user in finding and communicating with the publisher. */ - telecom?: ContactPoint[]; + telecom?: ContactPoint[]|undefined; /** * In some cases, separate resource instances might be created for each version (if an older version can be maintained once a new version exists). */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the Questionnaire.status field @@ -12534,66 +12534,66 @@ export interface QuestionnaireResponseGroupQuestionAnswer extends BackboneElemen /** * It is useful to have "sub-questions", questions which normally appear when certain answers are given and which collect additional details. */ - group?: QuestionnaireResponseGroup[]; + group?: QuestionnaireResponseGroup[]|undefined; /** * Ability to retain a single-valued answer to a question. */ - valueBoolean?: boolean; - _valueBoolean?: Element; + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; /** * Ability to retain a single-valued answer to a question. */ - valueDecimal?: number; + valueDecimal?: number|undefined; /** * Ability to retain a single-valued answer to a question. */ - valueInteger?: number; + valueInteger?: number|undefined; /** * Ability to retain a single-valued answer to a question. */ - valueDate?: string; - _valueDate?: Element; + valueDate?: string|undefined; + _valueDate?: Element|undefined; /** * Ability to retain a single-valued answer to a question. */ - valueDateTime?: string; - _valueDateTime?: Element; + valueDateTime?: string|undefined; + _valueDateTime?: Element|undefined; /** * Ability to retain a single-valued answer to a question. */ - valueInstant?: string; - _valueInstant?: Element; + valueInstant?: string|undefined; + _valueInstant?: Element|undefined; /** * Ability to retain a single-valued answer to a question. */ - valueTime?: string; - _valueTime?: Element; + valueTime?: string|undefined; + _valueTime?: Element|undefined; /** * Ability to retain a single-valued answer to a question. */ - valueString?: string; - _valueString?: Element; + valueString?: string|undefined; + _valueString?: Element|undefined; /** * Ability to retain a single-valued answer to a question. */ - valueUri?: string; - _valueUri?: Element; + valueUri?: string|undefined; + _valueUri?: Element|undefined; /** * Ability to retain a single-valued answer to a question. */ - valueAttachment?: Attachment; + valueAttachment?: Attachment|undefined; /** * Ability to retain a single-valued answer to a question. */ - valueCoding?: Coding; + valueCoding?: Coding|undefined; /** * Ability to retain a single-valued answer to a question. */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; /** * Ability to retain a single-valued answer to a question. */ - valueReference?: Reference; + valueReference?: Reference|undefined; } /** * Must register answers to questions. @@ -12602,17 +12602,17 @@ export interface QuestionnaireResponseGroupQuestion extends BackboneElement { /** * The respondent's answer(s) to the question. */ - answer?: QuestionnaireResponseGroupQuestionAnswer[]; + answer?: QuestionnaireResponseGroupQuestionAnswer[]|undefined; /** * Groups can repeat in the answers, so a direct 1..1 correspondence may not exist - requiring correspondence by id. */ - linkId?: string; - _linkId?: Element; + linkId?: string|undefined; + _linkId?: Element|undefined; /** * When including text for the questionnaire, each question may contain its actual question display text. */ - text?: string; - _text?: Element; + text?: string|undefined; + _text?: Element|undefined; } /** * Need to be able to logically group answers to grouped questions. @@ -12621,30 +12621,30 @@ export interface QuestionnaireResponseGroup extends BackboneElement { /** * Reports can consist of complex nested groups. */ - group?: QuestionnaireResponseGroup[]; + group?: QuestionnaireResponseGroup[]|undefined; /** * Groups can repeat in the answers, so a direct 1..1 correspondence may not exist - requiring correspondence by identifier. */ - linkId?: string; - _linkId?: Element; + linkId?: string|undefined; + _linkId?: Element|undefined; /** * Must register answers to questions. */ - question?: QuestionnaireResponseGroupQuestion[]; + question?: QuestionnaireResponseGroupQuestion[]|undefined; /** * Sometimes a group of answers is about a specific participant, artifact or piece of information in the patient's care or record, e.g. a specific Problem, RelatedPerson, Allergy etc. */ - subject?: Reference; + subject?: Reference|undefined; /** * When including text for the questionnaire, each section may contain additional explanations are background text. */ - text?: string; - _text?: Element; + text?: string|undefined; + _text?: Element|undefined; /** * When including text for the questionnaire with the answers, sections may have a section header. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; } /** * A structured set of questions and their answers. The questions are ordered and grouped into coherent subsets, corresponding to the structure of the grouping of the underlying questions. @@ -12655,41 +12655,41 @@ export interface QuestionnaireResponse extends DomainResource { /** * Need to know who interpreted the subject's answers to the questions in the questionnaire, and selected the appropriate options for answers. */ - author?: Reference; + author?: Reference|undefined; /** * Clinicians need to be able to check the date that the information in the questionnaire was collected, to derive the context of the answers. */ - authored?: string; - _authored?: Element; + authored?: string|undefined; + _authored?: Element|undefined; /** * Some institutions track questionnaires under a specific encounter. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * Need to be able to logically group answers to grouped questions. */ - group?: QuestionnaireResponseGroup; + group?: QuestionnaireResponseGroup|undefined; /** * Used for tracking, registration and other business purposes. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * Needed to allow editing of the questionnaire in a manner that enforces the constraints of the original form. */ - questionnaire?: Reference; + questionnaire?: Reference|undefined; /** * When answering questions about a subject that is minor, incapable of answering or an animal, another human source is used to answer the questions. */ - source?: Reference; + source?: Reference|undefined; /** * The information on Questionnaire resources may possibly be gathered during multiple sessions and altered after considered being finished. Questionnaire resources with just questions may serve as template forms, with the applicable publication statuses. */ status: QuestionnaireResponseStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * The subject context must be known. */ - subject?: Reference; + subject?: Reference|undefined; } /** * Code Values for the QuestionnaireResponse.status field @@ -12708,71 +12708,71 @@ export interface ReferralRequest extends DomainResource { /** * Date/DateTime of creation for draft requests and date of activation for active requests. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * Date/DateTime the request for referral or transfer of care is sent by the author. */ - dateSent?: string; - _dateSent?: Element; + dateSent?: string|undefined; + _dateSent?: Element|undefined; /** * The reason element gives a short description of why the referral is being made, the description expands on this to support a more complete clinical summary. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * The encounter at which the request for referral or transfer of care is initiated. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * Use cases: (1) to indicate that the requested service is not to happen before a specified date, and saving the start date in Period.start; (2) to indicate that the requested service must happen before a specified date, and saving the end date in Period.end; (3) to indicate that the requested service must happen during the specified dates ("start" and "end" values). */ - fulfillmentTime?: Period; + fulfillmentTime?: Period|undefined; /** * Business identifier that uniquely identifies the referral/care transfer request instance. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The patient who is the subject of a referral or transfer of care request. */ - patient?: Reference; + patient?: Reference|undefined; /** * An indication of the urgency of referral (or where applicable the type of transfer of care) request. */ - priority?: CodeableConcept; + priority?: CodeableConcept|undefined; /** * Description of clinical condition indicating why referral/transfer of care is requested. For example: Pathological Anomalies, Disabled (physical or mental), Behavioral Management. */ - reason?: CodeableConcept; + reason?: CodeableConcept|undefined; /** * The healthcare provider(s) or provider organization(s) who/which is to receive the referral/transfer of care request. */ - recipient?: Reference[]; + recipient?: Reference[]|undefined; /** * The healthcare provider or provider organization who/which initiated the referral/transfer of care request. Can also be Patient (a self referral). */ - requester?: Reference; + requester?: Reference|undefined; /** * The service(s) that is/are requested to be provided to the patient. For example: cardiac pacemaker insertion. */ - serviceRequested?: CodeableConcept[]; + serviceRequested?: CodeableConcept[]|undefined; /** * Indication of the clinical domain or discipline to which the referral or transfer of care request is sent. For example: Cardiology Gastroenterology Diabetology. */ - specialty?: CodeableConcept; + specialty?: CodeableConcept|undefined; /** * The workflow status of the referral or transfer of care request. */ status: ReferralRequestStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Any additional (administrative, financial or clinical) information required to support request for referral or transfer of care. For example: Presenting problems/chief complaints Medical History Family History Alerts Allergy/Intolerance and Adverse Reactions Medications Observations/Assessments (may include cognitive and fundtional assessments) Diagnostic Reports Care Plan. */ - supportingInformation?: Reference[]; + supportingInformation?: Reference[]|undefined; /** * An indication of the type of referral (or where applicable the type of transfer of care) request. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Code Values for the ReferralRequest.status field @@ -12795,25 +12795,25 @@ export interface RelatedPerson extends DomainResource { /** * Need to keep track where the related person can be contacted per postal mail or visited. */ - address?: Address[]; + address?: Address[]|undefined; /** * The date on which the related person was born. */ - birthDate?: string; - _birthDate?: Element; + birthDate?: string|undefined; + _birthDate?: Element|undefined; /** * Needed for identification of the person, in combination with (at least) name and birth date. */ - gender?: RelatedPersonGenderCodes; - _gender?: Element; + gender?: RelatedPersonGenderCodes|undefined; + _gender?: Element|undefined; /** * People are known by a variety of ids. Some institutions maintain several, and most collect identifiers for exchange with other organizations concerning the patient. Examples are national person identifier and local identifier. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Related persons need to be identified by name, but it is uncommon to need details about multiple other names for that person. */ - name?: HumanName; + name?: HumanName|undefined; /** * We need to know which patient this RelatedPerson is related to. */ @@ -12821,19 +12821,19 @@ export interface RelatedPerson extends DomainResource { /** * The period of time that this relationship is considered to be valid. If there are no dates defined, then the interval is unknown. */ - period?: Period; + period?: Period|undefined; /** * Many EHR systems have the capability to capture an image of persons. Fits with newer social media usage too. */ - photo?: Attachment[]; + photo?: Attachment[]|undefined; /** * We need to know the relationship with the patient since it influences the interpretation of the information attributed to this person. */ - relationship?: CodeableConcept; + relationship?: CodeableConcept|undefined; /** * People have (primary) ways to contact them in some way such as phone, email. */ - telecom?: ContactPoint[]; + telecom?: ContactPoint[]|undefined; } /** * Code Values for the RelatedPerson.gender field @@ -12853,22 +12853,22 @@ export interface Resource { /** * The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes. */ - id?: string; - _id?: Element; + id?: string|undefined; + _id?: Element|undefined; /** * A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. */ - implicitRules?: string; - _implicitRules?: Element; + implicitRules?: string|undefined; + _implicitRules?: Element|undefined; /** * The base language in which the resource is written. */ - language?: string; - _language?: Element; + language?: string|undefined; + _language?: Element|undefined; /** * The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content may not always be associated with version changes to the resource. */ - meta?: Meta; + meta?: Meta|undefined; } /** * Describes the expected outcome for the subject. @@ -12881,32 +12881,32 @@ export interface RiskAssessmentPrediction extends BackboneElement { /** * How likely is the outcome (in the specified timeframe). */ - probabilityDecimal?: number; + probabilityDecimal?: number|undefined; /** * How likely is the outcome (in the specified timeframe). */ - probabilityRange?: Range; + probabilityRange?: Range|undefined; /** * How likely is the outcome (in the specified timeframe). */ - probabilityCodeableConcept?: CodeableConcept; + probabilityCodeableConcept?: CodeableConcept|undefined; /** * Additional information explaining the basis for the prediction. */ - rationale?: string; - _rationale?: Element; + rationale?: string|undefined; + _rationale?: Element|undefined; /** * Absolute risk is less meaningful than relative risk. */ - relativeRisk?: number; + relativeRisk?: number|undefined; /** * Indicates the period of time or age range of the subject to which the specified probability applies. */ - whenPeriod?: Period; + whenPeriod?: Period|undefined; /** * Indicates the period of time or age range of the subject to which the specified probability applies. */ - whenRange?: Range; + whenRange?: Range|undefined; } /** * An assessment of the likely outcome(s) for a patient or other subject as well as the likelihood of each outcome. @@ -12917,45 +12917,45 @@ export interface RiskAssessment extends DomainResource { /** * Indicates the source data considered as part of the assessment (FamilyHistory, Observations, Procedures, Conditions, etc.). */ - basis?: Reference[]; + basis?: Reference[]|undefined; /** * For assessments or prognosis specific to a particular condition, indicates the condition being assessed. */ - condition?: Reference; + condition?: Reference|undefined; /** * The assessment results lose validity the more time elapses from when they are first made. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * The encounter where the assessment was performed. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * Business identifier assigned to the risk assessment. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * The method can influence the results of the assessment. */ - method?: CodeableConcept; + method?: CodeableConcept|undefined; /** * One of the main reasons for assessing risks is to identify whether interventional steps are needed to reduce risk. */ - mitigation?: string; - _mitigation?: Element; + mitigation?: string|undefined; + _mitigation?: Element|undefined; /** * The provider or software application that performed the assessment. */ - performer?: Reference; + performer?: Reference|undefined; /** * Describes the expected outcome for the subject. */ - prediction?: RiskAssessmentPrediction[]; + prediction?: RiskAssessmentPrediction[]|undefined; /** * The patient or group the risk assessment applies to. */ - subject?: Reference; + subject?: Reference|undefined; } /** * A container for slot(s) of time that may be available for booking appointments. @@ -12970,20 +12970,20 @@ export interface Schedule extends DomainResource { /** * Comments on the availability to describe any extended information. Such as custom constraints on the slot(s) that may be associated. */ - comment?: string; - _comment?: Element; + comment?: string|undefined; + _comment?: Element|undefined; /** * External Ids for this item. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The period of time that the slots that are attached to this Schedule resource cover (even if none exist). These cover the amount of time that an organization's planning horizon; the interval for which they are currently accepting appointments. This does not define a "template" for planning outside these dates. */ - planningHorizon?: Period; + planningHorizon?: Period|undefined; /** * The schedule type can be used for the categorization of healthcare services or other appointment types. */ - type?: CodeableConcept[]; + type?: CodeableConcept[]|undefined; } /** * Contacts to assist a user in finding and communicating with the publisher. @@ -12992,12 +12992,12 @@ export interface SearchParameterContact extends BackboneElement { /** * The name of an individual to contact regarding the search parameter. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Contact details for individual (if a name was provided) or the publisher. */ - telecom?: ContactPoint[]; + telecom?: ContactPoint[]|undefined; } /** * A search parameter that defines a named search item that can be used to search/filter on a resource. @@ -13009,76 +13009,76 @@ export interface SearchParameter extends DomainResource { * The base resource type that this search parameter refers to. */ base: string; - _base?: Element; + _base?: Element|undefined; /** * The code used in the URL or the parameter name in a parameters resource for this search parameter. */ code: string; - _code?: Element; + _code?: Element|undefined; /** * Contacts to assist a user in finding and communicating with the publisher. */ - contact?: SearchParameterContact[]; + contact?: SearchParameterContact[]|undefined; /** * The date (and optionally time) when the search parameter definition was published. The date must change when the business version changes, if it does, and it must change if the status code changes. In addition, it should change when the substantive content of the search parameter changes. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * A description of the search parameters and how it used. */ description: string; - _description?: Element; + _description?: Element|undefined; /** * A flag to indicate that this search parameter definition is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * A free text natural language name identifying the search parameter. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * Helps establish the "authority/credibility" of the search parameter. May also allow for contact. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * The Scope and Usage that this search parameter was created to meet. */ - requirements?: string; - _requirements?: Element; + requirements?: string|undefined; + _requirements?: Element|undefined; /** * The status of this search parameter definition. */ - status?: SearchParameterStatusCodes; - _status?: Element; + status?: SearchParameterStatusCodes|undefined; + _status?: Element|undefined; /** * Types of resource (if a resource is referenced). */ - target?: string[]; - _target?: Element[]; + target?: string[]|undefined; + _target?: Element[]|undefined; /** * The type of value a search parameter refers to, and how the content is interpreted. */ type: SearchParameterTypeCodes; - _type?: Element; + _type?: Element|undefined; /** * To allow referencing and reusing search parameter definitions under other names on operational systems (in case of name clash). */ url: string; - _url?: Element; + _url?: Element|undefined; /** * An XPath expression that returns a set of elements for the search parameter. */ - xpath?: string; - _xpath?: Element; + xpath?: string|undefined; + _xpath?: Element|undefined; /** * How the search parameter relates to the set of elements returned by evaluating the xpath query. */ - xpathUsage?: SearchParameterXpathUsageCodes; - _xpathUsage?: Element; + xpathUsage?: SearchParameterXpathUsageCodes|undefined; + _xpathUsage?: Element|undefined; } /** * Code Values for the SearchParameter.status field @@ -13120,27 +13120,27 @@ export interface Slot extends DomainResource { /** * Comments on the slot to describe any extended information. Such as custom constraints on the slot. */ - comment?: string; - _comment?: Element; + comment?: string|undefined; + _comment?: Element|undefined; /** * Date/Time that the slot is to conclude. */ end: string; - _end?: Element; + _end?: Element|undefined; /** * busy | free | busy-unavailable | busy-tentative. */ freeBusyType: SlotFreeBusyTypeCodes; - _freeBusyType?: Element; + _freeBusyType?: Element|undefined; /** * External Ids for this item. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * This slot has already been overbooked, appointments are unlikely to be accepted for this time. */ - overbooked?: boolean; - _overbooked?: Element; + overbooked?: boolean|undefined; + _overbooked?: Element|undefined; /** * The schedule resource that this slot defines an interval of status information. */ @@ -13149,11 +13149,11 @@ export interface Slot extends DomainResource { * Date/Time that the slot is to begin. */ start: string; - _start?: Element; + _start?: Element|undefined; /** * The type of appointments that can be booked into this slot (ideally this would be an identifiable service - which is at a location, rather than the location itself). If provided then this overrides the value provided on the availability resource. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Code Values for the Slot.freeBusyType field @@ -13171,33 +13171,33 @@ export interface SpecimenCollection extends BackboneElement { /** * Anatomical location from which the specimen was collected (if subject is a patient). This is the target site. This element is not used for environmental specimens. */ - bodySite?: CodeableConcept; + bodySite?: CodeableConcept|undefined; /** * Time when specimen was collected from subject - the physiologically relevant time. */ - collectedDateTime?: string; - _collectedDateTime?: Element; + collectedDateTime?: string|undefined; + _collectedDateTime?: Element|undefined; /** * Time when specimen was collected from subject - the physiologically relevant time. */ - collectedPeriod?: Period; + collectedPeriod?: Period|undefined; /** * Person who collected the specimen. */ - collector?: Reference; + collector?: Reference|undefined; /** * To communicate any details or issues encountered during the specimen collection procedure. */ - comment?: string[]; - _comment?: Element[]; + comment?: string[]|undefined; + _comment?: Element[]|undefined; /** * A coded value specifying the technique that is used to perform the procedure. */ - method?: CodeableConcept; + method?: CodeableConcept|undefined; /** * The quantity of specimen collected; for instance the volume of a blood sample, or the physical measurement of an anatomic pathology sample. */ - quantity?: Quantity; + quantity?: Quantity|undefined; } /** * Details concerning treatment and processing steps for the specimen. @@ -13206,16 +13206,16 @@ export interface SpecimenTreatment extends BackboneElement { /** * Material used in the processing step. */ - additive?: Reference[]; + additive?: Reference[]|undefined; /** * Textual description of procedure. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * A coded value specifying the procedure used to process the specimen. */ - procedure?: CodeableConcept; + procedure?: CodeableConcept|undefined; } /** * The container holding the specimen. The recursive nature of containers; i.e. blood in tube in tray in rack is not addressed here. @@ -13224,32 +13224,32 @@ export interface SpecimenContainer extends BackboneElement { /** * Introduced substance to preserve, maintain or enhance the specimen. Examples: Formalin, Citrate, EDTA. */ - additiveCodeableConcept?: CodeableConcept; + additiveCodeableConcept?: CodeableConcept|undefined; /** * Introduced substance to preserve, maintain or enhance the specimen. Examples: Formalin, Citrate, EDTA. */ - additiveReference?: Reference; + additiveReference?: Reference|undefined; /** * The capacity (volume or other measure) the container may contain. */ - capacity?: Quantity; + capacity?: Quantity|undefined; /** * Textual description of the container. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Id for container. There may be multiple; a manufacturer's bar code, lab assigned identifier, etc. The container ID may differ from the specimen id in some circumstances. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The quantity of specimen in the container; may be volume, dimensions, or other appropriate measurements, depending on the specimen type. */ - specimenQuantity?: Quantity; + specimenQuantity?: Quantity|undefined; /** * The type of container associated with the specimen (e.g. slide, aliquot, etc.). */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * A sample to be used for analysis. @@ -13260,33 +13260,33 @@ export interface Specimen extends DomainResource { /** * The identifier assigned by the lab when accessioning specimen(s). This is not necessarily the same as the specimen identifier, depending on local lab procedures. */ - accessionIdentifier?: Identifier; + accessionIdentifier?: Identifier|undefined; /** * Details concerning the specimen collection. */ - collection?: SpecimenCollection; + collection?: SpecimenCollection|undefined; /** * The container holding the specimen. The recursive nature of containers; i.e. blood in tube in tray in rack is not addressed here. */ - container?: SpecimenContainer[]; + container?: SpecimenContainer[]|undefined; /** * Id for specimen. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Reference to the parent (source) specimen which is used when the specimen was either derived from or a component of another specimen. */ - parent?: Reference[]; + parent?: Reference[]|undefined; /** * Time when specimen was received for processing or testing. */ - receivedTime?: string; - _receivedTime?: Element; + receivedTime?: string|undefined; + _receivedTime?: Element|undefined; /** * The availability of the specimen. */ - status?: SpecimenStatusCodes; - _status?: Element; + status?: SpecimenStatusCodes|undefined; + _status?: Element|undefined; /** * Must know the subject context. */ @@ -13294,11 +13294,11 @@ export interface Specimen extends DomainResource { /** * Details concerning treatment and processing steps for the specimen. */ - treatment?: SpecimenTreatment[]; + treatment?: SpecimenTreatment[]|undefined; /** * The kind of material that forms the specimen. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Code Values for the Specimen.status field @@ -13316,12 +13316,12 @@ export interface StructureDefinitionContact extends BackboneElement { /** * The name of an individual to contact regarding the structure definition. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Contact details for individual (if a name was provided) or the publisher. */ - telecom?: ContactPoint[]; + telecom?: ContactPoint[]|undefined; } /** * An external specification that the content is mapped to. @@ -13330,23 +13330,23 @@ export interface StructureDefinitionMapping extends BackboneElement { /** * Comments about this mapping, including version notes, issues, scope limitations, and other important notes for usage. */ - comments?: string; - _comments?: Element; + comments?: string|undefined; + _comments?: Element|undefined; /** * An Internal id that is used to identify this mapping set when specific mappings are made. */ identity: string; - _identity?: Element; + _identity?: Element|undefined; /** * A name for the specification that is being mapped to. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * An absolute URI that identifies the specification that this mapping is expressed to. */ - uri?: string; - _uri?: Element; + uri?: string|undefined; + _uri?: Element|undefined; } /** * A snapshot view is expressed in a stand alone form that can be used and interpreted without considering the base StructureDefinition. @@ -13376,120 +13376,120 @@ export interface StructureDefinition extends DomainResource { * Whether structure this definition describes is abstract or not - that is, whether an actual exchanged item can ever be of this type. */ abstract: boolean; - _abstract?: Element; + _abstract?: Element|undefined; /** * An absolute URI that is the base structure from which this set of constraints is derived. */ - base?: string; - _base?: Element; + base?: string|undefined; + _base?: Element|undefined; /** * Assist in searching for appropriate StructureDefinitions. */ - code?: Coding[]; + code?: Coding[]|undefined; /** * The type of type that is being constrained - a data type, an extension, a resource, including abstract ones. If this field is present, it indicates that the structure definition is a constraint. If it is not present, then the structure definition is the definition of a base structure. */ - constrainedType?: string; - _constrainedType?: Element; + constrainedType?: string|undefined; + _constrainedType?: Element|undefined; /** * Contacts to assist a user in finding and communicating with the publisher. */ - contact?: StructureDefinitionContact[]; + contact?: StructureDefinitionContact[]|undefined; /** * Identifies the types of resource or data type elements to which the extension can be applied. */ - context?: string[]; - _context?: Element[]; + context?: string[]|undefined; + _context?: Element[]|undefined; /** * If this is an extension, Identifies the context within FHIR resources where the extension can be used. */ - contextType?: StructureDefinitionContextTypeCodes; - _contextType?: Element; + contextType?: StructureDefinitionContextTypeCodes|undefined; + _contextType?: Element|undefined; /** * A copyright statement relating to the structure definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the details of the constraints and mappings. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * The date this version of the structure definition was published. The date must change when the business version changes, if it does, and it must change if the status code changes. In addition, it should change when the substantive content of the structure definition changes. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * A free text natural language description of the StructureDefinition and its use. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * A differential view is expressed relative to the base StructureDefinition - a statement of differences that it applies. */ - differential?: StructureDefinitionDifferential; + differential?: StructureDefinitionDifferential|undefined; /** * Defined so that applications can use this name when displaying the value of the extension to the user. */ - display?: string; - _display?: Element; + display?: string|undefined; + _display?: Element|undefined; /** * Allows filtering of StructureDefinitions that are appropriate for use vs. not. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * The version of the FHIR specification on which this StructureDefinition is based - this is the formal version of the specification, without the revision number, e.g. [publication].[major].[minor], which is 1.0.2 for this version. */ - fhirVersion?: string; - _fhirVersion?: Element; + fhirVersion?: string|undefined; + _fhirVersion?: Element|undefined; /** * Formal identifier that is used to identify this StructureDefinition when it is represented in other formats, or referenced in a specification, model, design or an instance (should be globally unique OID, UUID, or URI), (if it's not possible to use the literal URI). */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Defines the kind of structure that this definition is describing. */ kind: StructureDefinitionKindCodes; - _kind?: Element; + _kind?: Element|undefined; /** * An external specification that the content is mapped to. */ - mapping?: StructureDefinitionMapping[]; + mapping?: StructureDefinitionMapping[]|undefined; /** * A free text natural language name identifying the StructureDefinition. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * Helps establish the "authority/credibility" of the structure definition. May also allow for contact. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * Explains why this structure definition is needed and why it's been constrained as it has. */ - requirements?: string; - _requirements?: Element; + requirements?: string|undefined; + _requirements?: Element|undefined; /** * A snapshot view is expressed in a stand alone form that can be used and interpreted without considering the base StructureDefinition. */ - snapshot?: StructureDefinitionSnapshot; + snapshot?: StructureDefinitionSnapshot|undefined; /** * Allows filtering of StructureDefinitions that are appropriate for use vs. not. */ status: StructureDefinitionStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * So you can say, in a StructureDefinition, what the full extension URLs should be. This is required to allow hosting StructureDefinitions on multiple different servers, and to allow for the editorial process. */ url: string; - _url?: Element; + _url?: Element|undefined; /** * Assist in searching for appropriate content. */ - useContext?: CodeableConcept[]; + useContext?: CodeableConcept[]|undefined; /** * There may be multiple resource versions of the StructureDefinition that have this same identifier. The resource version id will change for technical reasons, whereas the stated version number needs to be under the author's control. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the StructureDefinition.contextType field @@ -13523,23 +13523,23 @@ export interface SubscriptionChannel extends BackboneElement { /** * The uri that describes the actual end-point to send messages to. */ - endpoint?: string; - _endpoint?: Element; + endpoint?: string|undefined; + _endpoint?: Element|undefined; /** * Additional headers / information to send as part of the notification. */ - header?: string; - _header?: Element; + header?: string|undefined; + _header?: Element|undefined; /** * The mime type to send the payload in - either application/xml+fhir, or application/json+fhir. If the mime type is blank, then there is no payload in the notification, just a notification. */ payload: string; - _payload?: Element; + _payload?: Element|undefined; /** * The type of channel to send notifications on. */ type: SubscriptionChannelTypeCodes; - _type?: Element; + _type?: Element|undefined; } /** * Code Values for the Subscription.channel.type field @@ -13564,36 +13564,36 @@ export interface Subscription extends DomainResource { /** * Contact details for a human to contact about the subscription. The primary use of this for system administrator troubleshooting. */ - contact?: ContactPoint[]; + contact?: ContactPoint[]|undefined; /** * The rules that the server should use to determine when to generate notifications for this subscription. */ criteria: string; - _criteria?: Element; + _criteria?: Element|undefined; /** * The time for the server to turn the subscription off. */ - end?: string; - _end?: Element; + end?: string|undefined; + _end?: Element|undefined; /** * A record of the last error that occurred when the server processed a notification. */ - error?: string; - _error?: Element; + error?: string|undefined; + _error?: Element|undefined; /** * A description of why this subscription is defined. */ reason: string; - _reason?: Element; + _reason?: Element|undefined; /** * The status of the subscription, which marks the server state for managing the subscription. */ status: SubscriptionStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * A tag to add to any resource that matches the criteria, after the subscription is processed. */ - tag?: Coding[]; + tag?: Coding[]|undefined; } /** * Code Values for the Subscription.status field @@ -13611,16 +13611,16 @@ export interface SubstanceInstance extends BackboneElement { /** * When the substance is no longer valid to use. For some substances, a single arbitrary date is used for expiry. */ - expiry?: string; - _expiry?: Element; + expiry?: string|undefined; + _expiry?: Element|undefined; /** * Identifier associated with the package/container (usually a label affixed directly). */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * The amount of the substance. */ - quantity?: Quantity; + quantity?: Quantity|undefined; } /** * A substance can be composed of other substances. @@ -13629,7 +13629,7 @@ export interface SubstanceIngredient extends BackboneElement { /** * The amount of the ingredient in the substance - a concentration ratio. */ - quantity?: Ratio; + quantity?: Ratio|undefined; /** * Another substance that is a component of this substance. */ @@ -13644,7 +13644,7 @@ export interface Substance extends DomainResource { /** * A code that classifies the general type of substance. This is used for searching, sorting and display purposes. */ - category?: CodeableConcept[]; + category?: CodeableConcept[]|undefined; /** * A code (or set of codes) that identify this substance. */ @@ -13652,20 +13652,20 @@ export interface Substance extends DomainResource { /** * A description of the substance - its appearance, handling requirements, and other usage notes. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Unique identifier for the substance. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * A substance can be composed of other substances. */ - ingredient?: SubstanceIngredient[]; + ingredient?: SubstanceIngredient[]|undefined; /** * Substance may be used to describe a kind of substance, or a specific package/container of the substance: an instance. */ - instance?: SubstanceInstance[]; + instance?: SubstanceInstance[]|undefined; } /** * Record of delivery of what is supplied. @@ -13676,49 +13676,49 @@ export interface SupplyDelivery extends DomainResource { /** * Identification of the facility/location where the Supply was shipped to, as part of the dispense event. */ - destination?: Reference; + destination?: Reference|undefined; /** * Identifier assigned by the dispensing facility when the item(s) is dispensed. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * A link to a resource representing the person whom the delivered item is for. */ - patient?: Reference; + patient?: Reference|undefined; /** * The amount of supply that has been dispensed. Includes unit of measure. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * Identifies the person who picked up the Supply. */ - receiver?: Reference[]; + receiver?: Reference[]|undefined; /** * A code specifying the state of the dispense event. */ - status?: SupplyDeliveryStatusCodes; - _status?: Element; + status?: SupplyDeliveryStatusCodes|undefined; + _status?: Element|undefined; /** * Identifies the medication, substance or device being dispensed. This is either a link to a resource representing the details of the item or a simple attribute carrying a code that identifies the item from a known list. */ - suppliedItem?: Reference; + suppliedItem?: Reference|undefined; /** * The individual responsible for dispensing the medication, supplier or device. */ - supplier?: Reference; + supplier?: Reference|undefined; /** * The time the dispensed item was sent or handed to the patient (or agent). */ - time?: string; - _time?: Element; + time?: string|undefined; + _time?: Element|undefined; /** * Indicates the type of dispensing event that is performed. Examples include: Trial Fill, Completion of Trial, Partial Fill, Emergency Fill, Samples, etc. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; /** * The time the dispense event occurred. */ - whenPrepared?: Period; + whenPrepared?: Period|undefined; } /** * Code Values for the SupplyDelivery.status field @@ -13735,11 +13735,11 @@ export interface SupplyRequestWhen extends BackboneElement { /** * Code indicating when the request should be fulfilled. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * Formal fulfillment schedule. */ - schedule?: Timing; + schedule?: Timing|undefined; } /** * A record of a request for a medication, substance or device used in the healthcare setting. @@ -13750,49 +13750,49 @@ export interface SupplyRequest extends DomainResource { /** * When the request was made. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * Unique identifier for this supply request. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * Category of supply, e.g. central, non-stock, etc. This is used to support work flows associated with the supply process. */ - kind?: CodeableConcept; + kind?: CodeableConcept|undefined; /** * The item that is requested to be supplied. */ - orderedItem?: Reference; + orderedItem?: Reference|undefined; /** * A link to a resource representing the person whom the ordered item is for. */ - patient?: Reference; + patient?: Reference|undefined; /** * Why the supply item was requested. */ - reasonCodeableConcept?: CodeableConcept; + reasonCodeableConcept?: CodeableConcept|undefined; /** * Why the supply item was requested. */ - reasonReference?: Reference; + reasonReference?: Reference|undefined; /** * The Practitioner , Organization or Patient who initiated this order for the supply. */ - source?: Reference; + source?: Reference|undefined; /** * Status of the supply request. */ - status?: SupplyRequestStatusCodes; - _status?: Element; + status?: SupplyRequestStatusCodes|undefined; + _status?: Element|undefined; /** * Who is intended to fulfill the request. */ - supplier?: Reference[]; + supplier?: Reference[]|undefined; /** * When the request should be fulfilled. */ - when?: SupplyRequestWhen; + when?: SupplyRequestWhen|undefined; } /** * Code Values for the SupplyRequest.status field @@ -13810,12 +13810,12 @@ export interface TestScriptContact extends BackboneElement { /** * The name of an individual to contact regarding the Test Script. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Contact details for individual (if a name was provided) or the publisher. */ - telecom?: ContactPoint[]; + telecom?: ContactPoint[]|undefined; } /** * A link to the FHIR specification that this test is covering. @@ -13824,13 +13824,13 @@ export interface TestScriptMetadataLink extends BackboneElement { /** * Short description of the link. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * URL to a particular requirement or feature within the FHIR specification. */ url: string; - _url?: Element; + _url?: Element|undefined; } /** * Capabilities that must exist and are assumed to function correctly on the FHIR server being tested. @@ -13843,27 +13843,27 @@ export interface TestScriptMetadataCapability extends BackboneElement { /** * Description of the capabilities that this test script is requiring the server to support. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Which server these requirements apply to. */ - destination?: number; + destination?: number|undefined; /** * Links to the FHIR specification that describes this interaction and the resources involved in more detail. */ - link?: string[]; - _link?: Element[]; + link?: string[]|undefined; + _link?: Element[]|undefined; /** * Whether or not the test execution will require the given capabilities of the server in order for this test script to execute. */ - required?: boolean; - _required?: Element; + required?: boolean|undefined; + _required?: Element|undefined; /** * Whether or not the test execution will validate the given capabilities of the server in order for this test script to execute. */ - validated?: boolean; - _validated?: Element; + validated?: boolean|undefined; + _validated?: Element|undefined; } /** * The required capability must exist and are assumed to function correctly on the FHIR server being tested. @@ -13876,7 +13876,7 @@ export interface TestScriptMetadata extends BackboneElement { /** * A link to the FHIR specification that this test is covering. */ - link?: TestScriptMetadataLink[]; + link?: TestScriptMetadataLink[]|undefined; } /** * Fixture in the test script - by reference (uri). All fixtures are required for the test script to execute. @@ -13885,17 +13885,17 @@ export interface TestScriptFixture extends BackboneElement { /** * Whether or not to implicitly create the fixture during setup. If true, the fixture is automatically created on each server being tested during setup, therefore no create operation is required for this fixture in the TestScript.setup section. */ - autocreate?: boolean; - _autocreate?: Element; + autocreate?: boolean|undefined; + _autocreate?: Element|undefined; /** * Whether or not to implicitly delete the fixture during teardown If true, the fixture is automatically deleted on each server being tested during teardown, therefore no delete operation is required for this fixture in the TestScript.teardown section. */ - autodelete?: boolean; - _autodelete?: Element; + autodelete?: boolean|undefined; + _autodelete?: Element|undefined; /** * Reference to the resource (containing the contents of the resource needed for operations). */ - resource?: Reference; + resource?: Reference|undefined; } /** * Variable is set based either on element value in response body or on header field value in the response headers. @@ -13904,23 +13904,23 @@ export interface TestScriptVariable extends BackboneElement { /** * Will be used to grab the HTTP header field value from the headers that sourceId is pointing to. */ - headerField?: string; - _headerField?: Element; + headerField?: string|undefined; + _headerField?: Element|undefined; /** * Descriptive name for this variable. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * XPath or JSONPath against the fixture body. When variables are defined, either headerField must be specified or path, but not both. */ - path?: string; - _path?: Element; + path?: string|undefined; + _path?: Element|undefined; /** * Fixture to evaluate the XPath/JSONPath expression or the headerField against within this variable. */ - sourceId?: string; - _sourceId?: Element; + sourceId?: string|undefined; + _sourceId?: Element|undefined; } /** * Header elements would be used to set HTTP headers. @@ -13930,12 +13930,12 @@ export interface TestScriptSetupActionOperationRequestHeader extends BackboneEle * The HTTP header field e.g. "Accept". */ field: string; - _field?: Element; + _field?: Element|undefined; /** * The value of the header e.g. "application/xml". */ value: string; - _value?: Element; + _value?: Element|undefined; } /** * The operation to perform. @@ -13944,70 +13944,70 @@ export interface TestScriptSetupActionOperation extends BackboneElement { /** * The content-type or mime-type to use for RESTful operation in the 'Accept' header. */ - accept?: TestScriptSetupActionOperationAcceptCodes; - _accept?: Element; + accept?: TestScriptSetupActionOperationAcceptCodes|undefined; + _accept?: Element|undefined; /** * The content-type or mime-type to use for RESTful operation in the 'Content-Type' header. */ - contentType?: TestScriptSetupActionOperationContentTypeCodes; - _contentType?: Element; + contentType?: TestScriptSetupActionOperationContentTypeCodes|undefined; + _contentType?: Element|undefined; /** * The description would be used by test engines for tracking and reporting purposes. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Which server to perform the operation on. */ - destination?: number; + destination?: number|undefined; /** * Whether or not to implicitly send the request url in encoded format. The default is true to match the standard RESTful client behavior. Set to false when communicating with a server that does not support encoded url paths. */ - encodeRequestUrl?: boolean; - _encodeRequestUrl?: Element; + encodeRequestUrl?: boolean|undefined; + _encodeRequestUrl?: Element|undefined; /** * The label would be used for tracking/logging purposes by test engines. */ - label?: string; - _label?: Element; + label?: string|undefined; + _label?: Element|undefined; /** * Path plus parameters after [type]. Used to set parts of the request URL explicitly. */ - params?: string; - _params?: Element; + params?: string|undefined; + _params?: Element|undefined; /** * Header elements would be used to set HTTP headers. */ - requestHeader?: TestScriptSetupActionOperationRequestHeader[]; + requestHeader?: TestScriptSetupActionOperationRequestHeader[]|undefined; /** * The type of the resource. See http://hl7-fhir.github.io/resourcelist.html. */ - resource?: string; - _resource?: Element; + resource?: string|undefined; + _resource?: Element|undefined; /** * The fixture id (maybe new) to map to the response. */ - responseId?: string; - _responseId?: Element; + responseId?: string|undefined; + _responseId?: Element|undefined; /** * The id of the fixture used as the body of a PUT or POST request. */ - sourceId?: string; - _sourceId?: Element; + sourceId?: string|undefined; + _sourceId?: Element|undefined; /** * Id of fixture used for extracting the [id], [type], and [vid] for GET requests. */ - targetId?: string; - _targetId?: Element; + targetId?: string|undefined; + _targetId?: Element|undefined; /** * Server interaction or operation type. */ - type?: Coding; + type?: Coding|undefined; /** * Complete request URL. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; } /** * Code Values for the TestScript.setup.action.operation.accept field @@ -14030,93 +14030,93 @@ export interface TestScriptSetupActionAssert extends BackboneElement { /** * Id of fixture used to compare the "sourceId/path" evaluations to. */ - compareToSourceId?: string; - _compareToSourceId?: Element; + compareToSourceId?: string|undefined; + _compareToSourceId?: Element|undefined; /** * XPath or JSONPath expression against fixture used to compare the "sourceId/path" evaluations to. */ - compareToSourcePath?: string; - _compareToSourcePath?: Element; + compareToSourcePath?: string|undefined; + _compareToSourcePath?: Element|undefined; /** * The content-type or mime-type to use for RESTful operation in the 'Content-Type' header. */ - contentType?: TestScriptSetupActionAssertContentTypeCodes; - _contentType?: Element; + contentType?: TestScriptSetupActionAssertContentTypeCodes|undefined; + _contentType?: Element|undefined; /** * The description would be used by test engines for tracking and reporting purposes. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * The direction to use for the assertion. */ - direction?: TestScriptSetupActionAssertDirectionCodes; - _direction?: Element; + direction?: TestScriptSetupActionAssertDirectionCodes|undefined; + _direction?: Element|undefined; /** * The HTTP header field name e.g. 'Location'. */ - headerField?: string; - _headerField?: Element; + headerField?: string|undefined; + _headerField?: Element|undefined; /** * The label would be used for tracking/logging purposes by test engines. */ - label?: string; - _label?: Element; + label?: string|undefined; + _label?: Element|undefined; /** * The ID of a fixture. Asserts that the response contains at a minimumId the fixture specified by minimumId. */ - minimumId?: string; - _minimumId?: Element; + minimumId?: string|undefined; + _minimumId?: Element|undefined; /** * Whether or not the test execution performs validation on the bundle navigation links. */ - navigationLinks?: boolean; - _navigationLinks?: Element; + navigationLinks?: boolean|undefined; + _navigationLinks?: Element|undefined; /** * The operator type. */ - operator?: TestScriptSetupActionAssertOperatorCodes; - _operator?: Element; + operator?: TestScriptSetupActionAssertOperatorCodes|undefined; + _operator?: Element|undefined; /** * The XPath or JSONPath expression to be evaluated against the fixture representing the response received from server. */ - path?: string; - _path?: Element; + path?: string|undefined; + _path?: Element|undefined; /** * The type of the resource. See http://hl7-fhir.github.io/resourcelist.html. */ - resource?: string; - _resource?: Element; + resource?: string|undefined; + _resource?: Element|undefined; /** * okay | created | noContent | notModified | bad | forbidden | notFound | methodNotAllowed | conflict | gone | preconditionFailed | unprocessable. */ - response?: TestScriptSetupActionAssertResponseCodes; - _response?: Element; + response?: TestScriptSetupActionAssertResponseCodes|undefined; + _response?: Element|undefined; /** * The value of the HTTP response code to be tested. */ - responseCode?: string; - _responseCode?: Element; + responseCode?: string|undefined; + _responseCode?: Element|undefined; /** * Fixture to evaluate the XPath/JSONPath expression or the headerField against. */ - sourceId?: string; - _sourceId?: Element; + sourceId?: string|undefined; + _sourceId?: Element|undefined; /** * The ID of the Profile to validate against. */ - validateProfileId?: string; - _validateProfileId?: Element; + validateProfileId?: string|undefined; + _validateProfileId?: Element|undefined; /** * The value to compare to. */ - value?: string; - _value?: Element; + value?: string|undefined; + _value?: Element|undefined; /** * Whether or not the test execution will produce a warning only on error for this assert. */ - warningOnly?: boolean; - _warningOnly?: Element; + warningOnly?: boolean|undefined; + _warningOnly?: Element|undefined; } /** * Code Values for the TestScript.setup.action.assert.contentType field @@ -14171,11 +14171,11 @@ export interface TestScriptSetupAction extends BackboneElement { /** * Evaluates the results of previous operations to determine if the server under test behaves appropriately. */ - assert?: TestScriptSetupActionAssert; + assert?: TestScriptSetupActionAssert|undefined; /** * The operation to perform. */ - operation?: TestScriptSetupActionOperation; + operation?: TestScriptSetupActionOperation|undefined; } /** * A series of required setup operations before tests are executed. @@ -14188,7 +14188,7 @@ export interface TestScriptSetup extends BackboneElement { /** * Capabilities that must exist and are assumed to function correctly on the FHIR server being tested. */ - metadata?: TestScriptMetadata; + metadata?: TestScriptMetadata|undefined; } /** * Action would contain either an operation or an assertion. @@ -14197,11 +14197,11 @@ export interface TestScriptTestAction extends BackboneElement { /** * Evaluates the results of previous operations to determine if the server under test behaves appropriately. */ - assert?: TestScriptSetupActionAssert; + assert?: TestScriptSetupActionAssert|undefined; /** * An operation would involve a REST request to a server. */ - operation?: TestScriptSetupActionOperation; + operation?: TestScriptSetupActionOperation|undefined; } /** * A test in this script. @@ -14214,17 +14214,17 @@ export interface TestScriptTest extends BackboneElement { /** * A short description of the test used by test engines for tracking and reporting purposes. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Capabilities that must exist and are assumed to function correctly on the FHIR server being tested. */ - metadata?: TestScriptMetadata; + metadata?: TestScriptMetadata|undefined; /** * The name of this test used for tracking/logging purposes by test engines. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; } /** * The teardown action will only contain an operation. @@ -14233,7 +14233,7 @@ export interface TestScriptTeardownAction extends BackboneElement { /** * An operation would involve a REST request to a server. */ - operation?: TestScriptSetupActionOperation; + operation?: TestScriptSetupActionOperation|undefined; } /** * A series of operations required to clean up after the all the tests are executed (successfully or otherwise). @@ -14253,98 +14253,98 @@ export interface TestScript extends DomainResource { /** * Contacts to assist a user in finding and communicating with the publisher. */ - contact?: TestScriptContact[]; + contact?: TestScriptContact[]|undefined; /** * A copyright statement relating to the Test Script and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the details of the constraints and mappings. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * The date this version of the test tcript was published. The date must change when the business version changes, if it does, and it must change if the status code changes. In addition, it should change when the substantive content of the test cases change. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * A free text natural language description of the TestScript and its use. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Allows filtering of TestScripts that are appropriate for use vs. not. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * Fixture in the test script - by reference (uri). All fixtures are required for the test script to execute. */ - fixture?: TestScriptFixture[]; + fixture?: TestScriptFixture[]|undefined; /** * Identifier for the TestScript assigned for external purposes outside the context of FHIR. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * The required capability must exist and are assumed to function correctly on the FHIR server being tested. */ - metadata?: TestScriptMetadata; + metadata?: TestScriptMetadata|undefined; /** * If the tests apply to more than one FHIR server (e.g. cross-server interoperability tests) then multiserver=true. Defaults to false if value is unspecified. */ - multiserver?: boolean; - _multiserver?: Element; + multiserver?: boolean|undefined; + _multiserver?: Element|undefined; /** * A free text natural language name identifying the TestScript. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * Reference to the profile to be used for validation. */ - profile?: Reference[]; + profile?: Reference[]|undefined; /** * Helps establish the "authority/credibility" of the Test Script. May also allow for contact. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * Explains why this Test Script is needed and why it's been constrained as it has. */ - requirements?: string; - _requirements?: Element; + requirements?: string|undefined; + _requirements?: Element|undefined; /** * A series of required setup operations before tests are executed. */ - setup?: TestScriptSetup; + setup?: TestScriptSetup|undefined; /** * Allows filtering of TestScripts that are appropriate for use vs. not. */ status: TestScriptStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * A series of operations required to clean up after the all the tests are executed (successfully or otherwise). */ - teardown?: TestScriptTeardown; + teardown?: TestScriptTeardown|undefined; /** * A test in this script. */ - test?: TestScriptTest[]; + test?: TestScriptTest[]|undefined; /** * An absolute URL that is used to identify this Test Script. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this Test Script is (or will be) published. */ url: string; - _url?: Element; + _url?: Element|undefined; /** * Assist in searching for appropriate content. */ - useContext?: CodeableConcept[]; + useContext?: CodeableConcept[]|undefined; /** * Variable is set based either on element value in response body or on header field value in the response headers. */ - variable?: TestScriptVariable[]; + variable?: TestScriptVariable[]|undefined; /** * There may be multiple resource versions of the TestScript that have this same identifier. The resource version id will change for technical reasons, whereas the stated version number needs to be under the author's control. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the TestScript.status field @@ -14361,12 +14361,12 @@ export interface ValueSetContact extends BackboneElement { /** * The name of an individual to contact regarding the value set. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Contact details for individual (if a name was provided) or the publisher. */ - telecom?: ContactPoint[]; + telecom?: ContactPoint[]|undefined; } /** * Many concept definition systems support multiple representations, in multiple languages, and for multiple purposes. @@ -14375,17 +14375,17 @@ export interface ValueSetCodeSystemConceptDesignation extends BackboneElement { /** * The language this designation is defined for. */ - language?: string; - _language?: Element; + language?: string|undefined; + _language?: Element|undefined; /** * A code that details how this designation would be used. */ - use?: Coding; + use?: Coding|undefined; /** * The text value for this designation. */ value: string; - _value?: Element; + _value?: Element|undefined; } /** * Concepts that are in the code system. The concept definitions are inherently hierarchical, but the definitions must be consulted to determine what the meaning of the hierarchical relationships are. @@ -14394,31 +14394,31 @@ export interface ValueSetCodeSystemConcept extends BackboneElement { /** * If this code is not for use as a real concept. */ - abstract?: boolean; - _abstract?: Element; + abstract?: boolean|undefined; + _abstract?: Element|undefined; /** * A code - a text symbol - that uniquely identifies the concept within the code system. */ code: string; - _code?: Element; + _code?: Element|undefined; /** * Defines children of a concept to produce a hierarchy of concepts. The nature of the relationships is variable (is-a/contains/categorizes) and can only be determined by examining the definitions of the concepts. */ - concept?: ValueSetCodeSystemConcept[]; + concept?: ValueSetCodeSystemConcept[]|undefined; /** * The formal definition of the concept. The value set resource does not make formal definitions required, because of the prevalence of legacy systems. However, they are highly recommended, as without them there is no formal meaning associated with the concept. */ - definition?: string; - _definition?: Element; + definition?: string|undefined; + _definition?: Element|undefined; /** * Many concept definition systems support multiple representations, in multiple languages, and for multiple purposes. */ - designation?: ValueSetCodeSystemConceptDesignation[]; + designation?: ValueSetCodeSystemConceptDesignation[]|undefined; /** * A human readable string that is the recommended default way to present this concept to a user. */ - display?: string; - _display?: Element; + display?: string|undefined; + _display?: Element|undefined; } /** * A definition of a code system, inlined into the value set (as a packaging convenience). Note that the inline code system may be used from other value sets by referring to its (codeSystem.system) directly. @@ -14427,8 +14427,8 @@ export interface ValueSetCodeSystem extends BackboneElement { /** * If code comparison is case sensitive when codes within this system are compared to each other. */ - caseSensitive?: boolean; - _caseSensitive?: Element; + caseSensitive?: boolean|undefined; + _caseSensitive?: Element|undefined; /** * Concepts that are in the code system. The concept definitions are inherently hierarchical, but the definitions must be consulted to determine what the meaning of the hierarchical relationships are. */ @@ -14437,12 +14437,12 @@ export interface ValueSetCodeSystem extends BackboneElement { * An absolute URI that is used to reference this code system, including in [Coding]{datatypes.html#Coding}.system. */ system: string; - _system?: Element; + _system?: Element|undefined; /** * The version of this code system that defines the codes. Note that the version is optional because a well maintained code system does not suffer from versioning, and therefore the version does not need to be maintained. However many code systems are not well maintained, and the version needs to be defined and tracked. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Specifies a concept to be included or excluded. @@ -14452,16 +14452,16 @@ export interface ValueSetComposeIncludeConcept extends BackboneElement { * Specifies a code for the concept to be included or excluded. */ code: string; - _code?: Element; + _code?: Element|undefined; /** * Additional representations for this concept when used in this value set - other languages, aliases, specialized purposes, used for particular purposes, etc. */ - designation?: ValueSetCodeSystemConceptDesignation[]; + designation?: ValueSetCodeSystemConceptDesignation[]|undefined; /** * The text to display to the user for this concept in the context of this valueset. If no display is provided, then applications using the value set use the display specified for the code by the system. */ - display?: string; - _display?: Element; + display?: string|undefined; + _display?: Element|undefined; } /** * Select concepts by specify a matching criteria based on the properties (including relationships) defined by the system. If multiple filters are specified, they SHALL all be true. @@ -14471,17 +14471,17 @@ export interface ValueSetComposeIncludeFilter extends BackboneElement { * The kind of operation to perform as a part of the filter criteria. */ op: ValueSetComposeIncludeFilterOpCodes; - _op?: Element; + _op?: Element|undefined; /** * A code that identifies a property defined in the code system. */ property: string; - _property?: Element; + _property?: Element|undefined; /** * The match value may be either a code defined by the system, or a string value, which is a regex match on the literal string of the property value. */ value: string; - _value?: Element; + _value?: Element|undefined; } /** * Code Values for the ValueSet.compose.include.filter.op field @@ -14501,21 +14501,21 @@ export interface ValueSetComposeInclude extends BackboneElement { /** * Specifies a concept to be included or excluded. */ - concept?: ValueSetComposeIncludeConcept[]; + concept?: ValueSetComposeIncludeConcept[]|undefined; /** * Select concepts by specify a matching criteria based on the properties (including relationships) defined by the system. If multiple filters are specified, they SHALL all be true. */ - filter?: ValueSetComposeIncludeFilter[]; + filter?: ValueSetComposeIncludeFilter[]|undefined; /** * An absolute URI which is the code system from which the selected codes come from. */ system: string; - _system?: Element; + _system?: Element|undefined; /** * The version of the code system that the codes are selected from. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * A set of criteria that provide the content logical definition of the value set by including or excluding codes from outside this value set. @@ -14524,16 +14524,16 @@ export interface ValueSetCompose extends BackboneElement { /** * Exclude one or more codes from the value set. */ - exclude?: ValueSetComposeInclude[]; + exclude?: ValueSetComposeInclude[]|undefined; /** * Includes the contents of the referenced value set as a part of the contents of this value set. This is an absolute URI that is a reference to ValueSet.uri. */ - import?: string[]; - _import?: Element[]; + import?: string[]|undefined; + _import?: Element[]|undefined; /** * Include one or more codes from a code system. */ - include?: ValueSetComposeInclude[]; + include?: ValueSetComposeInclude[]|undefined; } /** * A parameter that controlled the expansion process. These parameters may be used by users of expanded value sets to check whether the expansion is suitable for a particular purpose, or to pick the correct expansion. @@ -14543,35 +14543,35 @@ export interface ValueSetExpansionParameter extends BackboneElement { * The name of the parameter. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * The value of the parameter. */ - valueString?: string; - _valueString?: Element; + valueString?: string|undefined; + _valueString?: Element|undefined; /** * The value of the parameter. */ - valueBoolean?: boolean; - _valueBoolean?: Element; + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; /** * The value of the parameter. */ - valueInteger?: number; + valueInteger?: number|undefined; /** * The value of the parameter. */ - valueDecimal?: number; + valueDecimal?: number|undefined; /** * The value of the parameter. */ - valueUri?: string; - _valueUri?: Element; + valueUri?: string|undefined; + _valueUri?: Element|undefined; /** * The value of the parameter. */ - valueCode?: string; - _valueCode?: Element; + valueCode?: string|undefined; + _valueCode?: Element|undefined; } /** * The codes that are contained in the value set expansion. @@ -14580,32 +14580,32 @@ export interface ValueSetExpansionContains extends BackboneElement { /** * If true, this entry is included in the expansion for navigational purposes, and the user cannot select the code directly as a proper value. */ - abstract?: boolean; - _abstract?: Element; + abstract?: boolean|undefined; + _abstract?: Element|undefined; /** * The code for this item in the expansion hierarchy. If this code is missing the entry in the hierarchy is a place holder (abstract) and does not represent a valid code in the value set. */ - code?: string; - _code?: Element; + code?: string|undefined; + _code?: Element|undefined; /** * Other codes and entries contained under this entry in the hierarchy. */ - contains?: ValueSetExpansionContains[]; + contains?: ValueSetExpansionContains[]|undefined; /** * The recommended display for this item in the expansion. */ - display?: string; - _display?: Element; + display?: string|undefined; + _display?: Element|undefined; /** * An absolute URI which is the code system in which the code for this item in the expansion is defined. */ - system?: string; - _system?: Element; + system?: string|undefined; + _system?: Element|undefined; /** * The version of this code system that defined this code and/or display. This should only be used with code systems that do not enforce concept permanence. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * A value set can also be "expanded", where the value set is turned into a simple collection of enumerated codes. This element holds the expansion, if it has been performed. @@ -14614,29 +14614,29 @@ export interface ValueSetExpansion extends BackboneElement { /** * The codes that are contained in the value set expansion. */ - contains?: ValueSetExpansionContains[]; + contains?: ValueSetExpansionContains[]|undefined; /** * An identifier that uniquely identifies this expansion of the valueset. Systems may re-use the same identifier as long as the expansion and the definition remain the same, but are not required to do so. */ identifier: string; - _identifier?: Element; + _identifier?: Element|undefined; /** * If paging is being used, the offset at which this resource starts. I.e. this resource is a partial view into the expansion. If paging is not being used, this element SHALL not be present. */ - offset?: number; + offset?: number|undefined; /** * A parameter that controlled the expansion process. These parameters may be used by users of expanded value sets to check whether the expansion is suitable for a particular purpose, or to pick the correct expansion. */ - parameter?: ValueSetExpansionParameter[]; + parameter?: ValueSetExpansionParameter[]|undefined; /** * The time at which the expansion was produced by the expanding system. */ timestamp: string; - _timestamp?: Element; + _timestamp?: Element|undefined; /** * The total number of concepts in the expansion. If the number of concept nodes in this resource is less than the stated number, then the server can return more using the offset parameter. */ - total?: number; + total?: number|undefined; } /** * A value set specifies a set of codes drawn from one or more code systems. @@ -14647,92 +14647,92 @@ export interface ValueSet extends DomainResource { /** * A definition of a code system, inlined into the value set (as a packaging convenience). Note that the inline code system may be used from other value sets by referring to its (codeSystem.system) directly. */ - codeSystem?: ValueSetCodeSystem; + codeSystem?: ValueSetCodeSystem|undefined; /** * A set of criteria that provide the content logical definition of the value set by including or excluding codes from outside this value set. */ - compose?: ValueSetCompose; + compose?: ValueSetCompose|undefined; /** * Contacts to assist a user in finding and communicating with the publisher. */ - contact?: ValueSetContact[]; + contact?: ValueSetContact[]|undefined; /** * A copyright statement relating to the value set and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the value set. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * Need to know when a value set was first legal for use or became withdrawn or replaced. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * Human understandability. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * A value set can also be "expanded", where the value set is turned into a simple collection of enumerated codes. This element holds the expansion, if it has been performed. */ - expansion?: ValueSetExpansion; + expansion?: ValueSetExpansion|undefined; /** * This valueset was authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * It is not required to say whether this intent applies. */ - extensible?: boolean; - _extensible?: Element; + extensible?: boolean|undefined; + _extensible?: Element|undefined; /** * Formal identifier that is used to identify this value set when it is represented in other formats, or referenced in a specification, model, design or an instance. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * If this is set to 'true', then no new versions of the content logical definition can be created. Note: Other metadata might still change. */ - immutable?: boolean; - _immutable?: Element; + immutable?: boolean|undefined; + _immutable?: Element|undefined; /** * If a locked date is defined, then the Content Logical Definition must be evaluated using the current version of all referenced code system(s) and value set instances as of the locked date. */ - lockedDate?: string; - _lockedDate?: Element; + lockedDate?: string|undefined; + _lockedDate?: Element|undefined; /** * Support human navigation. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Helps establish the "authority/credibility" of the value set. May also allow for contact. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * Explains why this value set is needed and why it has been constrained as it has. */ - requirements?: string; - _requirements?: Element; + requirements?: string|undefined; + _requirements?: Element|undefined; /** * Identify when/if the value set should be used. */ status: ValueSetStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * An absolute URL that is used to identify this value set when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this value set is (or will be) published. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * Assist in searching for appropriate content. */ - useContext?: CodeableConcept[]; + useContext?: CodeableConcept[]|undefined; /** * Used to identify this version of the value set when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the profile author manually and the value should be a timestamp. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the ValueSet.status field @@ -14749,60 +14749,60 @@ export interface VisionPrescriptionDispense extends BackboneElement { /** * Power adjustment for multifocal lenses measured in diopters (0.25 units). */ - add?: number; + add?: number|undefined; /** * Adjustment for astigmatism measured in integer degrees. */ - axis?: number; + axis?: number|undefined; /** * Back curvature measured in millimeters. */ - backCurve?: number; + backCurve?: number|undefined; /** * The relative base, or reference lens edge, for the prism. */ - base?: VisionPrescriptionDispenseBaseCodes; - _base?: Element; + base?: VisionPrescriptionDispenseBaseCodes|undefined; + _base?: Element|undefined; /** * Brand recommendations or restrictions. */ - brand?: string; - _brand?: Element; + brand?: string|undefined; + _brand?: Element|undefined; /** * Special color or pattern. */ - color?: string; - _color?: Element; + color?: string|undefined; + _color?: Element|undefined; /** * Power adjustment for astigmatism measured in diopters (0.25 units). */ - cylinder?: number; + cylinder?: number|undefined; /** * Contact lens diameter measured in millimeters. */ - diameter?: number; + diameter?: number|undefined; /** * The recommended maximum wear period for the lens. */ - duration?: Quantity; + duration?: Quantity|undefined; /** * The eye for which the lens applies. */ - eye?: VisionPrescriptionDispenseEyeCodes; - _eye?: Element; + eye?: VisionPrescriptionDispenseEyeCodes|undefined; + _eye?: Element|undefined; /** * Notes for special requirements such as coatings and lens materials. */ - notes?: string; - _notes?: Element; + notes?: string|undefined; + _notes?: Element|undefined; /** * Contact lens power measured in diopters (0.25 units). */ - power?: number; + power?: number|undefined; /** * Amount of prism to compensate for eye alignment in fractional units. */ - prism?: number; + prism?: number|undefined; /** * Identifies the type of vision correction product which is required for the patient. */ @@ -14810,7 +14810,7 @@ export interface VisionPrescriptionDispense extends BackboneElement { /** * Lens power measured in diopters (0.25 units). */ - sphere?: number; + sphere?: number|undefined; } /** * Code Values for the VisionPrescription.dispense.base field @@ -14837,36 +14837,36 @@ export interface VisionPrescription extends DomainResource { /** * The date (and perhaps time) when the prescription was written. */ - dateWritten?: string; - _dateWritten?: Element; + dateWritten?: string|undefined; + _dateWritten?: Element|undefined; /** * Deals with details of the dispense part of the supply specification. */ - dispense?: VisionPrescriptionDispense[]; + dispense?: VisionPrescriptionDispense[]|undefined; /** * A link to a resource that identifies the particular occurrence of contact between patient and health care provider. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * Business identifier which may be used by other parties to reference or identify the prescription. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * A link to a resource representing the person to whom the vision products will be supplied. */ - patient?: Reference; + patient?: Reference|undefined; /** * The healthcare professional responsible for authorizing the prescription. */ - prescriber?: Reference; + prescriber?: Reference|undefined; /** * Can be the reason or the indication for writing the prescription. */ - reasonCodeableConcept?: CodeableConcept; + reasonCodeableConcept?: CodeableConcept|undefined; /** * Can be the reason or the indication for writing the prescription. */ - reasonReference?: Reference; + reasonReference?: Reference|undefined; } const account_status_Active: Coding = { code: "active", @@ -197447,3 +197447,101 @@ export type FhirResource = |TestScript |ValueSet |VisionPrescription; +/** + * String enum/union covering all known resource types. + */ +export type FhirResourceType = + 'Account' + | 'AllergyIntolerance' + | 'Appointment' + | 'AppointmentResponse' + | 'AuditEvent' + | 'Basic' + | 'Binary' + | 'BodySite' + | 'Bundle' + | 'CarePlan' + | 'Claim' + | 'ClaimResponse' + | 'ClinicalImpression' + | 'Communication' + | 'CommunicationRequest' + | 'Composition' + | 'ConceptMap' + | 'Condition' + | 'Conformance' + | 'Contract' + | 'Coverage' + | 'DataElement' + | 'DetectedIssue' + | 'Device' + | 'DeviceComponent' + | 'DeviceMetric' + | 'DeviceUseRequest' + | 'DeviceUseStatement' + | 'DiagnosticOrder' + | 'DiagnosticReport' + | 'DocumentManifest' + | 'DocumentReference' + | 'EligibilityRequest' + | 'EligibilityResponse' + | 'Encounter' + | 'EnrollmentRequest' + | 'EnrollmentResponse' + | 'EpisodeOfCare' + | 'ExplanationOfBenefit' + | 'FamilyMemberHistory' + | 'Flag' + | 'Goal' + | 'Group' + | 'HealthcareService' + | 'ImagingObjectSelection' + | 'ImagingStudy' + | 'Immunization' + | 'ImmunizationRecommendation' + | 'ImplementationGuide' + | 'List' + | 'Location' + | 'Media' + | 'Medication' + | 'MedicationAdministration' + | 'MedicationDispense' + | 'MedicationOrder' + | 'MedicationStatement' + | 'MessageHeader' + | 'NamingSystem' + | 'NutritionOrder' + | 'Observation' + | 'OperationDefinition' + | 'OperationOutcome' + | 'Order' + | 'OrderResponse' + | 'Organization' + | 'Parameters' + | 'Patient' + | 'PaymentNotice' + | 'PaymentReconciliation' + | 'Person' + | 'Practitioner' + | 'Procedure' + | 'ProcedureRequest' + | 'ProcessRequest' + | 'ProcessResponse' + | 'Provenance' + | 'Questionnaire' + | 'QuestionnaireResponse' + | 'ReferralRequest' + | 'RelatedPerson' + | 'RiskAssessment' + | 'Schedule' + | 'SearchParameter' + | 'Slot' + | 'Specimen' + | 'StructureDefinition' + | 'Subscription' + | 'Substance' + | 'SupplyDelivery' + | 'SupplyRequest' + | 'TestScript' + | 'ValueSet' + | 'VisionPrescription'; diff --git a/generated/TypeScript_R3.ts b/generated/TypeScript_R3.ts index 89f3d05ba..0e3aa139a 100644 --- a/generated/TypeScript_R3.ts +++ b/generated/TypeScript_R3.ts @@ -12,52 +12,52 @@ export interface Address extends Element { /** * The name of the city, town, village or other community or delivery center. */ - city?: string; - _city?: Element; + city?: string|undefined; + _city?: Element|undefined; /** * ISO 3166 3 letter codes can be used in place of a full country name. */ - country?: string; - _country?: Element; + country?: string|undefined; + _country?: Element|undefined; /** * District is sometimes known as county, but in some regions 'county' is used in place of city (municipality), so county name should be conveyed in city instead. */ - district?: string; - _district?: Element; + district?: string|undefined; + _district?: Element|undefined; /** * This component contains the house number, apartment number, street name, street direction, P.O. Box number, delivery hints, and similar address information. */ - line?: string[]; - _line?: Element[]; + line?: string[]|undefined; + _line?: Element[]|undefined; /** * Time period when address was/is in use. */ - period?: Period; + period?: Period|undefined; /** * A postal code designating a region defined by the postal service. */ - postalCode?: string; - _postalCode?: Element; + postalCode?: string|undefined; + _postalCode?: Element|undefined; /** * Sub-unit of a country with limited sovereignty in a federally organized country. A code may be used if codes are in common use (i.e. US 2 letter state codes). */ - state?: string; - _state?: Element; + state?: string|undefined; + _state?: Element|undefined; /** * Can provide both a text representation and parts. */ - text?: string; - _text?: Element; + text?: string|undefined; + _text?: Element|undefined; /** * Distinguishes between physical addresses (those you can visit) and mailing addresses (e.g. PO Boxes and care-of addresses). Most addresses are both. */ - type?: AddressTypeCodes; - _type?: Element; + type?: AddressTypeCodes|undefined; + _type?: Element|undefined; /** * This is labeled as "Is Modifier" because applications should not mistake a temporary or old address etc.for a current/permanent one. Applications can assume that an address is current unless it explicitly says that it is temporary or old. */ - use?: AddressUseCodes; - _use?: Element; + use?: AddressUseCodes|undefined; + _use?: Element|undefined; } /** * Code Values for the Address.type field @@ -88,22 +88,22 @@ export interface Annotation extends Element { /** * The individual responsible for making the annotation. */ - authorReference?: Reference; + authorReference?: Reference|undefined; /** * The individual responsible for making the annotation. */ - authorString?: string; - _authorString?: Element; + authorString?: string|undefined; + _authorString?: Element|undefined; /** * The text of the annotation. */ text: string; - _text?: Element; + _text?: Element|undefined; /** * Indicates when this particular annotation was made. */ - time?: string; - _time?: Element; + time?: string|undefined; + _time?: Element|undefined; } /** * For referring to data content defined in other formats. @@ -112,42 +112,42 @@ export interface Attachment extends Element { /** * Identifies the type of the data in the attachment and allows a method to be chosen to interpret or render the data. Includes mime type parameters such as charset where appropriate. */ - contentType?: string; - _contentType?: Element; + contentType?: string|undefined; + _contentType?: Element|undefined; /** * The date that the attachment was first created. */ - creation?: string; - _creation?: Element; + creation?: string|undefined; + _creation?: Element|undefined; /** * The base64-encoded data SHALL be expressed in the same character set as the base resource XML or JSON. */ - data?: string; - _data?: Element; + data?: string|undefined; + _data?: Element|undefined; /** * The hash is calculated on the data prior to base64 encoding, if the data is based64 encoded. */ - hash?: string; - _hash?: Element; + hash?: string|undefined; + _hash?: Element|undefined; /** * The human language of the content. The value can be any valid value according to BCP 47. */ - language?: string; - _language?: Element; + language?: string|undefined; + _language?: Element|undefined; /** * The number of bytes is redundant if the data is provided as a base64binary, but is useful if the data is provided as a url reference. */ - size?: number; + size?: number|undefined; /** * A label or set of text to display in place of the data. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * If both data and url are provided, the url SHALL point to the same content as the data contains. Urls may be relative references or may reference transient locations such as a wrapping envelope using cid: though this has ramifications for using signatures. Relative URLs are interpreted relative to the service url, like a resource reference, rather than relative to the resource itself. If a URL is provided, it SHALL resolve to actual data. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; } /** * Base definition for all elements that are defined inside a resource - but not those in a data type. @@ -156,7 +156,7 @@ export interface BackboneElement extends Element { /** * There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. */ - modifierExtension?: Extension[]; + modifierExtension?: Extension[]|undefined; } /** * A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text. @@ -165,12 +165,12 @@ export interface CodeableConcept extends Element { /** * Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true. */ - coding?: Coding[]; + coding?: Coding[]|undefined; /** * Very often the text is the same as a displayName of one of the codings. */ - text?: string; - _text?: Element; + text?: string|undefined; + _text?: Element|undefined; } /** * A reference to a code defined by a terminology system. @@ -179,28 +179,28 @@ export interface Coding extends Element { /** * A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination). */ - code?: string; - _code?: Element; + code?: string|undefined; + _code?: Element|undefined; /** * A representation of the meaning of the code in the system, following the rules of the system. */ - display?: string; - _display?: Element; + display?: string|undefined; + _display?: Element|undefined; /** * The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously. */ - system?: string; - _system?: Element; + system?: string|undefined; + _system?: Element|undefined; /** * Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely. */ - userSelected?: boolean; - _userSelected?: Element; + userSelected?: boolean|undefined; + _userSelected?: Element|undefined; /** * Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Specifies contact information for a person or organization. @@ -209,12 +209,12 @@ export interface ContactDetail extends Element { /** * If there is no named individual, the telecom information is for the organization as a whole. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * The contact details for the individual (if a name was provided) or the organization. */ - telecom?: ContactPoint[]; + telecom?: ContactPoint[]|undefined; } /** * Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc. @@ -223,26 +223,26 @@ export interface ContactPoint extends Element { /** * Time period when the contact point was/is in use. */ - period?: Period; + period?: Period|undefined; /** * Note that rank does not necessarily follow the order in which the contacts are represented in the instance. */ - rank?: number; + rank?: number|undefined; /** * Telecommunications form for contact point - what communications system is required to make use of the contact. */ - system?: ContactPointSystemCodes; - _system?: Element; + system?: ContactPointSystemCodes|undefined; + _system?: Element|undefined; /** * This is labeled as "Is Modifier" because applications should not mistake a temporary or old contact etc.for a current/permanent one. Applications can assume that a contact is current unless it explicitly says that it is temporary or old. */ - use?: ContactPointUseCodes; - _use?: Element; + use?: ContactPointUseCodes|undefined; + _use?: Element|undefined; /** * Additional text data such as phone extension numbers, or notes about use of the contact are sometimes included in the value. */ - value?: string; - _value?: Element; + value?: string|undefined; + _value?: Element|undefined; } /** * Code Values for the ContactPoint.system field @@ -273,17 +273,17 @@ export interface Contributor extends Element { /** * Contact details to assist a user in finding and communicating with the contributor. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * The name of the individual or organization responsible for the contribution. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * The type of contributor. */ type: ContributorTypeCodes; - _type?: Element; + _type?: Element|undefined; } /** * Code Values for the Contributor.type field @@ -307,29 +307,29 @@ export interface DataRequirementCodeFilter extends Element { * The code-valued attribute of the filter. The specified path must be resolvable from the type of the required data. The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements. Note that the index must be an integer constant. The path must resolve to an element of type code, Coding, or CodeableConcept. */ path: string; - _path?: Element; + _path?: Element|undefined; /** * The codes for the code filter. Only one of valueSet, valueCode, valueCoding, or valueCodeableConcept may be specified. If values are given, the filter will return only those data items for which the code-valued attribute specified by the path has a value that is one of the specified codes. */ - valueCode?: string[]; - _valueCode?: Element[]; + valueCode?: string[]|undefined; + _valueCode?: Element[]|undefined; /** * The CodeableConcepts for the code filter. Only one of valueSet, valueCode, valueConding, or valueCodeableConcept may be specified. If values are given, the filter will return only those data items for which the code-valued attribute specified by the path has a value that is one of the specified CodeableConcepts. */ - valueCodeableConcept?: CodeableConcept[]; + valueCodeableConcept?: CodeableConcept[]|undefined; /** * The Codings for the code filter. Only one of valueSet, valueCode, valueConding, or valueCodeableConcept may be specified. If values are given, the filter will return only those data items for which the code-valued attribute specified by the path has a value that is one of the specified Codings. */ - valueCoding?: Coding[]; + valueCoding?: Coding[]|undefined; /** * The valueset for the code filter. The valueSet and value elements are exclusive. If valueSet is specified, the filter will return only those data items for which the value of the code-valued element specified in the path is a member of the specified valueset. */ - valueSetString?: string; - _valueSetString?: Element; + valueSetString?: string|undefined; + _valueSetString?: Element|undefined; /** * The valueset for the code filter. The valueSet and value elements are exclusive. If valueSet is specified, the filter will return only those data items for which the value of the code-valued element specified in the path is a member of the specified valueset. */ - valueSetReference?: Reference; + valueSetReference?: Reference|undefined; } /** * Date filters specify additional constraints on the data in terms of the applicable date range for specific elements. @@ -339,20 +339,20 @@ export interface DataRequirementDateFilter extends Element { * The date-valued attribute of the filter. The specified path must be resolvable from the type of the required data. The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements. Note that the index must be an integer constant. The path must resolve to an element of type dateTime, Period, Schedule, or Timing. */ path: string; - _path?: Element; + _path?: Element|undefined; /** * The value of the filter. If period is specified, the filter will return only those data items that fall within the bounds determined by the Period, inclusive of the period boundaries. If dateTime is specified, the filter will return only those data items that are equal to the specified dateTime. If a Duration is specified, the filter will return only those data items that fall within Duration from now. */ - valueDateTime?: string; - _valueDateTime?: Element; + valueDateTime?: string|undefined; + _valueDateTime?: Element|undefined; /** * The value of the filter. If period is specified, the filter will return only those data items that fall within the bounds determined by the Period, inclusive of the period boundaries. If dateTime is specified, the filter will return only those data items that are equal to the specified dateTime. If a Duration is specified, the filter will return only those data items that fall within Duration from now. */ - valuePeriod?: Period; + valuePeriod?: Period|undefined; /** * The value of the filter. If period is specified, the filter will return only those data items that fall within the bounds determined by the Period, inclusive of the period boundaries. If dateTime is specified, the filter will return only those data items that are equal to the specified dateTime. If a Duration is specified, the filter will return only those data items that fall within Duration from now. */ - valueDuration?: Duration; + valueDuration?: Duration|undefined; } /** * Describes a required data item for evaluation in terms of the type of data, and optional code or date-based filters of the data. @@ -361,26 +361,26 @@ export interface DataRequirement extends Element { /** * Code filters specify additional constraints on the data, specifying the value set of interest for a particular element of the data. */ - codeFilter?: DataRequirementCodeFilter[]; + codeFilter?: DataRequirementCodeFilter[]|undefined; /** * Date filters specify additional constraints on the data in terms of the applicable date range for specific elements. */ - dateFilter?: DataRequirementDateFilter[]; + dateFilter?: DataRequirementDateFilter[]|undefined; /** * Indicates that specific elements of the type are referenced by the knowledge module and must be supported by the consumer in order to obtain an effective evaluation. This does not mean that a value is required for this element, only that the consuming system must understand the element and be able to provide values for it if they are available. Note that the value for this element can be a path to allow references to nested elements. In that case, all the elements along the path must be supported. */ - mustSupport?: string[]; - _mustSupport?: Element[]; + mustSupport?: string[]|undefined; + _mustSupport?: Element[]|undefined; /** * The profile of the required data, specified as the uri of the profile definition. */ - profile?: string[]; - _profile?: Element[]; + profile?: string[]|undefined; + _profile?: Element[]|undefined; /** * The type of the required data, specified as the type name of a resource. For profiles, this value is set to the type of the base resource of the profile. */ type: string; - _type?: Element; + _type?: Element|undefined; } /** * A length - a value with a unit that is a physical distance. @@ -394,78 +394,78 @@ export interface Dosage extends Element { /** * Supplemental instruction - e.g. "with meals". */ - additionalInstruction?: CodeableConcept[]; + additionalInstruction?: CodeableConcept[]|undefined; /** * Can express "as needed" without a reason by setting the Boolean = True. In this case the CodeableConcept is not populated. Or you can express "as needed" with a reason by including the CodeableConcept. In this case the Boolean is assumed to be True. If you set the Boolean to False, then the dose is given according to the schedule and is not "prn" or "as needed". */ - asNeededBoolean?: boolean; - _asNeededBoolean?: Element; + asNeededBoolean?: boolean|undefined; + _asNeededBoolean?: Element|undefined; /** * Can express "as needed" without a reason by setting the Boolean = True. In this case the CodeableConcept is not populated. Or you can express "as needed" with a reason by including the CodeableConcept. In this case the Boolean is assumed to be True. If you set the Boolean to False, then the dose is given according to the schedule and is not "prn" or "as needed". */ - asNeededCodeableConcept?: CodeableConcept; + asNeededCodeableConcept?: CodeableConcept|undefined; /** * Note that this specifies the quantity of the specified medication, not the quantity for each active ingredient(s). Each ingredient amount can be communicated in the Medication resource. For example, if one wants to communicate that a tablet was 375 mg, where the dose was one tablet, you can use the Medication resource to document that the tablet was comprised of 375 mg of drug XYZ. Alternatively if the dose was 375 mg, then you may only need to use the Medication resource to indicate this was a tablet. If the example were an IV such as dopamine and you wanted to communicate that 400mg of dopamine was mixed in 500 ml of some IV solution, then this would all be communicated in the Medication resource. If the administration is not intended to be instantaneous (rate is present or timing has a duration), this can be specified to convey the total amount to be administered over the period of time as indicated by the schedule e.g. 500 ml in dose, with timing used to convey that this should be done over 4 hours. */ - doseRange?: Range; + doseRange?: Range|undefined; /** * Note that this specifies the quantity of the specified medication, not the quantity for each active ingredient(s). Each ingredient amount can be communicated in the Medication resource. For example, if one wants to communicate that a tablet was 375 mg, where the dose was one tablet, you can use the Medication resource to document that the tablet was comprised of 375 mg of drug XYZ. Alternatively if the dose was 375 mg, then you may only need to use the Medication resource to indicate this was a tablet. If the example were an IV such as dopamine and you wanted to communicate that 400mg of dopamine was mixed in 500 ml of some IV solution, then this would all be communicated in the Medication resource. If the administration is not intended to be instantaneous (rate is present or timing has a duration), this can be specified to convey the total amount to be administered over the period of time as indicated by the schedule e.g. 500 ml in dose, with timing used to convey that this should be done over 4 hours. */ - doseQuantity?: Quantity; + doseQuantity?: Quantity|undefined; /** * This is intended for use as an adjunct to the dosage when there is an upper cap. For example, a body surface area related dose with a maximum amount, such as 1.5 mg/m2 (maximum 2 mg) IV over 5 – 10 minutes would have doseQuantity of 1.5 mg/m2 and maxDosePerAdministration of 2 mg. */ - maxDosePerAdministration?: Quantity; + maxDosePerAdministration?: Quantity|undefined; /** * Upper limit on medication per lifetime of the patient. */ - maxDosePerLifetime?: Quantity; + maxDosePerLifetime?: Quantity|undefined; /** * This is intended for use as an adjunct to the dosage when there is an upper cap. For example "2 tablets every 4 hours to a maximum of 8/day". */ - maxDosePerPeriod?: Ratio; + maxDosePerPeriod?: Ratio|undefined; /** * Terminologies used often pre-coordinate this term with the route and or form of administration. */ - method?: CodeableConcept; + method?: CodeableConcept|undefined; /** * Instructions in terms that are understood by the patient or consumer. */ - patientInstruction?: string; - _patientInstruction?: Element; + patientInstruction?: string|undefined; + _patientInstruction?: Element|undefined; /** * It is possible to supply both a rate and a doseQuantity to provide full details about how the medication is to be administered and supplied. If the rate is intended to change over time, depending on local rules/regulations, each change should be captured as a new version of the MedicationRequest with an updated rate, or captured with a new MedicationRequest with the new rate. */ - rateRatio?: Ratio; + rateRatio?: Ratio|undefined; /** * It is possible to supply both a rate and a doseQuantity to provide full details about how the medication is to be administered and supplied. If the rate is intended to change over time, depending on local rules/regulations, each change should be captured as a new version of the MedicationRequest with an updated rate, or captured with a new MedicationRequest with the new rate. */ - rateRange?: Range; + rateRange?: Range|undefined; /** * It is possible to supply both a rate and a doseQuantity to provide full details about how the medication is to be administered and supplied. If the rate is intended to change over time, depending on local rules/regulations, each change should be captured as a new version of the MedicationRequest with an updated rate, or captured with a new MedicationRequest with the new rate. */ - rateQuantity?: Quantity; + rateQuantity?: Quantity|undefined; /** * How drug should enter body. */ - route?: CodeableConcept; + route?: CodeableConcept|undefined; /** * Indicates the order in which the dosage instructions should be applied or interpreted. */ - sequence?: number; + sequence?: number|undefined; /** * If the use case requires attributes from the BodySite resource (e.g. to identify and track separately) then use the standard extension [body-site-instance](extension-body-site-instance.html). May be a summary code, or a reference to a very precise definition of the location, or both. */ - site?: CodeableConcept; + site?: CodeableConcept|undefined; /** * Free text dosage instructions e.g. SIG. */ - text?: string; - _text?: Element; + text?: string|undefined; + _text?: Element|undefined; /** * This attribute may not always be populated while the Dosage.text is expected to be populated. If both are populated, then the Dosage.text should reflect the content of the Dosage.timing. */ - timing?: Timing; + timing?: Timing|undefined; } /** * A length of time. @@ -479,12 +479,12 @@ export interface Element { /** * There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. */ - extension?: Extension[]; + extension?: Extension[]|undefined; /** * unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. */ - id?: string; - _id?: Element; + id?: string|undefined; + _id?: Element|undefined; } /** * If there is no discriminator, the content is hard to process, so this should be avoided. If the base element has a cardinality of ..1, and there is a choice of types, the discriminator must be "@type". @@ -494,12 +494,12 @@ export interface ElementDefinitionSlicingDiscriminator extends Element { * The only FHIRPath functions that are allowed are resolve(), and extension(url). */ path: string; - _path?: Element; + _path?: Element|undefined; /** * How the element value is interpreted when discrimination is evaluated. */ type: ElementDefinitionSlicingDiscriminatorTypeCodes; - _type?: Element; + _type?: Element|undefined; } /** * Code Values for the ElementDefinition.slicing.discriminator.type field @@ -518,22 +518,22 @@ export interface ElementDefinitionSlicing extends Element { /** * If it's really not possible to differentiate them, the design should be re-evaluated to make the content usable. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * If there is no discriminator, the content is hard to process, so this should be avoided. If the base element has a cardinality of ..1, and there is a choice of types, the discriminator must be "@type". */ - discriminator?: ElementDefinitionSlicingDiscriminator[]; + discriminator?: ElementDefinitionSlicingDiscriminator[]|undefined; /** * Order should only be required when it is a pressing concern for presentation. Profile authors should consider making the order a feature of the rules about the narrative, not the rules about the data - requiring ordered data makes the profile much less re-usable. */ - ordered?: boolean; - _ordered?: Element; + ordered?: boolean|undefined; + _ordered?: Element|undefined; /** * Allowing additional elements makes for a much for flexible template - it's open for use in wider contexts, but also means that the content of the resource is not closed, and applications have to decide how to handle content not described by the profile. */ rules: ElementDefinitionSlicingRulesCodes; - _rules?: Element; + _rules?: Element|undefined; } /** * Code Values for the ElementDefinition.slicing.rules field @@ -551,7 +551,7 @@ export interface ElementDefinitionBase extends Element { * This is provided to code generation, since the serialization representation in JSON differs depending on whether the base element has max > 1. Also, some forms of code generation may differ. */ max: string; - _max?: Element; + _max?: Element|undefined; /** * This is provided for consistency with max, and may affect code generation of mandatory elements of the base resource are generated differently (some reference implementations have done this). */ @@ -560,7 +560,7 @@ export interface ElementDefinitionBase extends Element { * The Path that identifies the base element - this matches the ElementDefinition.path for that element. Across FHIR, there is only one base definition of any element - that is, an element definition on a [StructureDefinition](structuredefinition.html#) without a StructureDefinition.base. */ path: string; - _path?: Element; + _path?: Element|undefined; } /** * The Type of the element can be left blank in a differential constraint, in which case the type is inherited from the resource. Abstract types are not permitted to appear as a type when multiple types are listed. (I.e. Abstract types cannot be part of a choice). @@ -569,28 +569,28 @@ export interface ElementDefinitionType extends Element { /** * If the type is a reference to another resource, how the resource is or can be aggregated - is it a contained resource, or a reference, and if the context is a bundle, is it included in the bundle. */ - aggregation?: ElementDefinitionTypeAggregationCodes[]; - _aggregation?: Element[]; + aggregation?: ElementDefinitionTypeAggregationCodes[]|undefined; + _aggregation?: Element[]|undefined; /** * If the element is a reference to another resource, this element contains "Reference", and the targetProfile element defines what resources can be referenced. The targetProfile may be a reference to the general definition of a resource (e.g. http://hl7.org/fhir/StructureDefinition/Patient). There would be one pair of type/code for each allowed target resource type. */ code: string; - _code?: Element; + _code?: Element|undefined; /** * Identifies a profile structure or implementation Guide that SHALL hold for the datatype this element refers to. Can be a local reference - to a contained StructureDefinition, or a reference to another StructureDefinition or Implementation Guide by a canonical URL. When an implementation guide is specified, the resource SHALL conform to at least one profile defined in the implementation guide. */ - profile?: string; - _profile?: Element; + profile?: string|undefined; + _profile?: Element|undefined; /** * Identifies a profile structure or implementation Guide that SHALL hold for the target of the reference this element refers to. Can be a local reference - to a contained StructureDefinition, or a reference to another StructureDefinition or Implementation Guide by a canonical URL. When an implementation guide is specified, the resource SHALL conform to at least one profile defined in the implementation guide. */ - targetProfile?: string; - _targetProfile?: Element; + targetProfile?: string|undefined; + _targetProfile?: Element|undefined; /** * The base specification never makes a rule as to which form is allowed, but implementation guides may do this. */ - versioning?: ElementDefinitionTypeVersioningCodes; - _versioning?: Element; + versioning?: ElementDefinitionTypeVersioningCodes|undefined; + _versioning?: Element|undefined; } /** * Code Values for the ElementDefinition.type.aggregation field @@ -616,171 +616,171 @@ export interface ElementDefinitionExample extends Element { * Describes the purpose of this example amoung the set of examples. */ label: string; - _label?: Element; + _label?: Element|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueBase64Binary?: string; - _valueBase64Binary?: Element; + valueBase64Binary?: string|undefined; + _valueBase64Binary?: Element|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueBoolean?: boolean; - _valueBoolean?: Element; + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueCode?: string; - _valueCode?: Element; + valueCode?: string|undefined; + _valueCode?: Element|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueDate?: string; - _valueDate?: Element; + valueDate?: string|undefined; + _valueDate?: Element|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueDateTime?: string; - _valueDateTime?: Element; + valueDateTime?: string|undefined; + _valueDateTime?: Element|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueDecimal?: number; + valueDecimal?: number|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueId?: string; - _valueId?: Element; + valueId?: string|undefined; + _valueId?: Element|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueInstant?: string; - _valueInstant?: Element; + valueInstant?: string|undefined; + _valueInstant?: Element|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueInteger?: number; + valueInteger?: number|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueMarkdown?: string; - _valueMarkdown?: Element; + valueMarkdown?: string|undefined; + _valueMarkdown?: Element|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueOid?: string; - _valueOid?: Element; + valueOid?: string|undefined; + _valueOid?: Element|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valuePositiveInt?: number; + valuePositiveInt?: number|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueString?: string; - _valueString?: Element; + valueString?: string|undefined; + _valueString?: Element|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueTime?: string; - _valueTime?: Element; + valueTime?: string|undefined; + _valueTime?: Element|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueUnsignedInt?: number; + valueUnsignedInt?: number|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueUri?: string; - _valueUri?: Element; + valueUri?: string|undefined; + _valueUri?: Element|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueAddress?: Address; + valueAddress?: Address|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueAge?: Age; + valueAge?: Age|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueAnnotation?: Annotation; + valueAnnotation?: Annotation|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueAttachment?: Attachment; + valueAttachment?: Attachment|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueCodeableConcept?: CodeableConcept; + valueCodeableConcept?: CodeableConcept|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueCoding?: Coding; + valueCoding?: Coding|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueContactPoint?: ContactPoint; + valueContactPoint?: ContactPoint|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueCount?: Count; + valueCount?: Count|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueDistance?: Distance; + valueDistance?: Distance|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueDuration?: Duration; + valueDuration?: Duration|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueHumanName?: HumanName; + valueHumanName?: HumanName|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueIdentifier?: Identifier; + valueIdentifier?: Identifier|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueMoney?: Money; + valueMoney?: Money|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valuePeriod?: Period; + valuePeriod?: Period|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueRange?: Range; + valueRange?: Range|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueRatio?: Ratio; + valueRatio?: Ratio|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueReference?: Reference; + valueReference?: Reference|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueSampledData?: SampledData; + valueSampledData?: SampledData|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueSignature?: Signature; + valueSignature?: Signature|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueTiming?: Timing; + valueTiming?: Timing|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueMeta?: Meta; + valueMeta?: Meta|undefined; } /** * Constraints should be declared on the "context" element - the lowest element in the hierarchy that is common to all nodes referenced by the constraint. @@ -790,38 +790,38 @@ export interface ElementDefinitionConstraint extends Element { * A [FHIRPath](http://hl7.org/fluentpath) expression of constraint that can be executed to see if this constraint is met. */ expression: string; - _expression?: Element; + _expression?: Element|undefined; /** * Should be expressed in business terms as much as possible. */ human: string; - _human?: Element; + _human?: Element|undefined; /** * Allows identification of which elements have their cardinalities impacted by the constraint. Will not be referenced for constraints that do not affect cardinality. */ key: string; - _key?: Element; + _key?: Element|undefined; /** * To be used if the reason for the constraint may not be intuitive to all implementers. */ - requirements?: string; - _requirements?: Element; + requirements?: string|undefined; + _requirements?: Element|undefined; /** * This allows constraints to be asserted as "shall" (error) and "should" (warning). */ severity: ElementDefinitionConstraintSeverityCodes; - _severity?: Element; + _severity?: Element|undefined; /** * This is used when, e.g. rendering, where it is not useful to present inherited constraints when rendering the snapshot. */ - source?: string; - _source?: Element; + source?: string|undefined; + _source?: Element|undefined; /** * Elements SHALL use "f" as the namespace prefix for the FHIR namespace, and "x" for the xhtml namespace, and SHALL NOT use any other prefixes. * Note: we are considering deprecating the xpath element. Implementer feedback is welcome. */ - xpath?: string; - _xpath?: Element; + xpath?: string|undefined; + _xpath?: Element|undefined; } /** * Code Values for the ElementDefinition.constraint.severity field @@ -837,22 +837,22 @@ export interface ElementDefinitionBinding extends Element { /** * Describes the intended use of this particular set of codes. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * For further discussion, see [Using Terminologies](terminologies.html). */ strength: ElementDefinitionBindingStrengthCodes; - _strength?: Element; + _strength?: Element|undefined; /** * For value sets with a referenceResource, the display can contain the value set description. The reference may be version-specific or not. */ - valueSetUri?: string; - _valueSetUri?: Element; + valueSetUri?: string|undefined; + _valueSetUri?: Element|undefined; /** * For value sets with a referenceResource, the display can contain the value set description. The reference may be version-specific or not. */ - valueSetReference?: Reference; + valueSetReference?: Reference|undefined; } /** * Code Values for the ElementDefinition.binding.strength field @@ -870,23 +870,23 @@ export interface ElementDefinitionMapping extends Element { /** * Comments that provide information about the mapping or its use. */ - comment?: string; - _comment?: Element; + comment?: string|undefined; + _comment?: Element|undefined; /** * An internal reference to the definition of a mapping. */ identity: string; - _identity?: Element; + _identity?: Element|undefined; /** * If omitted, then there can be no expectation of computational interpretation of the mapping. */ - language?: string; - _language?: Element; + language?: string|undefined; + _language?: Element|undefined; /** * For most mappings, the syntax is undefined. Syntax will be provided for mappings to the RIM. Multiple mappings may be possible and may include constraints on other resource elements that identify when a particular mapping applies. */ map: string; - _map?: Element; + _map?: Element|undefined; } /** * Captures constraints on each element within the resource, profile, or extension. @@ -895,702 +895,702 @@ export interface ElementDefinition extends Element { /** * Identifies additional names by which this element might also be known. */ - alias?: string[]; - _alias?: Element[]; + alias?: string[]|undefined; + _alias?: Element[]|undefined; /** * The base information does not carry any information that could not be determined from the path and related profiles, but making this determination requires both that the related profiles are available, and that the algorithm to determine them be available. So they are deformalised into this location for tooling convenience, and to ensure that the base information is available without dependencies. */ - base?: ElementDefinitionBase; + base?: ElementDefinitionBase|undefined; /** * For a CodeableConcept, when no codes are allowed - only text, use a binding of strength "required" with a description explaining that no coded values are allowed and what sort of information to put in the "text" element. */ - binding?: ElementDefinitionBinding; + binding?: ElementDefinitionBinding|undefined; /** * The concept SHALL be properly aligned with the data element definition and other constraints, as defined in the code system, including relationships, of any code listed here. Where multiple codes exist in a terminology that could correspond to the data element, the most granular code(s) should be selected, so long as they are not more restrictive than the data element itself. The mappings may be used to provide more or less granular or structured equivalences in the code system. */ - code?: Coding[]; + code?: Coding[]|undefined; /** * If it is possible to capture usage rules using constraints, that mechanism should be used in preference to this element. */ - comment?: string; - _comment?: Element; + comment?: string|undefined; + _comment?: Element|undefined; /** * A reference to an invariant that may make additional statements about the cardinality or value in the instance. */ - condition?: string[]; - _condition?: Element[]; + condition?: string[]|undefined; + _condition?: Element[]|undefined; /** * Constraints should be declared on the "context" element - the lowest element in the hierarchy that is common to all nodes referenced by the constraint. */ - constraint?: ElementDefinitionConstraint[]; + constraint?: ElementDefinitionConstraint[]|undefined; /** * Identifies the identity of an element defined elsewhere in the profile whose content rules should be applied to the current element. */ - contentReference?: string; - _contentReference?: Element; + contentReference?: string|undefined; + _contentReference?: Element|undefined; /** * Default values can only be specified on a resource, data type, or extension definition, and never in a profile that applies to one of these. Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed. For these reasons, default values are (and should be) used extremely sparingly. */ - defaultValueBase64Binary?: string; - _defaultValueBase64Binary?: Element; + defaultValueBase64Binary?: string|undefined; + _defaultValueBase64Binary?: Element|undefined; /** * Default values can only be specified on a resource, data type, or extension definition, and never in a profile that applies to one of these. Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed. For these reasons, default values are (and should be) used extremely sparingly. */ - defaultValueBoolean?: boolean; - _defaultValueBoolean?: Element; + defaultValueBoolean?: boolean|undefined; + _defaultValueBoolean?: Element|undefined; /** * Default values can only be specified on a resource, data type, or extension definition, and never in a profile that applies to one of these. Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed. For these reasons, default values are (and should be) used extremely sparingly. */ - defaultValueCode?: string; - _defaultValueCode?: Element; + defaultValueCode?: string|undefined; + _defaultValueCode?: Element|undefined; /** * Default values can only be specified on a resource, data type, or extension definition, and never in a profile that applies to one of these. Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed. For these reasons, default values are (and should be) used extremely sparingly. */ - defaultValueDate?: string; - _defaultValueDate?: Element; + defaultValueDate?: string|undefined; + _defaultValueDate?: Element|undefined; /** * Default values can only be specified on a resource, data type, or extension definition, and never in a profile that applies to one of these. Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed. For these reasons, default values are (and should be) used extremely sparingly. */ - defaultValueDateTime?: string; - _defaultValueDateTime?: Element; + defaultValueDateTime?: string|undefined; + _defaultValueDateTime?: Element|undefined; /** * Default values can only be specified on a resource, data type, or extension definition, and never in a profile that applies to one of these. Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed. For these reasons, default values are (and should be) used extremely sparingly. */ - defaultValueDecimal?: number; + defaultValueDecimal?: number|undefined; /** * Default values can only be specified on a resource, data type, or extension definition, and never in a profile that applies to one of these. Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed. For these reasons, default values are (and should be) used extremely sparingly. */ - defaultValueId?: string; - _defaultValueId?: Element; + defaultValueId?: string|undefined; + _defaultValueId?: Element|undefined; /** * Default values can only be specified on a resource, data type, or extension definition, and never in a profile that applies to one of these. Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed. For these reasons, default values are (and should be) used extremely sparingly. */ - defaultValueInstant?: string; - _defaultValueInstant?: Element; + defaultValueInstant?: string|undefined; + _defaultValueInstant?: Element|undefined; /** * Default values can only be specified on a resource, data type, or extension definition, and never in a profile that applies to one of these. Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed. For these reasons, default values are (and should be) used extremely sparingly. */ - defaultValueInteger?: number; + defaultValueInteger?: number|undefined; /** * Default values can only be specified on a resource, data type, or extension definition, and never in a profile that applies to one of these. Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed. For these reasons, default values are (and should be) used extremely sparingly. */ - defaultValueMarkdown?: string; - _defaultValueMarkdown?: Element; + defaultValueMarkdown?: string|undefined; + _defaultValueMarkdown?: Element|undefined; /** * Default values can only be specified on a resource, data type, or extension definition, and never in a profile that applies to one of these. Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed. For these reasons, default values are (and should be) used extremely sparingly. */ - defaultValueOid?: string; - _defaultValueOid?: Element; + defaultValueOid?: string|undefined; + _defaultValueOid?: Element|undefined; /** * Default values can only be specified on a resource, data type, or extension definition, and never in a profile that applies to one of these. Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed. For these reasons, default values are (and should be) used extremely sparingly. */ - defaultValuePositiveInt?: number; + defaultValuePositiveInt?: number|undefined; /** * Default values can only be specified on a resource, data type, or extension definition, and never in a profile that applies to one of these. Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed. For these reasons, default values are (and should be) used extremely sparingly. */ - defaultValueString?: string; - _defaultValueString?: Element; + defaultValueString?: string|undefined; + _defaultValueString?: Element|undefined; /** * Default values can only be specified on a resource, data type, or extension definition, and never in a profile that applies to one of these. Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed. For these reasons, default values are (and should be) used extremely sparingly. */ - defaultValueTime?: string; - _defaultValueTime?: Element; + defaultValueTime?: string|undefined; + _defaultValueTime?: Element|undefined; /** * Default values can only be specified on a resource, data type, or extension definition, and never in a profile that applies to one of these. Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed. For these reasons, default values are (and should be) used extremely sparingly. */ - defaultValueUnsignedInt?: number; + defaultValueUnsignedInt?: number|undefined; /** * Default values can only be specified on a resource, data type, or extension definition, and never in a profile that applies to one of these. Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed. For these reasons, default values are (and should be) used extremely sparingly. */ - defaultValueUri?: string; - _defaultValueUri?: Element; + defaultValueUri?: string|undefined; + _defaultValueUri?: Element|undefined; /** * Default values can only be specified on a resource, data type, or extension definition, and never in a profile that applies to one of these. Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed. For these reasons, default values are (and should be) used extremely sparingly. */ - defaultValueAddress?: Address; + defaultValueAddress?: Address|undefined; /** * Default values can only be specified on a resource, data type, or extension definition, and never in a profile that applies to one of these. Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed. For these reasons, default values are (and should be) used extremely sparingly. */ - defaultValueAge?: Age; + defaultValueAge?: Age|undefined; /** * Default values can only be specified on a resource, data type, or extension definition, and never in a profile that applies to one of these. Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed. For these reasons, default values are (and should be) used extremely sparingly. */ - defaultValueAnnotation?: Annotation; + defaultValueAnnotation?: Annotation|undefined; /** * Default values can only be specified on a resource, data type, or extension definition, and never in a profile that applies to one of these. Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed. For these reasons, default values are (and should be) used extremely sparingly. */ - defaultValueAttachment?: Attachment; + defaultValueAttachment?: Attachment|undefined; /** * Default values can only be specified on a resource, data type, or extension definition, and never in a profile that applies to one of these. Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed. For these reasons, default values are (and should be) used extremely sparingly. */ - defaultValueCodeableConcept?: CodeableConcept; + defaultValueCodeableConcept?: CodeableConcept|undefined; /** * Default values can only be specified on a resource, data type, or extension definition, and never in a profile that applies to one of these. Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed. For these reasons, default values are (and should be) used extremely sparingly. */ - defaultValueCoding?: Coding; + defaultValueCoding?: Coding|undefined; /** * Default values can only be specified on a resource, data type, or extension definition, and never in a profile that applies to one of these. Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed. For these reasons, default values are (and should be) used extremely sparingly. */ - defaultValueContactPoint?: ContactPoint; + defaultValueContactPoint?: ContactPoint|undefined; /** * Default values can only be specified on a resource, data type, or extension definition, and never in a profile that applies to one of these. Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed. For these reasons, default values are (and should be) used extremely sparingly. */ - defaultValueCount?: Count; + defaultValueCount?: Count|undefined; /** * Default values can only be specified on a resource, data type, or extension definition, and never in a profile that applies to one of these. Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed. For these reasons, default values are (and should be) used extremely sparingly. */ - defaultValueDistance?: Distance; + defaultValueDistance?: Distance|undefined; /** * Default values can only be specified on a resource, data type, or extension definition, and never in a profile that applies to one of these. Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed. For these reasons, default values are (and should be) used extremely sparingly. */ - defaultValueDuration?: Duration; + defaultValueDuration?: Duration|undefined; /** * Default values can only be specified on a resource, data type, or extension definition, and never in a profile that applies to one of these. Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed. For these reasons, default values are (and should be) used extremely sparingly. */ - defaultValueHumanName?: HumanName; + defaultValueHumanName?: HumanName|undefined; /** * Default values can only be specified on a resource, data type, or extension definition, and never in a profile that applies to one of these. Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed. For these reasons, default values are (and should be) used extremely sparingly. */ - defaultValueIdentifier?: Identifier; + defaultValueIdentifier?: Identifier|undefined; /** * Default values can only be specified on a resource, data type, or extension definition, and never in a profile that applies to one of these. Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed. For these reasons, default values are (and should be) used extremely sparingly. */ - defaultValueMoney?: Money; + defaultValueMoney?: Money|undefined; /** * Default values can only be specified on a resource, data type, or extension definition, and never in a profile that applies to one of these. Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed. For these reasons, default values are (and should be) used extremely sparingly. */ - defaultValuePeriod?: Period; + defaultValuePeriod?: Period|undefined; /** * Default values can only be specified on a resource, data type, or extension definition, and never in a profile that applies to one of these. Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed. For these reasons, default values are (and should be) used extremely sparingly. */ - defaultValueQuantity?: Quantity; + defaultValueQuantity?: Quantity|undefined; /** * Default values can only be specified on a resource, data type, or extension definition, and never in a profile that applies to one of these. Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed. For these reasons, default values are (and should be) used extremely sparingly. */ - defaultValueRange?: Range; + defaultValueRange?: Range|undefined; /** * Default values can only be specified on a resource, data type, or extension definition, and never in a profile that applies to one of these. Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed. For these reasons, default values are (and should be) used extremely sparingly. */ - defaultValueRatio?: Ratio; + defaultValueRatio?: Ratio|undefined; /** * Default values can only be specified on a resource, data type, or extension definition, and never in a profile that applies to one of these. Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed. For these reasons, default values are (and should be) used extremely sparingly. */ - defaultValueReference?: Reference; + defaultValueReference?: Reference|undefined; /** * Default values can only be specified on a resource, data type, or extension definition, and never in a profile that applies to one of these. Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed. For these reasons, default values are (and should be) used extremely sparingly. */ - defaultValueSampledData?: SampledData; + defaultValueSampledData?: SampledData|undefined; /** * Default values can only be specified on a resource, data type, or extension definition, and never in a profile that applies to one of these. Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed. For these reasons, default values are (and should be) used extremely sparingly. */ - defaultValueSignature?: Signature; + defaultValueSignature?: Signature|undefined; /** * Default values can only be specified on a resource, data type, or extension definition, and never in a profile that applies to one of these. Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed. For these reasons, default values are (and should be) used extremely sparingly. */ - defaultValueTiming?: Timing; + defaultValueTiming?: Timing|undefined; /** * Default values can only be specified on a resource, data type, or extension definition, and never in a profile that applies to one of these. Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed. For these reasons, default values are (and should be) used extremely sparingly. */ - defaultValueMeta?: Meta; + defaultValueMeta?: Meta|undefined; /** * It is easy for a different definition to change the meaning of an element and this can have nasty downstream consequences. Please be careful when providing definitions. */ - definition?: string; - _definition?: Element; + definition?: string|undefined; + _definition?: Element|undefined; /** * Examples will most commonly be present for data where it's not implicitly obvious from either the data type or value set what the values might be. (I.e. Example values for dates or quantities would generally be unnecessary.) If the example value is fully populated, the publication tool can generate an instance automatically. */ - example?: ElementDefinitionExample[]; + example?: ElementDefinitionExample[]|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedBase64Binary?: string; - _fixedBase64Binary?: Element; + fixedBase64Binary?: string|undefined; + _fixedBase64Binary?: Element|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedBoolean?: boolean; - _fixedBoolean?: Element; + fixedBoolean?: boolean|undefined; + _fixedBoolean?: Element|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedCode?: string; - _fixedCode?: Element; + fixedCode?: string|undefined; + _fixedCode?: Element|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedDate?: string; - _fixedDate?: Element; + fixedDate?: string|undefined; + _fixedDate?: Element|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedDateTime?: string; - _fixedDateTime?: Element; + fixedDateTime?: string|undefined; + _fixedDateTime?: Element|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedDecimal?: number; + fixedDecimal?: number|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedId?: string; - _fixedId?: Element; + fixedId?: string|undefined; + _fixedId?: Element|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedInstant?: string; - _fixedInstant?: Element; + fixedInstant?: string|undefined; + _fixedInstant?: Element|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedInteger?: number; + fixedInteger?: number|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedMarkdown?: string; - _fixedMarkdown?: Element; + fixedMarkdown?: string|undefined; + _fixedMarkdown?: Element|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedOid?: string; - _fixedOid?: Element; + fixedOid?: string|undefined; + _fixedOid?: Element|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedPositiveInt?: number; + fixedPositiveInt?: number|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedString?: string; - _fixedString?: Element; + fixedString?: string|undefined; + _fixedString?: Element|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedTime?: string; - _fixedTime?: Element; + fixedTime?: string|undefined; + _fixedTime?: Element|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedUnsignedInt?: number; + fixedUnsignedInt?: number|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedUri?: string; - _fixedUri?: Element; + fixedUri?: string|undefined; + _fixedUri?: Element|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedAddress?: Address; + fixedAddress?: Address|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedAge?: Age; + fixedAge?: Age|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedAnnotation?: Annotation; + fixedAnnotation?: Annotation|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedAttachment?: Attachment; + fixedAttachment?: Attachment|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedCodeableConcept?: CodeableConcept; + fixedCodeableConcept?: CodeableConcept|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedCoding?: Coding; + fixedCoding?: Coding|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedContactPoint?: ContactPoint; + fixedContactPoint?: ContactPoint|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedCount?: Count; + fixedCount?: Count|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedDistance?: Distance; + fixedDistance?: Distance|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedDuration?: Duration; + fixedDuration?: Duration|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedHumanName?: HumanName; + fixedHumanName?: HumanName|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedIdentifier?: Identifier; + fixedIdentifier?: Identifier|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedMoney?: Money; + fixedMoney?: Money|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedPeriod?: Period; + fixedPeriod?: Period|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedQuantity?: Quantity; + fixedQuantity?: Quantity|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedRange?: Range; + fixedRange?: Range|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedRatio?: Ratio; + fixedRatio?: Ratio|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedReference?: Reference; + fixedReference?: Reference|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedSampledData?: SampledData; + fixedSampledData?: SampledData|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedSignature?: Signature; + fixedSignature?: Signature|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedTiming?: Timing; + fixedTiming?: Timing|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedMeta?: Meta; + fixedMeta?: Meta|undefined; /** * Only the definition of an element can set IsModifier true - either the specification itself or where an extension is originally defined. Once set, it cannot be changed in derived profiles. An element/extension that has isModifier=true SHOULD also have a minimum cardinality of 1, so that there is no lack of clarity about what to do if it is missing. If it can be missing, the definition SHALL make the meaning of a missing element clear. */ - isModifier?: boolean; - _isModifier?: Element; + isModifier?: boolean|undefined; + _isModifier?: Element|undefined; /** * Some resources include a set of simple metadata, and some very large data. This element is used to reduce the quantity of data returned in searches. Note that servers may pre-cache summarized resources for optimal performance, so servers may not support per-profile use of the isSummary flag. When a request is made with _summary=true, serailisers only include elements marked as 'isSummary = true'. Other than Attachment.data, all data type properties are included in the summary form. Modifier elements or elements with minimum cardinality = 1 must be marked as summary elements. */ - isSummary?: boolean; - _isSummary?: Element; + isSummary?: boolean|undefined; + _isSummary?: Element|undefined; /** * See also the extension (http://hl7.org/fhir/StructureDefinition/elementdefinition-question)[extension-elementdefinition-question.html]. */ - label?: string; - _label?: Element; + label?: string|undefined; + _label?: Element|undefined; /** * Mappings are not necessarily specific enough for safe translation. */ - mapping?: ElementDefinitionMapping[]; + mapping?: ElementDefinitionMapping[]|undefined; /** * The maximum number of times this element is permitted to appear in the instance. */ - max?: string; - _max?: Element; + max?: string|undefined; + _max?: Element|undefined; /** * Receivers are not required to reject instances that exceed the maximum length. The full length could be stored. In some cases, data might be truncated, though truncation should be undertaken with care and an understanding of the consequences of doing so. If not specified, there is no conformance expectation for length support. */ - maxLength?: number; + maxLength?: number|undefined; /** * Except for date/date/instant, the type of the maxValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of maxValue[x] SHALL be either the same, or a a [Duration](datatypes.html#duration) which specifies a relative time limit to the current time. The duration value is positive, and is added to the current clock to determine the maximum allowable value. A maximum value for a Quantity is interpreted as an canonical maximum - e.g. you cannot provide 10g if the maximum value is 50mg. */ - maxValueDate?: string; - _maxValueDate?: Element; + maxValueDate?: string|undefined; + _maxValueDate?: Element|undefined; /** * Except for date/date/instant, the type of the maxValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of maxValue[x] SHALL be either the same, or a a [Duration](datatypes.html#duration) which specifies a relative time limit to the current time. The duration value is positive, and is added to the current clock to determine the maximum allowable value. A maximum value for a Quantity is interpreted as an canonical maximum - e.g. you cannot provide 10g if the maximum value is 50mg. */ - maxValueDateTime?: string; - _maxValueDateTime?: Element; + maxValueDateTime?: string|undefined; + _maxValueDateTime?: Element|undefined; /** * Except for date/date/instant, the type of the maxValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of maxValue[x] SHALL be either the same, or a a [Duration](datatypes.html#duration) which specifies a relative time limit to the current time. The duration value is positive, and is added to the current clock to determine the maximum allowable value. A maximum value for a Quantity is interpreted as an canonical maximum - e.g. you cannot provide 10g if the maximum value is 50mg. */ - maxValueInstant?: string; - _maxValueInstant?: Element; + maxValueInstant?: string|undefined; + _maxValueInstant?: Element|undefined; /** * Except for date/date/instant, the type of the maxValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of maxValue[x] SHALL be either the same, or a a [Duration](datatypes.html#duration) which specifies a relative time limit to the current time. The duration value is positive, and is added to the current clock to determine the maximum allowable value. A maximum value for a Quantity is interpreted as an canonical maximum - e.g. you cannot provide 10g if the maximum value is 50mg. */ - maxValueTime?: string; - _maxValueTime?: Element; + maxValueTime?: string|undefined; + _maxValueTime?: Element|undefined; /** * Except for date/date/instant, the type of the maxValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of maxValue[x] SHALL be either the same, or a a [Duration](datatypes.html#duration) which specifies a relative time limit to the current time. The duration value is positive, and is added to the current clock to determine the maximum allowable value. A maximum value for a Quantity is interpreted as an canonical maximum - e.g. you cannot provide 10g if the maximum value is 50mg. */ - maxValueDecimal?: number; + maxValueDecimal?: number|undefined; /** * Except for date/date/instant, the type of the maxValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of maxValue[x] SHALL be either the same, or a a [Duration](datatypes.html#duration) which specifies a relative time limit to the current time. The duration value is positive, and is added to the current clock to determine the maximum allowable value. A maximum value for a Quantity is interpreted as an canonical maximum - e.g. you cannot provide 10g if the maximum value is 50mg. */ - maxValueInteger?: number; + maxValueInteger?: number|undefined; /** * Except for date/date/instant, the type of the maxValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of maxValue[x] SHALL be either the same, or a a [Duration](datatypes.html#duration) which specifies a relative time limit to the current time. The duration value is positive, and is added to the current clock to determine the maximum allowable value. A maximum value for a Quantity is interpreted as an canonical maximum - e.g. you cannot provide 10g if the maximum value is 50mg. */ - maxValuePositiveInt?: number; + maxValuePositiveInt?: number|undefined; /** * Except for date/date/instant, the type of the maxValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of maxValue[x] SHALL be either the same, or a a [Duration](datatypes.html#duration) which specifies a relative time limit to the current time. The duration value is positive, and is added to the current clock to determine the maximum allowable value. A maximum value for a Quantity is interpreted as an canonical maximum - e.g. you cannot provide 10g if the maximum value is 50mg. */ - maxValueUnsignedInt?: number; + maxValueUnsignedInt?: number|undefined; /** * Except for date/date/instant, the type of the maxValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of maxValue[x] SHALL be either the same, or a a [Duration](datatypes.html#duration) which specifies a relative time limit to the current time. The duration value is positive, and is added to the current clock to determine the maximum allowable value. A maximum value for a Quantity is interpreted as an canonical maximum - e.g. you cannot provide 10g if the maximum value is 50mg. */ - maxValueQuantity?: Quantity; + maxValueQuantity?: Quantity|undefined; /** * Implicit meanings for missing values can only be specified on a resource, data type, or extension definition, and never in a profile that applies to one of these. An implicit meaning for a missing value can never be changed, and specifying one has the consequence that constraining its use in profiles eliminates use cases as possibilities, not merely moving them out of scope. */ - meaningWhenMissing?: string; - _meaningWhenMissing?: Element; + meaningWhenMissing?: string|undefined; + _meaningWhenMissing?: Element|undefined; /** * The minimum number of times this element SHALL appear in the instance. */ - min?: number; + min?: number|undefined; /** * Except for date/date/instant, the type of the minValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of minValue[x] SHALL be either the same, or a a [Duration](datatypes.html#duration) which specifies a relative time limit to the current time. The duration value is positive, and is subtracted from the current clock to determine the minimum allowable value. A minimum value for a Quantity is interpreted as an canonical minimum - e.g. you cannot provide 100mg if the minimum value is 10g. */ - minValueDate?: string; - _minValueDate?: Element; + minValueDate?: string|undefined; + _minValueDate?: Element|undefined; /** * Except for date/date/instant, the type of the minValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of minValue[x] SHALL be either the same, or a a [Duration](datatypes.html#duration) which specifies a relative time limit to the current time. The duration value is positive, and is subtracted from the current clock to determine the minimum allowable value. A minimum value for a Quantity is interpreted as an canonical minimum - e.g. you cannot provide 100mg if the minimum value is 10g. */ - minValueDateTime?: string; - _minValueDateTime?: Element; + minValueDateTime?: string|undefined; + _minValueDateTime?: Element|undefined; /** * Except for date/date/instant, the type of the minValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of minValue[x] SHALL be either the same, or a a [Duration](datatypes.html#duration) which specifies a relative time limit to the current time. The duration value is positive, and is subtracted from the current clock to determine the minimum allowable value. A minimum value for a Quantity is interpreted as an canonical minimum - e.g. you cannot provide 100mg if the minimum value is 10g. */ - minValueInstant?: string; - _minValueInstant?: Element; + minValueInstant?: string|undefined; + _minValueInstant?: Element|undefined; /** * Except for date/date/instant, the type of the minValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of minValue[x] SHALL be either the same, or a a [Duration](datatypes.html#duration) which specifies a relative time limit to the current time. The duration value is positive, and is subtracted from the current clock to determine the minimum allowable value. A minimum value for a Quantity is interpreted as an canonical minimum - e.g. you cannot provide 100mg if the minimum value is 10g. */ - minValueTime?: string; - _minValueTime?: Element; + minValueTime?: string|undefined; + _minValueTime?: Element|undefined; /** * Except for date/date/instant, the type of the minValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of minValue[x] SHALL be either the same, or a a [Duration](datatypes.html#duration) which specifies a relative time limit to the current time. The duration value is positive, and is subtracted from the current clock to determine the minimum allowable value. A minimum value for a Quantity is interpreted as an canonical minimum - e.g. you cannot provide 100mg if the minimum value is 10g. */ - minValueDecimal?: number; + minValueDecimal?: number|undefined; /** * Except for date/date/instant, the type of the minValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of minValue[x] SHALL be either the same, or a a [Duration](datatypes.html#duration) which specifies a relative time limit to the current time. The duration value is positive, and is subtracted from the current clock to determine the minimum allowable value. A minimum value for a Quantity is interpreted as an canonical minimum - e.g. you cannot provide 100mg if the minimum value is 10g. */ - minValueInteger?: number; + minValueInteger?: number|undefined; /** * Except for date/date/instant, the type of the minValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of minValue[x] SHALL be either the same, or a a [Duration](datatypes.html#duration) which specifies a relative time limit to the current time. The duration value is positive, and is subtracted from the current clock to determine the minimum allowable value. A minimum value for a Quantity is interpreted as an canonical minimum - e.g. you cannot provide 100mg if the minimum value is 10g. */ - minValuePositiveInt?: number; + minValuePositiveInt?: number|undefined; /** * Except for date/date/instant, the type of the minValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of minValue[x] SHALL be either the same, or a a [Duration](datatypes.html#duration) which specifies a relative time limit to the current time. The duration value is positive, and is subtracted from the current clock to determine the minimum allowable value. A minimum value for a Quantity is interpreted as an canonical minimum - e.g. you cannot provide 100mg if the minimum value is 10g. */ - minValueUnsignedInt?: number; + minValueUnsignedInt?: number|undefined; /** * Except for date/date/instant, the type of the minValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of minValue[x] SHALL be either the same, or a a [Duration](datatypes.html#duration) which specifies a relative time limit to the current time. The duration value is positive, and is subtracted from the current clock to determine the minimum allowable value. A minimum value for a Quantity is interpreted as an canonical minimum - e.g. you cannot provide 100mg if the minimum value is 10g. */ - minValueQuantity?: Quantity; + minValueQuantity?: Quantity|undefined; /** * "Something useful" is context dependent and impossible to describe in the base FHIR specification. For this reason, tue mustSupport flag is never set to true by the FHIR specification itself - it is only set to true in profiles. * This is done in [Resource Profiles](profiling.html#mustsupport), where the profile labels an element as mustSupport=true. When a profile does this, it SHALL also make clear exactly what kind of "support" is required, as this can mean many things. * Note that an element that has the property IsModifier is not necessarily a "key" element (e.g. one of the important elements to make use of the resource), nor is it automatically mustSupport - however both of these things are more likely to be true for IsModifier elements than for other elements. */ - mustSupport?: boolean; - _mustSupport?: Element; + mustSupport?: boolean|undefined; + _mustSupport?: Element|undefined; /** * This element can only be asserted on repeating elements and can only be introduced when defining resources or data types. It can be further refined profiled elements but if absent in the base type, a profile cannot assert meaning. */ - orderMeaning?: string; - _orderMeaning?: Element; + orderMeaning?: string|undefined; + _orderMeaning?: Element|undefined; /** * 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; - _path?: Element; + _path?: Element|undefined; /** * Mostly used for fixing values of CodeableConcept. At present, pattern[x] is not recommended as a basis for slicing while issues related to this are investigated during the STU period. */ - patternBase64Binary?: string; - _patternBase64Binary?: Element; + patternBase64Binary?: string|undefined; + _patternBase64Binary?: Element|undefined; /** * Mostly used for fixing values of CodeableConcept. At present, pattern[x] is not recommended as a basis for slicing while issues related to this are investigated during the STU period. */ - patternBoolean?: boolean; - _patternBoolean?: Element; + patternBoolean?: boolean|undefined; + _patternBoolean?: Element|undefined; /** * Mostly used for fixing values of CodeableConcept. At present, pattern[x] is not recommended as a basis for slicing while issues related to this are investigated during the STU period. */ - patternCode?: string; - _patternCode?: Element; + patternCode?: string|undefined; + _patternCode?: Element|undefined; /** * Mostly used for fixing values of CodeableConcept. At present, pattern[x] is not recommended as a basis for slicing while issues related to this are investigated during the STU period. */ - patternDate?: string; - _patternDate?: Element; + patternDate?: string|undefined; + _patternDate?: Element|undefined; /** * Mostly used for fixing values of CodeableConcept. At present, pattern[x] is not recommended as a basis for slicing while issues related to this are investigated during the STU period. */ - patternDateTime?: string; - _patternDateTime?: Element; + patternDateTime?: string|undefined; + _patternDateTime?: Element|undefined; /** * Mostly used for fixing values of CodeableConcept. At present, pattern[x] is not recommended as a basis for slicing while issues related to this are investigated during the STU period. */ - patternDecimal?: number; + patternDecimal?: number|undefined; /** * Mostly used for fixing values of CodeableConcept. At present, pattern[x] is not recommended as a basis for slicing while issues related to this are investigated during the STU period. */ - patternId?: string; - _patternId?: Element; + patternId?: string|undefined; + _patternId?: Element|undefined; /** * Mostly used for fixing values of CodeableConcept. At present, pattern[x] is not recommended as a basis for slicing while issues related to this are investigated during the STU period. */ - patternInstant?: string; - _patternInstant?: Element; + patternInstant?: string|undefined; + _patternInstant?: Element|undefined; /** * Mostly used for fixing values of CodeableConcept. At present, pattern[x] is not recommended as a basis for slicing while issues related to this are investigated during the STU period. */ - patternInteger?: number; + patternInteger?: number|undefined; /** * Mostly used for fixing values of CodeableConcept. At present, pattern[x] is not recommended as a basis for slicing while issues related to this are investigated during the STU period. */ - patternMarkdown?: string; - _patternMarkdown?: Element; + patternMarkdown?: string|undefined; + _patternMarkdown?: Element|undefined; /** * Mostly used for fixing values of CodeableConcept. At present, pattern[x] is not recommended as a basis for slicing while issues related to this are investigated during the STU period. */ - patternOid?: string; - _patternOid?: Element; + patternOid?: string|undefined; + _patternOid?: Element|undefined; /** * Mostly used for fixing values of CodeableConcept. At present, pattern[x] is not recommended as a basis for slicing while issues related to this are investigated during the STU period. */ - patternPositiveInt?: number; + patternPositiveInt?: number|undefined; /** * Mostly used for fixing values of CodeableConcept. At present, pattern[x] is not recommended as a basis for slicing while issues related to this are investigated during the STU period. */ - patternString?: string; - _patternString?: Element; + patternString?: string|undefined; + _patternString?: Element|undefined; /** * Mostly used for fixing values of CodeableConcept. At present, pattern[x] is not recommended as a basis for slicing while issues related to this are investigated during the STU period. */ - patternTime?: string; - _patternTime?: Element; + patternTime?: string|undefined; + _patternTime?: Element|undefined; /** * Mostly used for fixing values of CodeableConcept. At present, pattern[x] is not recommended as a basis for slicing while issues related to this are investigated during the STU period. */ - patternUnsignedInt?: number; + patternUnsignedInt?: number|undefined; /** * Mostly used for fixing values of CodeableConcept. At present, pattern[x] is not recommended as a basis for slicing while issues related to this are investigated during the STU period. */ - patternUri?: string; - _patternUri?: Element; + patternUri?: string|undefined; + _patternUri?: Element|undefined; /** * Mostly used for fixing values of CodeableConcept. At present, pattern[x] is not recommended as a basis for slicing while issues related to this are investigated during the STU period. */ - patternAddress?: Address; + patternAddress?: Address|undefined; /** * Mostly used for fixing values of CodeableConcept. At present, pattern[x] is not recommended as a basis for slicing while issues related to this are investigated during the STU period. */ - patternAge?: Age; + patternAge?: Age|undefined; /** * Mostly used for fixing values of CodeableConcept. At present, pattern[x] is not recommended as a basis for slicing while issues related to this are investigated during the STU period. */ - patternAnnotation?: Annotation; + patternAnnotation?: Annotation|undefined; /** * Mostly used for fixing values of CodeableConcept. At present, pattern[x] is not recommended as a basis for slicing while issues related to this are investigated during the STU period. */ - patternAttachment?: Attachment; + patternAttachment?: Attachment|undefined; /** * Mostly used for fixing values of CodeableConcept. At present, pattern[x] is not recommended as a basis for slicing while issues related to this are investigated during the STU period. */ - patternCodeableConcept?: CodeableConcept; + patternCodeableConcept?: CodeableConcept|undefined; /** * Mostly used for fixing values of CodeableConcept. At present, pattern[x] is not recommended as a basis for slicing while issues related to this are investigated during the STU period. */ - patternCoding?: Coding; + patternCoding?: Coding|undefined; /** * Mostly used for fixing values of CodeableConcept. At present, pattern[x] is not recommended as a basis for slicing while issues related to this are investigated during the STU period. */ - patternContactPoint?: ContactPoint; + patternContactPoint?: ContactPoint|undefined; /** * Mostly used for fixing values of CodeableConcept. At present, pattern[x] is not recommended as a basis for slicing while issues related to this are investigated during the STU period. */ - patternCount?: Count; + patternCount?: Count|undefined; /** * Mostly used for fixing values of CodeableConcept. At present, pattern[x] is not recommended as a basis for slicing while issues related to this are investigated during the STU period. */ - patternDistance?: Distance; + patternDistance?: Distance|undefined; /** * Mostly used for fixing values of CodeableConcept. At present, pattern[x] is not recommended as a basis for slicing while issues related to this are investigated during the STU period. */ - patternDuration?: Duration; + patternDuration?: Duration|undefined; /** * Mostly used for fixing values of CodeableConcept. At present, pattern[x] is not recommended as a basis for slicing while issues related to this are investigated during the STU period. */ - patternHumanName?: HumanName; + patternHumanName?: HumanName|undefined; /** * Mostly used for fixing values of CodeableConcept. At present, pattern[x] is not recommended as a basis for slicing while issues related to this are investigated during the STU period. */ - patternIdentifier?: Identifier; + patternIdentifier?: Identifier|undefined; /** * Mostly used for fixing values of CodeableConcept. At present, pattern[x] is not recommended as a basis for slicing while issues related to this are investigated during the STU period. */ - patternMoney?: Money; + patternMoney?: Money|undefined; /** * Mostly used for fixing values of CodeableConcept. At present, pattern[x] is not recommended as a basis for slicing while issues related to this are investigated during the STU period. */ - patternPeriod?: Period; + patternPeriod?: Period|undefined; /** * Mostly used for fixing values of CodeableConcept. At present, pattern[x] is not recommended as a basis for slicing while issues related to this are investigated during the STU period. */ - patternQuantity?: Quantity; + patternQuantity?: Quantity|undefined; /** * Mostly used for fixing values of CodeableConcept. At present, pattern[x] is not recommended as a basis for slicing while issues related to this are investigated during the STU period. */ - patternRange?: Range; + patternRange?: Range|undefined; /** * Mostly used for fixing values of CodeableConcept. At present, pattern[x] is not recommended as a basis for slicing while issues related to this are investigated during the STU period. */ - patternRatio?: Ratio; + patternRatio?: Ratio|undefined; /** * Mostly used for fixing values of CodeableConcept. At present, pattern[x] is not recommended as a basis for slicing while issues related to this are investigated during the STU period. */ - patternReference?: Reference; + patternReference?: Reference|undefined; /** * Mostly used for fixing values of CodeableConcept. At present, pattern[x] is not recommended as a basis for slicing while issues related to this are investigated during the STU period. */ - patternSampledData?: SampledData; + patternSampledData?: SampledData|undefined; /** * Mostly used for fixing values of CodeableConcept. At present, pattern[x] is not recommended as a basis for slicing while issues related to this are investigated during the STU period. */ - patternSignature?: Signature; + patternSignature?: Signature|undefined; /** * Mostly used for fixing values of CodeableConcept. At present, pattern[x] is not recommended as a basis for slicing while issues related to this are investigated during the STU period. */ - patternTiming?: Timing; + patternTiming?: Timing|undefined; /** * Mostly used for fixing values of CodeableConcept. At present, pattern[x] is not recommended as a basis for slicing while issues related to this are investigated during the STU period. */ - patternMeta?: Meta; + patternMeta?: Meta|undefined; /** * In resources, this is rarely used except for special cases where the representation deviates from the normal, and can only be done in the base standard (and profiles must reproduce what the base standard does). This element is used quite commonly in Logical models when the logical models represent a specific serialization format (e.g. CDA, v2 etc). */ - representation?: ElementDefinitionRepresentationCodes[]; - _representation?: Element[]; + representation?: ElementDefinitionRepresentationCodes[]|undefined; + _representation?: Element[]|undefined; /** * This element does not describe the usage of the element (that's done in comments), rather it's for traceability of *why* the element is either needed or why the constraints exist as they do. This may be used to point to source materials or specifications that drove the structure of this data element. */ - requirements?: string; - _requirements?: Element; + requirements?: string|undefined; + _requirements?: Element|undefined; /** * May change the term to provide language more appropriate to the context of the profile or to reflect slicing. */ - short?: string; - _short?: Element; + short?: string|undefined; + _short?: Element|undefined; /** * The name SHALL be unique within the structure within the context of the constrained resource element. (Though to avoid confusion, uniqueness across all elements is recommended.). */ - sliceName?: string; - _sliceName?: Element; + sliceName?: string|undefined; + _sliceName?: Element|undefined; /** * The first element in the sequence, the one that carries the slicing, is the definition that applies to all the slices. This is based on the unconstrained element, but can apply any constraints as appropriate. This may include the common constraints on the children of the element. */ - slicing?: ElementDefinitionSlicing; + slicing?: ElementDefinitionSlicing|undefined; /** * The Type of the element can be left blank in a differential constraint, in which case the type is inherited from the resource. Abstract types are not permitted to appear as a type when multiple types are listed. (I.e. Abstract types cannot be part of a choice). */ - type?: ElementDefinitionType[]; + type?: ElementDefinitionType[]|undefined; } /** * Code Values for the ElementDefinition.representation field @@ -1610,171 +1610,171 @@ export interface Extension extends Element { * The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. */ url: string; - _url?: Element; + _url?: Element|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueBase64Binary?: string; - _valueBase64Binary?: Element; + valueBase64Binary?: string|undefined; + _valueBase64Binary?: Element|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueBoolean?: boolean; - _valueBoolean?: Element; + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueCode?: string; - _valueCode?: Element; + valueCode?: string|undefined; + _valueCode?: Element|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueDate?: string; - _valueDate?: Element; + valueDate?: string|undefined; + _valueDate?: Element|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueDateTime?: string; - _valueDateTime?: Element; + valueDateTime?: string|undefined; + _valueDateTime?: Element|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueDecimal?: number; + valueDecimal?: number|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueId?: string; - _valueId?: Element; + valueId?: string|undefined; + _valueId?: Element|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueInstant?: string; - _valueInstant?: Element; + valueInstant?: string|undefined; + _valueInstant?: Element|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueInteger?: number; + valueInteger?: number|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueMarkdown?: string; - _valueMarkdown?: Element; + valueMarkdown?: string|undefined; + _valueMarkdown?: Element|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueOid?: string; - _valueOid?: Element; + valueOid?: string|undefined; + _valueOid?: Element|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valuePositiveInt?: number; + valuePositiveInt?: number|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueString?: string; - _valueString?: Element; + valueString?: string|undefined; + _valueString?: Element|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueTime?: string; - _valueTime?: Element; + valueTime?: string|undefined; + _valueTime?: Element|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueUnsignedInt?: number; + valueUnsignedInt?: number|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueUri?: string; - _valueUri?: Element; + valueUri?: string|undefined; + _valueUri?: Element|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueAddress?: Address; + valueAddress?: Address|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueAge?: Age; + valueAge?: Age|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueAnnotation?: Annotation; + valueAnnotation?: Annotation|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueAttachment?: Attachment; + valueAttachment?: Attachment|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueCodeableConcept?: CodeableConcept; + valueCodeableConcept?: CodeableConcept|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueCoding?: Coding; + valueCoding?: Coding|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueContactPoint?: ContactPoint; + valueContactPoint?: ContactPoint|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueCount?: Count; + valueCount?: Count|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueDistance?: Distance; + valueDistance?: Distance|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueDuration?: Duration; + valueDuration?: Duration|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueHumanName?: HumanName; + valueHumanName?: HumanName|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueIdentifier?: Identifier; + valueIdentifier?: Identifier|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueMoney?: Money; + valueMoney?: Money|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valuePeriod?: Period; + valuePeriod?: Period|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueRange?: Range; + valueRange?: Range|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueRatio?: Ratio; + valueRatio?: Ratio|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueReference?: Reference; + valueReference?: Reference|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueSampledData?: SampledData; + valueSampledData?: SampledData|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueSignature?: Signature; + valueSignature?: Signature|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueTiming?: Timing; + valueTiming?: Timing|undefined; /** * Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list). */ - valueMeta?: Meta; + valueMeta?: Meta|undefined; } /** * A human's name with the ability to identify parts and usage. @@ -1783,37 +1783,37 @@ export interface HumanName extends Element { /** * Family Name may be decomposed into specific parts using extensions (de, nl, es related cultures). */ - family?: string; - _family?: Element; + family?: string|undefined; + _family?: Element|undefined; /** * If only initials are recorded, they may be used in place of the full name. Not called "first name" since given names do not always come first. */ - given?: string[]; - _given?: Element[]; + given?: string[]|undefined; + _given?: Element[]|undefined; /** * Indicates the period of time when this name was valid for the named person. */ - period?: Period; + period?: Period|undefined; /** * Part of the name that is acquired as a title due to academic, legal, employment or nobility status, etc. and that appears at the start of the name. */ - prefix?: string[]; - _prefix?: Element[]; + prefix?: string[]|undefined; + _prefix?: Element[]|undefined; /** * Part of the name that is acquired as a title due to academic, legal, employment or nobility status, etc. and that appears at the end of the name. */ - suffix?: string[]; - _suffix?: Element[]; + suffix?: string[]|undefined; + _suffix?: Element[]|undefined; /** * Can provide both a text representation and structured parts. */ - text?: string; - _text?: Element; + text?: string|undefined; + _text?: Element|undefined; /** * This is labeled as "Is Modifier" because applications should not mistake a temporary or old name etc.for a current/permanent one. Applications can assume that a name is current unless it explicitly says that it is temporary or old. */ - use?: HumanNameUseCodes; - _use?: Element; + use?: HumanNameUseCodes|undefined; + _use?: Element|undefined; } /** * Code Values for the HumanName.use field @@ -1834,31 +1834,31 @@ export interface Identifier extends Element { /** * The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization. */ - assigner?: Reference; + assigner?: Reference|undefined; /** * Time period during which identifier is/was valid for use. */ - period?: Period; + period?: Period|undefined; /** * Establishes the namespace for the value - that is, a URL that describes a set values that are unique. */ - system?: string; - _system?: Element; + system?: string|undefined; + _system?: Element|undefined; /** * This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage. * Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; /** * This is labeled as "Is Modifier" because applications should not mistake a temporary id for a permanent one. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary. */ - use?: IdentifierUseCodes; - _use?: Element; + use?: IdentifierUseCodes|undefined; + _use?: Element|undefined; /** * If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the [Rendered Value extension](extension-rendered-value.html). */ - value?: string; - _value?: Element; + value?: string|undefined; + _value?: Element|undefined; } /** * Code Values for the Identifier.use field @@ -1876,26 +1876,26 @@ export interface Meta extends Element { /** * This value is always populated except when the resource is first being created. The server / resource manager sets this value; what a client provides is irrelevant. */ - lastUpdated?: string; - _lastUpdated?: Element; + lastUpdated?: string|undefined; + _lastUpdated?: Element|undefined; /** * It is up to the server and/or other infrastructure of policy to determine whether/how these claims are verified and/or updated over time. The list of profile URLs is a set. */ - profile?: string[]; - _profile?: Element[]; + profile?: string[]|undefined; + _profile?: Element[]|undefined; /** * The security labels can be updated without changing the stated version of the resource The list of security labels is a set. Uniqueness is based the system/code, and version and display are ignored. */ - security?: Coding[]; + security?: Coding[]|undefined; /** * The tags can be updated without changing the stated version of the resource. The list of tags is a set. Uniqueness is based the system/code, and version and display are ignored. */ - tag?: Coding[]; + tag?: Coding[]|undefined; /** * The server assigns this value, and ignores what the client specifies, except in the case that the server is imposing version integrity on updates/deletes. */ - versionId?: string; - _versionId?: Element; + versionId?: string|undefined; + _versionId?: Element|undefined; } /** * An amount of economic utility in some recognized currency. @@ -1910,12 +1910,12 @@ export interface Narrative extends Element { * The contents of the html element are an XHTML fragment containing only the basic html formatting elements described in chapters 7-11 and 15 of the HTML 4.0 standard, elements (either name or href), images and internally contained stylesheets. The XHTML content may not contain a head, a body, external stylesheet references, scripts, forms, base/link/xlink, frames, iframes and objects. */ div: string; - _div?: Element; + _div?: Element|undefined; /** * The status of the narrative - whether it's entirely generated (from just the defined data or the extensions too), or whether a human authored it and it may contain additional data. */ status: NarrativeStatusCodes; - _status?: Element; + _status?: Element|undefined; } /** * Code Values for the Narrative.status field @@ -1933,36 +1933,36 @@ export interface ParameterDefinition extends Element { /** * A brief discussion of what the parameter is for and how it is used by the module. */ - documentation?: string; - _documentation?: Element; + documentation?: string|undefined; + _documentation?: Element|undefined; /** * The maximum number of times this element is permitted to appear in the request or response. */ - max?: string; - _max?: Element; + max?: string|undefined; + _max?: Element|undefined; /** * The minimum number of times this parameter SHALL appear in the request or response. */ - min?: number; + min?: number|undefined; /** * The name of the parameter used to allow access to the value of the parameter in evaluation contexts. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * If specified, this indicates a profile that the input data must conform to, or that the output data will conform to. */ - profile?: Reference; + profile?: Reference|undefined; /** * The type of the parameter. */ type: string; - _type?: Element; + _type?: Element|undefined; /** * Whether the parameter is input or output for the module. */ use: ParameterDefinitionUseCodes; - _use?: Element; + _use?: Element|undefined; } /** * Code Values for the ParameterDefinition.use field @@ -1978,13 +1978,13 @@ export interface Period extends Element { /** * The high value includes any matching date/time. i.e. 2012-02-03T10:00:00 is in a period that has a end value of 2012-02-03. */ - end?: string; - _end?: Element; + end?: string|undefined; + _end?: Element|undefined; /** * If the low element is missing, the meaning is that the low boundary is not known. */ - start?: string; - _start?: Element; + start?: string|undefined; + _start?: Element|undefined; } /** * 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. @@ -1993,27 +1993,27 @@ export interface Quantity extends Element { /** * The preferred system is UCUM, but SNOMED CT can also be used (for customary units) or ISO 4217 for currency. The context of use may additionally require a code from a particular system. */ - code?: string; - _code?: Element; + code?: string|undefined; + _code?: Element|undefined; /** * This is labeled as "Is Modifier" because the comparator modifies the interpretation of the value significantly. If there is no comparator, then there is no modification of the value. */ - comparator?: QuantityComparatorCodes; - _comparator?: Element; + comparator?: QuantityComparatorCodes|undefined; + _comparator?: Element|undefined; /** * The identification of the system that provides the coded form of the unit. */ - system?: string; - _system?: Element; + system?: string|undefined; + _system?: Element|undefined; /** * A human-readable form of the unit. */ - unit?: string; - _unit?: Element; + unit?: string|undefined; + _unit?: Element|undefined; /** * The implicit precision in the value should always be honored. Monetary values have their own rules for handling precision (refer to standard accounting text books). */ - value?: number; + value?: number|undefined; } /** * Code Values for the Quantity.comparator field @@ -2031,11 +2031,11 @@ export interface Range extends Element { /** * If the high element is missing, the high boundary is not known. */ - high?: Quantity; + high?: Quantity|undefined; /** * If the low element is missing, the low boundary is not known. */ - low?: Quantity; + low?: Quantity|undefined; } /** * A relationship of two Quantity values - expressed as a numerator and a denominator. @@ -2044,11 +2044,11 @@ export interface Ratio extends Element { /** * The value of the denominator. */ - denominator?: Quantity; + denominator?: Quantity|undefined; /** * The value of the numerator. */ - numerator?: Quantity; + numerator?: Quantity|undefined; } /** * A reference from one resource to another. @@ -2057,19 +2057,19 @@ export interface Reference extends Element { /** * This is generally not the same as the Resource.text of the referenced resource. The purpose is to identify what's being referenced, not to fully describe it. */ - display?: string; - _display?: Element; + display?: string|undefined; + _display?: Element|undefined; /** * When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy. * When both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference * Applications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries. Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure "/[type]/[id]" then it should be assumed that the reference is to a FHIR RESTful server. */ - reference?: string; - _reference?: Element; + reference?: string|undefined; + _reference?: Element|undefined; } /** * Related artifacts such as additional documentation, justification, or bibliographic references. @@ -2078,31 +2078,31 @@ export interface RelatedArtifact extends Element { /** * Additional structured information about citations should be captured as extensions. */ - citation?: string; - _citation?: Element; + citation?: string|undefined; + _citation?: Element|undefined; /** * A brief description of the document or knowledge resource being referenced, suitable for display to a consumer. */ - display?: string; - _display?: Element; + display?: string|undefined; + _display?: Element|undefined; /** * The document being referenced, represented as an attachment. This is exclusive with the resource element. */ - document?: Attachment; + document?: Attachment|undefined; /** * If the type is predecessor, this is a reference to the succeeding knowledge resource. If the type is successor, this is a reference to the prior knowledge resource. */ - resource?: Reference; + resource?: Reference|undefined; /** * The type of relationship to the related artifact. */ type: RelatedArtifactTypeCodes; - _type?: Element; + _type?: Element|undefined; /** * If a document or resource element is present, this element SHALL NOT be provided (use the url or reference in the Attachment or resource reference). */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; } /** * Code Values for the RelatedArtifact.type field @@ -2125,7 +2125,7 @@ export interface SampledData extends Element { * A series of data points which are decimal values separated by a single space (character u20). The special values "E" (error), "L" (below detection limit) and "U" (above detection limit) can also be used in place of a decimal value. */ data: string; - _data?: Element; + _data?: Element|undefined; /** * If there is more than one dimension, the code for the type of data will define the meaning of the dimensions (typically ECG data). */ @@ -2133,11 +2133,11 @@ export interface SampledData extends Element { /** * A correction factor that is applied to the sampled data points before they are added to the origin. */ - factor?: number; + factor?: number|undefined; /** * The lower limit of detection of the measured points. This is needed if any of the data points have the value "L" (lower than detection limit). */ - lowerLimit?: number; + lowerLimit?: number|undefined; /** * The base quantity that a measured value of zero represents. In addition, this provides the units of the entire measurement series. */ @@ -2149,7 +2149,7 @@ export interface SampledData extends Element { /** * The upper limit of detection of the measured points. This is needed if any of the data points have the value "U" (higher than detection limit). */ - upperLimit?: number; + upperLimit?: number|undefined; } /** * A digital signature along with supporting context. The signature may be electronic/cryptographic in nature, or a graphical image representing a hand-written signature, or a signature process. Different signature approaches have different utilities. @@ -2158,22 +2158,22 @@ export interface Signature extends Element { /** * Where the signature type is an XML DigSig, the signed content is a FHIR Resource(s), the signature is of the XML form of the Resource(s) using XML-Signature (XMLDIG) "Detached Signature" form. */ - blob?: string; - _blob?: Element; + blob?: string|undefined; + _blob?: Element|undefined; /** * A mime type that indicates the technical format of the signature. Important mime types are application/signature+xml for X ML DigSig, application/jwt for JWT, and image/* for a graphical image of a signature, etc. */ - contentType?: string; - _contentType?: Element; + contentType?: string|undefined; + _contentType?: Element|undefined; /** * The party that can't sign. For example a child. */ - onBehalfOfUri?: string; - _onBehalfOfUri?: Element; + onBehalfOfUri?: string|undefined; + _onBehalfOfUri?: Element|undefined; /** * The party that can't sign. For example a child. */ - onBehalfOfReference?: Reference; + onBehalfOfReference?: Reference|undefined; /** * Examples include attesting to: authorship, correct transcription, and witness of specific event. Also known as a "Commitment Type Indication". */ @@ -2182,16 +2182,16 @@ export interface Signature extends Element { * This should agree with the information in the signature. */ when: string; - _when?: Element; + _when?: Element|undefined; /** * This should agree with the information in the signature. */ - whoUri?: string; - _whoUri?: Element; + whoUri?: string|undefined; + _whoUri?: Element|undefined; /** * This should agree with the information in the signature. */ - whoReference?: Reference; + whoReference?: Reference|undefined; } /** * A set of rules that describe when the event is scheduled. @@ -2200,76 +2200,76 @@ export interface TimingRepeat extends Element { /** * Either a duration for the length of the timing schedule, a range of possible length, or outer bounds for start and/or end limits of the timing schedule. */ - boundsDuration?: Duration; + boundsDuration?: Duration|undefined; /** * Either a duration for the length of the timing schedule, a range of possible length, or outer bounds for start and/or end limits of the timing schedule. */ - boundsRange?: Range; + boundsRange?: Range|undefined; /** * Either a duration for the length of the timing schedule, a range of possible length, or outer bounds for start and/or end limits of the timing schedule. */ - boundsPeriod?: Period; + boundsPeriod?: Period|undefined; /** * If you have both bounds and count, then this should be understood as within the bounds period, until count times happens. */ - count?: number; + count?: number|undefined; /** * A maximum value for the count of the desired repetitions (e.g. do something 6-8 times). */ - countMax?: number; + countMax?: number|undefined; /** * If no days are specified, the action is assumed to happen every day as otherwise specified. The elements frequency and period cannot be used as well as dayOfWeek. */ - dayOfWeek?: TimingRepeatDayOfWeekCodes[]; - _dayOfWeek?: Element[]; + dayOfWeek?: TimingRepeatDayOfWeekCodes[]|undefined; + _dayOfWeek?: Element[]|undefined; /** * For some events the duration is part of the definition of the event (e.g. IV infusions, where the duration is implicit in the specified quantity and rate). For others, it's part of the timing specification (e.g. exercise). */ - duration?: number; + duration?: number|undefined; /** * For some events the duration is part of the definition of the event (e.g. IV infusions, where the duration is implicit in the specified quantity and rate). For others, it's part of the timing specification (e.g. exercise). */ - durationMax?: number; + durationMax?: number|undefined; /** * The units of time for the duration, in UCUM units. */ - durationUnit?: TimingRepeatDurationUnitCodes; - _durationUnit?: Element; + durationUnit?: TimingRepeatDurationUnitCodes|undefined; + _durationUnit?: Element|undefined; /** * The number of times to repeat the action within the specified period / period range (i.e. both period and periodMax provided). */ - frequency?: number; + frequency?: number|undefined; /** * If present, indicates that the frequency is a range - so to repeat between [frequency] and [frequencyMax] times within the period or period range. */ - frequencyMax?: number; + frequencyMax?: number|undefined; /** * The number of minutes from the event. If the event code does not indicate whether the minutes is before or after the event, then the offset is assumed to be after the event. */ - offset?: number; + offset?: number|undefined; /** * Indicates the duration of time over which repetitions are to occur; e.g. to express "3 times per day", 3 would be the frequency and "1 day" would be the period. */ - period?: number; + period?: number|undefined; /** * If present, indicates that the period is a range from [period] to [periodMax], allowing expressing concepts such as "do this once every 3-5 days. */ - periodMax?: number; + periodMax?: number|undefined; /** * The units of time for the period in UCUM units. */ - periodUnit?: TimingRepeatPeriodUnitCodes; - _periodUnit?: Element; + periodUnit?: TimingRepeatPeriodUnitCodes|undefined; + _periodUnit?: Element|undefined; /** * When time of day is specified, it is inferred that the action happens every day (as filtered by dayofWeek) on the specified times. The elements when, frequency and period cannot be used as well as timeOfDay. */ - timeOfDay?: string[]; - _timeOfDay?: Element[]; + timeOfDay?: string[]|undefined; + _timeOfDay?: Element[]|undefined; /** * When more than one event is listed, the event is tied to the union of the specified events. */ - when?: string[]; - _when?: Element[]; + when?: string[]|undefined; + _when?: Element[]|undefined; } /** * Code Values for the Timing.repeat.dayOfWeek field @@ -2314,16 +2314,16 @@ export interface Timing extends Element { /** * BID etc are defined as 'at institutionally specified times'. For example, an institution may choose that BID is "always at 7am and 6pm". If it is inappropriate for this choice to be made, the code BID should not be used. Instead, a distinct organization-specific code should be used in place of the HL7-defined BID code and/or the a structured representation should be used (in this case, specifying the two event times). */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * Identifies specific times when the event occurs. */ - event?: string[]; - _event?: Element[]; + event?: string[]|undefined; + _event?: Element[]|undefined; /** * A set of rules that describe when the event is scheduled. */ - repeat?: TimingRepeat; + repeat?: TimingRepeat|undefined; } /** * A description of a triggering event. @@ -2332,35 +2332,35 @@ export interface TriggerDefinition extends Element { /** * The triggering data of the event (if this is a data trigger). */ - eventData?: DataRequirement; + eventData?: DataRequirement|undefined; /** * The name of the event (if this is a named-event trigger). */ - eventName?: string; - _eventName?: Element; + eventName?: string|undefined; + _eventName?: Element|undefined; /** * The timing of the event (if this is a period trigger). */ - eventTimingTiming?: Timing; + eventTimingTiming?: Timing|undefined; /** * The timing of the event (if this is a period trigger). */ - eventTimingReference?: Reference; + eventTimingReference?: Reference|undefined; /** * The timing of the event (if this is a period trigger). */ - eventTimingDate?: string; - _eventTimingDate?: Element; + eventTimingDate?: string|undefined; + _eventTimingDate?: Element|undefined; /** * The timing of the event (if this is a period trigger). */ - eventTimingDateTime?: string; - _eventTimingDateTime?: Element; + eventTimingDateTime?: string|undefined; + _eventTimingDateTime?: Element|undefined; /** * The type of triggering event. */ type: TriggerDefinitionTypeCodes; - _type?: Element; + _type?: Element|undefined; } /** * Code Values for the TriggerDefinition.type field @@ -2385,15 +2385,15 @@ export interface UsageContext extends Element { /** * A value that defines the context specified in this context of use. The interpretation of the value is defined by the code. */ - valueCodeableConcept?: CodeableConcept; + valueCodeableConcept?: CodeableConcept|undefined; /** * A value that defines the context specified in this context of use. The interpretation of the value is defined by the code. */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; /** * A value that defines the context specified in this context of use. The interpretation of the value is defined by the code. */ - valueRange?: Range; + valueRange?: Range|undefined; } /** * Typically this may be some form of insurance, internal charges, or self-pay. @@ -2409,7 +2409,7 @@ export interface AccountCoverage extends BackboneElement { /** * It is common in some jurisdictions for there to be multiple coverages allocated to an account, and a sequence is required to order the settling of the account (often with insurance claiming). */ - priority?: number; + priority?: number|undefined; } /** * Parties financially responsible for the account. @@ -2418,8 +2418,8 @@ export interface AccountGuarantor extends BackboneElement { /** * A guarantor may be placed on credit hold or otherwise have their role temporarily suspended. */ - onHold?: boolean; - _onHold?: Element; + onHold?: boolean|undefined; + _onHold?: Element|undefined; /** * The entity who is responsible. */ @@ -2427,7 +2427,7 @@ export interface AccountGuarantor extends BackboneElement { /** * The timeframe during which the guarantor accepts responsibility for the account. */ - period?: Period; + period?: Period|undefined; } /** * A financial tool for tracking value accrued for a particular purpose. In the healthcare field, used to track charges for a patient, cost centers, etc. @@ -2439,56 +2439,56 @@ export interface Account extends DomainResource { * Indicates the period of time over which the account is allowed to have transactions posted to it. * This period may be different to the coveragePeriod which is the duration of time that services may occur. */ - active?: Period; + active?: Period|undefined; /** * Represents the sum of all credits less all debits associated with the account. Might be positive, zero or negative. */ - balance?: Money; + balance?: Money|undefined; /** * Typically this may be some form of insurance, internal charges, or self-pay. * Local or jurisdicational business rules may determine which coverage covers which types of billable items charged to the account, and in which order. * Where the order is important, a local/jurisdicational extension may be defined to specify the order for the type of charge. */ - coverage?: AccountCoverage[]; + coverage?: AccountCoverage[]|undefined; /** * Provides additional information about what the account tracks and how it is used. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Parties financially responsible for the account. */ - guarantor?: AccountGuarantor[]; + guarantor?: AccountGuarantor[]|undefined; /** * Unique identifier used to reference the account. May or may not be intended for human use (e.g. credit card number). */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Name used for the account when displaying it to humans in reports, etc. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Indicates the organization, department, etc. with responsibility for the account. */ - owner?: Reference; + owner?: Reference|undefined; /** * It is possible for transactions relevant to a coverage period to be posted to the account before or after the coverage period, however the services that are being charged for must be within this period. */ - period?: Period; + period?: Period|undefined; /** * This element is labeled as a modifier because the status contains the codes inactive and entered-in-error that mark the Account as not currently valid. */ - status?: AccountStatusCodes; - _status?: Element; + status?: AccountStatusCodes|undefined; + _status?: Element|undefined; /** * Accounts can be applied to non patients for tracking other non patient related activities, such as group services (patients not tracked, and costs charged to another body), or may not be allocated. */ - subject?: Reference; + subject?: Reference|undefined; /** * Categorizes the account for reporting and searching purposes. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Code Values for the Account.status field @@ -2505,12 +2505,12 @@ export interface ActivityDefinitionParticipant extends BackboneElement { /** * The role the participant should play in performing the described action. */ - role?: CodeableConcept; + role?: CodeableConcept|undefined; /** * The type of participant in the action. */ type: ActivityDefinitionParticipantTypeCodes; - _type?: Element; + _type?: Element|undefined; } /** * Code Values for the ActivityDefinition.participant.type field @@ -2527,23 +2527,23 @@ export interface ActivityDefinitionDynamicValue extends BackboneElement { /** * A brief, natural language description of the intended semantics of the dynamic value. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * The expression may be inlined, or may be a reference to a named expression within a logic library referenced by the library element. */ - expression?: string; - _expression?: Element; + expression?: string|undefined; + _expression?: Element|undefined; /** * The media type of the language for the expression. */ - language?: string; - _language?: Element; + language?: string|undefined; + _language?: Element|undefined; /** * The path to the element to be customized. This is the path on the resource that will hold the result of the calculation defined by the expression. */ - path?: string; - _path?: Element; + path?: string|undefined; + _path?: Element|undefined; } /** * This resource allows for the definition of some activity to be performed, independent of a particular patient, practitioner, or other performance context. @@ -2554,172 +2554,172 @@ export interface ActivityDefinition extends DomainResource { /** * The 'date' element may be more recent than the approval date because of minor changes / editorial corrections. */ - approvalDate?: string; - _approvalDate?: Element; + approvalDate?: string|undefined; + _approvalDate?: Element|undefined; /** * Only used if not implicit in the code found in ProcedureRequest.type. */ - bodySite?: CodeableConcept[]; + bodySite?: CodeableConcept[]|undefined; /** * Tends to be less relevant for activities involving particular products. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * A contributor to the content of the asset, including authors, editors, reviewers, and endorsers. */ - contributor?: Contributor[]; + contributor?: Contributor[]|undefined; /** * A copyright statement relating to the activity definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the activity definition. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the activity definition. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * This description can be used to capture details such as why the activity definition was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the activity definition as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * If a dosage instruction is used, the definition should not specify timing or quantity. */ - dosage?: Dosage[]; + dosage?: Dosage[]|undefined; /** * Dynamic values that will be evaluated to produce values for elements of the resulting resource. For example, if the dosage of a medication must be computed based on the patient's weight, a dynamic value would be used to specify an expression that calculated the weight, and the path on the intent resource that would contain the result. */ - dynamicValue?: ActivityDefinitionDynamicValue[]; + dynamicValue?: ActivityDefinitionDynamicValue[]|undefined; /** * The effective period for a activity definition determines when the content is applicable for usage and is independent of publication and review dates. For example, a measure intended to be used for the year 2016 might be published in 2015. */ - effectivePeriod?: Period; + effectivePeriod?: Period|undefined; /** * Allows filtering of activity definition that are appropriate for use vs. not. This is labeled as "Is Modifier" because applications should not use an experimental activity definition in production. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, e.g., to identify this activity definition outside of FHIR, where it is not possible to use the logical URI. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * It may be possible for the activity definition to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * May determine what types of extensions are permitted. */ - kind?: string; - _kind?: Element; + kind?: string|undefined; + _kind?: Element|undefined; /** * If specified, this is usually after the approval date. */ - lastReviewDate?: string; - _lastReviewDate?: Element; + lastReviewDate?: string|undefined; + _lastReviewDate?: Element|undefined; /** * A reference to a Library resource containing any formal logic used by the asset. */ - library?: Reference[]; + library?: Reference[]|undefined; /** * May reference a specific clinical location or may just identify a type of location. */ - location?: Reference; + location?: Reference|undefined; /** * The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Indicates who should participate in performing the action described. */ - participant?: ActivityDefinitionParticipant[]; + participant?: ActivityDefinitionParticipant[]|undefined; /** * Identifies the food, drug or other product being consumed or supplied in the activity. */ - productReference?: Reference; + productReference?: Reference|undefined; /** * Identifies the food, drug or other product being consumed or supplied in the activity. */ - productCodeableConcept?: CodeableConcept; + productCodeableConcept?: CodeableConcept|undefined; /** * Usually an organization, but may be an individual. The publisher (or steward) of the activity definition is the organization or individual primarily responsible for the maintenance and upkeep of the activity definition. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the activity definition. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * This element does not describe the usage of the activity definition Instead it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this activity definition. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * Identifies the quantity expected to be consumed at once (per dose, per meal, etc.). */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * Each related artifact is either an attachment, or a reference to another resource, but not both. */ - relatedArtifact?: RelatedArtifact[]; + relatedArtifact?: RelatedArtifact[]|undefined; /** * Allows filtering of activity definitions that are appropriate for use vs. not. * This is labeled as "Is Modifier" because applications should not use a retired activity definition without due consideration. */ status: ActivityDefinitionStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * The period, timing or frequency upon which the described activity is to occur. */ - timingTiming?: Timing; + timingTiming?: Timing|undefined; /** * The period, timing or frequency upon which the described activity is to occur. */ - timingDateTime?: string; - _timingDateTime?: Element; + timingDateTime?: string|undefined; + _timingDateTime?: Element|undefined; /** * The period, timing or frequency upon which the described activity is to occur. */ - timingPeriod?: Period; + timingPeriod?: Period|undefined; /** * The period, timing or frequency upon which the described activity is to occur. */ - timingRange?: Range; + timingRange?: Range|undefined; /** * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Descriptive topics related to the content of the activity. Topics provide a high-level categorization of the activity that can be useful for filtering and searching. */ - topic?: CodeableConcept[]; + topic?: CodeableConcept[]|undefined; /** * A reference to a StructureMap resource that defines a transform that can be executed to produce the intent resource using the ActivityDefinition instance as the input. */ - transform?: Reference; + transform?: Reference|undefined; /** * Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred. Multiple instances may share the same url if they have a distinct version. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * A detailed description of how the asset is used from a clinical perspective. */ - usage?: string; - _usage?: Element; + usage?: string|undefined; + _usage?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different activity definition instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a refrence to a particular business version of the activity definition with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the ActivityDefinition.status field @@ -2737,29 +2737,29 @@ export interface AdverseEventSuspectEntity extends BackboneElement { /** * causality1 | causality2. */ - causality?: AdverseEventSuspectEntityCausalityCodes; - _causality?: Element; + causality?: AdverseEventSuspectEntityCausalityCodes|undefined; + _causality?: Element|undefined; /** * assess1 | assess2. */ - causalityAssessment?: CodeableConcept; + causalityAssessment?: CodeableConcept|undefined; /** * AdverseEvent.suspectEntity.causalityAuthor. */ - causalityAuthor?: Reference; + causalityAuthor?: Reference|undefined; /** * method1 | method2. */ - causalityMethod?: CodeableConcept; + causalityMethod?: CodeableConcept|undefined; /** * AdverseEvent.suspectEntity.causalityProductRelatedness. */ - causalityProductRelatedness?: string; - _causalityProductRelatedness?: Element; + causalityProductRelatedness?: string|undefined; + _causalityProductRelatedness?: Element|undefined; /** * result1 | result2. */ - causalityResult?: CodeableConcept; + causalityResult?: CodeableConcept|undefined; /** * Identifies the actual instance of what caused the adverse event. May be a substance, medication, medication administration, medication statement or a device. */ @@ -2781,70 +2781,70 @@ export interface AdverseEvent extends DomainResource { /** * The type of event which is important to characterize what occurred and caused harm to the subject, or had the potential to cause harm to the subject. */ - category?: AdverseEventCategoryCodes; - _category?: Element; + category?: AdverseEventCategoryCodes|undefined; + _category?: Element|undefined; /** * The date (and perhaps time) when the adverse event occurred. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * Describes the adverse event in text. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Parties that may or should contribute or have contributed information to the Act. Such information includes information leading to the decision to perform the Act and how to perform the Act (e.g. consultant), information that the Act itself seeks to reveal (e.g. informant of clinical history), or information about what Act was performed (e.g. informant witness). */ - eventParticipant?: Reference; + eventParticipant?: Reference|undefined; /** * The identifier(s) of this adverse event that are assigned by business processes and/or used to refer to it when a direct URL reference to the resource itsefl is not appropriate. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * The information about where the adverse event occurred. */ - location?: Reference; + location?: Reference|undefined; /** * Describes the type of outcome from the adverse event. */ - outcome?: CodeableConcept; + outcome?: CodeableConcept|undefined; /** * Includes information about the reaction that occurred as a result of exposure to a substance (for example, a drug or a chemical). */ - reaction?: Reference[]; + reaction?: Reference[]|undefined; /** * Information on who recorded the adverse event. May be the patient or a practitioner. */ - recorder?: Reference; + recorder?: Reference|undefined; /** * AdverseEvent.referenceDocument. */ - referenceDocument?: Reference[]; + referenceDocument?: Reference[]|undefined; /** * Describes the seriousness or severity of the adverse event. */ - seriousness?: CodeableConcept; + seriousness?: CodeableConcept|undefined; /** * AdverseEvent.study. */ - study?: Reference[]; + study?: Reference[]|undefined; /** * This subject or group impacted by the event. With a prospective adverse event, there will be no subject as the adverse event was prevented. */ - subject?: Reference; + subject?: Reference|undefined; /** * AdverseEvent.subjectMedicalHistory. */ - subjectMedicalHistory?: Reference[]; + subjectMedicalHistory?: Reference[]|undefined; /** * Describes the entity that is suspected to have caused the adverse event. */ - suspectEntity?: AdverseEventSuspectEntity[]; + suspectEntity?: AdverseEventSuspectEntity[]|undefined; /** * This element defines the specific type of event that occurred or that was prevented from occurring. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Code Values for the AdverseEvent.category field @@ -2860,12 +2860,12 @@ export interface AllergyIntoleranceReaction extends BackboneElement { /** * Use the description to provide any details of a particular event of the occurred reaction such as circumstances, reaction specifics, what happened before/after. Information, related to the event, but not describing a particular care should be captured in the comment field. For example: at the age of four, the patient was given penicillin for strep throat and subsequently developed severe hives. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Coding of the route of exposure with a terminology should be used wherever possible. */ - exposureRoute?: CodeableConcept; + exposureRoute?: CodeableConcept|undefined; /** * Manifestation can be expressed as a single word, phrase or brief description. For example: nausea, rash or no reaction. It is preferable that manifestation should be coded with a terminology, where possible. The values entered here may be used to display on an application screen as part of a list of adverse reactions, as recommended in the UK NHS CUI guidelines. Terminologies commonly used include, but are not limited to, SNOMED CT or ICD10. */ @@ -2873,21 +2873,21 @@ export interface AllergyIntoleranceReaction extends BackboneElement { /** * Use this field to record information indirectly related to a particular event and not captured in the description. For example: Clinical records are no longer available, recorded based on information provided to the patient by her mother and her mother is deceased. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * Record of the date and/or time of the onset of the Reaction. */ - onset?: string; - _onset?: Element; + onset?: string|undefined; + _onset?: Element|undefined; /** * It is acknowledged that this assessment is very subjective. There may be some some specific practice domains where objective scales have been applied. Objective scales can be included in this model as extensions. */ - severity?: AllergyIntoleranceReactionSeverityCodes; - _severity?: Element; + severity?: AllergyIntoleranceReactionSeverityCodes|undefined; + _severity?: Element|undefined; /** * Coding of the specific substance (or pharmaceutical product) with a terminology capable of triggering decision support should be used wherever possible. The 'code' element allows for the use of a specific substance or pharmaceutical product, or a group or class of substances. In the case of an allergy or intolerance to a class of substances, (for example, "penicillins"), the 'reaction.substance' element could be used to code the specific substance that was identifed as having caused the reaction (for example, "amoxycillin"). Duplication of the value in the 'code' and 'reaction.substance' elements is acceptable when a specific substance has been recorded in 'code'. */ - substance?: CodeableConcept; + substance?: CodeableConcept|undefined; } /** * Code Values for the AllergyIntolerance.reaction.severity field @@ -2906,69 +2906,69 @@ export interface AllergyIntolerance extends DomainResource { /** * The date on which the existance of the AllergyIntolerance was first asserted or acknowledged. */ - assertedDate?: string; - _assertedDate?: Element; + assertedDate?: string|undefined; + _assertedDate?: Element|undefined; /** * The recorder takes repsonsibility for the content, but can reference the source from where they got it. */ - asserter?: Reference; + asserter?: Reference|undefined; /** * This data element has been included because it is currently being captured in some clinical systems. This data can be derived from the substance where coding systems are used, and is effectively redundant in that situation. When searching on category, consider the implications of AllergyIntolerance resources without a category. For example, when searching on category = medication, medication allergies that don't have a category valued will not be returned. Refer to [search](search.html) for more information on how to search category with a :missing modifier to get allergies that don't have a category. Additionally, category should be used with caution because category can be subjective based on the sender. */ - category?: AllergyIntoleranceCategoryCodes[]; - _category?: Element[]; + category?: AllergyIntoleranceCategoryCodes[]|undefined; + _category?: Element[]|undefined; /** * This element is labeled as a modifier because the status contains the codes inactive and resolved that mark the AllergyIntolerance as not currently valid. */ - clinicalStatus?: AllergyIntoleranceClinicalStatusCodes; - _clinicalStatus?: Element; + clinicalStatus?: AllergyIntoleranceClinicalStatusCodes|undefined; + _clinicalStatus?: Element|undefined; /** * It is strongly recommended that this element be populated using a terminology, where possible. For example, some terminologies used include RxNorm, SNOMED CT, DM+D, NDFRT, ICD-9, IDC-10, UNI, ATC and CPT. Plain text should only be used if there is no appropriate terminology available. Additional details can be specified in the text. * When a substance or product code is specified for the 'code' element, the "default" semantic context is that this is a positive statement of an allergy or intolerance (depending on the value of the 'type' element, if present) condition to the specified substance/product. In the corresponding SNOMED CT allergy model, the specified substance/product is the target (destination) of the "Causative agent" relationship. * The 'substanceExposureRisk' extension is available as a structured and more flexible alternative to the 'code' element for making positive or negative allergy or intolerance statements. This extension provides the capability to make "no known allergy" (or "no risk of adverse reaction") statements regarding any coded substance/product (including cases when a pre-coordinated "no allergy to x" concept for that substance/product does not exist). If the 'substanceExposureRisk' extension is present, the AllergyIntolerance.code element SHALL be omitted. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * The default criticality value for any propensity to an adverse reaction should be 'Low Risk', indicating at the very least a relative contraindication to deliberate or voluntary exposure to the substance. 'High Risk' is flagged if the clinician has identified a propensity for a more serious or potentially life-threatening reaction, such as anaphylaxis, and implies an absolute contraindication to deliberate or voluntary exposure to the substance. If this element is missing, the criticality is unknown (though it may be known elsewhere). * Systems that capture a severity at the condition level are actually representing the concept of criticality whereas the severity documented at the reaction level is representing the true reaction severity. Existing systems that are capturing both condition criticality and reaction severity may use the term "severity" to represent both. Criticality is the worst it could be in the future (i.e. situation-agnostic) whereas severity is situation-dependent. */ - criticality?: AllergyIntoleranceCriticalityCodes; - _criticality?: Element; + criticality?: AllergyIntoleranceCriticalityCodes|undefined; + _criticality?: Element|undefined; /** * This records identifiers associated with this allergy/intolerance concern that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation). */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * This date may be replicated by one of the Onset of Reaction dates. Where a textual representation of the date of last occurrence is required e.g. 'In Childhood, '10 years ago' the Comment element should be used. */ - lastOccurrence?: string; - _lastOccurrence?: Element; + lastOccurrence?: string|undefined; + _lastOccurrence?: Element|undefined; /** * For example: including reason for flagging a seriousness of 'High Risk'; and instructions related to future exposure or administration of the substance, such as administration within an Intensive Care Unit or under corticosteroid cover. The notes should be related to an allergy or intolerance as a condition in general and not related to any particular episode of it. For episode notes and descriptions, use AllergyIntolerance.event.description and AllergyIntolerance.event.notes. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * Estimated or actual date, date-time, or age when allergy or intolerance was identified. */ - onsetDateTime?: string; - _onsetDateTime?: Element; + onsetDateTime?: string|undefined; + _onsetDateTime?: Element|undefined; /** * Estimated or actual date, date-time, or age when allergy or intolerance was identified. */ - onsetAge?: Age; + onsetAge?: Age|undefined; /** * Estimated or actual date, date-time, or age when allergy or intolerance was identified. */ - onsetPeriod?: Period; + onsetPeriod?: Period|undefined; /** * Estimated or actual date, date-time, or age when allergy or intolerance was identified. */ - onsetRange?: Range; + onsetRange?: Range|undefined; /** * Estimated or actual date, date-time, or age when allergy or intolerance was identified. */ - onsetString?: string; - _onsetString?: Element; + onsetString?: string|undefined; + _onsetString?: Element|undefined; /** * The patient who has the allergy or intolerance. */ @@ -2976,21 +2976,21 @@ export interface AllergyIntolerance extends DomainResource { /** * Details about each adverse reaction event linked to exposure to the identified substance. */ - reaction?: AllergyIntoleranceReaction[]; + reaction?: AllergyIntoleranceReaction[]|undefined; /** * Individual who recorded the record and takes responsibility for its content. */ - recorder?: Reference; + recorder?: Reference|undefined; /** * Allergic (typically immune-mediated) reactions have been traditionally regarded as an indicator for potential escalation to significant future risk. Contemporary knowledge suggests that some reactions previously thought to be immune-mediated are, in fact, non-immune, but in some cases can still pose a life threatening risk. It is acknowledged that many clinicians may not be in a position to distinguish the mechanism of a particular reaction. Often the term "allergy" is used rather generically and may overlap with the use of "intolerance" - in practice the boundaries between these two concepts may not be well-defined or understood. This data element is included nevertheless, because many legacy systems have captured this attribute. Immunologic testing may provide supporting evidence for the basis of the reaction and the causative substance, but no tests are 100% sensitive or specific for sensitivity to a particular substance. If, as is commonly the case, it is unclear whether the reaction is due to an allergy or an intolerance, then the type element should be omitted from the resource. */ - type?: AllergyIntoleranceTypeCodes; - _type?: Element; + type?: AllergyIntoleranceTypeCodes|undefined; + _type?: Element|undefined; /** * This element is labeled as a modifier because the status contains the codes refuted and entered-in-error that mark the AllergyIntolerance as not currently valid. */ verificationStatus: AllergyIntoleranceVerificationStatusCodes; - _verificationStatus?: Element; + _verificationStatus?: Element|undefined; } /** * Code Values for the AllergyIntolerance.category field @@ -3040,23 +3040,23 @@ export interface AppointmentParticipant extends BackboneElement { /** * A Person, Location/HealthcareService or Device that is participating in the appointment. */ - actor?: Reference; + actor?: Reference|undefined; /** * Is this participant required to be present at the meeting. This covers a use-case where 2 doctors need to meet to discuss the results for a specific patient, and the patient is not required to be present. */ - required?: AppointmentParticipantRequiredCodes; - _required?: Element; + required?: AppointmentParticipantRequiredCodes|undefined; + _required?: Element|undefined; /** * Participation status of the actor. */ status: AppointmentParticipantStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * The role of the participant can be used to declare what the actor will be doing in the scope of this appointment. * If the actor is not specified, then it is expected that the actor will be filled in at a later stage of planning. * This value SHALL be the same when creating an AppointmentResponse so that they can be matched, and subsequently update the Appointment. */ - type?: CodeableConcept[]; + type?: CodeableConcept[]|undefined; } /** * Code Values for the Appointment.participant.required field @@ -3084,44 +3084,44 @@ export interface Appointment extends DomainResource { /** * The style of appointment or patient that has been booked in the slot (not service type). */ - appointmentType?: CodeableConcept; + appointmentType?: CodeableConcept|undefined; /** * Additional text to aid in facilitating the appointment. For instance, a comment might be, "patient should proceed immediately to infusion room upon arrival" * Where this is a planned appointment and the start/end dates are not set then this field can be used to provide additional guidance on the details of the appointment request, including any restrictions on when to book it. */ - comment?: string; - _comment?: Element; + comment?: string|undefined; + _comment?: Element|undefined; /** * This property is required for many use cases where the age of an appointment is considered in processing workflows for scheduling and billing of appointments. */ - created?: string; - _created?: Element; + created?: string|undefined; + _created?: Element|undefined; /** * The brief description of the appointment as would be shown on a subject line in a meeting request, or appointment list. Detailed or expanded information should be put in the comment field. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Date/Time that the appointment is to conclude. */ - end?: string; - _end?: Element; + end?: string|undefined; + _end?: Element|undefined; /** * This records identifiers associated with this appointment concern that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation). */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The referral request this appointment is allocated to assess (incoming referral). */ - incomingReferral?: Reference[]; + incomingReferral?: Reference[]|undefined; /** * Reason the appointment has been scheduled to take place, as specified using information from another resource. When the patient arrives and the encounter begins it may be used as the admission diagnosis. The indication will typically be a Condition (with other resources referenced in the evidence.detail), or a Procedure. */ - indication?: Reference[]; + indication?: Reference[]|undefined; /** * Number of minutes that the appointment is to take. This can be less than the duration between the start and end times (where actual time of appointment is only an estimate or is a planned appointment request). */ - minutesDuration?: number; + minutesDuration?: number|undefined; /** * List of participants involved in the appointment. */ @@ -3130,46 +3130,46 @@ export interface Appointment extends DomainResource { * Seeking implementer feedback on this property and how interoperable it is. * Using an extension to record a codeableconcept for named values may be tested at a future connectathon. */ - priority?: number; + priority?: number|undefined; /** * The reason that this appointment is being scheduled. This is more clinical than administrative. */ - reason?: CodeableConcept[]; + reason?: CodeableConcept[]|undefined; /** * This does not introduce a capacity for recurring appointments. */ - requestedPeriod?: Period[]; + requestedPeriod?: Period[]|undefined; /** * A broad categorisation of the service that is to be performed during this appointment. */ - serviceCategory?: CodeableConcept; + serviceCategory?: CodeableConcept|undefined; /** * The specific service that is to be performed during this appointment. */ - serviceType?: CodeableConcept[]; + serviceType?: CodeableConcept[]|undefined; /** * The slots from the participants' schedules that will be filled by the appointment. */ - slot?: Reference[]; + slot?: Reference[]|undefined; /** * The specialty of a practitioner that would be required to perform the service requested in this appointment. */ - specialty?: CodeableConcept[]; + specialty?: CodeableConcept[]|undefined; /** * Date/Time that the appointment is to take place. */ - start?: string; - _start?: Element; + start?: string|undefined; + _start?: Element|undefined; /** * If the Appointment's status is "cancelled" then all participants are expected to have their calendars released for the appointment period, and as such any Slots that were marked as BUSY can be re-set to FREE. * This element is labeled as a modifier because the status contains the code entered-in-error that mark the Appointment as not currently valid. */ status: AppointmentStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Additional information to support the appointment provided when making the appointment. */ - supportingInformation?: Reference[]; + supportingInformation?: Reference[]|undefined; } /** * Code Values for the Appointment.status field @@ -3193,7 +3193,7 @@ export interface AppointmentResponse extends DomainResource { /** * A Person, Location/HealthcareService or Device that is participating in the appointment. */ - actor?: Reference; + actor?: Reference|undefined; /** * Appointment that this response is replying to. */ @@ -3201,33 +3201,33 @@ export interface AppointmentResponse extends DomainResource { /** * This comment is particularly important when the responder is declining, tentatively accepting or requesting another time to indicate the reasons why. */ - comment?: string; - _comment?: Element; + comment?: string|undefined; + _comment?: Element|undefined; /** * This may be either the same as the appointment request to confirm the details of the appointment, or alternately a new time to request a re-negotiation of the end time. */ - end?: string; - _end?: Element; + end?: string|undefined; + _end?: Element|undefined; /** * This records identifiers associated with this appointment response concern that are defined by business processes and/ or used to refer to it when a direct URL reference to the resource itself is not appropriate. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * This element is labeled as a modifier because the status contains the code entered-in-error that marks the participant as not currently valid. */ participantStatus: AppointmentResponseParticipantStatusCodes; - _participantStatus?: Element; + _participantStatus?: Element|undefined; /** * The role of the participant can be used to declare what the actor will be doing in the scope of the referenced appointment. * If the actor is not specified, then it is expected that the actor will be filled in at a later stage of planning. * This value SHALL be the same as specified on the referenced Appointment so that they can be matched, and subsequently updated. */ - participantType?: CodeableConcept[]; + participantType?: CodeableConcept[]|undefined; /** * This may be either the same as the appointment request to confirm the details of the appointment, or alternately a new time to request a re-negotiation of the start time. */ - start?: string; - _start?: Element; + start?: string|undefined; + _start?: Element|undefined; } /** * Code Values for the AppointmentResponse.participantStatus field @@ -3245,13 +3245,13 @@ export interface AuditEventAgentNetwork extends BackboneElement { /** * This could be a device id, IP address or some other identifier associated with a device. */ - address?: string; - _address?: Element; + address?: string|undefined; + _address?: Element|undefined; /** * An identifier for the type of network access point that originated the audit event. */ - type?: string; - _type?: Element; + type?: string|undefined; + _type?: Element|undefined; } /** * Several agents may be associated (i.e. have some responsibility for an activity) with an event or activity. @@ -3261,51 +3261,51 @@ export interface AuditEventAgent extends BackboneElement { /** * Alternative agent Identifier. For a human, this should be a user identifier text string from authentication system. This identifier would be one known to a common authentication system (e.g. single sign-on), if available. */ - altId?: string; - _altId?: Element; + altId?: string|undefined; + _altId?: Element|undefined; /** * Where the event occurred. */ - location?: Reference; + location?: Reference|undefined; /** * Type of media involved. Used when the event is about exporting/importing onto media. */ - media?: Coding; + media?: Coding|undefined; /** * Human-meaningful name for the agent. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Logical network location for application activity, if the activity has a network location. */ - network?: AuditEventAgentNetwork; + network?: AuditEventAgentNetwork|undefined; /** * For example: Where an OAuth token authorizes, the unique identifier from the OAuth token is placed into the policy element Where a policy engine (e.g. XACML) holds policy logic, the unique policy identifier is placed into the policy element. */ - policy?: string[]; - _policy?: Element[]; + policy?: string[]|undefined; + _policy?: Element[]|undefined; /** * Use AuditEvent.agent.purposeOfUse when you know that is specific to the agent, otherwise use AuditEvent.purposeOfEvent. For example, during a machine-to-machine transfer it might not be obvious to the audit system who caused the event, but it does know why. */ - purposeOfUse?: CodeableConcept[]; + purposeOfUse?: CodeableConcept[]|undefined; /** * Direct reference to a resource that identifies the agent. */ - reference?: Reference; + reference?: Reference|undefined; /** * There can only be one initiator. If the initiator is not clear, then do not choose any one agent as the initiator. */ requestor: boolean; - _requestor?: Element; + _requestor?: Element|undefined; /** * Should be roles relevant to the event. Should not be an exhaustive list of roles. */ - role?: CodeableConcept[]; + role?: CodeableConcept[]|undefined; /** * A unique value within the Audit Source ID. For node-based authentication -- where only the system hardware or process, but not a human user, is identified -- User ID would be the node name. */ - userId?: Identifier; + userId?: Identifier|undefined; } /** * Since multi-tier, distributed, or composite applications make source identification ambiguous, this collection of fields may repeat for each application or process actively involved in the event. For example, multiple value-sets can identify participating web servers, application processes, and database server threads in an n-tier distributed application. Passive event participants (e.g. low-level network transports) need not be identified. @@ -3318,12 +3318,12 @@ export interface AuditEventSource extends BackboneElement { /** * Logical source location within the healthcare enterprise network. For example, a hospital or other provider location within a multi-entity provider group. */ - site?: string; - _site?: Element; + site?: string|undefined; + _site?: Element|undefined; /** * Code specifying the type of source where event originated. */ - type?: Coding[]; + type?: Coding[]|undefined; } /** * Tagged value pairs for conveying additional information about the entity. @@ -3333,12 +3333,12 @@ export interface AuditEventEntityDetail extends BackboneElement { * The type of extra detail provided in the value. */ type: string; - _type?: Element; + _type?: Element|undefined; /** * The value is base64 encoded to enable various encodings or binary content. */ value: string; - _value?: Element; + _value?: Element|undefined; } /** * Required unless the values for event identification, agent identification, and audit source identification are sufficient to document the entire auditable event. Because events may have more than one entity, this group can be a repeating set of values. @@ -3347,46 +3347,46 @@ export interface AuditEventEntity extends BackboneElement { /** * Text that describes the entity in more detail. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Tagged value pairs for conveying additional information about the entity. */ - detail?: AuditEventEntityDetail[]; + detail?: AuditEventEntityDetail[]|undefined; /** * Identifier detail depends on entity type. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * This can be used to provide an audit trail for data, over time, as it passes through the system. */ - lifecycle?: Coding; + lifecycle?: Coding|undefined; /** * This field may be used in a query/report to identify audit events for a specific person. For example, where multiple synonymous entity identifiers (patient number, medical record number, encounter number, etc.) have been used. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * The query parameters for a query-type entities. */ - query?: string; - _query?: Element; + query?: string|undefined; + _query?: Element|undefined; /** * Identifies a specific instance of the entity. The reference should be version specific. */ - reference?: Reference; + reference?: Reference|undefined; /** * Code representing the role the entity played in the event being audited. */ - role?: Coding; + role?: Coding|undefined; /** * Copied from entity meta security tags. */ - securityLabel?: Coding[]; + securityLabel?: Coding[]|undefined; /** * This value is distinct from the user's role or any user relationship to the entity. */ - type?: Coding; + type?: Coding|undefined; } /** * A record of an event made for purposes of maintaining a security log. Typical uses include detection of intrusion attempts and monitoring for inappropriate usage. @@ -3397,8 +3397,8 @@ export interface AuditEvent extends DomainResource { /** * Indicator for type of action performed during the event that generated the audit. */ - action?: string; - _action?: Element; + action?: string|undefined; + _action?: Element|undefined; /** * Several agents may be associated (i.e. have some responsibility for an activity) with an event or activity. * For example, an activity may be initiated by one user for other users or involve more than one user. However, only one user may be the initiator/requestor for the activity. @@ -3407,26 +3407,26 @@ export interface AuditEvent extends DomainResource { /** * Required unless the values for event identification, agent identification, and audit source identification are sufficient to document the entire auditable event. Because events may have more than one entity, this group can be a repeating set of values. */ - entity?: AuditEventEntity[]; + entity?: AuditEventEntity[]|undefined; /** * In some cases a "success" may be partial, for example, an incomplete or interrupted transfer of a radiological study. For the purpose of establishing accountability, these distinctions are not relevant. */ - outcome?: string; - _outcome?: Element; + outcome?: string|undefined; + _outcome?: Element|undefined; /** * A free text description of the outcome of the event. */ - outcomeDesc?: string; - _outcomeDesc?: Element; + outcomeDesc?: string|undefined; + _outcomeDesc?: Element|undefined; /** * Use AuditEvent.agent.purposeOfUse when you know that it is specific to the agent, otherwise use AuditEvent.purposeOfEvent. For example, during a machine-to-machine transfer it might not be obvious to the audit system who caused the event, but it does know why. */ - purposeOfEvent?: CodeableConcept[]; + purposeOfEvent?: CodeableConcept[]|undefined; /** * In a distributed system, some sort of common time base (e.g. an NTP [RFC1305] server) is a good implementation tactic. */ recorded: string; - _recorded?: Element; + _recorded?: Element|undefined; /** * Since multi-tier, distributed, or composite applications make source identification ambiguous, this collection of fields may repeat for each application or process actively involved in the event. For example, multiple value-sets can identify participating web servers, application processes, and database server threads in an n-tier distributed application. Passive event participants (e.g. low-level network transports) need not be identified. */ @@ -3434,7 +3434,7 @@ export interface AuditEvent extends DomainResource { /** * Identifier for the category of event. */ - subtype?: Coding[]; + subtype?: Coding[]|undefined; /** * Identifier for a family of the event. For example, a menu item, program, rule, policy, function code, application name or URL. It identifies the performed function. */ @@ -3449,7 +3449,7 @@ export interface Basic extends DomainResource { /** * Indicates who was responsible for creating the resource instance. */ - author?: Reference; + author?: Reference|undefined; /** * Because resource references will only be able to indicate 'Basic', the type of reference will need to be specified in a Profile identified as part of the resource. Refer to the resource notes section for information on appropriate terminologies for this code. * This element is labeled as a modifier because the it defines the meaning of the resource and cannot be ignored. @@ -3458,16 +3458,16 @@ export interface Basic extends DomainResource { /** * Identifies when the resource was first created. */ - created?: string; - _created?: Element; + created?: string|undefined; + _created?: Element|undefined; /** * Identifier assigned to the resource for business purposes, outside the context of FHIR. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Optional as not all potential resources will have subjects. Resources associated with multiple subjects can handle this via extension. */ - subject?: Reference; + subject?: Reference|undefined; } /** * A binary resource can contain any content, whether text, image, pdf, zip archive, etc. @@ -3479,16 +3479,16 @@ export interface Binary extends Resource { * If the content type is itself base64 encoding, then this will be base64 encoded twice - what is created by un-base64ing the content must be the specified content type. */ content: string; - _content?: Element; + _content?: Element|undefined; /** * MimeType of the binary content represented as a standard MimeType (BCP 13). */ contentType: string; - _contentType?: Element; + _contentType?: Element|undefined; /** * Treat this binary as if it was this other resource for access control purposes. */ - securityContext?: Reference; + securityContext?: Reference|undefined; } /** * Record details about the anatomical location of a specimen or body part. This resource may be used when a coded concept does not provide the necessary detail needed for the use case. @@ -3499,25 +3499,25 @@ export interface BodySite extends DomainResource { /** * This element is labeled as a modifier because it may be used to mark that the resource was created in error. */ - active?: boolean; - _active?: Element; + active?: boolean|undefined; + _active?: Element|undefined; /** * Named anatomical location - ideally coded where possible. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * This description could include any visual markings used to orientate the viewer e.g. external reference points, special sutures, ink markings. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Identifier for this instance of the anatomical location. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Image or images used to identify a location. */ - image?: Attachment[]; + image?: Attachment[]|undefined; /** * The person to which the body site belongs. */ @@ -3525,7 +3525,7 @@ export interface BodySite extends DomainResource { /** * Qualifier to refine the anatomical location. These include qualifiers for laterality, relative location, directionality, number, and plane. */ - qualifier?: CodeableConcept[]; + qualifier?: CodeableConcept[]|undefined; } /** * A series of links that provide context to this bundle. @@ -3535,12 +3535,12 @@ export interface BundleLink extends BackboneElement { * A name which details the functional use for this link - see [http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1](http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1). */ relation: string; - _relation?: Element; + _relation?: Element|undefined; /** * The reference details for the link. */ url: string; - _url?: Element; + _url?: Element|undefined; } /** * Information about the search process that lead to the creation of this entry. @@ -3549,12 +3549,12 @@ export interface BundleEntrySearch extends BackboneElement { /** * There is only one mode. In some corner cases, a resource may be included because it is both a match and an include. In these circumstances, 'match' takes precedence. */ - mode?: BundleEntrySearchModeCodes; - _mode?: Element; + mode?: BundleEntrySearchModeCodes|undefined; + _mode?: Element|undefined; /** * Servers are not required to return a ranking score. 1 is most relevant, and 0 is least relevant. Often, search results are sorted by score, but the client may specify a different sort order. */ - score?: number; + score?: number|undefined; } /** * Code Values for the Bundle.entry.search.mode field @@ -3571,33 +3571,33 @@ export interface BundleEntryRequest extends BackboneElement { /** * Only perform the operation if the Etag value matches. For more information, see the API section ["Managing Resource Contention"](http.html#concurrency). */ - ifMatch?: string; - _ifMatch?: Element; + ifMatch?: string|undefined; + _ifMatch?: Element|undefined; /** * Only perform the operation if the last updated date matches. See the API documentation for ["Conditional Read"](http.html#cread). */ - ifModifiedSince?: string; - _ifModifiedSince?: Element; + ifModifiedSince?: string|undefined; + _ifModifiedSince?: Element|undefined; /** * Instruct the server not to perform the create if a specified resource already exists. For further information, see the API documentation for ["Conditional Create"](http.html#ccreate). This is just the query portion of the URL - what follows the "?" (not including the "?"). */ - ifNoneExist?: string; - _ifNoneExist?: Element; + ifNoneExist?: string|undefined; + _ifNoneExist?: Element|undefined; /** * If the ETag values match, return a 304 Not Modified status. See the API documentation for ["Conditional Read"](http.html#cread). */ - ifNoneMatch?: string; - _ifNoneMatch?: Element; + ifNoneMatch?: string|undefined; + _ifNoneMatch?: Element|undefined; /** * The HTTP verb for this entry in either a change history, or a transaction/ transaction response. */ method: BundleEntryRequestMethodCodes; - _method?: Element; + _method?: Element|undefined; /** * E.g. for a Patient Create, the method would be "POST" and the URL would be "Patient". For a Patient Update, the method would be PUT, and the URL would be "Patient/[id]". */ url: string; - _url?: Element; + _url?: Element|undefined; } /** * Code Values for the Bundle.entry.request.method field @@ -3615,27 +3615,27 @@ export interface BundleEntryResponse extends BackboneElement { /** * Etags match the Resource.meta.versionId. The ETag has to match the version id in the header if a resource is included. */ - etag?: string; - _etag?: Element; + etag?: string|undefined; + _etag?: Element|undefined; /** * This has to match the same time in the meta header if a resource is included. */ - lastModified?: string; - _lastModified?: Element; + lastModified?: string|undefined; + _lastModified?: Element|undefined; /** * The location header created by processing this operation. */ - location?: string; - _location?: Element; + location?: string|undefined; + _location?: Element|undefined; /** * For a POST/PUT operation, this is the equivalent outcome that would be returned for prefer = operationoutcome - except that the resource is always returned whether or not the outcome is returned. */ - outcome?: FhirResource; + outcome?: FhirResource|undefined; /** * The status code returned by processing this entry. The status SHALL start with a 3 digit HTTP code (e.g. 404) and may contain the standard HTTP description associated with the status code. */ status: string; - _status?: Element; + _status?: Element|undefined; } /** * An entry in a bundle resource - will either contain a resource, or information about a resource (transactions and history only). @@ -3644,28 +3644,28 @@ export interface BundleEntry extends BackboneE /** * fullUrl may not be [unique in the context of a resource](bundle.html#bundle-unique). Note that since [FHIR resources do not need to be served through the FHIR API](references.html), the absolute URL may not end with the logical id of the resource (Resource.id), but if the fullUrl does look like a RESTful server URL (e.g. meets the [regex](references.html#regex), then it SHALL end with the Resource.id. */ - fullUrl?: string; - _fullUrl?: Element; + fullUrl?: string|undefined; + _fullUrl?: Element|undefined; /** * A series of links that provide context to this entry. */ - link?: BundleLink[]; + link?: BundleLink[]|undefined; /** * Additional information about how this entry should be processed as part of a transaction. */ - request?: BundleEntryRequest; + request?: BundleEntryRequest|undefined; /** * The Resources for the entry. */ - resource?: BundleContentType; + resource?: BundleContentType|undefined; /** * Additional information about how this entry should be processed as part of a transaction. */ - response?: BundleEntryResponse; + response?: BundleEntryResponse|undefined; /** * Information about the search process that lead to the creation of this entry. */ - search?: BundleEntrySearch; + search?: BundleEntrySearch|undefined; } /** * A container for a collection of resources. @@ -3676,28 +3676,28 @@ export interface Bundle extends Resource { /** * An entry in a bundle resource - will either contain a resource, or information about a resource (transactions and history only). */ - entry?: BundleEntry[]; + entry?: BundleEntry[]|undefined; /** * Persistent identity generally only matters for batches of type Document, Message, and Collection. It would not normally be populated for search and history results, and servers ignore Bundle.identifier when processing batches and transactions. For Documents the .identifier SHALL be populated such that the .identifier is globally unique. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * A series of links that provide context to this bundle. */ - link?: BundleLink[]; + link?: BundleLink[]|undefined; /** * The signature could be created by the "author" of the bundle or by the originating device. Requirements around inclusion of a signature, verification of signatures and treatment of signed/non-signed bundles is implementation-environment specific. */ - signature?: Signature; + signature?: Signature|undefined; /** * Only used if the bundle is a search result set. The total does not include resources such as OperationOutcome and included resources, only the total number of matching resources. */ - total?: number; + total?: number|undefined; /** * It's possible to use a bundle for other purposes (e.g. a document can be accepted as a transaction). This is primarily defined so that there can be specific rules for some of the bundle types. */ type: BundleTypeCodes; - _type?: Element; + _type?: Element|undefined; } /** * Code Values for the Bundle.type field @@ -3721,17 +3721,17 @@ export interface CapabilityStatementSoftware extends BackboneElement { * Name software is known by. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * Date this version of the software was released. */ - releaseDate?: string; - _releaseDate?: Element; + releaseDate?: string|undefined; + _releaseDate?: Element|undefined; /** * If possible, a version should be specified, as statements are likely to be different for different versions of software. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Identifies a specific implementation instance that is described by the capability statement - i.e. a particular installation, rather than the capabilities of a software program. @@ -3741,12 +3741,12 @@ export interface CapabilityStatementImplementation extends BackboneElement { * Information about the specific installation that this capability statement relates to. */ description: string; - _description?: Element; + _description?: Element|undefined; /** * An absolute base URL for the implementation. This forms the base for REST interfaces as well as the mailbox and document interfaces. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; } /** * Certificates associated with security profiles. @@ -3755,13 +3755,13 @@ export interface CapabilityStatementRestSecurityCertificate extends BackboneElem /** * Actual certificate. */ - blob?: string; - _blob?: Element; + blob?: string|undefined; + _blob?: Element|undefined; /** * Mime type for a certificate. */ - type?: string; - _type?: Element; + type?: string|undefined; + _type?: Element|undefined; } /** * Information about security implementation from an interface perspective - what a client needs to know. @@ -3770,21 +3770,21 @@ export interface CapabilityStatementRestSecurity extends BackboneElement { /** * Certificates associated with security profiles. */ - certificate?: CapabilityStatementRestSecurityCertificate[]; + certificate?: CapabilityStatementRestSecurityCertificate[]|undefined; /** * The easiest CORS headers to add are Access-Control-Allow-Origin: * & Access-Control-Request-Method: GET, POST, PUT, DELETE. All servers SHOULD support CORS. */ - cors?: boolean; - _cors?: Element; + cors?: boolean|undefined; + _cors?: Element|undefined; /** * General description of how security works. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Types of security services that are supported/required by the system. */ - service?: CodeableConcept[]; + service?: CodeableConcept[]|undefined; } /** * Identifies a restful operation supported by the solution. @@ -3794,12 +3794,12 @@ export interface CapabilityStatementRestResourceInteraction extends BackboneElem * Coded identifier of the operation, supported by the system resource. */ code: CapabilityStatementRestResourceInteractionCodeCodes; - _code?: Element; + _code?: Element|undefined; /** * Guidance specific to the implementation of this operation, such as 'delete is a logical delete' or 'updates are only allowed with version id' or 'creates permitted from pre-authorized certificates only'. */ - documentation?: string; - _documentation?: Element; + documentation?: string|undefined; + _documentation?: Element|undefined; } /** * Code Values for the CapabilityStatement.rest.resource.interaction.code field @@ -3822,23 +3822,23 @@ export interface CapabilityStatementRestResourceSearchParam extends BackboneElem /** * This SHOULD be present, and matches refers to a SearchParameter by its canonical url. If systems wish to document their support for modifiers, comparators, target resource types, and chained parameters, they should do using a search parameter resource. */ - definition?: string; - _definition?: Element; + definition?: string|undefined; + _definition?: Element|undefined; /** * This allows documentation of any distinct behaviors about how the search parameter is used. For example, text matching algorithms. */ - documentation?: string; - _documentation?: Element; + documentation?: string|undefined; + _documentation?: Element|undefined; /** * Parameter names cannot overlap with standard parameter names, and standard parameters cannot be redefined. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * While this can be looked up from the definition, it is included here as a convenience for systems that autogenerate a query interface based on the server capability statement. It SHALL be the same as the type in the search parameter definition. */ type: CapabilityStatementRestResourceSearchParamTypeCodes; - _type?: Element; + _type?: Element|undefined; } /** * Code Values for the CapabilityStatement.rest.resource.searchParam.type field @@ -3860,28 +3860,28 @@ export interface CapabilityStatementRestResource extends BackboneElement { /** * Conditional Create is mainly appropriate for interface engine scripts converting from other formats, such as v2. */ - conditionalCreate?: boolean; - _conditionalCreate?: Element; + conditionalCreate?: boolean|undefined; + _conditionalCreate?: Element|undefined; /** * Conditional Delete is mainly appropriate for interface engine scripts converting from other formats, such as v2. */ - conditionalDelete?: CapabilityStatementRestResourceConditionalDeleteCodes; - _conditionalDelete?: Element; + conditionalDelete?: CapabilityStatementRestResourceConditionalDeleteCodes|undefined; + _conditionalDelete?: Element|undefined; /** * Conditional Read is mainly appropriate for interface engine scripts converting from other formats, such as v2. */ - conditionalRead?: CapabilityStatementRestResourceConditionalReadCodes; - _conditionalRead?: Element; + conditionalRead?: CapabilityStatementRestResourceConditionalReadCodes|undefined; + _conditionalRead?: Element|undefined; /** * Conditional Update is mainly appropriate for interface engine scripts converting from other formats, such as v2. */ - conditionalUpdate?: boolean; - _conditionalUpdate?: Element; + conditionalUpdate?: boolean|undefined; + _conditionalUpdate?: Element|undefined; /** * Additional information about the resource type used by the system. */ - documentation?: string; - _documentation?: Element; + documentation?: string|undefined; + _documentation?: Element|undefined; /** * Identifies a restful operation supported by the solution. */ @@ -3889,46 +3889,46 @@ export interface CapabilityStatementRestResource extends BackboneElement { /** * The profile applies to all resources of this type - i.e. it is the superset of what is supported by the system. */ - profile?: Reference; + profile?: Reference|undefined; /** * It is useful to support the vRead operation for current operations, even if past versions aren't available. */ - readHistory?: boolean; - _readHistory?: Element; + readHistory?: boolean|undefined; + _readHistory?: Element|undefined; /** * A set of flags that defines how references are supported. */ - referencePolicy?: CapabilityStatementRestResourceReferencePolicyCodes[]; - _referencePolicy?: Element[]; + referencePolicy?: CapabilityStatementRestResourceReferencePolicyCodes[]|undefined; + _referencePolicy?: Element[]|undefined; /** * If this list is empty, the server does not support includes. */ - searchInclude?: string[]; - _searchInclude?: Element[]; + searchInclude?: string[]|undefined; + _searchInclude?: Element[]|undefined; /** * Search parameters for implementations to support and/or make use of - either references to ones defined in the specification, or additional ones defined for/by the implementation. */ - searchParam?: CapabilityStatementRestResourceSearchParam[]; + searchParam?: CapabilityStatementRestResourceSearchParam[]|undefined; /** * If this list is empty, the server does not support reverse includes. */ - searchRevInclude?: string[]; - _searchRevInclude?: Element[]; + searchRevInclude?: string[]|undefined; + _searchRevInclude?: Element[]|undefined; /** * A type of resource exposed via the restful interface. */ type: string; - _type?: Element; + _type?: Element|undefined; /** * Allowing the clients to create new identities on the server means that the system administrator needs to have confidence that the clients do not create clashing identities between them. Obviously, if there is only one client, this won't happen. While creating identities on the client means that the clients need to be managed, it's much more convenient for many scenarios if such management can be put in place. */ - updateCreate?: boolean; - _updateCreate?: Element; + updateCreate?: boolean|undefined; + _updateCreate?: Element|undefined; /** * If a server supports versionIds correctly, it SHOULD support vread too, but is not required to do so. */ - versioning?: CapabilityStatementRestResourceVersioningCodes; - _versioning?: Element; + versioning?: CapabilityStatementRestResourceVersioningCodes|undefined; + _versioning?: Element|undefined; } /** * Code Values for the CapabilityStatement.rest.resource.conditionalDelete field @@ -3973,12 +3973,12 @@ export interface CapabilityStatementRestInteraction extends BackboneElement { * A coded identifier of the operation, supported by the system. */ code: CapabilityStatementRestInteractionCodeCodes; - _code?: Element; + _code?: Element|undefined; /** * Guidance specific to the implementation of this operation, such as limitations on the kind of transactions allowed, or information about system wide search is implemented. */ - documentation?: string; - _documentation?: Element; + documentation?: string|undefined; + _documentation?: Element|undefined; } /** * Code Values for the CapabilityStatement.rest.interaction.code field @@ -4001,7 +4001,7 @@ export interface CapabilityStatementRestOperation extends BackboneElement { * The name here SHOULD be the same as the name in the definition, unless there is a name clash and the name cannot be used. The name does not include the "$" portion that is always included in the URL. */ name: string; - _name?: Element; + _name?: Element|undefined; } /** * Multiple repetitions allow definition of both client and/or server behaviors or possibly behaviors under different configuration settings (for software or requirements statements). @@ -4010,38 +4010,38 @@ export interface CapabilityStatementRest extends BackboneElement { /** * At present, the only defined compartments are at [CompartmentDefinition](compartmentdefinition.html). */ - compartment?: string[]; - _compartment?: Element[]; + compartment?: string[]|undefined; + _compartment?: Element[]|undefined; /** * Information about the system's restful capabilities that apply across all applications, such as security. */ - documentation?: string; - _documentation?: Element; + documentation?: string|undefined; + _documentation?: Element|undefined; /** * A specification of restful operations supported by the system. */ - interaction?: CapabilityStatementRestInteraction[]; + interaction?: CapabilityStatementRestInteraction[]|undefined; /** * Identifies whether this portion of the statement is describing the ability to initiate or receive restful operations. */ mode: CapabilityStatementRestModeCodes; - _mode?: Element; + _mode?: Element|undefined; /** * Definition of an operation or a named query together with its parameters and their meaning and type. */ - operation?: CapabilityStatementRestOperation[]; + operation?: CapabilityStatementRestOperation[]|undefined; /** * Max of one repetition per resource type. */ - resource?: CapabilityStatementRestResource[]; + resource?: CapabilityStatementRestResource[]|undefined; /** * Typically, the only search parameters supported for all searchse are those that apply to all resources - tags, profiles, text search etc. */ - searchParam?: CapabilityStatementRestResourceSearchParam[]; + searchParam?: CapabilityStatementRestResourceSearchParam[]|undefined; /** * Information about security implementation from an interface perspective - what a client needs to know. */ - security?: CapabilityStatementRestSecurity; + security?: CapabilityStatementRestSecurity|undefined; } /** * Code Values for the CapabilityStatement.rest.mode field @@ -4058,7 +4058,7 @@ export interface CapabilityStatementMessagingEndpoint extends BackboneElement { * The network address of the end-point. For solutions that do not use network addresses for routing, it can be just an identifier. */ address: string; - _address?: Element; + _address?: Element|undefined; /** * A list of the messaging transport protocol(s) identifiers, supported by this endpoint. */ @@ -4076,7 +4076,7 @@ export interface CapabilityStatementMessagingSupportedMessage extends BackboneEl * The mode of this event declaration - whether application is sender or receiver. */ mode: CapabilityStatementMessagingSupportedMessageModeCodes; - _mode?: Element; + _mode?: Element|undefined; } /** * Code Values for the CapabilityStatement.messaging.supportedMessage.mode field @@ -4092,8 +4092,8 @@ export interface CapabilityStatementMessagingEvent extends BackboneElement { /** * The impact of the content of the message. */ - category?: CapabilityStatementMessagingEventCategoryCodes; - _category?: Element; + category?: CapabilityStatementMessagingEventCategoryCodes|undefined; + _category?: Element|undefined; /** * A coded identifier of a supported messaging event. */ @@ -4101,18 +4101,18 @@ export interface CapabilityStatementMessagingEvent extends BackboneElement { /** * Guidance on how this event is handled, such as internal system trigger points, business rules, etc. */ - documentation?: string; - _documentation?: Element; + documentation?: string|undefined; + _documentation?: Element|undefined; /** * This SHALL be provided if the event type supports multiple different resource types. */ focus: string; - _focus?: Element; + _focus?: Element|undefined; /** * The mode of this event declaration - whether an application is a sender or receiver. */ mode: CapabilityStatementMessagingEventModeCodes; - _mode?: Element; + _mode?: Element|undefined; /** * Information about the request for this event. */ @@ -4144,24 +4144,24 @@ export interface CapabilityStatementMessaging extends BackboneElement { /** * Documentation about the system's messaging capabilities for this endpoint not otherwise documented by the capability statement. For example, the process for becoming an authorized messaging exchange partner. */ - documentation?: string; - _documentation?: Element; + documentation?: string|undefined; + _documentation?: Element|undefined; /** * An endpoint (network accessible address) to which messages and/or replies are to be sent. */ - endpoint?: CapabilityStatementMessagingEndpoint[]; + endpoint?: CapabilityStatementMessagingEndpoint[]|undefined; /** * The same event may be listed up to two times - once as sender and once as receiver. */ - event?: CapabilityStatementMessagingEvent[]; + event?: CapabilityStatementMessagingEvent[]|undefined; /** * If this value is missing then the application does not implement (receiver) or depend on (sender) reliable messaging. */ - reliableCache?: number; + reliableCache?: number|undefined; /** * This is a proposed alternative to the messaging.event structure. */ - supportedMessage?: CapabilityStatementMessagingSupportedMessage[]; + supportedMessage?: CapabilityStatementMessagingSupportedMessage[]|undefined; } /** * A document definition. @@ -4170,13 +4170,13 @@ export interface CapabilityStatementDocument extends BackboneElement { /** * A description of how the application supports or uses the specified document profile. For example, when documents are created, what action is taken with consumed documents, etc. */ - documentation?: string; - _documentation?: Element; + documentation?: string|undefined; + _documentation?: Element|undefined; /** * Mode of this document declaration - whether an application is a producer or consumer. */ mode: CapabilityStatementDocumentModeCodes; - _mode?: Element; + _mode?: Element|undefined; /** * The first resource is the document resource. */ @@ -4200,130 +4200,130 @@ export interface CapabilityStatement extends DomainResource { * Applications are recommended to accept unknown extensions and elements ('both'), but this is not always possible. */ acceptUnknown: CapabilityStatementAcceptUnknownCodes; - _acceptUnknown?: Element; + _acceptUnknown?: Element|undefined; /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * A copyright statement relating to the capability statement and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the capability statement. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the capability statement. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ date: string; - _date?: Element; + _date?: Element|undefined; /** * This description can be used to capture details such as why the capability statement was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the capability statement as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created). This does not need to be populated if the description is adequately implied by the software or implementation details. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * A document definition. */ - document?: CapabilityStatementDocument[]; + document?: CapabilityStatementDocument[]|undefined; /** * Allows filtering of capability statement that are appropriate for use vs. not. This is labeled as "Is Modifier" because applications should not use an experimental capability statement in production. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * The version of the FHIR specification on which this capability statement is based. */ fhirVersion: string; - _fhirVersion?: Element; + _fhirVersion?: Element|undefined; /** * "xml", "json" and "ttl" are allowed, which describe the simple encodings described in the specification (and imply appropriate bundle support). Otherwise, mime types are legal here. */ format: string[]; - _format?: Element[]; + _format?: Element[]|undefined; /** * Identifies a specific implementation instance that is described by the capability statement - i.e. a particular installation, rather than the capabilities of a software program. */ - implementation?: CapabilityStatementImplementation; + implementation?: CapabilityStatementImplementation|undefined; /** * A list of implementation guides that the server does (or should) support in their entirety. */ - implementationGuide?: string[]; - _implementationGuide?: Element[]; + implementationGuide?: string[]|undefined; + _implementationGuide?: Element[]|undefined; /** * HL7 defines the following Services: [Terminology Service](terminology-service.html). * Many [Implementation Guides](http://fhir.org/guides/registry) define additional services. */ - instantiates?: string[]; - _instantiates?: Element[]; + instantiates?: string[]|undefined; + _instantiates?: Element[]|undefined; /** * It may be possible for the capability statement to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * The way that this statement is intended to be used, to describe an actual running instance of software, a particular product (kind not instance of software) or a class of implementation (e.g. a desired purchase). */ kind: CapabilityStatementKindCodes; - _kind?: Element; + _kind?: Element|undefined; /** * Multiple repetitions allow the documentation of multiple endpoints per solution. */ - messaging?: CapabilityStatementMessaging[]; + messaging?: CapabilityStatementMessaging[]|undefined; /** * The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * At present, the patch mime types application/json-patch+json and application/xml-patch+xml are legal. Generally, if a server supports PATCH, it would be expected to support the patch formats and match the formats it supports, but this is not always possible or necessary. */ - patchFormat?: string[]; - _patchFormat?: Element[]; + patchFormat?: string[]|undefined; + _patchFormat?: Element[]|undefined; /** * Supported profiles are different than the profiles that apply to a particular resource in rest.resource.profile. The resource profile is a general statement of what features of the resource are supported overall by the system - the sum total of the facilities it supports. A supported profile is a deeper statement about the functionality of the data and services provided by the server (or used by the client). A typical case is a laboratory system that produces a set of different reports - this is the list of types of data that it publishes. A key aspect of declaring profiles here is the question of how the client converts knowledge that the server publishes this data into working with the data; the client can inspect individual resources to determine whether they conform to a particular profile, but how does it find the ones that does? It does so by searching using the _profile parameter, so any resources listed here must be valid values for the _profile resource (using the identifier in the target profile). Typically, supported profiles cross resource types to describe a network of related resources, so they are listed here rather than by resource. However, they do not need to describe more than one resource. */ - profile?: Reference[]; + profile?: Reference[]|undefined; /** * Usually an organization, but may be an individual. The publisher (or steward) of the capability statement is the organization or individual primarily responsible for the maintenance and upkeep of the capability statement. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the capability statement. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * This element does not describe the usage of the capability statement Instead it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this capability statement. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * Multiple repetitions allow definition of both client and/or server behaviors or possibly behaviors under different configuration settings (for software or requirements statements). */ - rest?: CapabilityStatementRest[]; + rest?: CapabilityStatementRest[]|undefined; /** * Software that is covered by this capability statement. It is used when the capability statement describes the capabilities of a particular software version, independent of an installation. */ - software?: CapabilityStatementSoftware; + software?: CapabilityStatementSoftware|undefined; /** * Allows filtering of capability statements that are appropriate for use vs. not. * This is labeled as "Is Modifier" because applications should not use a retired capability statement without due consideration. This is not intended for use with actual capability statements, but where capability statements are used to describe possible or desired systems. */ status: CapabilityStatementStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred. Multiple instances may share the same url if they have a distinct version. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different capability statement instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a refrence to a particular business version of the capability statement with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the CapabilityStatement.acceptUnknown field @@ -4367,85 +4367,85 @@ export interface CarePlanActivityDetail extends BackboneElement { /** * High-level categorization of the type of activity in a care plan. */ - category?: CodeableConcept; + category?: CodeableConcept|undefined; /** * Tends to be less relevant for activities involving particular products. Codes should not convey negation - use "prohibited" instead. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * Identifies the quantity expected to be consumed in a given day. */ - dailyAmount?: Quantity; + dailyAmount?: Quantity|undefined; /** * Identifies the protocol, questionnaire, guideline or other specification the planned activity should be conducted in accordance with. */ - definition?: Reference; + definition?: Reference|undefined; /** * This provides a textual description of constraints on the intended activity occurrence, including relation to other activities. It may also include objectives, pre-conditions and end-conditions. Finally, it may convey specifics about the activity such as body site, method, route, etc. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Internal reference that identifies the goals that this activity is intended to contribute towards meeting. */ - goal?: Reference[]; + goal?: Reference[]|undefined; /** * May reference a specific clinical location or may identify a type of location. */ - location?: Reference; + location?: Reference|undefined; /** * A performer MAY also be a participant in the care plan. */ - performer?: Reference[]; + performer?: Reference[]|undefined; /** * Identifies the food, drug or other product to be consumed or supplied in the activity. */ - productCodeableConcept?: CodeableConcept; + productCodeableConcept?: CodeableConcept|undefined; /** * Identifies the food, drug or other product to be consumed or supplied in the activity. */ - productReference?: Reference; + productReference?: Reference|undefined; /** * This element is labeled as a modifier because it marks an activity as an activity that is not to be performed. */ - prohibited?: boolean; - _prohibited?: Element; + prohibited?: boolean|undefined; + _prohibited?: Element|undefined; /** * Identifies the quantity expected to be supplied, administered or consumed by the subject. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * This could be a diagnosis code. If a full condition record exists or additional detail is needed, use reasonCondition instead. */ - reasonCode?: CodeableConcept[]; + reasonCode?: CodeableConcept[]|undefined; /** * Conditions can be identified at the activity level that are not identified as reasons for the overall plan. */ - reasonReference?: Reference[]; + reasonReference?: Reference[]|undefined; /** * The period, timing or frequency upon which the described activity is to occur. */ - scheduledTiming?: Timing; + scheduledTiming?: Timing|undefined; /** * The period, timing or frequency upon which the described activity is to occur. */ - scheduledPeriod?: Period; + scheduledPeriod?: Period|undefined; /** * The period, timing or frequency upon which the described activity is to occur. */ - scheduledString?: string; - _scheduledString?: Element; + scheduledString?: string|undefined; + _scheduledString?: Element|undefined; /** * Some aspects of status can be inferred based on the resources linked in actionTaken. Note that "status" is only as current as the plan was most recently updated. * The unknown code is not to be used to convey other statuses. The unknown code should be used when one of the statuses applies, but the authoring system doesn't know the current state of the activity. */ status: CarePlanActivityDetailStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Will generally not be present if status is "complete". Be sure to prompt to update this (or at least remove the existing value) if the status is changed. */ - statusReason?: string; - _statusReason?: Element; + statusReason?: string|undefined; + _statusReason?: Element|undefined; } /** * Code Values for the CarePlan.activity.detail.status field @@ -4466,24 +4466,24 @@ export interface CarePlanActivity extends BackboneElement { /** * A simple summary of a planned activity suitable for a general care plan system (e.g. form driven) that doesn't know about specific resources such as procedure etc. */ - detail?: CarePlanActivityDetail; + detail?: CarePlanActivityDetail|undefined; /** * Note that this should not duplicate the activity status (e.g. completed or in progress). */ - outcomeCodeableConcept?: CodeableConcept[]; + outcomeCodeableConcept?: CodeableConcept[]|undefined; /** * The activity outcome is independent of the outcome of the related goal(s). For example, if the goal is to achieve a target body weight of 150 lb and an activity is defined to diet, then the activity outcome could be calories consumed whereas the goal outcome is an observation for the actual body weight measured. */ - outcomeReference?: Reference[]; + outcomeReference?: Reference[]|undefined; /** * This element should NOT be used to describe the activity to be performed - that occurs either within the resource pointed to by activity.detail.reference or in activity.detail.description. */ - progress?: Annotation[]; + progress?: Annotation[]|undefined; /** * Standard extension exists ([goal-pertainstogoal](extension-goal-pertainstogoal.html)) that allows goals to be referenced from any of the referenced resources in CarePlan.activity.reference. * The goal should be visible when the resource referenced by CarePlan.activity.reference is viewed indepedently from the CarePlan. Requests that are pointed to by a CarePlan using this element should *not* point to this CarePlan using the "basedOn" element. i.e. Requests that are part of a CarePlan are not "based on" the CarePlan. */ - reference?: Reference; + reference?: Reference|undefined; } /** * Describes the intention of how one or more practitioners intend to deliver care for a particular patient, group or community for a period of time, possibly limited to care for a specific condition or set of conditions. @@ -4494,75 +4494,75 @@ export interface CarePlan extends DomainResource { /** * Identifies a planned action to occur as part of the plan. For example, a medication to be used, lab tests to perform, self-monitoring, education, etc. */ - activity?: CarePlanActivity[]; + activity?: CarePlanActivity[]|undefined; /** * Identifies the conditions/problems/concerns/diagnoses/etc. whose management and/or mitigation are handled by this plan. */ - addresses?: Reference[]; + addresses?: Reference[]|undefined; /** * Collaborative care plans may have multiple authors. */ - author?: Reference[]; + author?: Reference[]|undefined; /** * A care plan that is fulfilled in whole or in part by this care plan. */ - basedOn?: Reference[]; + basedOn?: Reference[]|undefined; /** * Identifies all people and organizations who are expected to be involved in the care envisioned by this plan. */ - careTeam?: Reference[]; + careTeam?: Reference[]|undefined; /** * There may be multiple axis of categorization and one plan may serve multiple purposes. In some cases, this may be redundant with references to CarePlan.concern. */ - category?: CodeableConcept[]; + category?: CodeableConcept[]|undefined; /** * Activities conducted as a result of the care plan may well occur as part of other encounters/episodes. */ - context?: Reference; + context?: Reference|undefined; /** * Identifies the protocol, questionnaire, guideline or other specification the care plan should be conducted in accordance with. */ - definition?: Reference[]; + definition?: Reference[]|undefined; /** * A description of the scope and nature of the plan. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Goal can be achieving a particular change or merely maintaining a current state or even slowing a decline. */ - goal?: Reference[]; + goal?: Reference[]|undefined; /** * This records identifiers associated with this care plan that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation). */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * This element is labeled as a modifier because the intent alters when and how the resource is actually applicable. */ intent: CarePlanIntentCodes; - _intent?: Element; + _intent?: Element|undefined; /** * General notes about the care plan not covered elsewhere. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * Each care plan is an independent request, such that having a care plan be part of another care plan can cause issues with cascading statuses. As such, this element is still being discussed. */ - partOf?: Reference[]; + partOf?: Reference[]|undefined; /** * Any activities scheduled as part of the plan should be constrained to the specified period regardless of whether the activities are planned within a single encounter/episode or across multiple encounters/episodes (e.g. the longitudinal management of a chronic condition). */ - period?: Period; + period?: Period|undefined; /** * The replacement could be because the initial care plan was immediately rejected (due to an issue) or because the previous care plan was completed, but the need for the action described by the care plan remains ongoing. */ - replaces?: Reference[]; + replaces?: Reference[]|undefined; /** * The unknown code is not to be used to convey other statuses. The unknown code should be used when one of the statuses applies, but the authoring system doesn't know the current state of the care plan. * This element is labeled as a modifier because the status contains the code entered-in-error] that marks the plan as not currently valid. */ status: CarePlanStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Identifies the patient or group whose intended care is described by the plan. */ @@ -4570,12 +4570,12 @@ export interface CarePlan extends DomainResource { /** * Use "concern" to identify specific conditions addressed by the care plan. */ - supportingInfo?: Reference[]; + supportingInfo?: Reference[]|undefined; /** * Human-friendly name for the CarePlan. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; } /** * Code Values for the CarePlan.intent field @@ -4606,19 +4606,19 @@ export interface CareTeamParticipant extends BackboneElement { * Patient only needs to be listed if they have a role other than "subject of care". * Member is optional because some participants may be known only by their role, particularly in draft plans. */ - member?: Reference; + member?: Reference|undefined; /** * The organization of the practitioner. */ - onBehalfOf?: Reference; + onBehalfOf?: Reference|undefined; /** * Indicates when the specific member or organization did (or is intended to) come into effect and end. */ - period?: Period; + period?: Period|undefined; /** * Roles may sometimes be inferred by type of Practitioner. These are relationships that hold only within the context of the care team. General relationships should be handled as properties of the Patient resource directly. */ - role?: CodeableConcept; + role?: CodeableConcept|undefined; } /** * The Care Team includes all the people and organizations who plan to participate in the coordination and delivery of care for a patient. @@ -4629,53 +4629,53 @@ export interface CareTeam extends DomainResource { /** * There may be multiple axis of categorization and one team may serve multiple purposes. */ - category?: CodeableConcept[]; + category?: CodeableConcept[]|undefined; /** * The encounter or episode of care that establishes the context for this care team. */ - context?: Reference; + context?: Reference|undefined; /** * This records identifiers associated with this care team that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The organization responsible for the care team. */ - managingOrganization?: Reference[]; + managingOrganization?: Reference[]|undefined; /** * The meaning/purpose of the team is conveyed in CareTeam.category. This element may also convey semantics of the team (e.g. "Red trauma team"), but its primary purpose is to distinguish between identical teams in a human-friendly way. ("Team 18735" isn't as friendly . ). */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Comments made about the CareTeam. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * Identifies all people and organizations who are expected to be involved in the care team. */ - participant?: CareTeamParticipant[]; + participant?: CareTeamParticipant[]|undefined; /** * Indicates when the team did (or is intended to) come into effect and end. */ - period?: Period; + period?: Period|undefined; /** * Describes why the care team exists. */ - reasonCode?: CodeableConcept[]; + reasonCode?: CodeableConcept[]|undefined; /** * Condition(s) that this care team addresses. */ - reasonReference?: Reference[]; + reasonReference?: Reference[]|undefined; /** * This element is labeled as a modifier because the status contains the code entered-in-error that marks the care team as not currently valid. */ - status?: CareTeamStatusCodes; - _status?: Element; + status?: CareTeamStatusCodes|undefined; + _status?: Element|undefined; /** * Identifies the patient or group whose intended care is handled by the team. */ - subject?: Reference; + subject?: Reference|undefined; } /** * Code Values for the CareTeam.status field @@ -4698,7 +4698,7 @@ export interface ChargeItemParticipant extends BackboneElement { /** * Describes the type of performance or participation(e.g. primary surgeon, anaesthesiologiest, etc.). */ - role?: CodeableConcept; + role?: CodeableConcept|undefined; } /** * The resource ChargeItem describes the provision of healthcare provider products for a certain patient, therefore referring not only to the product, but containing in addition details of the provision, like date, time, amounts and participating organizations and persons. Main Usage of the ChargeItem is to enable the billing process and internal cost allocation. @@ -4709,11 +4709,11 @@ export interface ChargeItem extends DomainResource { /** * Systems posting the ChargeItems may not always be able to determine, which accounts the Items need to be places into. It is up to the potprocessing Financial System to apply internal rules to decide based on the Encounter/EpisodeOfCare/Patient/Coverage context and the type of ChargeItem, which Account is appropriate. */ - account?: Reference[]; + account?: Reference[]|undefined; /** * Only used if not implicit in code found in Condition.code. If the use case requires attributes from the BodySite resource (e.g. to identify and track separately) then use the standard extension [body-site-instance](extension-body-site-instance.html). May be a summary code, or a reference to a very precise definition of the location, or both. */ - bodysite?: CodeableConcept[]; + bodysite?: CodeableConcept[]|undefined; /** * A code that identifies the charge, like a billing code. */ @@ -4721,89 +4721,89 @@ export interface ChargeItem extends DomainResource { /** * The encounter or episode of care that establishes the context for this event. */ - context?: Reference; + context?: Reference|undefined; /** * Target Resource is yet to be defined as a container that holds information about list prices and rules applicable to the charge item code. Once defined, change type back to Reference(Definition Type). */ - definition?: string[]; - _definition?: Element[]; + definition?: string[]|undefined; + _definition?: Element[]|undefined; /** * The actual date when the service associated with the charge has been rendered is captured in occurrence[x]. */ - enteredDate?: string; - _enteredDate?: Element; + enteredDate?: string|undefined; + _enteredDate?: Element|undefined; /** * The enterer is also te person considered responsible for factor/priceOverrides if applicable. */ - enterer?: Reference; + enterer?: Reference|undefined; /** * There is no reason to carry the factor in the instance of a ChargeItem unless special circumstances require a manual override. The factors are usually defined by a set of rules in a back catalogue of the billing codes (see ChargeItem.definition). Derived profiles may require a ChargeItem.overrideReason to be provided if either factor or price are manually overriden. */ - factorOverride?: number; + factorOverride?: number|undefined; /** * Identifiers assigned to this event performer or other systems. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * Comments made about the event by the performer, subject or other participants. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * The list of types may be constrained as appropriate for the type of charge item. */ - occurrenceDateTime?: string; - _occurrenceDateTime?: Element; + occurrenceDateTime?: string|undefined; + _occurrenceDateTime?: Element|undefined; /** * The list of types may be constrained as appropriate for the type of charge item. */ - occurrencePeriod?: Period; + occurrencePeriod?: Period|undefined; /** * The list of types may be constrained as appropriate for the type of charge item. */ - occurrenceTiming?: Timing; + occurrenceTiming?: Timing|undefined; /** * Derived Profiles may chose to add invariants requiring this field to be populated if either priceOverride or factorOverride have been filled. */ - overrideReason?: string; - _overrideReason?: Element; + overrideReason?: string|undefined; + _overrideReason?: Element|undefined; /** * Indicates who or what performed or participated in the charged service. */ - participant?: ChargeItemParticipant[]; + participant?: ChargeItemParticipant[]|undefined; /** * ChargeItems can be grouped to larger ChargeItems covering the whole set. */ - partOf?: Reference[]; + partOf?: Reference[]|undefined; /** * Practitioners and Devices can be associated with multiple organizations. It has to be made clear, on behalf of which Organization the services have been rendered. */ - performingOrganization?: Reference; + performingOrganization?: Reference|undefined; /** * There is no reason to carry the price in the instance of a ChargeItem unless circumstances require a manual override. The list prices or are usually defined in a back catalogue of the billing codes (see ChargeItem.definition). Derived profiles may require a ChargeItem.overrideReason to be provided if either factor or price are manually overriden. */ - priceOverride?: Money; + priceOverride?: Money|undefined; /** * In many cases this may just be a value, if the underlying units are implicit in the definition of the charge item code. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * If the application of the charge item requires a reason to be given, it can be captured here. Textual reasons can be captured using reasonCode.text. */ - reason?: CodeableConcept[]; + reason?: CodeableConcept[]|undefined; /** * The rendered Service may not be associated with a Request. It has to be made clear, ob which Organization's Request, the services have been rendered. (In many cases, this may just be the Department associated with the Encounter.location). */ - requestingOrganization?: Reference; + requestingOrganization?: Reference|undefined; /** * Indicated the rendered service that caused this charge. */ - service?: Reference[]; + service?: Reference[]|undefined; /** * Unknown does not represent "other" - one of the defined statuses must apply. Unknown is used when the authoring system is not sure what the current status is. * This element is labeled as a modifier because the status contains the code entered-in-error that marks the charge item as not currently valid. */ status: ChargeItemStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * The individual or set of individuals the action is being or was performed on. */ @@ -4811,7 +4811,7 @@ export interface ChargeItem extends DomainResource { /** * Further information supporting the this charge. */ - supportingInformation?: Reference[]; + supportingInformation?: Reference[]|undefined; } /** * Code Values for the ChargeItem.status field @@ -4832,15 +4832,15 @@ export interface ClaimRelated extends BackboneElement { /** * Do we need a relationship code? */ - claim?: Reference; + claim?: Reference|undefined; /** * An alternate organizational reference to the case or file to which this particular claim pertains - eg Property/Casualy insurer claim # or Workers Compensation case # . */ - reference?: Identifier; + reference?: Identifier|undefined; /** * For example prior or umbrella. */ - relationship?: CodeableConcept; + relationship?: CodeableConcept|undefined; } /** * The party to be reimbursed for the services. @@ -4849,11 +4849,11 @@ export interface ClaimPayee extends BackboneElement { /** * Party to be reimbursed: Subscriber, provider, other. */ - party?: Reference; + party?: Reference|undefined; /** * organization | patient | practitioner | relatedperson. */ - resourceType?: Coding; + resourceType?: Coding|undefined; /** * Type of Party to be reimbursed: Subscriber, provider, other. */ @@ -4870,16 +4870,16 @@ export interface ClaimCareTeam extends BackboneElement { /** * The qualification which is applicable for this service. */ - qualification?: CodeableConcept; + qualification?: CodeableConcept|undefined; /** * The party who is billing and responsible for the claimed good or service rendered to the patient. */ - responsible?: boolean; - _responsible?: Element; + responsible?: boolean|undefined; + _responsible?: Element|undefined; /** * The lead, assisting or supervising practitioner and their discipline if a multidisiplinary team. */ - role?: CodeableConcept; + role?: CodeableConcept|undefined; /** * Sequence of the careTeam which serves to order and provide a link. */ @@ -4896,11 +4896,11 @@ export interface ClaimInformation extends BackboneElement { /** * This may contain the local bill type codes such as the US UB-04 bill type code. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * For example, provides the reason for: the additional stay, or missing tooth or any other situation where a reason code is required in addition to the content. */ - reason?: CodeableConcept; + reason?: CodeableConcept|undefined; /** * Sequence of the information element which serves to provide a link. */ @@ -4908,29 +4908,29 @@ export interface ClaimInformation extends BackboneElement { /** * The date when or period to which this information refers. */ - timingDate?: string; - _timingDate?: Element; + timingDate?: string|undefined; + _timingDate?: Element|undefined; /** * The date when or period to which this information refers. */ - timingPeriod?: Period; + timingPeriod?: Period|undefined; /** * Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data. */ - valueString?: string; - _valueString?: Element; + valueString?: string|undefined; + _valueString?: Element|undefined; /** * Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data. */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; /** * Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data. */ - valueAttachment?: Attachment; + valueAttachment?: Attachment|undefined; /** * Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data. */ - valueReference?: Reference; + valueReference?: Reference|undefined; } /** * List of patient diagnosis for which care is sought. @@ -4939,15 +4939,15 @@ export interface ClaimDiagnosis extends BackboneElement { /** * The diagnosis. */ - diagnosisCodeableConcept?: CodeableConcept; + diagnosisCodeableConcept?: CodeableConcept|undefined; /** * The diagnosis. */ - diagnosisReference?: Reference; + diagnosisReference?: Reference|undefined; /** * The package billing code, for example DRG, based on the assigned grouping code system. */ - packageCode?: CodeableConcept; + packageCode?: CodeableConcept|undefined; /** * Sequence of diagnosis which serves to provide a link. */ @@ -4955,7 +4955,7 @@ export interface ClaimDiagnosis extends BackboneElement { /** * Diagnosis are presented in list order to their expected importance: primary, secondary, etc. */ - type?: CodeableConcept[]; + type?: CodeableConcept[]|undefined; } /** * Ordered list of patient procedures performed to support the adjudication. @@ -4964,16 +4964,16 @@ export interface ClaimProcedure extends BackboneElement { /** * SB DateTime?? */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * The procedure code. */ - procedureCodeableConcept?: CodeableConcept; + procedureCodeableConcept?: CodeableConcept|undefined; /** * The procedure code. */ - procedureReference?: Reference; + procedureReference?: Reference|undefined; /** * Sequence of procedures which serves to order and provide a link. */ @@ -4986,12 +4986,12 @@ export interface ClaimInsurance extends BackboneElement { /** * The contract number of a business agreement which describes the terms and conditions. */ - businessArrangement?: string; - _businessArrangement?: Element; + businessArrangement?: string|undefined; + _businessArrangement?: Element|undefined; /** * The Coverages adjudication details. */ - claimResponse?: Reference; + claimResponse?: Reference|undefined; /** * Reference to the program or plan identification, underwriter or payor. */ @@ -5000,12 +5000,12 @@ export interface ClaimInsurance extends BackboneElement { * A flag to indicate that this Coverage is the focus for adjudication. The Coverage against which the claim is to be adjudicated. */ focal: boolean; - _focal?: Element; + _focal?: Element|undefined; /** * A list of references from the Insurer to which these services pertain. */ - preAuthRef?: string[]; - _preAuthRef?: Element[]; + preAuthRef?: string[]|undefined; + _preAuthRef?: Element[]|undefined; /** * Sequence of coverage which serves to provide a link and convey coordination of benefit order. */ @@ -5019,19 +5019,19 @@ export interface ClaimAccident extends BackboneElement { * Date of an accident which these services are addressing. */ date: string; - _date?: Element; + _date?: Element|undefined; /** * Accident Place. */ - locationAddress?: Address; + locationAddress?: Address|undefined; /** * Accident Place. */ - locationReference?: Reference; + locationReference?: Reference|undefined; /** * Type of accident: work, auto, etc. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Third tier of goods and services. @@ -5040,31 +5040,31 @@ export interface ClaimItemDetailSubDetail extends BackboneElement { /** * Health Care Service Type Codes to identify the classification of service or benefits. */ - category?: CodeableConcept; + category?: CodeableConcept|undefined; /** * A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount. */ - factor?: number; + factor?: number|undefined; /** * Item typification or modifiers codes, eg for Oral whether the treatment is cosmetic or associated with TMJ, or for medical whether the treatment was outside the clinic or out of office hours. */ - modifier?: CodeableConcept[]; + modifier?: CodeableConcept[]|undefined; /** * The quantity times the unit price for an addittional service or product or charge. For example, the formula: unit Quantity * unit Price (Cost per Point) * factor Number * points = net Amount. Quantity, factor and points are assumed to be 1 if not supplied. */ - net?: Money; + net?: Money|undefined; /** * For programs which require reson codes for the inclusion, covering, of this billed item under the program or sub-program. */ - programCode?: CodeableConcept[]; + programCode?: CodeableConcept[]|undefined; /** * The number of repetitions of a service or product. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * The type of reveneu or cost center providing the product and/or service. */ - revenue?: CodeableConcept; + revenue?: CodeableConcept|undefined; /** * A service line number. */ @@ -5072,15 +5072,15 @@ export interface ClaimItemDetailSubDetail extends BackboneElement { /** * A code to indicate the Professional Service or Product supplied (eg. CTP, HCPCS,USCLS,ICD10, NCPDP,DIN,ACHI,CCI). */ - service?: CodeableConcept; + service?: CodeableConcept|undefined; /** * List of Unique Device Identifiers associated with this line item. */ - udi?: Reference[]; + udi?: Reference[]|undefined; /** * The fee for an addittional service or product or charge. */ - unitPrice?: Money; + unitPrice?: Money|undefined; } /** * Second tier of goods and services. @@ -5089,31 +5089,31 @@ export interface ClaimItemDetail extends BackboneElement { /** * Health Care Service Type Codes to identify the classification of service or benefits. */ - category?: CodeableConcept; + category?: CodeableConcept|undefined; /** * A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount. */ - factor?: number; + factor?: number|undefined; /** * Item typification or modifiers codes, eg for Oral whether the treatment is cosmetic or associated with TMJ, or for medical whether the treatment was outside the clinic or out of office hours. */ - modifier?: CodeableConcept[]; + modifier?: CodeableConcept[]|undefined; /** * The quantity times the unit price for an addittional service or product or charge. For example, the formula: unit Quantity * unit Price (Cost per Point) * factor Number * points = net Amount. Quantity, factor and points are assumed to be 1 if not supplied. */ - net?: Money; + net?: Money|undefined; /** * For programs which require reson codes for the inclusion, covering, of this billed item under the program or sub-program. */ - programCode?: CodeableConcept[]; + programCode?: CodeableConcept[]|undefined; /** * The number of repetitions of a service or product. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * The type of reveneu or cost center providing the product and/or service. */ - revenue?: CodeableConcept; + revenue?: CodeableConcept|undefined; /** * A service line number. */ @@ -5121,19 +5121,19 @@ export interface ClaimItemDetail extends BackboneElement { /** * If this is an actual service or product line, ie. not a Group, then use code to indicate the Professional Service or Product supplied (eg. CTP, HCPCS,USCLS,ICD10, NCPDP,DIN,ACHI,CCI). If a grouping item then use a group code to indicate the type of thing being grouped eg. 'glasses' or 'compound'. */ - service?: CodeableConcept; + service?: CodeableConcept|undefined; /** * Third tier of goods and services. */ - subDetail?: ClaimItemDetailSubDetail[]; + subDetail?: ClaimItemDetailSubDetail[]|undefined; /** * List of Unique Device Identifiers associated with this line item. */ - udi?: Reference[]; + udi?: Reference[]|undefined; /** * If the item is a node then this is the fee for the product or service, otherwise this is the total of the fees for the children of the group. */ - unitPrice?: Money; + unitPrice?: Money|undefined; } /** * First tier of goods and services. @@ -5142,71 +5142,71 @@ export interface ClaimItem extends BackboneElement { /** * Physical service site on the patient (limb, tooth, etc). */ - bodySite?: CodeableConcept; + bodySite?: CodeableConcept|undefined; /** * CareTeam applicable for this service or product line. */ - careTeamLinkId?: number[]; + careTeamLinkId?: number[]|undefined; /** * Health Care Service Type Codes to identify the classification of service or benefits. */ - category?: CodeableConcept; + category?: CodeableConcept|undefined; /** * Second tier of goods and services. */ - detail?: ClaimItemDetail[]; + detail?: ClaimItemDetail[]|undefined; /** * Diagnosis applicable for this service or product line. */ - diagnosisLinkId?: number[]; + diagnosisLinkId?: number[]|undefined; /** * A billed item may include goods or services provided in multiple encounters. */ - encounter?: Reference[]; + encounter?: Reference[]|undefined; /** * A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount. */ - factor?: number; + factor?: number|undefined; /** * Exceptions, special conditions and supporting information pplicable for this service or product line. */ - informationLinkId?: number[]; + informationLinkId?: number[]|undefined; /** * Where the service was provided. */ - locationCodeableConcept?: CodeableConcept; + locationCodeableConcept?: CodeableConcept|undefined; /** * Where the service was provided. */ - locationAddress?: Address; + locationAddress?: Address|undefined; /** * Where the service was provided. */ - locationReference?: Reference; + locationReference?: Reference|undefined; /** * Item typification or modifiers codes, eg for Oral whether the treatment is cosmetic or associated with TMJ, or for medical whether the treatment was outside the clinic or out of office hours. */ - modifier?: CodeableConcept[]; + modifier?: CodeableConcept[]|undefined; /** * The quantity times the unit price for an addittional service or product or charge. For example, the formula: unit Quantity * unit Price (Cost per Point) * factor Number * points = net Amount. Quantity, factor and points are assumed to be 1 if not supplied. */ - net?: Money; + net?: Money|undefined; /** * Procedures applicable for this service or product line. */ - procedureLinkId?: number[]; + procedureLinkId?: number[]|undefined; /** * For programs which require reason codes for the inclusion or covering of this billed item under the program or sub-program. */ - programCode?: CodeableConcept[]; + programCode?: CodeableConcept[]|undefined; /** * The number of repetitions of a service or product. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * The type of reveneu or cost center providing the product and/or service. */ - revenue?: CodeableConcept; + revenue?: CodeableConcept|undefined; /** * A service line number. */ @@ -5214,28 +5214,28 @@ export interface ClaimItem extends BackboneElement { /** * If this is an actual service or product line, ie. not a Group, then use code to indicate the Professional Service or Product supplied (eg. CTP, HCPCS,USCLS,ICD10, NCPDP,DIN,RXNorm,ACHI,CCI). If a grouping item then use a group code to indicate the type of thing being grouped eg. 'glasses' or 'compound'. */ - service?: CodeableConcept; + service?: CodeableConcept|undefined; /** * The date or dates when the enclosed suite of services were performed or completed. */ - servicedDate?: string; - _servicedDate?: Element; + servicedDate?: string|undefined; + _servicedDate?: Element|undefined; /** * The date or dates when the enclosed suite of services were performed or completed. */ - servicedPeriod?: Period; + servicedPeriod?: Period|undefined; /** * A region or surface of the site, eg. limb region or tooth surface(s). */ - subSite?: CodeableConcept[]; + subSite?: CodeableConcept[]|undefined; /** * List of Unique Device Identifiers associated with this line item. */ - udi?: Reference[]; + udi?: Reference[]|undefined; /** * If the item is a node then this is the fee for the product or service, otherwise this is the total of the fees for the children of the group. */ - unitPrice?: Money; + unitPrice?: Money|undefined; } /** * A provider issued list of services and products provided, or to be provided, to a patient which is provided to an insurer for payment recovery. @@ -5246,126 +5246,126 @@ export interface Claim extends DomainResource { /** * An accident which resulted in the need for healthcare services. */ - accident?: ClaimAccident; + accident?: ClaimAccident|undefined; /** * The billable period for which charges are being submitted. */ - billablePeriod?: Period; + billablePeriod?: Period|undefined; /** * The members of the team who provided the overall service as well as their role and whether responsible and qualifications. */ - careTeam?: ClaimCareTeam[]; + careTeam?: ClaimCareTeam[]|undefined; /** * The date when the enclosed suite of services were performed or completed. */ - created?: string; - _created?: Element; + created?: string|undefined; + _created?: Element|undefined; /** * List of patient diagnosis for which care is sought. */ - diagnosis?: ClaimDiagnosis[]; + diagnosis?: ClaimDiagnosis[]|undefined; /** * The start and optional end dates of when the patient was precluded from working due to the treatable condition(s). */ - employmentImpacted?: Period; + employmentImpacted?: Period|undefined; /** * Person who created the invoice/claim/pre-determination or pre-authorization. */ - enterer?: Reference; + enterer?: Reference|undefined; /** * Facility where the services were provided. */ - facility?: Reference; + facility?: Reference|undefined; /** * In the case of a Pre-Determination/Pre-Authorization the provider may request that funds in the amount of the expected Benefit be reserved ('Patient' or 'Provider') to pay for the Benefits determined on the subsequent claim(s). 'None' explicitly indicates no funds reserving is requested. */ - fundsReserve?: CodeableConcept; + fundsReserve?: CodeableConcept|undefined; /** * The start and optional end dates of when the patient was confined to a treatment center. */ - hospitalization?: Period; + hospitalization?: Period|undefined; /** * The business identifier for the instance: claim number, pre-determination or pre-authorization number. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Additional information codes regarding exceptions, special considerations, the condition, situation, prior or concurrent issues. Often there are mutiple jurisdiction specific valuesets which are required. */ - information?: ClaimInformation[]; + information?: ClaimInformation[]|undefined; /** * Financial instrument by which payment information for health care. */ - insurance?: ClaimInsurance[]; + insurance?: ClaimInsurance[]|undefined; /** * The Insurer who is target of the request. */ - insurer?: Reference; + insurer?: Reference|undefined; /** * First tier of goods and services. */ - item?: ClaimItem[]; + item?: ClaimItem[]|undefined; /** * The organization which is responsible for the bill, claim pre-determination, pre-authorization. */ - organization?: Reference; + organization?: Reference|undefined; /** * as above. */ - originalPrescription?: Reference; + originalPrescription?: Reference|undefined; /** * Patient Resource. */ - patient?: Reference; + patient?: Reference|undefined; /** * The party to be reimbursed for the services. */ - payee?: ClaimPayee; + payee?: ClaimPayee|undefined; /** * Should we create a group to hold multiple prescriptions and add a sequence number and on the line items a link to the sequence. */ - prescription?: Reference; + prescription?: Reference|undefined; /** * Immediate (STAT), best effort (NORMAL), deferred (DEFER). */ - priority?: CodeableConcept; + priority?: CodeableConcept|undefined; /** * Ordered list of patient procedures performed to support the adjudication. */ - procedure?: ClaimProcedure[]; + procedure?: ClaimProcedure[]|undefined; /** * The provider which is responsible for the bill, claim pre-determination, pre-authorization. */ - provider?: Reference; + provider?: Reference|undefined; /** * The referral resource which lists the date, practitioner, reason and other supporting information. */ - referral?: Reference; + referral?: Reference|undefined; /** * Other claims which are related to this claim such as prior claim versions or for related services. */ - related?: ClaimRelated[]; + related?: ClaimRelated[]|undefined; /** * This element is labeled as a modifier because the status contains the code entered-in-error that marks the claim as not currently valid. */ - status?: ClaimStatusCodes; - _status?: Element; + status?: ClaimStatusCodes|undefined; + _status?: Element|undefined; /** * This may contain the local bill type codes such as the US UB-04 bill type code. */ - subType?: CodeableConcept[]; + subType?: CodeableConcept[]|undefined; /** * The total value of the claim. */ - total?: Money; + total?: Money|undefined; /** * Affects which fields and value sets are used. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; /** * Complete (Bill or Claim), Proposed (Pre-Authorization), Exploratory (Pre-determination). */ - use?: ClaimUseCodes; - _use?: Element; + use?: ClaimUseCodes|undefined; + _use?: Element|undefined; } /** * Code Values for the Claim.status field @@ -5392,7 +5392,7 @@ export interface ClaimResponseItemAdjudication extends BackboneElement { /** * Monetary amount associated with the code. */ - amount?: Money; + amount?: Money|undefined; /** * Code indicating: Co-Pay, deductible, eligible, benefit, tax, etc. */ @@ -5400,11 +5400,11 @@ export interface ClaimResponseItemAdjudication extends BackboneElement { /** * Adjudication reason such as limit reached. */ - reason?: CodeableConcept; + reason?: CodeableConcept|undefined; /** * A non-monetary value for example a percentage. Mutually exclusive to the amount element above. */ - value?: number; + value?: number|undefined; } /** * The third tier service adjudications for submitted services. @@ -5413,11 +5413,11 @@ export interface ClaimResponseItemDetailSubDetail extends BackboneElement { /** * The adjudications results. */ - adjudication?: ClaimResponseItemAdjudication[]; + adjudication?: ClaimResponseItemAdjudication[]|undefined; /** * A list of note references to the notes provided below. */ - noteNumber?: number[]; + noteNumber?: number[]|undefined; /** * A service line number. */ @@ -5430,11 +5430,11 @@ export interface ClaimResponseItemDetail extends BackboneElement { /** * The adjudications results. */ - adjudication?: ClaimResponseItemAdjudication[]; + adjudication?: ClaimResponseItemAdjudication[]|undefined; /** * A list of note references to the notes provided below. */ - noteNumber?: number[]; + noteNumber?: number[]|undefined; /** * A service line number. */ @@ -5442,7 +5442,7 @@ export interface ClaimResponseItemDetail extends BackboneElement { /** * The third tier service adjudications for submitted services. */ - subDetail?: ClaimResponseItemDetailSubDetail[]; + subDetail?: ClaimResponseItemDetailSubDetail[]|undefined; } /** * The first tier service adjudications for submitted services. @@ -5451,15 +5451,15 @@ export interface ClaimResponseItem extends BackboneElement { /** * The adjudication results. */ - adjudication?: ClaimResponseItemAdjudication[]; + adjudication?: ClaimResponseItemAdjudication[]|undefined; /** * The second tier service adjudications for submitted services. */ - detail?: ClaimResponseItemDetail[]; + detail?: ClaimResponseItemDetail[]|undefined; /** * A list of note references to the notes provided below. */ - noteNumber?: number[]; + noteNumber?: number[]|undefined; /** * A service line number. */ @@ -5472,31 +5472,31 @@ export interface ClaimResponseAddItemDetail extends BackboneElement { /** * The adjudications results. */ - adjudication?: ClaimResponseItemAdjudication[]; + adjudication?: ClaimResponseItemAdjudication[]|undefined; /** * Health Care Service Type Codes to identify the classification of service or benefits. */ - category?: CodeableConcept; + category?: CodeableConcept|undefined; /** * The fee charged for the professional service or product.. */ - fee?: Money; + fee?: Money|undefined; /** * Item typification or modifiers codes, eg for Oral whether the treatment is cosmetic or associated with TMJ, or for medical whether the treatment was outside the clinic or out of office hours. */ - modifier?: CodeableConcept[]; + modifier?: CodeableConcept[]|undefined; /** * A list of note references to the notes provided below. */ - noteNumber?: number[]; + noteNumber?: number[]|undefined; /** * The type of reveneu or cost center providing the product and/or service. */ - revenue?: CodeableConcept; + revenue?: CodeableConcept|undefined; /** * A code to indicate the Professional Service or Product supplied. */ - service?: CodeableConcept; + service?: CodeableConcept|undefined; } /** * The first tier service adjudications for payor added services. @@ -5505,39 +5505,39 @@ export interface ClaimResponseAddItem extends BackboneElement { /** * The adjudications results. */ - adjudication?: ClaimResponseItemAdjudication[]; + adjudication?: ClaimResponseItemAdjudication[]|undefined; /** * Health Care Service Type Codes to identify the classification of service or benefits. */ - category?: CodeableConcept; + category?: CodeableConcept|undefined; /** * The second tier service adjudications for payor added services. */ - detail?: ClaimResponseAddItemDetail[]; + detail?: ClaimResponseAddItemDetail[]|undefined; /** * The fee charged for the professional service or product.. */ - fee?: Money; + fee?: Money|undefined; /** * Item typification or modifiers codes, eg for Oral whether the treatment is cosmetic or associated with TMJ, or for medical whether the treatment was outside the clinic or out of office hours. */ - modifier?: CodeableConcept[]; + modifier?: CodeableConcept[]|undefined; /** * A list of note references to the notes provided below. */ - noteNumber?: number[]; + noteNumber?: number[]|undefined; /** * The type of reveneu or cost center providing the product and/or service. */ - revenue?: CodeableConcept; + revenue?: CodeableConcept|undefined; /** * List of input service items which this service line is intended to replace. */ - sequenceLinkId?: number[]; + sequenceLinkId?: number[]|undefined; /** * A code to indicate the Professional Service or Product supplied. */ - service?: CodeableConcept; + service?: CodeableConcept|undefined; } /** * Mutually exclusive with Services Provided (Item). @@ -5550,15 +5550,15 @@ export interface ClaimResponseError extends BackboneElement { /** * The sequence number of the addition within the line item submitted which contains the error. This value is omitted when the error is not related to an Addition. */ - detailSequenceLinkId?: number; + detailSequenceLinkId?: number|undefined; /** * The sequence number of the line item submitted which contains the error. This value is omitted when the error is elsewhere. */ - sequenceLinkId?: number; + sequenceLinkId?: number|undefined; /** * The sequence number of the addition within the line item submitted which contains the error. This value is omitted when the error is not related to an Addition. */ - subdetailSequenceLinkId?: number; + subdetailSequenceLinkId?: number|undefined; } /** * Payment details for the claim if the claim has been paid. @@ -5567,28 +5567,28 @@ export interface ClaimResponsePayment extends BackboneElement { /** * Adjustment to the payment of this transaction which is not related to adjudication of this transaction. */ - adjustment?: Money; + adjustment?: Money|undefined; /** * Reason for the payment adjustment. */ - adjustmentReason?: CodeableConcept; + adjustmentReason?: CodeableConcept|undefined; /** * Payable less any payment adjustment. */ - amount?: Money; + amount?: Money|undefined; /** * Estimated payment data. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * Payment identifier. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * Whether this represents partial or complete payment of the claim. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Note text. @@ -5597,20 +5597,20 @@ export interface ClaimResponseProcessNote extends BackboneElement { /** * The ISO-639-1 alpha 2 code in lower case for the language, optionally followed by a hyphen and the ISO-3166-1 alpha 2 code for the region in upper case; e.g. "en" for English, or "en-US" for American English versus "en-EN" for England English. */ - language?: CodeableConcept; + language?: CodeableConcept|undefined; /** * An integer associated with each note which may be referred to from each service line item. */ - number?: number; + number?: number|undefined; /** * The note text. */ - text?: string; - _text?: Element; + text?: string|undefined; + _text?: Element|undefined; /** * The note purpose: Print/Display. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Financial instrument by which payment information for health care. @@ -5619,12 +5619,12 @@ export interface ClaimResponseInsurance extends BackboneElement { /** * The contract number of a business agreement which describes the terms and conditions. */ - businessArrangement?: string; - _businessArrangement?: Element; + businessArrangement?: string|undefined; + _businessArrangement?: Element|undefined; /** * The Coverages adjudication details. */ - claimResponse?: Reference; + claimResponse?: Reference|undefined; /** * Reference to the program or plan identification, underwriter or payor. */ @@ -5633,12 +5633,12 @@ export interface ClaimResponseInsurance extends BackboneElement { * The instance number of the Coverage which is the focus for adjudication. The Coverage against which the claim is to be adjudicated. */ focal: boolean; - _focal?: Element; + _focal?: Element|undefined; /** * A list of references from the Insurer to which these services pertain. */ - preAuthRef?: string[]; - _preAuthRef?: Element[]; + preAuthRef?: string[]|undefined; + _preAuthRef?: Element[]|undefined; /** * A service line item. */ @@ -5653,98 +5653,98 @@ export interface ClaimResponse extends DomainResource { /** * The first tier service adjudications for payor added services. */ - addItem?: ClaimResponseAddItem[]; + addItem?: ClaimResponseAddItem[]|undefined; /** * Request for additional supporting or authorizing information, such as: documents, images or resources. */ - communicationRequest?: Reference[]; + communicationRequest?: Reference[]|undefined; /** * The date when the enclosed suite of services were performed or completed. */ - created?: string; - _created?: Element; + created?: string|undefined; + _created?: Element|undefined; /** * A description of the status of the adjudication. */ - disposition?: string; - _disposition?: Element; + disposition?: string|undefined; + _disposition?: Element|undefined; /** * Mutually exclusive with Services Provided (Item). */ - error?: ClaimResponseError[]; + error?: ClaimResponseError[]|undefined; /** * The form to be used for printing the content. */ - form?: CodeableConcept; + form?: CodeableConcept|undefined; /** * The Response business identifier. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Financial instrument by which payment information for health care. */ - insurance?: ClaimResponseInsurance[]; + insurance?: ClaimResponseInsurance[]|undefined; /** * The Insurer who produced this adjudicated response. */ - insurer?: Reference; + insurer?: Reference|undefined; /** * The first tier service adjudications for submitted services. */ - item?: ClaimResponseItem[]; + item?: ClaimResponseItem[]|undefined; /** * Processing outcome errror, partial or complete processing. */ - outcome?: CodeableConcept; + outcome?: CodeableConcept|undefined; /** * Patient Resource. */ - patient?: Reference; + patient?: Reference|undefined; /** * Party to be reimbursed: Subscriber, provider, other. */ - payeeType?: CodeableConcept; + payeeType?: CodeableConcept|undefined; /** * Payment details for the claim if the claim has been paid. */ - payment?: ClaimResponsePayment; + payment?: ClaimResponsePayment|undefined; /** * Note text. */ - processNote?: ClaimResponseProcessNote[]; + processNote?: ClaimResponseProcessNote[]|undefined; /** * Original request resource referrence. */ - request?: Reference; + request?: Reference|undefined; /** * The organization which is responsible for the services rendered to the patient. */ - requestOrganization?: Reference; + requestOrganization?: Reference|undefined; /** * The practitioner who is responsible for the services rendered to the patient. */ - requestProvider?: Reference; + requestProvider?: Reference|undefined; /** * Status of funds reservation (For provider, for Patient, None). */ - reserved?: Coding; + reserved?: Coding|undefined; /** * This element is labeled as a modifier because the status contains the code cancelled and entered-in-error that mark the response as not currently valid. */ - status?: ClaimResponseStatusCodes; - _status?: Element; + status?: ClaimResponseStatusCodes|undefined; + _status?: Element|undefined; /** * Total amount of benefit payable (Equal to sum of the Benefit amounts from all detail lines and additions less the Unallocated Deductible). */ - totalBenefit?: Money; + totalBenefit?: Money|undefined; /** * The total cost of the services reported. */ - totalCost?: Money; + totalCost?: Money|undefined; /** * The amount of deductible applied which was not allocated to any particular service line. */ - unallocDeductable?: Money; + unallocDeductable?: Money|undefined; } /** * Code Values for the ClaimResponse.status field @@ -5766,7 +5766,7 @@ export interface ClinicalImpressionInvestigation extends BackboneElement { /** * Most investigations are observations of one kind of or another but some other specific types of data collection resources can also be used. */ - item?: Reference[]; + item?: Reference[]|undefined; } /** * Specific findings or diagnoses that was considered likely or relevant to ongoing treatment. @@ -5775,16 +5775,16 @@ export interface ClinicalImpressionFinding extends BackboneElement { /** * Which investigations support finding or diagnosis. */ - basis?: string; - _basis?: Element; + basis?: string|undefined; + _basis?: Element|undefined; /** * Specific text, code or reference for finding or diagnosis, which may include ruled-out or resolved conditions. */ - itemCodeableConcept?: CodeableConcept; + itemCodeableConcept?: CodeableConcept|undefined; /** * Specific text, code or reference for finding or diagnosis, which may include ruled-out or resolved conditions. */ - itemReference?: Reference; + itemReference?: Reference|undefined; } /** * A record of a clinical assessment performed to determine what problem(s) may affect the patient and before planning the treatments or management strategies that are best to manage a patient's condition. Assessments are often 1:1 with a clinical consultation / encounter, but this varies greatly depending on the clinical workflow. This resource is called "ClinicalImpression" rather than "ClinicalAssessment" to avoid confusion with the recording of assessment tools such as Apgar score. @@ -5795,80 +5795,80 @@ export interface ClinicalImpression extends DomainResource { /** * Actions recommended as a result of the impression should not be captured using the 'action' element. */ - action?: Reference[]; + action?: Reference[]|undefined; /** * The clinician performing the assessment. */ - assessor?: Reference; + assessor?: Reference|undefined; /** * This is present as a place-holder only and may be removed based on feedback/work group opinion. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * The encounter or episode of care this impression was created as part of. */ - context?: Reference; + context?: Reference|undefined; /** * Indicates when the documentation of the assessment was complete. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * A summary of the context and/or cause of the assessment - why / where was it performed, and what patient events/status prompted it. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * This SHOULD be accurate to at least the minute, though some assessments only have a known date. */ - effectiveDateTime?: string; - _effectiveDateTime?: Element; + effectiveDateTime?: string|undefined; + _effectiveDateTime?: Element|undefined; /** * This SHOULD be accurate to at least the minute, though some assessments only have a known date. */ - effectivePeriod?: Period; + effectivePeriod?: Period|undefined; /** * Specific findings or diagnoses that was considered likely or relevant to ongoing treatment. */ - finding?: ClinicalImpressionFinding[]; + finding?: ClinicalImpressionFinding[]|undefined; /** * A unique identifier assigned to the clinical impression that remains consistent regardless of what server the impression is stored on. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * One or more sets of investigations (signs, symptions, etc.). The actual grouping of investigations vary greatly depending on the type and context of the assessment. These investigations may include data generated during the assessment process, or data previously generated and recorded that is pertinent to the outcomes. */ - investigation?: ClinicalImpressionInvestigation[]; + investigation?: ClinicalImpressionInvestigation[]|undefined; /** * Don't use this element for content that should more properly appear as one of the specific elements of the impression. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * It is always likely that multiple previous assessments exist for a patient. The point of quoting a previous assessment is that this assessment is relative to it (see resolved). */ - previous?: Reference; + previous?: Reference|undefined; /** * e.g. The patient is a pregnant, and cardiac congestive failure, ‎Adenocarcinoma, and is allergic to penicillin. */ - problem?: Reference[]; + problem?: Reference[]|undefined; /** * Estimate of likely outcome. */ - prognosisCodeableConcept?: CodeableConcept[]; + prognosisCodeableConcept?: CodeableConcept[]|undefined; /** * RiskAssessment expressing likely outcome. */ - prognosisReference?: Reference[]; + prognosisReference?: Reference[]|undefined; /** * Reference to a specific published clinical protocol that was followed during this assessment, and/or that provides evidence in support of the diagnosis. */ - protocol?: string[]; - _protocol?: Element[]; + protocol?: string[]|undefined; + _protocol?: Element[]|undefined; /** * This element is labeled as a modifier because the status contains the code entered-in-error that marks the clinical impression as not currently valid. */ status: ClinicalImpressionStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * The patient or group of individuals assessed as part of this record. */ @@ -5876,8 +5876,8 @@ export interface ClinicalImpression extends DomainResource { /** * A text summary of the investigations and the diagnosis. */ - summary?: string; - _summary?: Element; + summary?: string|undefined; + _summary?: Element|undefined; } /** * Code Values for the ClinicalImpression.status field @@ -5895,22 +5895,22 @@ export interface CodeSystemFilter extends BackboneElement { * The code that identifies this filter when it is used in the instance. */ code: string; - _code?: Element; + _code?: Element|undefined; /** * A description of how or why the filter is used. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * A list of operators that can be used with the filter. */ operator: string[]; - _operator?: Element[]; + _operator?: Element[]|undefined; /** * A description of what the value for the filter should be. */ value: string; - _value?: Element; + _value?: Element|undefined; } /** * A property defines an additional slot through which additional information can be provided about a concept. @@ -5920,22 +5920,22 @@ export interface CodeSystemProperty extends BackboneElement { * A code that is used to identify the property. The code is used internally (in CodeSystem.concept.property.code) and also externally, such as in property filters. */ code: string; - _code?: Element; + _code?: Element|undefined; /** * A description of the property- why it is defined, and how its value might be used. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * The type of the property value. Properties of type "code" contain a code defined by the code system (e.g. a reference to anotherr defined concept). */ type: CodeSystemPropertyTypeCodes; - _type?: Element; + _type?: Element|undefined; /** * Reference to the formal meaning of the property. One possible source of meaning is the [Concept Properties](codesystem-concept-properties.html) code system. */ - uri?: string; - _uri?: Element; + uri?: string|undefined; + _uri?: Element|undefined; } /** * Code Values for the CodeSystem.property.type field @@ -5955,17 +5955,17 @@ export interface CodeSystemConceptDesignation extends BackboneElement { /** * In the absence of a language, the resource language applies. */ - language?: string; - _language?: Element; + language?: string|undefined; + _language?: Element|undefined; /** * If no use is provided, the designation can be assumed to be suitable for general display to a human user. */ - use?: Coding; + use?: Coding|undefined; /** * The text value for this designation. */ value: string; - _value?: Element; + _value?: Element|undefined; } /** * A property value for this concept. @@ -5975,35 +5975,35 @@ export interface CodeSystemConceptProperty extends BackboneElement { * A code that is a reference to CodeSystem.property.code. */ code: string; - _code?: Element; + _code?: Element|undefined; /** * The value of this property. */ - valueCode?: string; - _valueCode?: Element; + valueCode?: string|undefined; + _valueCode?: Element|undefined; /** * The value of this property. */ - valueCoding?: Coding; + valueCoding?: Coding|undefined; /** * The value of this property. */ - valueString?: string; - _valueString?: Element; + valueString?: string|undefined; + _valueString?: Element|undefined; /** * The value of this property. */ - valueInteger?: number; + valueInteger?: number|undefined; /** * The value of this property. */ - valueBoolean?: boolean; - _valueBoolean?: Element; + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; /** * The value of this property. */ - valueDateTime?: string; - _valueDateTime?: Element; + valueDateTime?: string|undefined; + _valueDateTime?: Element|undefined; } /** * If this is empty, it means that the code system resource does not represent the content of the code system. @@ -6013,29 +6013,29 @@ export interface CodeSystemConcept extends BackboneElement { * A code - a text symbol - that uniquely identifies the concept within the code system. */ code: string; - _code?: Element; + _code?: Element|undefined; /** * Defines children of a concept to produce a hierarchy of concepts. The nature of the relationships is variable (is-a/contains/categorizes) - see hierarchyMeaning. */ - concept?: CodeSystemConcept[]; + concept?: CodeSystemConcept[]|undefined; /** * The formal definition of the concept. The code system resource does not make formal definitions required, because of the prevalence of legacy systems. However, they are highly recommended, as without them there is no formal meaning associated with the concept. */ - definition?: string; - _definition?: Element; + definition?: string|undefined; + _definition?: Element|undefined; /** * Additional representations for the concept - other languages, aliases, specialized purposes, used for particular purposes, etc. */ - designation?: CodeSystemConceptDesignation[]; + designation?: CodeSystemConceptDesignation[]|undefined; /** * A human readable string that is the recommended default way to present this concept to a user. */ - display?: string; - _display?: Element; + display?: string|undefined; + _display?: Element|undefined; /** * A property value for this concept. */ - property?: CodeSystemConceptProperty[]; + property?: CodeSystemConceptProperty[]|undefined; } /** * A code system resource specifies a set of codes drawn from one or more code systems. @@ -6046,121 +6046,121 @@ export interface CodeSystem extends DomainResource { /** * If this value is missing, then it is not specified whether a code system is case sensitive or not. When the rule is not known, Postel's law should be followed: produce codes with the correct case, and accept codes in any case. This element is primarily provided to support validation software. */ - caseSensitive?: boolean; - _caseSensitive?: Element; + caseSensitive?: boolean|undefined; + _caseSensitive?: Element|undefined; /** * Note that the code system resource does not define what the compositional grammar is, only whether or not there is one. */ - compositional?: boolean; - _compositional?: Element; + compositional?: boolean|undefined; + _compositional?: Element|undefined; /** * If this is empty, it means that the code system resource does not represent the content of the code system. */ - concept?: CodeSystemConcept[]; + concept?: CodeSystemConcept[]|undefined; /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * How much of the content of the code system - the concepts and codes it defines - are represented in this resource. */ content: CodeSystemContentCodes; - _content?: Element; + _content?: Element|undefined; /** * ... Sometimes, the copyright differs between the code system and the codes that are included. The copyright statement should clearly differentiate between these when required. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * The count of concepts defined in this resource cannot be more than this value, but may be less for several reasons - see the content value. */ - count?: number; + count?: number|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the code system. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * This description can be used to capture details such as why the code system was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the code system as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Allows filtering of code system that are appropriate for use vs. not. This is labeled as "Is Modifier" because applications should not use an experimental code system in production. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * A filter that can be used in a value set compose statement when selecting concepts using a filter. */ - filter?: CodeSystemFilter[]; + filter?: CodeSystemFilter[]|undefined; /** * The meaning of the hierarchy of concepts. */ - hierarchyMeaning?: CodeSystemHierarchyMeaningCodes; - _hierarchyMeaning?: Element; + hierarchyMeaning?: CodeSystemHierarchyMeaningCodes|undefined; + _hierarchyMeaning?: Element|undefined; /** * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, e.g., to identify this code system outside of FHIR, where it is not possible to use the logical URI. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * It may be possible for the code system to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * A property defines an additional slot through which additional information can be provided about a concept. */ - property?: CodeSystemProperty[]; + property?: CodeSystemProperty[]|undefined; /** * Usually an organization, but may be an individual. The publisher (or steward) of the code system is the organization or individual primarily responsible for the maintenance and upkeep of the code system. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the code system. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * This element does not describe the usage of the code system Instead it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this code system. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * Allows filtering of code systems that are appropriate for use vs. not. * This is labeled as "Is Modifier" because applications should not use a retired code system without due consideration. */ status: CodeSystemStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred. Multiple instances may share the same url if they have a distinct version. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * The definition of the value set SHALL include all codes from this code system, and it SHALL be immutable. */ - valueSet?: string; - _valueSet?: Element; + valueSet?: string|undefined; + _valueSet?: Element|undefined; /** * There may be different code system instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a refrence to a particular business version of the code system with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; /** * Best practice is that code systems do not redefine concepts, or that if concepts are redefined, a new code system definition is created. But this is not always possible, so some code systems may be defined as 'versionNeeded'. */ - versionNeeded?: boolean; - _versionNeeded?: Element; + versionNeeded?: boolean|undefined; + _versionNeeded?: Element|undefined; } /** * Code Values for the CodeSystem.content field @@ -6196,16 +6196,16 @@ export interface CommunicationPayload extends BackboneElement { /** * A communicated content (or for multi-part communications, one portion of the communication). */ - contentString?: string; - _contentString?: Element; + contentString?: string|undefined; + _contentString?: Element|undefined; /** * A communicated content (or for multi-part communications, one portion of the communication). */ - contentAttachment?: Attachment; + contentAttachment?: Attachment|undefined; /** * A communicated content (or for multi-part communications, one portion of the communication). */ - contentReference?: Reference; + contentReference?: Reference|undefined; } /** * An occurrence of information being transmitted; e.g. an alert that was sent to a responsible provider, a public health agency was notified about a reportable condition. @@ -6216,87 +6216,87 @@ export interface Communication extends DomainResource { /** * This must point to some sort of a 'Request' resource, such as CarePlan, CommunicationRequest, ReferralRequest, MedicationRequest, etc. */ - basedOn?: Reference[]; + basedOn?: Reference[]|undefined; /** * There may be multiple axes of categorization and one communication may serve multiple purposes. */ - category?: CodeableConcept[]; + category?: CodeableConcept[]|undefined; /** * The encounter within which the communication was sent. */ - context?: Reference; + context?: Reference|undefined; /** * A protocol, guideline, or other definition that was adhered to in whole or in part by this communication event. */ - definition?: Reference[]; + definition?: Reference[]|undefined; /** * Identifiers associated with this Communication that are defined by business processes and/ or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation). */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * A channel that was used for this communication (e.g. email, fax). */ - medium?: CodeableConcept[]; + medium?: CodeableConcept[]|undefined; /** * This element is labeled as a modifier because it marks the communication as a communication that did not occur. The more attributes are populated, the more constrained the negated statement is. */ - notDone?: boolean; - _notDone?: Element; + notDone?: boolean|undefined; + _notDone?: Element|undefined; /** * Describes why the communication event did not occur in coded and/or textual form. */ - notDoneReason?: CodeableConcept; + notDoneReason?: CodeableConcept|undefined; /** * Additional notes or commentary about the communication by the sender, receiver or other interested parties. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * Part of this action. */ - partOf?: Reference[]; + partOf?: Reference[]|undefined; /** * Text, attachment(s), or resource(s) that was communicated to the recipient. */ - payload?: CommunicationPayload[]; + payload?: CommunicationPayload[]|undefined; /** * Textual reasons can be caprued using reasonCode.text. */ - reasonCode?: CodeableConcept[]; + reasonCode?: CodeableConcept[]|undefined; /** * Indicates another resource whose existence justifies this communication. */ - reasonReference?: Reference[]; + reasonReference?: Reference[]|undefined; /** * The time when this communication arrived at the destination. */ - received?: string; - _received?: Element; + received?: string|undefined; + _received?: Element|undefined; /** * The entity (e.g. person, organization, clinical information system, or device) which was the target of the communication. If receipts need to be tracked by individual, a separate resource instance will need to be created for each recipient.  Multiple recipient communications are intended where either a receipt(s) is not tracked (e.g. a mass mail-out) or is captured in aggregate (all emails confirmed received by a particular time). */ - recipient?: Reference[]; + recipient?: Reference[]|undefined; /** * The entity (e.g. person, organization, clinical information system, or device) which was the source of the communication. */ - sender?: Reference; + sender?: Reference|undefined; /** * The time when this communication was sent. */ - sent?: string; - _sent?: Element; + sent?: string|undefined; + _sent?: Element|undefined; /** * This element is labeled as a modifier because the status contains the codes aborted and entered-in-error that mark the communication as not currently valid. */ status: CommunicationStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * The patient or group that was the focus of this communication. */ - subject?: Reference; + subject?: Reference|undefined; /** * The resources which were responsible for or related to producing this communication. */ - topic?: Reference[]; + topic?: Reference[]|undefined; } /** * Code Values for the Communication.status field @@ -6317,16 +6317,16 @@ export interface CommunicationRequestPayload extends BackboneElement { /** * The communicated content (or for multi-part communications, one portion of the communication). */ - contentString?: string; - _contentString?: Element; + contentString?: string|undefined; + _contentString?: Element|undefined; /** * The communicated content (or for multi-part communications, one portion of the communication). */ - contentAttachment?: Attachment; + contentAttachment?: Attachment|undefined; /** * The communicated content (or for multi-part communications, one portion of the communication). */ - contentReference?: Reference; + contentReference?: Reference|undefined; } /** * The individual who initiated the request and has responsibility for its activation. @@ -6339,7 +6339,7 @@ export interface CommunicationRequestRequester extends BackboneElement { /** * The organization the device or practitioner was acting on behalf of. */ - onBehalfOf?: Reference; + onBehalfOf?: Reference|undefined; } /** * A request to convey information; e.g. the CDS system proposes that an alert be sent to a responsible provider, the CDS system proposes that the public health agency be notified about a reportable condition. @@ -6350,91 +6350,91 @@ export interface CommunicationRequest extends DomainResource { /** * For draft requests, indicates the date of initial creation. For requests with other statuses, indicates the date of activation. */ - authoredOn?: string; - _authoredOn?: Element; + authoredOn?: string|undefined; + _authoredOn?: Element|undefined; /** * A plan or proposal that is fulfilled in whole or in part by this request. */ - basedOn?: Reference[]; + basedOn?: Reference[]|undefined; /** * There may be multiple axes of categorization and one communication request may serve multiple purposes. */ - category?: CodeableConcept[]; + category?: CodeableConcept[]|undefined; /** * The encounter or episode of care within which the communication request was created. */ - context?: Reference; + context?: Reference|undefined; /** * Requests are linked either by a "basedOn" relationship (i.e. one request is fulfilling another) or by having a common requisition. Requests that are part of the same requisition are generally treated independently from the perspective of changing their state or maintaining them after initial creation. */ - groupIdentifier?: Identifier; + groupIdentifier?: Identifier|undefined; /** * A unique ID of this request for reference purposes. It must be provided if user wants it returned as part of any output, otherwise it will be autogenerated, if needed, by CDS system. Does not need to be the actual ID of the source system. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * A channel that was used for this communication (e.g. email, fax). */ - medium?: CodeableConcept[]; + medium?: CodeableConcept[]|undefined; /** * Comments made about the request by the requester, sender, recipient, subject or other participants. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * The time when this communication is to occur. */ - occurrenceDateTime?: string; - _occurrenceDateTime?: Element; + occurrenceDateTime?: string|undefined; + _occurrenceDateTime?: Element|undefined; /** * The time when this communication is to occur. */ - occurrencePeriod?: Period; + occurrencePeriod?: Period|undefined; /** * Text, attachment(s), or resource(s) to be communicated to the recipient. */ - payload?: CommunicationRequestPayload[]; + payload?: CommunicationRequestPayload[]|undefined; /** * Characterizes how quickly the proposed act must be initiated. Includes concepts such as stat, urgent, routine. */ - priority?: string; - _priority?: Element; + priority?: string|undefined; + _priority?: Element|undefined; /** * Textual reasons can be caprued using reasonCode.text. */ - reasonCode?: CodeableConcept[]; + reasonCode?: CodeableConcept[]|undefined; /** * Indicates another resource whose existence justifies this request. */ - reasonReference?: Reference[]; + reasonReference?: Reference[]|undefined; /** * The entity (e.g. person, organization, clinical information system, device, group, or care team) which is the intended target of the communication. */ - recipient?: Reference[]; + recipient?: Reference[]|undefined; /** * The replacement could be because the initial request was immediately rejected (due to an issue) or because the previous request was completed, but the need for the action described by the request remains ongoing. */ - replaces?: Reference[]; + replaces?: Reference[]|undefined; /** * The individual who initiated the request and has responsibility for its activation. */ - requester?: CommunicationRequestRequester; + requester?: CommunicationRequestRequester|undefined; /** * The entity (e.g. person, organization, clinical information system, or device) which is to be the source of the communication. */ - sender?: Reference; + sender?: Reference|undefined; /** * This element is labeled as a modifier because the status contains the codes cancelled and entered-in-error that mark the request as not currently valid. */ status: CommunicationRequestStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * The patient or group that is the focus of this communication request. */ - subject?: Reference; + subject?: Reference|undefined; /** * The resources which were related to producing this communication request. */ - topic?: Reference[]; + topic?: Reference[]|undefined; } /** * Code Values for the CommunicationRequest.status field @@ -6456,17 +6456,17 @@ export interface CompartmentDefinitionResource extends BackboneElement { * The name of a resource supported by the server. */ code: string; - _code?: Element; + _code?: Element|undefined; /** * Additional documentation about the resource and compartment. */ - documentation?: string; - _documentation?: Element; + documentation?: string|undefined; + _documentation?: Element|undefined; /** * If no search parameters are listed, then the resource is not linked to the compartment. */ - param?: string[]; - _param?: Element[]; + param?: string[]|undefined; + _param?: Element[]|undefined; } /** * A compartment definition that defines how resources are accessed on a server. @@ -6478,74 +6478,74 @@ export interface CompartmentDefinition extends DomainResource { * Only the specification can define the compartments that can exist. Servers can choose to support them. */ code: CompartmentDefinitionCodeCodes; - _code?: Element; + _code?: Element|undefined; /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the compartment definition. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * This description can be used to capture details such as why the compartment definition was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the compartment definition as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Allows filtering of compartment definition that are appropriate for use vs. not. This is labeled as "Is Modifier" because applications should not use an experimental compartment definition in production. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * It may be possible for the compartment definition to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly. This is often the same as the code for the parameter, but does not need to be. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * Usually an organization, but may be an individual. The publisher (or steward) of the compartment definition is the organization or individual primarily responsible for the maintenance and upkeep of the compartment definition. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the compartment definition. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * This element does not describe the usage of the compartment definition Instead it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this compartment definition. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * Information about how a resource is related to the compartment. */ - resource?: CompartmentDefinitionResource[]; + resource?: CompartmentDefinitionResource[]|undefined; /** * Servers may define and use compartments to manage logical access without implementing the compartment related syntax. */ search: boolean; - _search?: Element; + _search?: Element|undefined; /** * Allows filtering of compartment definitions that are appropriate for use vs. not. * This is labeled as "Is Modifier" because applications should not use a retired compartment definition without due consideration. */ status: CompartmentDefinitionStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred. Multiple instances may share the same url if they have a distinct version. */ url: string; - _url?: Element; + _url?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; } /** * Code Values for the CompartmentDefinition.code field @@ -6574,16 +6574,16 @@ export interface CompositionAttester extends BackboneElement { * Use more than one code where a single attester has more than one mode (professional and legal are often paired). */ mode: CompositionAttesterModeCodes[]; - _mode?: Element[]; + _mode?: Element[]|undefined; /** * Who attested the composition in the specified way. */ - party?: Reference; + party?: Reference|undefined; /** * When the composition was attested by the party. */ - time?: string; - _time?: Element; + time?: string|undefined; + _time?: Element|undefined; } /** * Code Values for the Composition.attester.mode field @@ -6602,15 +6602,15 @@ export interface CompositionRelatesTo extends BackboneElement { * If this document appends another document, then the document cannot be fully understood without also accessing the referenced document. */ code: CompositionRelatesToCodeCodes; - _code?: Element; + _code?: Element|undefined; /** * The target composition/document of this relationship. */ - targetIdentifier?: Identifier; + targetIdentifier?: Identifier|undefined; /** * The target composition/document of this relationship. */ - targetReference?: Reference; + targetReference?: Reference|undefined; } /** * Code Values for the Composition.relatesTo.code field @@ -6628,15 +6628,15 @@ export interface CompositionEvent extends BackboneElement { /** * An event can further specialize the act inherent in the typeCode, such as where it is simply "Procedure Report" and the procedure was a "colonoscopy". If one or more eventCodes are included, they SHALL NOT conflict with the values inherent in the classCode, practiceSettingCode or typeCode, as such a conflict would create an ambiguous situation. This short list of codes is provided to be used as key words for certain types of queries. */ - code?: CodeableConcept[]; + code?: CodeableConcept[]|undefined; /** * The description and/or reference of the event(s) being documented. For example, this could be used to document such a colonoscopy or an appendectomy. */ - detail?: Reference[]; + detail?: Reference[]|undefined; /** * The period of time covered by the documentation. There is no assertion that the documentation is a complete representation for this period, only that it documents events during this time. */ - period?: Period; + period?: Period|undefined; } /** * The root of the sections that make up the composition. @@ -6645,37 +6645,37 @@ export interface CompositionSection extends BackboneElement { /** * The code identifies the section for an automated processor of the document. This is particularly relevant when using profiles to control the structure of the document. If the section has content (instead of sub-sections), the section.code does not change the meaning or interpretation of the resource that is the content of the section in the comments for the section.code. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * The various reasons for an empty section make a significant interpretation to its interpretation. Note that this code is for use when the entire section content has been suppressed, and not for when individual items are omitted - implementers may consider using a text note or a flag on an entry in these cases. */ - emptyReason?: CodeableConcept; + emptyReason?: CodeableConcept|undefined; /** * If there are no entries in the list, an emptyReason SHOULD be provided. */ - entry?: Reference[]; + entry?: Reference[]|undefined; /** * This element is labeled as a modifier because a change list must not be mis-understood as a complete list. */ - mode?: CompositionSectionModeCodes; - _mode?: Element; + mode?: CompositionSectionModeCodes|undefined; + _mode?: Element|undefined; /** * Applications SHOULD render ordered lists in the order provided, but MAY allow users to re-order based on their own preferences as well. If there is no order specified, the order is unknown, though there may still be some order. */ - orderedBy?: CodeableConcept; + orderedBy?: CodeableConcept|undefined; /** * Nested sections are primarily used to help human readers navigate to particular portions of the document. */ - section?: CompositionSection[]; + section?: CompositionSection[]|undefined; /** * Document profiles may define what content should be represented in the narrative to ensure clinical safety. */ - text?: Narrative; + text?: Narrative|undefined; /** * The title identifies the section for a human reader. The title must be consistent with the narrative of the resource that is the target of the section.content reference. Generally, sections SHOULD have titles, but in some documents, it is unnecessary or inappropriate. Typically, this is where a section has subsections that have their own adequately distinguishing title, or documents that only have a single section. Most Implementation Guides will make section title to be a required element. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; } /** * Code Values for the Composition.section.mode field @@ -6694,7 +6694,7 @@ export interface Composition extends DomainResource { /** * Only list each attester once. */ - attester?: CompositionAttester[]; + attester?: CompositionAttester[]|undefined; /** * Identifies who is responsible for the information in the composition, not necessarily who typed it in. */ @@ -6702,48 +6702,48 @@ export interface Composition extends DomainResource { /** * This is a metadata field from [XDS/MHD](http://wiki.ihe.net/index.php?title=Mobile_access_to_Health_Documents_(MHD)). */ - class?: CodeableConcept; + class?: CodeableConcept|undefined; /** * The exact use of this element, and enforcement and issues related to highly sensitive documents are out of scope for the base specification, and delegated to implementation profiles (see security section). * This element is labeled as a modifier because highly confidential documents must not be treated as if they are not. */ - confidentiality?: string; - _confidentiality?: Element; + confidentiality?: string|undefined; + _confidentiality?: Element|undefined; /** * This is useful when documents are derived from a composition - provides guidance for how to get the latest version of the document. This is optional because this is sometimes not known by the authoring system, and can be inferred by context. However, it is important that this information be known when working with a derived document, so providing a custodian is encouraged. */ - custodian?: Reference; + custodian?: Reference|undefined; /** * The Last Modified Date on the composition may be after the date of the document was attested without being changed. */ date: string; - _date?: Element; + _date?: Element|undefined; /** * Describes the clinical encounter or type of care this documentation is associated with. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * The event needs to be consistent with the type element, though can provide further information if desired. */ - event?: CompositionEvent[]; + event?: CompositionEvent[]|undefined; /** * See discussion in resource definition for how these relate. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * A document is a version specific composition. */ - relatesTo?: CompositionRelatesTo[]; + relatesTo?: CompositionRelatesTo[]|undefined; /** * The root of the sections that make up the composition. */ - section?: CompositionSection[]; + section?: CompositionSection[]|undefined; /** * If a composition is marked as withdrawn, the compositions/documents in the series, or data from the composition or document series, should never be displayed to a user without being clearly marked as untrustworthy. The flag "entered-in-error" is why this element is labeled as a modifier of other elements. * Some reporting work flows require that the original narrative of a final document never be altered; instead, only new narrative can be added. The composition resource has no explicit status for explicitly noting whether this business rule is in effect. This would be handled by an extension if required. */ status: CompositionStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * For clinical documents, this is usually the patient. */ @@ -6752,7 +6752,7 @@ export interface Composition extends DomainResource { * For many compositions, the title is the same as the text or a display name of Composition.type (e.g. a "consultation" or "progress note"). Note that CDA does not make title mandatory, but there are no known cases where it is useful for title to be omitted, so it is mandatory here. Feedback on this requirement is welcome during the trial use period. */ title: string; - _title?: Element; + _title?: Element|undefined; /** * For Composition type, LOINC is ubiquitous and strongly endorsed by HL7. Most implementation guides will require a specific LOINC code, or use LOINC as an extensible binding. */ @@ -6775,22 +6775,22 @@ export interface ConceptMapGroupElementTargetDependsOn extends BackboneElement { * Identity (code or path) or the element/item/ValueSet that the map depends on / refers to. */ code: string; - _code?: Element; + _code?: Element|undefined; /** * The display is ignored when processing the map. */ - display?: string; - _display?: Element; + display?: string|undefined; + _display?: Element|undefined; /** * A reference to an element that holds a coded value that corresponds to a code system property. The idea is that the information model carries an element somwhere that is labeled to correspond with a code system property. */ property: string; - _property?: Element; + _property?: Element|undefined; /** * An absolute URI that identifies the code system of the dependency code (if the source/dependency is a value set that crosses code systems). */ - system?: string; - _system?: Element; + system?: string|undefined; + _system?: Element|undefined; } /** * Ideally there would only be one map, with equal or equivalent mapping. But multiple maps are allowed for several narrower options, or to assert that other concepts are unmatched. @@ -6799,31 +6799,31 @@ export interface ConceptMapGroupElementTarget extends BackboneElement { /** * Identity (code or path) or the element/item that the map refers to. */ - code?: string; - _code?: Element; + code?: string|undefined; + _code?: Element|undefined; /** * A description of status/issues in mapping that conveys additional information not represented in the structured data. */ - comment?: string; - _comment?: Element; + comment?: string|undefined; + _comment?: Element|undefined; /** * A set of additional dependencies for this mapping to hold. This mapping is only applicable if the specified element can be resolved, and it has the specified value. */ - dependsOn?: ConceptMapGroupElementTargetDependsOn[]; + dependsOn?: ConceptMapGroupElementTargetDependsOn[]|undefined; /** * The display is ignored when processing the map. */ - display?: string; - _display?: Element; + display?: string|undefined; + _display?: Element|undefined; /** * This element is labeled as a modifier because it may indicate that a target does not apply. */ - equivalence?: ConceptMapGroupElementTargetEquivalenceCodes; - _equivalence?: Element; + equivalence?: ConceptMapGroupElementTargetEquivalenceCodes|undefined; + _equivalence?: Element|undefined; /** * A set of additional outcomes from this mapping to other elements. To properly execute this mapping, the specified element must be mapped to some data element or source that is in context. The mapping may still be useful without a place for the additional data elements, but the equivalence cannot be relied on. */ - product?: ConceptMapGroupElementTargetDependsOn[]; + product?: ConceptMapGroupElementTargetDependsOn[]|undefined; } /** * Code Values for the ConceptMap.group.element.target.equivalence field @@ -6847,17 +6847,17 @@ export interface ConceptMapGroupElement extends BackboneElement { /** * Identity (code or path) or the element/item being mapped. */ - code?: string; - _code?: Element; + code?: string|undefined; + _code?: Element|undefined; /** * The display is ignored when processing the map. */ - display?: string; - _display?: Element; + display?: string|undefined; + _display?: Element|undefined; /** * Ideally there would only be one map, with equal or equivalent mapping. But multiple maps are allowed for several narrower options, or to assert that other concepts are unmatched. */ - target?: ConceptMapGroupElementTarget[]; + target?: ConceptMapGroupElementTarget[]|undefined; } /** * This only applies if the source code is in the system defined for the group. @@ -6866,23 +6866,23 @@ export interface ConceptMapGroupUnmapped extends BackboneElement { /** * The fixed code to use when the mode = 'fixed' - all unmapped codes are mapped to a single fixed code. */ - code?: string; - _code?: Element; + code?: string|undefined; + _code?: Element|undefined; /** * The display is ignored when processing the map. */ - display?: string; - _display?: Element; + display?: string|undefined; + _display?: Element|undefined; /** * Defines which action to take if there is no match in the group. One of 3 actions is possible: use the unmapped code (this is useful when doing a mapping between versions, and only a few codes have changed), use a fixed code (a default code), or alternatively, a reference to a different concept map can be provided (by canonical URL). */ mode: ConceptMapGroupUnmappedModeCodes; - _mode?: Element; + _mode?: Element|undefined; /** * The canonical URL of the map to use if this map contains no mapping. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; } /** * Code Values for the ConceptMap.group.unmapped.mode field @@ -6903,27 +6903,27 @@ export interface ConceptMapGroup extends BackboneElement { /** * An absolute URI that identifies the Code System (if the source is a value set that crosses more than one code system). */ - source?: string; - _source?: Element; + source?: string|undefined; + _source?: Element|undefined; /** * The specification of a particular code system version may be required for code systems which lack concept permanence. */ - sourceVersion?: string; - _sourceVersion?: Element; + sourceVersion?: string|undefined; + _sourceVersion?: Element|undefined; /** * Target may be omitted if all the targget element equivalence values are 'unmatched'. */ - target?: string; - _target?: Element; + target?: string|undefined; + _target?: Element|undefined; /** * The specification of a particular code system version may be required for code systems which lack concept permanence. */ - targetVersion?: string; - _targetVersion?: Element; + targetVersion?: string|undefined; + _targetVersion?: Element|undefined; /** * This only applies if the source code is in the system defined for the group. */ - unmapped?: ConceptMapGroupUnmapped; + unmapped?: ConceptMapGroupUnmapped|undefined; } /** * A statement of relationships from one set of concepts to one or more other concepts - either code systems or data elements, or classes in class models. @@ -6934,97 +6934,97 @@ export interface ConceptMap extends DomainResource { /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * null Frequently, the copyright differs between the concept map, and codes that are included. The copyright statement should clearly differentiate between these when required. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the concept map. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * The description is not intended to describe the semantics of the concept map. The description should capture its intended use, which is needed for ensuring integrity for its use in models across future changes. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Allows filtering of concept map that are appropriate for use vs. not. This is labeled as "Is Modifier" because applications should not use an experimental concept map in production. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * A group of mappings that all have the same source and target system. */ - group?: ConceptMapGroup[]; + group?: ConceptMapGroup[]|undefined; /** * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, e.g., to identify this concept map outside of FHIR, where it is not possible to use the logical URI. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * It may be possible for the concept map to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Usually an organization, but may be an individual. The publisher (or steward) of the concept map is the organization or individual primarily responsible for the maintenance and upkeep of the concept map. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the concept map. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * This element does not describe the usage of the concept map Instead it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this concept map. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * Should be a version specific reference. URIs SHOULD be absolute. If there is no source or target value set, the is no specified context for the map. */ - sourceUri?: string; - _sourceUri?: Element; + sourceUri?: string|undefined; + _sourceUri?: Element|undefined; /** * Should be a version specific reference. URIs SHOULD be absolute. If there is no source or target value set, the is no specified context for the map. */ - sourceReference?: Reference; + sourceReference?: Reference|undefined; /** * Allows filtering of concept maps that are appropriate for use vs. not. * This is labeled as "Is Modifier" because applications should not use a retired concept map without due consideration. */ status: ConceptMapStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Should be a version specific reference. URIs SHOULD be absolute. If there is no source or target value set, the is no specified context for the map. */ - targetUri?: string; - _targetUri?: Element; + targetUri?: string|undefined; + _targetUri?: Element|undefined; /** * Should be a version specific reference. URIs SHOULD be absolute. If there is no source or target value set, the is no specified context for the map. */ - targetReference?: Reference; + targetReference?: Reference|undefined; /** * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred. Multiple instances may share the same url if they have a distinct version. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different concept map instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a refrence to a particular business version of the concept map with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the ConceptMap.status field @@ -7042,11 +7042,11 @@ export interface ConditionStage extends BackboneElement { /** * Reference to a formal record of the evidence on which the staging assessment is based. */ - assessment?: Reference[]; + assessment?: Reference[]|undefined; /** * A simple summary of the stage such as "Stage 3". The determination of the stage is disease-specific. */ - summary?: CodeableConcept; + summary?: CodeableConcept|undefined; } /** * The evidence may be a simple list of coded symptoms/manifestations, or references to observations or formal assessments, or both. @@ -7055,11 +7055,11 @@ export interface ConditionEvidence extends BackboneElement { /** * A manifestation or symptom that led to the recording of this condition. */ - code?: CodeableConcept[]; + code?: CodeableConcept[]|undefined; /** * Links to other relevant information, including pathology reports. */ - detail?: Reference[]; + detail?: Reference[]|undefined; } /** * A clinical condition, problem, diagnosis, or other event, situation, issue, or clinical concept that has risen to a level of concern. @@ -7070,102 +7070,102 @@ export interface Condition extends DomainResource { /** * There is no explicit distinction between resolution and remission because in many cases the distinction is not clear. Age is generally used when the patient reports an age at which the Condition abated. If there is no abatement element, it is unknown whether the condition has resolved or entered remission; applications and users should generally assume that the condition is still valid. When abatementString exists, it implies the condition is abated. */ - abatementDateTime?: string; - _abatementDateTime?: Element; + abatementDateTime?: string|undefined; + _abatementDateTime?: Element|undefined; /** * There is no explicit distinction between resolution and remission because in many cases the distinction is not clear. Age is generally used when the patient reports an age at which the Condition abated. If there is no abatement element, it is unknown whether the condition has resolved or entered remission; applications and users should generally assume that the condition is still valid. When abatementString exists, it implies the condition is abated. */ - abatementAge?: Age; + abatementAge?: Age|undefined; /** * There is no explicit distinction between resolution and remission because in many cases the distinction is not clear. Age is generally used when the patient reports an age at which the Condition abated. If there is no abatement element, it is unknown whether the condition has resolved or entered remission; applications and users should generally assume that the condition is still valid. When abatementString exists, it implies the condition is abated. */ - abatementBoolean?: boolean; - _abatementBoolean?: Element; + abatementBoolean?: boolean|undefined; + _abatementBoolean?: Element|undefined; /** * There is no explicit distinction between resolution and remission because in many cases the distinction is not clear. Age is generally used when the patient reports an age at which the Condition abated. If there is no abatement element, it is unknown whether the condition has resolved or entered remission; applications and users should generally assume that the condition is still valid. When abatementString exists, it implies the condition is abated. */ - abatementPeriod?: Period; + abatementPeriod?: Period|undefined; /** * There is no explicit distinction between resolution and remission because in many cases the distinction is not clear. Age is generally used when the patient reports an age at which the Condition abated. If there is no abatement element, it is unknown whether the condition has resolved or entered remission; applications and users should generally assume that the condition is still valid. When abatementString exists, it implies the condition is abated. */ - abatementRange?: Range; + abatementRange?: Range|undefined; /** * There is no explicit distinction between resolution and remission because in many cases the distinction is not clear. Age is generally used when the patient reports an age at which the Condition abated. If there is no abatement element, it is unknown whether the condition has resolved or entered remission; applications and users should generally assume that the condition is still valid. When abatementString exists, it implies the condition is abated. */ - abatementString?: string; - _abatementString?: Element; + abatementString?: string|undefined; + _abatementString?: Element|undefined; /** * The assertedDate represents the date when this particular Condition record was created in the EHR, not the date of the most recent update in terms of when severity, abatement, etc. were specified.  The date of the last record modification can be retrieved from the resource metadata. */ - assertedDate?: string; - _assertedDate?: Element; + assertedDate?: string|undefined; + _assertedDate?: Element|undefined; /** * Individual who is making the condition statement. */ - asserter?: Reference; + asserter?: Reference|undefined; /** * Only used if not implicit in code found in Condition.code. If the use case requires attributes from the BodySite resource (e.g. to identify and track separately) then use the standard extension [body-site-instance](extension-body-site-instance.html). May be a summary code, or a reference to a very precise definition of the location, or both. */ - bodySite?: CodeableConcept[]; + bodySite?: CodeableConcept[]|undefined; /** * The categorization is often highly contextual and may appear poorly differentiated or not very useful in other contexts. */ - category?: CodeableConcept[]; + category?: CodeableConcept[]|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the condition as not currently valid or of concern. */ - clinicalStatus?: ConditionClinicalStatusCodes; - _clinicalStatus?: Element; + clinicalStatus?: ConditionClinicalStatusCodes|undefined; + _clinicalStatus?: Element|undefined; /** * Identification of the condition, problem or diagnosis. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * This record indicates the encounter this particular record is associated with. In the case of a "new" diagnosis reflecting ongoing/revised information about the condition, this might be distinct from the first encounter in which the underlying condition was first "known". */ - context?: Reference; + context?: Reference|undefined; /** * The evidence may be a simple list of coded symptoms/manifestations, or references to observations or formal assessments, or both. */ - evidence?: ConditionEvidence[]; + evidence?: ConditionEvidence[]|undefined; /** * This records identifiers associated with this condition that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation). */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Additional information about the Condition. This is a general notes/comments entry for description of the Condition, its diagnosis and prognosis. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * Age is generally used when the patient reports an age at which the Condition began to occur. */ - onsetDateTime?: string; - _onsetDateTime?: Element; + onsetDateTime?: string|undefined; + _onsetDateTime?: Element|undefined; /** * Age is generally used when the patient reports an age at which the Condition began to occur. */ - onsetAge?: Age; + onsetAge?: Age|undefined; /** * Age is generally used when the patient reports an age at which the Condition began to occur. */ - onsetPeriod?: Period; + onsetPeriod?: Period|undefined; /** * Age is generally used when the patient reports an age at which the Condition began to occur. */ - onsetRange?: Range; + onsetRange?: Range|undefined; /** * Age is generally used when the patient reports an age at which the Condition began to occur. */ - onsetString?: string; - _onsetString?: Element; + onsetString?: string|undefined; + _onsetString?: Element|undefined; /** * Coding of the severity with a terminology is preferred, where possible. */ - severity?: CodeableConcept; + severity?: CodeableConcept|undefined; /** * Clinical stage or grade of a condition. May include formal severity assessments. */ - stage?: ConditionStage; + stage?: ConditionStage|undefined; /** * Indicates the patient or group who the condition record is associated with. */ @@ -7174,8 +7174,8 @@ export interface Condition extends DomainResource { * verificationStatus is not required. For example, when a patient has abdominal pain in the ED, there is not likely going to be a verification status. * This element is labeled as a modifier because the status contains the code refuted and entered-in-error that mark the Condition as not currently valid. */ - verificationStatus?: ConditionVerificationStatusCodes; - _verificationStatus?: Element; + verificationStatus?: ConditionVerificationStatusCodes|undefined; + _verificationStatus?: Element|undefined; } /** * Code Values for the Condition.clinicalStatus field @@ -7218,13 +7218,13 @@ export interface ConsentPolicy extends BackboneElement { /** * Entity or Organization having regulatory jurisdiction or accountability for  enforcing policies pertaining to Consent Directives. */ - authority?: string; - _authority?: Element; + authority?: string|undefined; + _authority?: Element|undefined; /** * This element is for discoverability / documentation, and does not modify or qualify the policy rules. */ - uri?: string; - _uri?: Element; + uri?: string|undefined; + _uri?: Element|undefined; } /** * The resources controlled by this consent, if specific resources are referenced. @@ -7234,7 +7234,7 @@ export interface ConsentData extends BackboneElement { * How the resource reference is interpreted when testing consent restrictions. */ meaning: ConsentDataMeaningCodes; - _meaning?: Element; + _meaning?: Element|undefined; /** * A reference to a specific resource that defines which resources are covered by this consent. */ @@ -7270,7 +7270,7 @@ export interface ConsentExceptData extends BackboneElement { * How the resource reference is interpreted when testing consent restrictions. */ meaning: ConsentExceptDataMeaningCodes; - _meaning?: Element; + _meaning?: Element|undefined; /** * A reference to a specific resource that defines which resources are covered by this consent. */ @@ -7292,44 +7292,44 @@ export interface ConsentExcept extends BackboneElement { /** * Note that this is the direct action (not the grounds for the action covered in the purpose element). At present, the only action in the understood and tested scope of this resource is 'read'. */ - action?: CodeableConcept[]; + action?: CodeableConcept[]|undefined; /** * Who or what is controlled by this Exception. Use group to identify a set of actors by some property they share (e.g. 'admitting officers'). */ - actor?: ConsentExceptActor[]; + actor?: ConsentExceptActor[]|undefined; /** * Multiple types are or'ed together. The intention of the contentType element is that the codes refer to profiles or document types defined in a standard or an implementation guide somewhere. */ - class?: Coding[]; + class?: Coding[]|undefined; /** * Typical use of this is a Document code with class = CDA. */ - code?: Coding[]; + code?: Coding[]|undefined; /** * The resources controlled by this exception, if specific resources are referenced. */ - data?: ConsentExceptData[]; + data?: ConsentExceptData[]|undefined; /** * This has a different sense to the Consent.period - that is when the consent agreement holds. This is the time period of the data that is controlled by the agreement. */ - dataPeriod?: Period; + dataPeriod?: Period|undefined; /** * The timeframe in this exception is valid. */ - period?: Period; + period?: Period|undefined; /** * E.g. if the purpose is 'research', then the operational context must be research, in order for the consent to apply. Not all of the security labels make sense for use in this element (may define a narrower value set?). */ - purpose?: Coding[]; + purpose?: Coding[]|undefined; /** * If the consent specifies a security label of "R" then it applies to all resources that are labeled "R" or lower. E.g. for Confidentiality, it's a high water mark. For other kinds of security labels, subsumption logic applies. Not all of the security labels make sense for use in this element (may define a narrower value set?). */ - securityLabel?: Coding[]; + securityLabel?: Coding[]|undefined; /** * Action to take - permit or deny - when the exception conditions are met. */ type: ConsentExceptTypeCodes; - _type?: Element; + _type?: Element|undefined; } /** * Code Values for the Consent.except.type field @@ -7347,44 +7347,44 @@ export interface Consent extends DomainResource { /** * Note that this is the direct action (not the grounds for the action covered in the purpose element). At present, the only action in the understood and tested scope of this resource is 'read'. */ - action?: CodeableConcept[]; + action?: CodeableConcept[]|undefined; /** * Who or what is controlled by this consent. Use group to identify a set of actors by some property they share (e.g. 'admitting officers'). */ - actor?: ConsentActor[]; + actor?: ConsentActor[]|undefined; /** * A classification of the type of consents found in the statement. This element supports indexing and retrieval of consent statements. */ - category?: CodeableConcept[]; + category?: CodeableConcept[]|undefined; /** * Commonly, the patient the consent pertains to is the consentor, but particularly for young and old people, it may be some other person - e.g. a legal guardian. */ - consentingParty?: Reference[]; + consentingParty?: Reference[]|undefined; /** * The resources controlled by this consent, if specific resources are referenced. */ - data?: ConsentData[]; + data?: ConsentData[]|undefined; /** * This has a different sense to the Consent.period - that is when the consent agreement holds. This is the time period of the data that is controlled by the agreement. */ - dataPeriod?: Period; + dataPeriod?: Period|undefined; /** * This is not the time of the original consent, but the time that this statement was made or derived. */ - dateTime?: string; - _dateTime?: Element; + dateTime?: string|undefined; + _dateTime?: Element|undefined; /** * An exception to the base policy of this consent. An exception can be an addition or removal of access permissions. */ - except?: ConsentExcept[]; + except?: ConsentExcept[]|undefined; /** * This identifier is identifies this copy of the consent. Where this identifier is also used elsewhere as the identifier for a consent record (e.g. a CDA consent document) then the consent details are expected to be the same. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * The organization that manages the consent, and the framework within which it is executed. */ - organization?: Reference[]; + organization?: Reference[]|undefined; /** * Commonly, the patient the consent pertains to is the author, but for young and old people, it may be some other person. */ @@ -7392,41 +7392,41 @@ export interface Consent extends DomainResource { /** * This can be a subset of the period of the original statement. */ - period?: Period; + period?: Period|undefined; /** * The references to the policies that are included in this consent scope. Policies may be organizational, but are often defined jurisdictionally, or in law. */ - policy?: ConsentPolicy[]; + policy?: ConsentPolicy[]|undefined; /** * If the policy reference is not known, the resource cannot be processed. Where the reference is absent, there is no particular policy other than what is expressed directly in the consent resource. */ - policyRule?: string; - _policyRule?: Element; + policyRule?: string|undefined; + _policyRule?: Element|undefined; /** * This element is for discoverability / documentation, and does not modify or qualify the policy (e.g. the policy itself describes the purposes for which it applies). */ - purpose?: Coding[]; + purpose?: Coding[]|undefined; /** * If the consent specifies a security label of "R" then it applies to all resources that are labeled "R" or lower. E.g. for Confidentiality, it's a high water mark. For other kinds of security labels, subsumption logic applies. Not all of the security labels make sense for use in this element (may define a narrower value set?). */ - securityLabel?: Coding[]; + securityLabel?: Coding[]|undefined; /** * The source can be contained inline (Attachment), referenced directly (Consent), referenced in a consent repository (DocumentReference), or simply by an identifier (Identifier), e.g. a CDA document id. */ - sourceAttachment?: Attachment; + sourceAttachment?: Attachment|undefined; /** * The source can be contained inline (Attachment), referenced directly (Consent), referenced in a consent repository (DocumentReference), or simply by an identifier (Identifier), e.g. a CDA document id. */ - sourceIdentifier?: Identifier; + sourceIdentifier?: Identifier|undefined; /** * The source can be contained inline (Attachment), referenced directly (Consent), referenced in a consent repository (DocumentReference), or simply by an identifier (Identifier), e.g. a CDA document id. */ - sourceReference?: Reference; + sourceReference?: Reference|undefined; /** * This element is labeled as a modifier because the status contains the codes rejected and entered-in-error that mark the Consent as not currently valid. */ status: ConsentStatusCodes; - _status?: Element; + _status?: Element|undefined; } /** * Code Values for the Consent.status field @@ -7451,7 +7451,7 @@ export interface ContractAgent extends BackboneElement { /** * Role type of agent assigned roles in this Contract. */ - role?: CodeableConcept[]; + role?: CodeableConcept[]|undefined; } /** * Signers who are principal parties to the contract are bound by the Contract.activity related to the Contract.topic, and the Contract.term(s), which either extend or restrict the overall action on the topic by, for example, stipulating specific policies or obligations constraining actions, action reason, or agents with respect to some or all of the topic. @@ -7478,40 +7478,40 @@ export interface ContractValuedItem extends BackboneElement { /** * Indicates the time during which this Contract ValuedItem information is effective. */ - effectiveTime?: string; - _effectiveTime?: Element; + effectiveTime?: string|undefined; + _effectiveTime?: Element|undefined; /** * Specific type of Contract Valued Item that may be priced. */ - entityCodeableConcept?: CodeableConcept; + entityCodeableConcept?: CodeableConcept|undefined; /** * Specific type of Contract Valued Item that may be priced. */ - entityReference?: Reference; + entityReference?: Reference|undefined; /** * A real number that represents a multiplier used in determining the overall value of the Contract Valued Item delivered. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount. */ - factor?: number; + factor?: number|undefined; /** * Identifies a Contract Valued Item instance. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * Expresses the product of the Contract Valued Item unitQuantity and the unitPriceAmt. For example, the formula: unit Quantity * unit Price (Cost per Point) * factor Number * points = net Amount. Quantity, factor and points are assumed to be 1 if not supplied. */ - net?: Money; + net?: Money|undefined; /** * An amount that expresses the weighting (based on difficulty, cost and/or resource intensiveness) associated with the Contract Valued Item delivered. The concept of Points allows for assignment of point values for a Contract Valued Item, such that a monetary amount can be assigned to each point. */ - points?: number; + points?: number|undefined; /** * Specifies the units by which the Contract Valued Item is measured or counted, and quantifies the countable or measurable Contract Valued Item instances. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * A Contract Valued Item unit valuation measure. */ - unitPrice?: Money; + unitPrice?: Money|undefined; } /** * Several agents may be associated (i.e. has some responsibility for an activity) with an activity and vice-versa. @@ -7525,7 +7525,7 @@ export interface ContractTermAgent extends BackboneElement { /** * Role played by the agent assigned this role in the execution of this Contract Provision. */ - role?: CodeableConcept[]; + role?: CodeableConcept[]|undefined; } /** * Contract Provision Valued Item List. @@ -7534,40 +7534,40 @@ export interface ContractTermValuedItem extends BackboneElement { /** * Indicates the time during which this Contract Term ValuedItem information is effective. */ - effectiveTime?: string; - _effectiveTime?: Element; + effectiveTime?: string|undefined; + _effectiveTime?: Element|undefined; /** * Specific type of Contract Provision Valued Item that may be priced. */ - entityCodeableConcept?: CodeableConcept; + entityCodeableConcept?: CodeableConcept|undefined; /** * Specific type of Contract Provision Valued Item that may be priced. */ - entityReference?: Reference; + entityReference?: Reference|undefined; /** * A real number that represents a multiplier used in determining the overall value of the Contract Provision Valued Item delivered. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount. */ - factor?: number; + factor?: number|undefined; /** * Identifies a Contract Provision Valued Item instance. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * Expresses the product of the Contract Provision Valued Item unitQuantity and the unitPriceAmt. For example, the formula: unit Quantity * unit Price (Cost per Point) * factor Number * points = net Amount. Quantity, factor and points are assumed to be 1 if not supplied. */ - net?: Money; + net?: Money|undefined; /** * An amount that expresses the weighting (based on difficulty, cost and/or resource intensiveness) associated with the Contract Provision Valued Item delivered. The concept of Points allows for assignment of point values for a Contract ProvisionValued Item, such that a monetary amount can be assigned to each point. */ - points?: number; + points?: number|undefined; /** * Specifies the units by which the Contract Provision Valued Item is measured or counted, and quantifies the countable or measurable Contract Term Valued Item instances. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * A Contract Provision Valued Item unit valuation measure. */ - unitPrice?: Money; + unitPrice?: Money|undefined; } /** * One or more Contract Provisions, which may be related and conveyed as a group, and may contain nested groups. @@ -7576,58 +7576,58 @@ export interface ContractTerm extends BackboneElement { /** * Action stipulated by this Contract Provision. */ - action?: CodeableConcept[]; + action?: CodeableConcept[]|undefined; /** * Reason or purpose for the action stipulated by this Contract Provision. */ - actionReason?: CodeableConcept[]; + actionReason?: CodeableConcept[]|undefined; /** * Several agents may be associated (i.e. has some responsibility for an activity) with an activity and vice-versa. * For example, in cases of actions initiated by one user for other users, or in events that involve more than one user, hardware device, software, or system process. However, only one user may be the initiator/requestor for the event. */ - agent?: ContractTermAgent[]; + agent?: ContractTermAgent[]|undefined; /** * Relevant time or time-period when this Contract Provision is applicable. */ - applies?: Period; + applies?: Period|undefined; /** * Nested group of Contract Provisions. */ - group?: ContractTerm[]; + group?: ContractTerm[]|undefined; /** * Unique identifier for this particular Contract Provision. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * When this Contract Provision was issued. */ - issued?: string; - _issued?: Element; + issued?: string|undefined; + _issued?: Element|undefined; /** * A set of security labels that define which terms are controlled by this condition. */ - securityLabel?: Coding[]; + securityLabel?: Coding[]|undefined; /** * Subtype of this Contract Provision, e.g. life time maximum payment for a contract term for specific valued item, e.g. disability payment. */ - subType?: CodeableConcept; + subType?: CodeableConcept|undefined; /** * Human readable form of this Contract Provision. */ - text?: string; - _text?: Element; + text?: string|undefined; + _text?: Element|undefined; /** * The Contract.term.topic, as a Contract Resource subpart, is handled in the same manner as the Contract Resource as discussed above. */ - topic?: Reference[]; + topic?: Reference[]|undefined; /** * Type of Contract Provision such as specific requirements, purposes for actions, obligations, prohibitions, e.g. life time maximum benefit. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; /** * Contract Provision Valued Item List. */ - valuedItem?: ContractTermValuedItem[]; + valuedItem?: ContractTermValuedItem[]|undefined; } /** * The "patient friendly language" versionof the Contract in whole or in parts. "Patient friendly language" means the representation of the Contract and Contract Provisions in a manner that is readily accessible and understandable by a layperson in accordance with best practices for communication styles that ensure that those agreeing to or signing the Contract understand the roles, actions, obligations, responsibilities, and implication of the agreement. @@ -7636,11 +7636,11 @@ export interface ContractFriendly extends BackboneElement { /** * Human readable rendering of this Contract in a format and representation intended to enhance comprehension and ensure understandability. */ - contentAttachment?: Attachment; + contentAttachment?: Attachment|undefined; /** * Human readable rendering of this Contract in a format and representation intended to enhance comprehension and ensure understandability. */ - contentReference?: Reference; + contentReference?: Reference|undefined; } /** * List of Legal expressions or representations of this Contract. @@ -7649,11 +7649,11 @@ export interface ContractLegal extends BackboneElement { /** * Contract legal text in human renderable form. */ - contentAttachment?: Attachment; + contentAttachment?: Attachment|undefined; /** * Contract legal text in human renderable form. */ - contentReference?: Reference; + contentReference?: Reference|undefined; } /** * List of Computable Policy Rule Language Representations of this Contract. @@ -7662,11 +7662,11 @@ export interface ContractRule extends BackboneElement { /** * Computable Contract conveyed using a policy rule language (e.g. XACML, DKAL, SecPal). */ - contentAttachment?: Attachment; + contentAttachment?: Attachment|undefined; /** * Computable Contract conveyed using a policy rule language (e.g. XACML, DKAL, SecPal). */ - contentReference?: Reference; + contentReference?: Reference|undefined; } /** * A formal agreement between parties regarding the conduct of business, exchange of information or other matters. @@ -7677,107 +7677,107 @@ export interface Contract extends DomainResource { /** * Action stipulated by this Contract. */ - action?: CodeableConcept[]; + action?: CodeableConcept[]|undefined; /** * Reason for action stipulated by this Contract. */ - actionReason?: CodeableConcept[]; + actionReason?: CodeableConcept[]|undefined; /** * Several agents may be associated (i.e. has some responsibility for an activity) with an activity and vice-versa. * For example, in cases of actions initiated by one user for other users, or in events that involve more than one user, hardware device, software, or system process. However, only one user may be the initiator/requestor for the event. */ - agent?: ContractAgent[]; + agent?: ContractAgent[]|undefined; /** * Relevant time or time-period when this Contract is applicable. */ - applies?: Period; + applies?: Period|undefined; /** * A formally or informally recognized grouping of people, principals, organizations, or jurisdictions formed for the purpose of achieving some form of collective action such as the promulgation, administration and enforcement of contracts and policies. */ - authority?: Reference[]; + authority?: Reference[]|undefined; /** * Legally binding Contract: This is the signed and legally recognized representation of the Contract, which is considered the "source of truth" and which would be the basis for legal action related to enforcement of this Contract. */ - bindingAttachment?: Attachment; + bindingAttachment?: Attachment|undefined; /** * Legally binding Contract: This is the signed and legally recognized representation of the Contract, which is considered the "source of truth" and which would be the basis for legal action related to enforcement of this Contract. */ - bindingReference?: Reference; + bindingReference?: Reference|undefined; /** * The minimal content derived from the basal information source at a specific stage in its lifecycle. */ - contentDerivative?: CodeableConcept; + contentDerivative?: CodeableConcept|undefined; /** * The type of decision made by a grantor with respect to an offer made by a grantee. */ - decisionType?: CodeableConcept; + decisionType?: CodeableConcept|undefined; /** * Recognized governance framework or system operating with a circumscribed scope in accordance with specified principles, policies, processes or procedures for managing rights, actions, or behaviors of parties or principals relative to resources. */ - domain?: Reference[]; + domain?: Reference[]|undefined; /** * The "patient friendly language" versionof the Contract in whole or in parts. "Patient friendly language" means the representation of the Contract and Contract Provisions in a manner that is readily accessible and understandable by a layperson in accordance with best practices for communication styles that ensure that those agreeing to or signing the Contract understand the roles, actions, obligations, responsibilities, and implication of the agreement. */ - friendly?: ContractFriendly[]; + friendly?: ContractFriendly[]|undefined; /** * Unique identifier for this Contract. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * When this Contract was issued. */ - issued?: string; - _issued?: Element; + issued?: string|undefined; + _issued?: Element|undefined; /** * List of Legal expressions or representations of this Contract. */ - legal?: ContractLegal[]; + legal?: ContractLegal[]|undefined; /** * List of Computable Policy Rule Language Representations of this Contract. */ - rule?: ContractRule[]; + rule?: ContractRule[]|undefined; /** * A set of security labels that define which resources are controlled by this consent. If more than one label is specified, all resources must have all the specified labels. */ - securityLabel?: Coding[]; + securityLabel?: Coding[]|undefined; /** * Signers who are principal parties to the contract are bound by the Contract.activity related to the Contract.topic, and the Contract.term(s), which either extend or restrict the overall action on the topic by, for example, stipulating specific policies or obligations constraining actions, action reason, or agents with respect to some or all of the topic. * For example, specifying how policies or obligations shall constrain actions and action reasons permitted or denied on all or a subset of the Contract.topic (e.g., all or a portion of property being transferred by the contract), agents (e.g., who can resell, assign interests, or alter the property being transferred by the contract), actions, and action reasons; or with respect to Contract.terms, stipulating, extending, or limiting the Contract.period of applicability or valuation of items under consideration. */ - signer?: ContractSigner[]; + signer?: ContractSigner[]|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the contract as not currently valid or active. */ - status?: ContractStatusCodes; - _status?: Element; + status?: ContractStatusCodes|undefined; + _status?: Element|undefined; /** * The Contract.subject is an entity that has some role with respect to the Contract.topic and Contract.topic.term, which is of focal interest to the parties to the contract and likely impacted in a significant way by the Contract.action/Contract.action.reason and the Contract.term.action/Contract.action.reason. * In many cases, the Contract.subject is a Contract.signer if the subject is an adult; has a legal interest in the contract; and incompetent to participate in the contract agreement. */ - subject?: Reference[]; + subject?: Reference[]|undefined; /** * More specific type or specialization of an overarching or more general contract such as auto insurance, home owner insurance, prenupial agreement, Advanced-Directive, or privacy consent. */ - subType?: CodeableConcept[]; + subType?: CodeableConcept[]|undefined; /** * One or more Contract Provisions, which may be related and conveyed as a group, and may contain nested groups. */ - term?: ContractTerm[]; + term?: ContractTerm[]|undefined; /** * The Contract.topic may be an application for or offer of a policy or service (e.g., uri to a consent directive form or a health insurance policy), which becomes the Contract once accepted by both the grantor and grantee. * The Contract Resource may function simply as the computable representation of the executed contract, which may be the attached to the Contract Resource as the “binding” or as the “friendly” electronic form. For example, a Contract Resource may be automatically populated with the values expressed in a related QuestionnaireResponse. * However, the Contract Resource may be considered the legally binding contract if it is the only “executed” form of this contract, and includes the signatures as *The Contract Resource may function as the computable representation of an application or offer in a pre-executed Contract if the grantor has not entered any values. In this case, it is populated with values in a “legal” form of the application or offer or by the values in an associated Questionnaire. If the grantor has filled in the legal form or the associated Questionnaire Response, then these values are used to populate a pre-executed Contract Resource. * If the Contract.topic is considered an application or offer, then the policy is often required to be attached as the “legal” basis for the application to ensure “informed consent” to the contract, and that any discrepancy between the application and the policy are interpreted against the policy. Implementers should check organizational and jurisdictional policies to determine the relationship among multiple representations of a contract pre- and post-execution. */ - topic?: Reference[]; + topic?: Reference[]|undefined; /** * Type of Contract such as an insurance policy, real estate contract, a will, power of attorny, Privacy or Security policy , trust framework agreement, etc. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; /** * Contract Valued Item List. */ - valuedItem?: ContractValuedItem[]; + valuedItem?: ContractValuedItem[]|undefined; } /** * Code Values for the Contract.status field @@ -7806,63 +7806,63 @@ export interface CoverageGrouping extends BackboneElement { /** * Identifies a style or collective of coverage issues by the underwriter, for example may be used to identify a class of coverage such as a level of deductables or co-payment. */ - class?: string; - _class?: Element; + class?: string|undefined; + _class?: Element|undefined; /** * A short description for the class. */ - classDisplay?: string; - _classDisplay?: Element; + classDisplay?: string|undefined; + _classDisplay?: Element|undefined; /** * Identifies a style or collective of coverage issued by the underwriter, for example may be used to identify an employer group. May also be referred to as a Policy or Group ID. */ - group?: string; - _group?: Element; + group?: string|undefined; + _group?: Element|undefined; /** * A short description for the group. */ - groupDisplay?: string; - _groupDisplay?: Element; + groupDisplay?: string|undefined; + _groupDisplay?: Element|undefined; /** * Identifies a style or collective of coverage issued by the underwriter, for example may be used to identify a collection of benefits provided to employees. May be referred to as a Section or Division ID. */ - plan?: string; - _plan?: Element; + plan?: string|undefined; + _plan?: Element|undefined; /** * A short description for the plan. */ - planDisplay?: string; - _planDisplay?: Element; + planDisplay?: string|undefined; + _planDisplay?: Element|undefined; /** * Identifies a sub-style or sub-collective of coverage issues by the underwriter, for example may be used to identify a subclass of coverage such as a sub-level of deductables or co-payment. */ - subClass?: string; - _subClass?: Element; + subClass?: string|undefined; + _subClass?: Element|undefined; /** * A short description for the subclass. */ - subClassDisplay?: string; - _subClassDisplay?: Element; + subClassDisplay?: string|undefined; + _subClassDisplay?: Element|undefined; /** * Identifies a style or collective of coverage issued by the underwriter, for example may be used to identify a subset of an employer group. */ - subGroup?: string; - _subGroup?: Element; + subGroup?: string|undefined; + _subGroup?: Element|undefined; /** * A short description for the subgroup. */ - subGroupDisplay?: string; - _subGroupDisplay?: Element; + subGroupDisplay?: string|undefined; + _subGroupDisplay?: Element|undefined; /** * Identifies a sub-style or sub-collective of coverage issued by the underwriter, for example may be used to identify a subset of a collection of benefits provided to employees. */ - subPlan?: string; - _subPlan?: Element; + subPlan?: string|undefined; + _subPlan?: Element|undefined; /** * A short description for the subplan. */ - subPlanDisplay?: string; - _subPlanDisplay?: Element; + subPlanDisplay?: string|undefined; + _subPlanDisplay?: Element|undefined; } /** * Financial instrument which may be used to reimburse or pay for health care products and services. @@ -7873,72 +7873,72 @@ export interface Coverage extends DomainResource { /** * The party who benefits from the insurance coverage., the patient when services are provided. */ - beneficiary?: Reference; + beneficiary?: Reference|undefined; /** * The policy(s) which constitute this insurance coverage. */ - contract?: Reference[]; + contract?: Reference[]|undefined; /** * A unique identifier for a dependent under the coverage. */ - dependent?: string; - _dependent?: Element; + dependent?: string|undefined; + _dependent?: Element|undefined; /** * A suite of underwrite specific classifiers, for example may be used to identify a class of coverage or employer group, Policy, Plan. */ - grouping?: CoverageGrouping; + grouping?: CoverageGrouping|undefined; /** * The main (and possibly only) identifier for the coverage - often referred to as a Member Id, Certificate number, Personal Health Number or Case ID. May be constructed as the concatination of the Coverage.SubscriberID and the Coverage.dependant. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The insurer-specific identifier for the insurer-defined network of providers to which the beneficiary may seek treatment which will be covered at the 'in-network' rate, otherwise 'out of network' terms and conditions apply. */ - network?: string; - _network?: Element; + network?: string|undefined; + _network?: Element|undefined; /** * The order of applicability of this coverage relative to other coverages which are currently inforce. Note, there may be gaps in the numbering and this does not imply primary, secondard etc. as the specific positioning of coverages depends upon the episode of care. */ - order?: number; + order?: number|undefined; /** * The program or plan underwriter or payor including both insurance and non-insurance agreements, such as patient-pay agreements. May provide multiple identifiers such as insurance company identifier or business identifier (BIN number). */ - payor?: Reference[]; + payor?: Reference[]|undefined; /** * Time period during which the coverage is in force. A missing start date indicates the start date isn't known, a missing end date means the coverage is continuing to be in force. */ - period?: Period; + period?: Period|undefined; /** * The party who 'owns' the insurance policy, may be an individual, corporation or the subscriber's employer. */ - policyHolder?: Reference; + policyHolder?: Reference|undefined; /** * The relationship of beneficiary (patient) to the subscriber. */ - relationship?: CodeableConcept; + relationship?: CodeableConcept|undefined; /** * An optional counter for a particular instance of the identified coverage which increments upon each renewal. */ - sequence?: string; - _sequence?: Element; + sequence?: string|undefined; + _sequence?: Element|undefined; /** * This element is labeled as a modifier because the status contains the code entered-in-error that marks the coverage as not currently valid. */ - status?: CoverageStatusCodes; - _status?: Element; + status?: CoverageStatusCodes|undefined; + _status?: Element|undefined; /** * The party who has signed-up for or 'owns' the contractual relationship to the policy or to whom the benefit of the policy for services rendered to them or their family is due. */ - subscriber?: Reference; + subscriber?: Reference|undefined; /** * The insurer assigned ID for the Subscriber. */ - subscriberId?: string; - _subscriberId?: Element; + subscriberId?: string|undefined; + _subscriberId?: Element|undefined; /** * The type of coverage: social program, medical plan, accident coverage (workers compensation, auto), group health or payment by an individual or organization. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Code Values for the Coverage.status field @@ -7956,23 +7956,23 @@ export interface DataElementMapping extends BackboneElement { /** * Comments about this mapping, including version notes, issues, scope limitations, and other important notes for usage. */ - comment?: string; - _comment?: Element; + comment?: string|undefined; + _comment?: Element|undefined; /** * The specification is described once, with general comments, and then specific mappings are made that reference this declaration. */ identity: string; - _identity?: Element; + _identity?: Element|undefined; /** * A name for the specification that is being mapped to. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * A formal identity for the specification being mapped to helps with identifying maps consistently. */ - uri?: string; - _uri?: Element; + uri?: string|undefined; + _uri?: Element|undefined; } /** * The formal description of a single piece of information that can be gathered and reported. @@ -7983,17 +7983,17 @@ export interface DataElement extends DomainResource { /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * null The copyright statement does not apply to values for the data element, only to its definition. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the data element. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * For simple data types there will only be one repetition. For complex data types, multiple repetitions will be present defining a nested structure using the "path" element. */ @@ -8001,60 +8001,60 @@ export interface DataElement extends DomainResource { /** * Allows filtering of data element that are appropriate for use vs. not. This is labeled as "Is Modifier" because applications should not use an experimental data element in production. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, e.g., to identify this data element outside of FHIR, where it is not possible to use the logical URI. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * It may be possible for the data element to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * Identifies a specification (other than a terminology) that the elements which make up the DataElement have some correspondence with. */ - mapping?: DataElementMapping[]; + mapping?: DataElementMapping[]|undefined; /** * The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Usually an organization, but may be an individual. The publisher (or steward) of the data element is the organization or individual primarily responsible for the maintenance and upkeep of the data element. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the data element. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * Allows filtering of data elements that are appropriate for use vs. not. * This is labeled as "Is Modifier" because applications should not use a retired data element without due consideration. */ status: DataElementStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Identifies how precise the data element is in its definition. */ - stringency?: DataElementStringencyCodes; - _stringency?: Element; + stringency?: DataElementStringencyCodes|undefined; + _stringency?: Element|undefined; /** * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. This may be similar to the question used to prompt someone for a data element value, but the purpose is communicating about the data element, not asking the question. (Refer to the 'question' element for the latter.). */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred. Multiple instances may share the same url if they have a distinct version. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different data element instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a refrence to a particular business version of the data element with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the DataElement.status field @@ -8087,12 +8087,12 @@ export interface DetectedIssueMitigation extends BackboneElement { /** * Identifies the practitioner who determined the mitigation and takes responsibility for the mitigation step occurring. */ - author?: Reference; + author?: Reference|undefined; /** * This may not be the same as when the mitigating step was actually taken. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; } /** * Indicates an actual or potential clinical issue with or between one or more active or proposed clinical actions for a patient; e.g. Drug-drug interaction, Ineffective treatment frequency, Procedure-condition conflict, etc. @@ -8103,52 +8103,52 @@ export interface DetectedIssue extends DomainResource { /** * Individual or device responsible for the issue being raised. For example, a decision support application or a pharmacist conducting a medication review. */ - author?: Reference; + author?: Reference|undefined; /** * Identifies the general type of issue identified. */ - category?: CodeableConcept; + category?: CodeableConcept|undefined; /** * The date or date-time when the detected issue was initially identified. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * Should focus on information not covered elsewhere as discrete data - no need to duplicate the narrative. */ - detail?: string; - _detail?: Element; + detail?: string|undefined; + _detail?: Element|undefined; /** * Business identifier associated with the detected issue record. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * There's an implicit constraint on the number of implicated resources based on DetectedIssue.type; e.g. For drug-drug, there would be more than one. For timing, there would typically only be one. */ - implicated?: Reference[]; + implicated?: Reference[]|undefined; /** * Indicates an action that has been taken or is committed to to reduce or eliminate the likelihood of the risk identified by the detected issue from manifesting. Can also reflect an observation of known mitigating factors that may reduce/eliminate the need for any action. */ - mitigation?: DetectedIssueMitigation[]; + mitigation?: DetectedIssueMitigation[]|undefined; /** * Indicates the patient whose record the detected issue is associated with. */ - patient?: Reference; + patient?: Reference|undefined; /** * The literature, knowledge-base or similar reference that describes the propensity for the detected issue identified. */ - reference?: string; - _reference?: Element; + reference?: string|undefined; + _reference?: Element|undefined; /** * Indicates the degree of importance associated with the identified issue based on the potential impact on the patient. */ - severity?: DetectedIssueSeverityCodes; - _severity?: Element; + severity?: DetectedIssueSeverityCodes|undefined; + _severity?: Element|undefined; /** * This element is labeled as a modifier because the status contains the codes cancelled and entered-in-error that mark the issue as not currently valid. */ status: DetectedIssueStatusCodes; - _status?: Element; + _status?: Element|undefined; } /** * Code Values for the DetectedIssue.severity field @@ -8178,23 +8178,23 @@ export interface DeviceUdi extends BackboneElement { /** * The AIDC form of UDIs should be scanned or otherwise used for the identification of the device whenever possible to minimize errors in records resulting from manual transcriptions. If separate barcodes for DI and PI are present, concatenate the string with DI first and in order of human readable expression on label. */ - carrierAIDC?: string; - _carrierAIDC?: Element; + carrierAIDC?: string|undefined; + _carrierAIDC?: Element|undefined; /** * If separate barcodes for DI and PI are present, concatenate the string with DI first and in order of human readable expression on label. */ - carrierHRF?: string; - _carrierHRF?: Element; + carrierHRF?: string|undefined; + _carrierHRF?: Element|undefined; /** * The device identifier (DI) is a mandatory, fixed portion of a UDI that identifies the labeler and the specific version or model of a device. */ - deviceIdentifier?: string; - _deviceIdentifier?: Element; + deviceIdentifier?: string|undefined; + _deviceIdentifier?: Element|undefined; /** * A coded entry to indicate how the data was entered. */ - entryType?: DeviceUdiEntryTypeCodes; - _entryType?: Element; + entryType?: DeviceUdiEntryTypeCodes|undefined; + _entryType?: Element|undefined; /** * Organization that is charged with issuing UDIs for devices. For example, the US FDA issuers include : * 1) GS1: @@ -8206,18 +8206,18 @@ export interface DeviceUdi extends BackboneElement { * 4) ICCBA for other devices: * http://hl7.org/fhir/NamingSystem/iccbba-other-di. */ - issuer?: string; - _issuer?: Element; + issuer?: string|undefined; + _issuer?: Element|undefined; /** * The identity of the authoritative source for UDI generation within a jurisdiction. All UDIs are globally unique within a single namespace. with the appropriate repository uri as the system. For example, UDIs of devices managed in the U.S. by the FDA, the value is http://hl7.org/fhir/NamingSystem/fda-udi. */ - jurisdiction?: string; - _jurisdiction?: Element; + jurisdiction?: string|undefined; + _jurisdiction?: Element|undefined; /** * Use the `Device.type` for a generic type or kind of device name. Note the [GUDID](http://www.fda.gov/medicaldevices/deviceregulationandguidance/uniquedeviceidentification/globaludidatabasegudid/default.htm) lists the name as the 'Brand Name'. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; } /** * Code Values for the Device.udi.entryType field @@ -8239,79 +8239,79 @@ export interface Device extends DomainResource { /** * used for troubleshooting etc. */ - contact?: ContactPoint[]; + contact?: ContactPoint[]|undefined; /** * The date and time beyond which this device is no longer valid or should not be used (if applicable). */ - expirationDate?: string; - _expirationDate?: Element; + expirationDate?: string|undefined; + _expirationDate?: Element|undefined; /** * The barcode string from a barcode present on a device label or package may identify the instance, include names given to the device in local usage, or may identify the type of device. If the identifier identifies the type of device, Device.type element should be used. For [UDI](device.html#5.11.3.2.2), this element corresponds to the variable portion of the UDI that identifies the serial number of a specific device. See [UDI mappings](device-mappings.html#udi) for a complete mapping of UDI parts to Device. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The place where the device can be found. */ - location?: Reference; + location?: Reference|undefined; /** * Lot number assigned by the manufacturer. */ - lotNumber?: string; - _lotNumber?: Element; + lotNumber?: string|undefined; + _lotNumber?: Element|undefined; /** * The date and time when the device was manufactured. */ - manufactureDate?: string; - _manufactureDate?: Element; + manufactureDate?: string|undefined; + _manufactureDate?: Element|undefined; /** * A name of the manufacturer. */ - manufacturer?: string; - _manufacturer?: Element; + manufacturer?: string|undefined; + _manufacturer?: Element|undefined; /** * The "model" is an identifier assigned by the manufacturer to identify the product by its type. This number is shared by the all devices sold as the same type. */ - model?: string; - _model?: Element; + model?: string|undefined; + _model?: Element|undefined; /** * Descriptive information, usage information or implantation information that is not captured in an existing element. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * An organization that is responsible for the provision and ongoing maintenance of the device. */ - owner?: Reference; + owner?: Reference|undefined; /** * Patient information, If the device is affixed to a person. */ - patient?: Reference; + patient?: Reference|undefined; /** * Provides additional safety characteristics about a medical device. For example devices containing latex. */ - safety?: CodeableConcept[]; + safety?: CodeableConcept[]|undefined; /** * This element is labeled as a modifier because the status contains the codes inactive and entered-in-error that mark the device (record)as not currently valid. */ - status?: DeviceStatusCodes; - _status?: Element; + status?: DeviceStatusCodes|undefined; + _status?: Element|undefined; /** * Code or identifier to identify a kind of device. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; /** * UDI may identify an unique instance of a device, or it may only identify the type of the device. See [UDI mappings](device-mappings.html#udi) for a complete mapping of UDI parts to Device. */ - udi?: DeviceUdi; + udi?: DeviceUdi|undefined; /** * If the device is running a FHIR server, the network address should be the Base URL from which a conformance statement may be retrieved. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * The version of the device, if the device has multiple releases under the same model, or if the device is software or carries firmware. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the Device.status field @@ -8329,16 +8329,16 @@ export interface DeviceComponentProductionSpecification extends BackboneElement /** * The internal component unique identification. This is a provision for manufacture specific standard components using a private OID. 11073-10101 has a partition for private OID semantic that the manufacturer can make use of. */ - componentId?: Identifier; + componentId?: Identifier|undefined; /** * The printable string defining the component. */ - productionSpec?: string; - _productionSpec?: Element; + productionSpec?: string|undefined; + _productionSpec?: Element|undefined; /** * The specification type, such as, serial number, part number, hardware revision, software revision, etc. */ - specType?: CodeableConcept; + specType?: CodeableConcept|undefined; } /** * The characteristics, operational status and capabilities of a medical-related component of a medical device. @@ -8353,37 +8353,37 @@ export interface DeviceComponent extends DomainResource { /** * The language code for the human-readable text string produced by the device. This language code will follow the IETF language tag. Example: en-US. */ - languageCode?: CodeableConcept; + languageCode?: CodeableConcept|undefined; /** * The timestamp for the most recent system change which includes device configuration or setting change. */ - lastSystemChange?: string; - _lastSystemChange?: Element; + lastSystemChange?: string|undefined; + _lastSystemChange?: Element|undefined; /** * The physical principle of the measurement. For example: thermal, chemical, acoustical, etc. */ - measurementPrinciple?: DeviceComponentMeasurementPrincipleCodes; - _measurementPrinciple?: Element; + measurementPrinciple?: DeviceComponentMeasurementPrincipleCodes|undefined; + _measurementPrinciple?: Element|undefined; /** * OperationalStatus for the MDS, VMD, or Channel will be bound to a specific ValueSet that is defined in its profile. */ - operationalStatus?: CodeableConcept[]; + operationalStatus?: CodeableConcept[]|undefined; /** * The parameter group supported by the current device component that is based on some nomenclature, e.g. cardiovascular. */ - parameterGroup?: CodeableConcept; + parameterGroup?: CodeableConcept|undefined; /** * The link to the parent resource. For example: Channel is linked to its VMD parent. */ - parent?: Reference; + parent?: Reference|undefined; /** * The production specification such as component revision, serial number, etc. */ - productionSpecification?: DeviceComponentProductionSpecification[]; + productionSpecification?: DeviceComponentProductionSpecification[]|undefined; /** * The link to the source Device that contains administrative device information such as manufacture, serial number, etc. */ - source?: Reference; + source?: Reference|undefined; /** * DeviceComponent.type can be referred to either GDMN (nomenclature system supported by FDA Global UDI Database) or preferable RTMMS coding system. */ @@ -8412,18 +8412,18 @@ export interface DeviceMetricCalibration extends BackboneElement { /** * Describes the state of the calibration. */ - state?: DeviceMetricCalibrationStateCodes; - _state?: Element; + state?: DeviceMetricCalibrationStateCodes|undefined; + _state?: Element|undefined; /** * Describes the time last calibration has been performed. */ - time?: string; - _time?: Element; + time?: string|undefined; + _time?: Element|undefined; /** * Describes the type of the calibration method. */ - type?: DeviceMetricCalibrationTypeCodes; - _type?: Element; + type?: DeviceMetricCalibrationTypeCodes|undefined; + _type?: Element|undefined; } /** * Code Values for the DeviceMetric.calibration.state field @@ -8452,17 +8452,17 @@ export interface DeviceMetric extends DomainResource { /** * Describes the calibrations that have been performed or that are required to be performed. */ - calibration?: DeviceMetricCalibration[]; + calibration?: DeviceMetricCalibration[]|undefined; /** * Indicates the category of the observation generation process. A DeviceMetric can be for example a setting, measurement, or calculation. */ category: DeviceMetricCategoryCodes; - _category?: Element; + _category?: Element|undefined; /** * Describes the color representation for the metric. This is often used to aid clinicians to track and identify parameter types by color. In practice, consider a Patient Monitor that has ECG/HR and Pleth for example; the parameters are displayed in different characteristic colors, such as HR-blue, BP-green, and PR and SpO2- magenta. */ - color?: DeviceMetricColorCodes; - _color?: Element; + color?: DeviceMetricColorCodes|undefined; + _color?: Element|undefined; /** * Describes the unique identification of this metric that has been assigned by the device or gateway software. For example: handle ID. It should be noted that in order to make the identifier unique, the system element of the identifier should be set to the unique identifier of the device. */ @@ -8470,20 +8470,20 @@ export interface DeviceMetric extends DomainResource { /** * Describes the measurement repetition time. This is not necessarily the same as the update period. The measurement repetition time can range from milliseconds up to hours. An example for a measurement repetition time in the range of milliseconds is the sampling rate of an ECG. An example for a measurement repetition time in the range of hours is a NIBP that is triggered automatically every hour. The update period may be different than the measurement repetition time, if the device does not update the published observed value with the same frequency as it was measured. */ - measurementPeriod?: Timing; + measurementPeriod?: Timing|undefined; /** * Indicates current operational state of the device. For example: On, Off, Standby, etc. */ - operationalStatus?: DeviceMetricOperationalStatusCodes; - _operationalStatus?: Element; + operationalStatus?: DeviceMetricOperationalStatusCodes|undefined; + _operationalStatus?: Element|undefined; /** * Describes the link to the DeviceComponent that this DeviceMetric belongs to and that provide information about the location of this DeviceMetric in the containment structure of the parent Device. An example would be a DeviceComponent that represents a Channel. This reference can be used by a client application to distinguish DeviceMetrics that have the same type, but should be interpreted based on their containment location. */ - parent?: Reference; + parent?: Reference|undefined; /** * Describes the link to the Device that this DeviceMetric belongs to and that contains administrative device information such as manufacturer, serial number, etc. */ - source?: Reference; + source?: Reference|undefined; /** * DeviceMetric.type can be referred to either IEEE 11073-10101 or LOINC. */ @@ -8491,7 +8491,7 @@ export interface DeviceMetric extends DomainResource { /** * DeviceMetric.unit can refer to either UCUM or preferable a RTMMS coding system. */ - unit?: CodeableConcept; + unit?: CodeableConcept|undefined; } /** * Code Values for the DeviceMetric.category field @@ -8535,7 +8535,7 @@ export interface DeviceRequestRequester extends BackboneElement { /** * The organization the device or practitioner was acting on behalf of. */ - onBehalfOf?: Reference; + onBehalfOf?: Reference|undefined; } /** * Represents a request for a patient to employ a medical device. The device may be an implantable device, or an external assistive device, such as a walker. @@ -8546,36 +8546,36 @@ export interface DeviceRequest extends DomainResource { /** * When the request transitioned to being actionable. */ - authoredOn?: string; - _authoredOn?: Element; + authoredOn?: string|undefined; + _authoredOn?: Element|undefined; /** * Plan/proposal/order fulfilled by this request. */ - basedOn?: Reference[]; + basedOn?: Reference[]|undefined; /** * The details of the device to be used. */ - codeReference?: Reference; + codeReference?: Reference|undefined; /** * The details of the device to be used. */ - codeCodeableConcept?: CodeableConcept; + codeCodeableConcept?: CodeableConcept|undefined; /** * An encounter that provides additional context in which this request is made. */ - context?: Reference; + context?: Reference|undefined; /** * Protocol or definition followed by this request. For example: The proposed act must be performed if the indicated conditions occur, e.g.., shortness of breath, SpO2 less than x%. */ - definition?: Reference[]; + definition?: Reference[]|undefined; /** * Composite request this is part of. */ - groupIdentifier?: Identifier; + groupIdentifier?: Identifier|undefined; /** * Identifiers assigned to this order by the orderer or by the receiver. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Whether the request is a proposal, plan, an original order or a reflex order. */ @@ -8583,60 +8583,60 @@ export interface DeviceRequest extends DomainResource { /** * Details about this request that were not represented at all or sufficiently in one of the attributes provided in a class. These may include for example a comment, an instruction, or a note associated with the statement. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * The timing schedule for the use of the device. The Schedule data type allows many different expressions, for example. "Every 8 hours"; "Three times a day"; "1/2 an hour before breakfast for 10 days from 23-Dec 2011:"; "15 Oct 2013, 17 Oct 2013 and 1 Nov 2013". */ - occurrenceDateTime?: string; - _occurrenceDateTime?: Element; + occurrenceDateTime?: string|undefined; + _occurrenceDateTime?: Element|undefined; /** * The timing schedule for the use of the device. The Schedule data type allows many different expressions, for example. "Every 8 hours"; "Three times a day"; "1/2 an hour before breakfast for 10 days from 23-Dec 2011:"; "15 Oct 2013, 17 Oct 2013 and 1 Nov 2013". */ - occurrencePeriod?: Period; + occurrencePeriod?: Period|undefined; /** * The timing schedule for the use of the device. The Schedule data type allows many different expressions, for example. "Every 8 hours"; "Three times a day"; "1/2 an hour before breakfast for 10 days from 23-Dec 2011:"; "15 Oct 2013, 17 Oct 2013 and 1 Nov 2013". */ - occurrenceTiming?: Timing; + occurrenceTiming?: Timing|undefined; /** * The desired perfomer for doing the diagnostic testing. */ - performer?: Reference; + performer?: Reference|undefined; /** * Desired type of performer for doing the diagnostic testing. */ - performerType?: CodeableConcept; + performerType?: CodeableConcept|undefined; /** * Indicates how quickly the {{title}} should be addressed with respect to other requests. */ - priority?: string; - _priority?: Element; + priority?: string|undefined; + _priority?: Element|undefined; /** * The request takes the place of the referenced completed or terminated request(s). */ - priorRequest?: Reference[]; + priorRequest?: Reference[]|undefined; /** * Reason or justification for the use of this device. */ - reasonCode?: CodeableConcept[]; + reasonCode?: CodeableConcept[]|undefined; /** * Reason or justification for the use of this device. */ - reasonReference?: Reference[]; + reasonReference?: Reference[]|undefined; /** * This may not include provenances for all versions of the request – only those deemed “relevant” or important. * This SHALL NOT include the Provenance associated with this current version of the resource. (If that provenance is deemed to be a “relevant” change, it will need to be added as part of a later update. Until then, it can be queried directly as the Provenance that points to this version using _revinclude * All Provenances should have some historical version of this Request as their subject. */ - relevantHistory?: Reference[]; + relevantHistory?: Reference[]|undefined; /** * The individual who initiated the request and has responsibility for its activation. */ - requester?: DeviceRequestRequester; + requester?: DeviceRequestRequester|undefined; /** * This element is labeled as a modifier because the status contains the codes cancelled and entered-in-error that mark the request as not currently valid. */ - status?: DeviceRequestStatusCodes; - _status?: Element; + status?: DeviceRequestStatusCodes|undefined; + _status?: Element|undefined; /** * The patient who will use the device. */ @@ -8644,7 +8644,7 @@ export interface DeviceRequest extends DomainResource { /** * Additional clinical information about the patient that may influence the request fulfilment. For example, this may includes body where on the subject's the device will be used ( i.e. the target site). */ - supportingInfo?: Reference[]; + supportingInfo?: Reference[]|undefined; } /** * Code Values for the DeviceRequest.status field @@ -8667,7 +8667,7 @@ export interface DeviceUseStatement extends DomainResource { /** * Indicates the site on the subject's body where the device was used ( i.e. the target site). */ - bodySite?: CodeableConcept; + bodySite?: CodeableConcept|undefined; /** * The details of the device used. */ @@ -8675,30 +8675,30 @@ export interface DeviceUseStatement extends DomainResource { /** * An external identifier for this statement such as an IRI. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Reason or justification for the use of the device. */ - indication?: CodeableConcept[]; + indication?: CodeableConcept[]|undefined; /** * Details about the device statement that were not represented at all or sufficiently in one of the attributes provided in a class. These may include for example a comment, an instruction, or a note associated with the statement. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * The time at which the statement was made/recorded. */ - recordedOn?: string; - _recordedOn?: Element; + recordedOn?: string|undefined; + _recordedOn?: Element|undefined; /** * Who reported the device was being used by the patient. */ - source?: Reference; + source?: Reference|undefined; /** * DeviceUseStatment is a statement at a point in time. The status is only representative at the point when it was asserted. The value set for contains codes that assert the status of the use by the patient (for example, stopped or on hold) as well as codes that assert the status of the resource itself (for example, entered in error). * This element is labeled as a modifier because the status contains the codes that mark the statement as not currently valid. */ status: DeviceUseStatementStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * The patient who used the device. */ @@ -8706,20 +8706,20 @@ export interface DeviceUseStatement extends DomainResource { /** * How often the device was used. */ - timingTiming?: Timing; + timingTiming?: Timing|undefined; /** * How often the device was used. */ - timingPeriod?: Period; + timingPeriod?: Period|undefined; /** * How often the device was used. */ - timingDateTime?: string; - _timingDateTime?: Element; + timingDateTime?: string|undefined; + _timingDateTime?: Element|undefined; /** * The time period over which the device was used. */ - whenUsed?: Period; + whenUsed?: Period|undefined; } /** * Code Values for the DeviceUseStatement.status field @@ -8743,7 +8743,7 @@ export interface DiagnosticReportPerformer extends BackboneElement { /** * Describes the type of participation (e.g. a responsible party, author, or verifier). */ - role?: CodeableConcept; + role?: CodeableConcept|undefined; } /** * A list of key images associated with this report. The images are generally created during the diagnostic process, and may be directly of the patient, or of treated specimens (i.e. slides of interest). @@ -8752,8 +8752,8 @@ export interface DiagnosticReportImage extends BackboneElement { /** * The comment should be displayed with the image. It would be common for the report to include additional discussion of the image contents in other sections such as the conclusion. */ - comment?: string; - _comment?: Element; + comment?: string|undefined; + _comment?: Element|undefined; /** * Reference to the image source. */ @@ -8768,11 +8768,11 @@ export interface DiagnosticReport extends DomainResource { /** * Note: Usually there is one test request for each result, however in some circumstances multiple test requests may be represented using a single test result resource. Note that there are also cases where one request leads to multiple reports. */ - basedOn?: Reference[]; + basedOn?: Reference[]|undefined; /** * The level of granularity is defined by the category concepts in the value set. More fine-grained filtering can be performed using the metadata and/or terminology hierarchy in DiagnosticReport.code. */ - category?: CodeableConcept; + category?: CodeableConcept|undefined; /** * A code or name that describes this diagnostic report. */ @@ -8780,67 +8780,67 @@ export interface DiagnosticReport extends DomainResource { /** * Codes for the conclusion. */ - codedDiagnosis?: CodeableConcept[]; + codedDiagnosis?: CodeableConcept[]|undefined; /** * Concise and clinically contextualized impression / summary of the diagnostic report. */ - conclusion?: string; - _conclusion?: Element; + conclusion?: string|undefined; + _conclusion?: Element|undefined; /** * This will typically be the encounter the event occurred within, but some events may be initiated prior to or after the official completion of an encounter or episode but still be tied to the context of the encounter or episode (e.g. pre-admission lab tests). */ - context?: Reference; + context?: Reference|undefined; /** * If the diagnostic procedure was performed on the patient, this is the time it was performed. If there are specimens, the diagnostically relevant time can be derived from the specimen collection times, but the specimen information is not always available, and the exact relationship between the specimens and the diagnostically relevant time is not always automatic. */ - effectiveDateTime?: string; - _effectiveDateTime?: Element; + effectiveDateTime?: string|undefined; + _effectiveDateTime?: Element|undefined; /** * If the diagnostic procedure was performed on the patient, this is the time it was performed. If there are specimens, the diagnostically relevant time can be derived from the specimen collection times, but the specimen information is not always available, and the exact relationship between the specimens and the diagnostically relevant time is not always automatic. */ - effectivePeriod?: Period; + effectivePeriod?: Period|undefined; /** * Usually assigned by the Information System of the diagnostic service provider (filler id). */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * A list of key images associated with this report. The images are generally created during the diagnostic process, and may be directly of the patient, or of treated specimens (i.e. slides of interest). */ - image?: DiagnosticReportImage[]; + image?: DiagnosticReportImage[]|undefined; /** * ImagingStudy and ImageManifest and the image element are somewhat overlapping - typically, the list of image references in the image element will also be found in one of the imaging study resources. However each caters to different types of displays for different types of purposes. Neither, either, or both may be provided. */ - imagingStudy?: Reference[]; + imagingStudy?: Reference[]|undefined; /** * May be different from the update time of the resource itself, because that is the status of the record (potentially a secondary copy), not the actual release time of the report. */ - issued?: string; - _issued?: Element; + issued?: string|undefined; + _issued?: Element|undefined; /** * Indicates who or what participated in producing the report. */ - performer?: DiagnosticReportPerformer[]; + performer?: DiagnosticReportPerformer[]|undefined; /** * "application/pdf" is recommended as the most reliable and interoperable in this context. */ - presentedForm?: Attachment[]; + presentedForm?: Attachment[]|undefined; /** * Observations that are part of this diagnostic report. Observations can be simple name/value pairs (e.g. "atomic" results), or they can be grouping observations that include references to other members of the group (e.g. "panels"). */ - result?: Reference[]; + result?: Reference[]|undefined; /** * If the specimen is sufficiently specified with a code in the test result name, then this additional data may be redundant. If there are multiple specimens, these may be represented per observation or group. */ - specimen?: Reference[]; + specimen?: Reference[]|undefined; /** * This is labeled as "Is Modifier" because applications need to take appropriate action if a report is withdrawn. */ status: DiagnosticReportStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * The subject of the report. Usually, but not always, this is a patient. However diagnostic services also perform analyses on specimens collected from a variety of other sources. */ - subject?: Reference; + subject?: Reference|undefined; } /** * Code Values for the DiagnosticReport.status field @@ -8864,11 +8864,11 @@ export interface DocumentManifestContent extends BackboneElement { /** * The intended focus of the DocumentManifest is for the reference to target either DocumentReference or Media Resources, and most implementation guides will restrict to these resources. The reference is to "Any" to support EN 13606 usage, where an extract is DocumentManifest that references List and Composition resources. */ - pAttachment?: Attachment; + pAttachment?: Attachment|undefined; /** * The intended focus of the DocumentManifest is for the reference to target either DocumentReference or Media Resources, and most implementation guides will restrict to these resources. The reference is to "Any" to support EN 13606 usage, where an extract is DocumentManifest that references List and Composition resources. */ - pReference?: Reference; + pReference?: Reference|undefined; } /** * May be identifiers or resources that caused the DocumentManifest to be created. @@ -8877,11 +8877,11 @@ export interface DocumentManifestRelated extends BackboneElement { /** * If both identifier and ref elements are present they shall refer to the same thing. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * If both identifier and ref elements are present they shall refer to the same thing. */ - ref?: Reference; + ref?: Reference|undefined; } /** * A collection of documents compiled for a purpose together with metadata that applies to the collection. @@ -8892,7 +8892,7 @@ export interface DocumentManifest extends DomainResource { /** * Not necessarily who did the actual data entry (i.e. typist) or who was the source (informant). */ - author?: Reference[]; + author?: Reference[]|undefined; /** * The list of Documents included in the manifest. */ @@ -8900,47 +8900,47 @@ export interface DocumentManifest extends DomainResource { /** * Creation time is used for tracking, organizing versions and searching. This is the creation time of the document set, not the documents on which it is based. */ - created?: string; - _created?: Element; + created?: string|undefined; + _created?: Element|undefined; /** * What the document is about, rather than a terse summary of the document. It is commonly the case that records do not have a title and are collectively referred to by the display name of Record code (e.g. a "consultation" or "progress note"). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Other identifiers associated with the document manifest, including version independent identifiers. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * A single identifier that uniquely identifies this manifest. Principally used to refer to the manifest in non-FHIR contexts. */ - masterIdentifier?: Identifier; + masterIdentifier?: Identifier|undefined; /** * How the recipient receives the document set or is notified of it is up to the implementation. This element is just a statement of intent. If the recipient is a person, and it is not known whether the person is a patient or a practitioner, RelatedPerson would be the default choice. */ - recipient?: Reference[]; + recipient?: Reference[]|undefined; /** * May be identifiers or resources that caused the DocumentManifest to be created. */ - related?: DocumentManifestRelated[]; + related?: DocumentManifestRelated[]|undefined; /** * Identifies the source system, application, or software that produced the document manifest. */ - source?: string; - _source?: Element; + source?: string|undefined; + _source?: Element|undefined; /** * This element is labeled as a modifier because the status contains the codes that mark the manifest as not currently valid. */ status: DocumentManifestStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Who or what the set of documents is about. The documents can be about a person, (patient or healthcare practitioner), a device (i.e. machine) or even a group of subjects (such as a document about a herd of farm animals, or a set of patients that share a common exposure). If the documents cross more than one subject, then more than one subject is allowed here (unusual use case). */ - subject?: Reference; + subject?: Reference|undefined; /** * Specifies the kind of this set of documents (e.g. Patient Summary, Discharge Summary, Prescription, etc.). The type of a set of documents may be the same as one of the documents in it - especially if there is only one - but it may be wider. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Code Values for the DocumentManifest.status field @@ -8958,7 +8958,7 @@ export interface DocumentReferenceRelatesTo extends BackboneElement { * If this document appends another document, then the document cannot be fully understood without also accessing the referenced document. */ code: DocumentReferenceRelatesToCodeCodes; - _code?: Element; + _code?: Element|undefined; /** * The target document of this relationship. */ @@ -8984,7 +8984,7 @@ export interface DocumentReferenceContent extends BackboneElement { /** * Note that while IHE mostly issues URNs for format types, not all documents can be identified by a URI. */ - format?: Coding; + format?: Coding|undefined; } /** * May be identifiers or resources that caused the DocumentReference or referenced Document to be created. @@ -8993,11 +8993,11 @@ export interface DocumentReferenceContextRelated extends BackboneElement { /** * Order numbers, accession numbers, XDW workflow numbers. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * Order, ProcedureRequest, Procedure, EligibilityRequest, etc. */ - ref?: Reference; + ref?: Reference|undefined; } /** * These values are primarily added to help with searching for interesting/relevant documents. @@ -9006,31 +9006,31 @@ export interface DocumentReferenceContext extends BackboneElement { /** * Describes the clinical encounter or type of care that the document content is associated with. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * An event can further specialize the act inherent in the type, such as where it is simply "Procedure Report" and the procedure was a "colonoscopy". If one or more event codes are included, they shall not conflict with the values inherent in the class or type elements as such a conflict would create an ambiguous situation. */ - event?: CodeableConcept[]; + event?: CodeableConcept[]|undefined; /** * The kind of facility where the patient was seen. */ - facilityType?: CodeableConcept; + facilityType?: CodeableConcept|undefined; /** * The time period over which the service that is described by the document was provided. */ - period?: Period; + period?: Period|undefined; /** * The value set for this content has an example binding because it is a value set decided by community policy. Other examples exist for consideration: * HITSP created the table HITSP/C80 Table 2-148 Clinical Specialty Value Set (a value set based upon SNOMED CT which is referenced by Direct (XDR and XDM for Direct Messaging Specification, Version 1), as well as Nationwide Health Information Network (NHIN). Query for Documents, Web Service Interface Specification, V 3.0, 07/27/2011 * ELGA (Austria) (ELGA CDA Implementie-rungsleitfäden Registrierung von CDA Dokumenten für ELGA mit IHE Cross-Enterprise Document Sharing: XDS Metadaten (XDSDocumentEntry), [1.2.40.0.34.7.6.3] * XDS Connect-a-thon practiceSettingCode. */ - practiceSetting?: CodeableConcept; + practiceSetting?: CodeableConcept|undefined; /** * May be identifiers or resources that caused the DocumentReference or referenced Document to be created. */ - related?: DocumentReferenceContextRelated[]; + related?: DocumentReferenceContextRelated[]|undefined; /** * The Patient Information as known when the document was published. May be a reference to a version specific, or contained. */ - sourcePatientInfo?: Reference; + sourcePatientInfo?: Reference|undefined; } /** * A reference to a document. @@ -9041,15 +9041,15 @@ export interface DocumentReference extends DomainResource { /** * Represents a participant within the author institution who has legally authenticated or attested the document. Legal authentication implies that a document has been signed manually or electronically by the legal Authenticator. */ - authenticator?: Reference; + authenticator?: Reference|undefined; /** * Not necessarily who did the actual data entry (i.e. typist) it in or who was the source (informant). */ - author?: Reference[]; + author?: Reference[]|undefined; /** * This is a metadata field from [XDS/MHD](http://wiki.ihe.net/index.php?title=Mobile_access_to_Health_Documents_(MHD)). */ - class?: CodeableConcept; + class?: CodeableConcept|undefined; /** * The document and format referenced. There may be multiple content element repetitions, each with a different format. */ @@ -9057,57 +9057,57 @@ export interface DocumentReference extends DomainResource { /** * These values are primarily added to help with searching for interesting/relevant documents. */ - context?: DocumentReferenceContext; + context?: DocumentReferenceContext|undefined; /** * Creation time is used for tracking, organizing versions and searching. This is the creation time of the document, not the source material on which it is based. */ - created?: string; - _created?: Element; + created?: string|undefined; + _created?: Element|undefined; /** * Identifies the logical organization to go to find the current version, where to report issues, etc. This is different from the physical location of the document, which is the technical location of the document, which host may be delegated to the management of some other organization. */ - custodian?: Reference; + custodian?: Reference|undefined; /** * What the document is about, rather than a terse summary of the document. It is commonly the case that records do not have a title and are collectively referred to by the display name of Record code (e.g. a "consultation" or "progress note"). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * The document that is pointed to might be in various lifecycle states. */ - docStatus?: DocumentReferenceDocStatusCodes; - _docStatus?: Element; + docStatus?: DocumentReferenceDocStatusCodes|undefined; + _docStatus?: Element|undefined; /** * Other identifiers associated with the document, including version independent identifiers. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Referencing/indexing time is used for tracking, organizing versions and searching. */ indexed: string; - _indexed?: Element; + _indexed?: Element|undefined; /** * CDA Document Id extension and root. */ - masterIdentifier?: Identifier; + masterIdentifier?: Identifier|undefined; /** * This element is labeled as a modifier because documents that append to other documents are incomplete on their own. */ - relatesTo?: DocumentReferenceRelatesTo[]; + relatesTo?: DocumentReferenceRelatesTo[]|undefined; /** * The confidentiality codes can carry multiple vocabulary items. HL7 has developed an understanding of security and privacy tags that might be desirable in a Document Sharing environment, called HL7 Healthcare Privacy and Security Classification System (HCS). The following specification is recommended but not mandated, as the vocabulary bindings are an administrative domain responsibility. The use of this method is up to the policy domain such as the XDS Affinity Domain or other Trust Domain where all parties including sender and recipients are trusted to appropriately tag and enforce. In the HL7 Healthcare Privacy and Security Classification (HCS) there are code systems specific to Confidentiality, Sensitivity, Integrity, and Handling Caveats. Some values would come from a local vocabulary as they are related to workflow roles and special projects. */ - securityLabel?: CodeableConcept[]; + securityLabel?: CodeableConcept[]|undefined; /** * This is the status of the DocumentReference object, which might be independent from the docStatus element. * This element is labeled as a modifier because the status contains the codes that mark the document or reference as not currently valid. */ status: DocumentReferenceStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Who or what the document is about. The document can be about a person, (patient or healthcare practitioner), a device (e.g. a machine) or even a group of subjects (such as a document about a herd of farm animals, or a set of patients that share a common exposure). */ - subject?: Reference; + subject?: Reference|undefined; /** * Key metadata element describing the document, used in searching/filtering. */ @@ -9139,19 +9139,19 @@ export interface DomainResource extends Resource { /** * This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. */ - contained?: FhirResource[]; + contained?: FhirResource[]|undefined; /** * There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. */ - extension?: Extension[]; + extension?: Extension[]|undefined; /** * There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. */ - modifierExtension?: Extension[]; + modifierExtension?: Extension[]|undefined; /** * Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded in formation is added later. */ - text?: Narrative; + text?: Narrative|undefined; } /** * The EligibilityRequest provides patient and insurance coverage information to an insurer for them to respond, in the form of an EligibilityResponse, with information regarding whether the stated coverage is valid and in-force and optionally to provide the insurance details of the policy. @@ -9162,71 +9162,71 @@ export interface EligibilityRequest extends DomainResource { /** * Dental, Vision, Medical, Pharmacy, Rehab etc. */ - benefitCategory?: CodeableConcept; + benefitCategory?: CodeableConcept|undefined; /** * Dental: basic, major, ortho; Vision exam, glasses, contacts; etc. */ - benefitSubCategory?: CodeableConcept; + benefitSubCategory?: CodeableConcept|undefined; /** * The contract number of a business agreement which describes the terms and conditions. */ - businessArrangement?: string; - _businessArrangement?: Element; + businessArrangement?: string|undefined; + _businessArrangement?: Element|undefined; /** * 1..1. */ - coverage?: Reference; + coverage?: Reference|undefined; /** * The date when this resource was created. */ - created?: string; - _created?: Element; + created?: string|undefined; + _created?: Element|undefined; /** * Person who created the invoice/claim/pre-determination or pre-authorization. */ - enterer?: Reference; + enterer?: Reference|undefined; /** * Facility where the services were provided. */ - facility?: Reference; + facility?: Reference|undefined; /** * The Response business identifier. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The Insurer who is target of the request. */ - insurer?: Reference; + insurer?: Reference|undefined; /** * The organization which is responsible for the services rendered to the patient. */ - organization?: Reference; + organization?: Reference|undefined; /** * 1..1. */ - patient?: Reference; + patient?: Reference|undefined; /** * Immediate (STAT), best effort (NORMAL), deferred (DEFER). */ - priority?: CodeableConcept; + priority?: CodeableConcept|undefined; /** * The practitioner who is responsible for the services rendered to the patient. */ - provider?: Reference; + provider?: Reference|undefined; /** * The date or dates when the enclosed suite of services were performed or completed. */ - servicedDate?: string; - _servicedDate?: Element; + servicedDate?: string|undefined; + _servicedDate?: Element|undefined; /** * The date or dates when the enclosed suite of services were performed or completed. */ - servicedPeriod?: Period; + servicedPeriod?: Period|undefined; /** * The status of the resource instance. */ - status?: EligibilityRequestStatusCodes; - _status?: Element; + status?: EligibilityRequestStatusCodes|undefined; + _status?: Element|undefined; } /** * Code Values for the EligibilityRequest.status field @@ -9244,16 +9244,16 @@ export interface EligibilityResponseInsuranceBenefitBalanceFinancial extends Bac /** * Benefits allowed. */ - allowedUnsignedInt?: number; + allowedUnsignedInt?: number|undefined; /** * Benefits allowed. */ - allowedString?: string; - _allowedString?: Element; + allowedString?: string|undefined; + _allowedString?: Element|undefined; /** * Benefits allowed. */ - allowedMoney?: Money; + allowedMoney?: Money|undefined; /** * Deductable, visits, benefit amount. */ @@ -9261,11 +9261,11 @@ export interface EligibilityResponseInsuranceBenefitBalanceFinancial extends Bac /** * Benefits used. */ - usedUnsignedInt?: number; + usedUnsignedInt?: number|undefined; /** * Benefits used. */ - usedMoney?: Money; + usedMoney?: Money|undefined; } /** * Benefits and optionally current balances by Category. @@ -9278,38 +9278,38 @@ export interface EligibilityResponseInsuranceBenefitBalance extends BackboneElem /** * A richer description of the benefit, for example 'DENT2 covers 100% of basic, 50% of major but exclused Ortho, Implants and Costmetic services'. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * True if the indicated class of service is excluded from the plan, missing or False indicated the service is included in the coverage. */ - excluded?: boolean; - _excluded?: Element; + excluded?: boolean|undefined; + _excluded?: Element|undefined; /** * Benefits Used to date. */ - financial?: EligibilityResponseInsuranceBenefitBalanceFinancial[]; + financial?: EligibilityResponseInsuranceBenefitBalanceFinancial[]|undefined; /** * A short name or tag for the benefit, for example MED01, or DENT2. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Network designation. */ - network?: CodeableConcept; + network?: CodeableConcept|undefined; /** * Dental: basic, major, ortho; Vision exam, glasses, contacts; etc. */ - subCategory?: CodeableConcept; + subCategory?: CodeableConcept|undefined; /** * The term or period of the values such as 'maximum lifetime benefit' or 'maximum annual vistis'. */ - term?: CodeableConcept; + term?: CodeableConcept|undefined; /** * Unit designation: individual or family. */ - unit?: CodeableConcept; + unit?: CodeableConcept|undefined; } /** * The insurer may provide both the details for the requested coverage as well as details for additional coverages known to the insurer. @@ -9318,15 +9318,15 @@ export interface EligibilityResponseInsurance extends BackboneElement { /** * Benefits and optionally current balances by Category. */ - benefitBalance?: EligibilityResponseInsuranceBenefitBalance[]; + benefitBalance?: EligibilityResponseInsuranceBenefitBalance[]|undefined; /** * The contract resource which may provide more detailed information. */ - contract?: Reference; + contract?: Reference|undefined; /** * A suite of updated or additional Coverages from the Insurer. */ - coverage?: Reference; + coverage?: Reference|undefined; } /** * Mutually exclusive with Services Provided (Item). @@ -9346,59 +9346,59 @@ export interface EligibilityResponse extends DomainResource { /** * The date when the enclosed suite of services were performed or completed. */ - created?: string; - _created?: Element; + created?: string|undefined; + _created?: Element|undefined; /** * A description of the status of the adjudication. */ - disposition?: string; - _disposition?: Element; + disposition?: string|undefined; + _disposition?: Element|undefined; /** * Mutually exclusive with Services Provided (Item). */ - error?: EligibilityResponseError[]; + error?: EligibilityResponseError[]|undefined; /** * The form to be used for printing the content. */ - form?: CodeableConcept; + form?: CodeableConcept|undefined; /** * The Response business identifier. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Flag indicating if the coverage provided is inforce currently if no service date(s) specified or for the whole duration of the service dates. */ - inforce?: boolean; - _inforce?: Element; + inforce?: boolean|undefined; + _inforce?: Element|undefined; /** * The insurer may provide both the details for the requested coverage as well as details for additional coverages known to the insurer. */ - insurance?: EligibilityResponseInsurance[]; + insurance?: EligibilityResponseInsurance[]|undefined; /** * The Insurer who produced this adjudicated response. */ - insurer?: Reference; + insurer?: Reference|undefined; /** * Transaction status: error, complete. */ - outcome?: CodeableConcept; + outcome?: CodeableConcept|undefined; /** * Original request resource reference. */ - request?: Reference; + request?: Reference|undefined; /** * The organization which is responsible for the services rendered to the patient. */ - requestOrganization?: Reference; + requestOrganization?: Reference|undefined; /** * The practitioner who is responsible for the services rendered to the patient. */ - requestProvider?: Reference; + requestProvider?: Reference|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the response as not currently valid. */ - status?: EligibilityResponseStatusCodes; - _status?: Element; + status?: EligibilityResponseStatusCodes|undefined; + _status?: Element|undefined; } /** * Code Values for the EligibilityResponse.status field @@ -9421,7 +9421,7 @@ export interface EncounterStatusHistory extends BackboneElement { * planned | arrived | triaged | in-progress | onleave | finished | cancelled +. */ status: EncounterStatusHistoryStatusCodes; - _status?: Element; + _status?: Element|undefined; } /** * Code Values for the Encounter.statusHistory.status field @@ -9458,15 +9458,15 @@ export interface EncounterParticipant extends BackboneElement { /** * Persons involved in the encounter other than the patient. */ - individual?: Reference; + individual?: Reference|undefined; /** * The period of time that the specified participant participated in the encounter. These can overlap or be sub-sets of the overall encounter's period. */ - period?: Period; + period?: Period|undefined; /** * The participant type indicates how an individual partitipates in an encounter. It includes non-practitioner participants, and for practitioners this is to describe the action type in the context of this encounter (e.g. Admitting Dr, Attending Dr, Translator, Consulting Dr). This is different to the practitioner roles which are functional roles, derived from terms of employment, education, licensing, etc. */ - type?: CodeableConcept[]; + type?: CodeableConcept[]|undefined; } /** * The list of diagnosis relevant to this encounter. @@ -9479,11 +9479,11 @@ export interface EncounterDiagnosis extends BackboneElement { /** * Ranking of the diagnosis (for each role type). */ - rank?: number; + rank?: number|undefined; /** * Role that this diagnosis has within the encounter (e.g. admission, billing, discharge …). */ - role?: CodeableConcept; + role?: CodeableConcept|undefined; } /** * An Encounter may cover more than just the inpatient stay. Contexts such as outpatients, community clinics, and aged care facilities are also included. @@ -9493,39 +9493,39 @@ export interface EncounterHospitalization extends BackboneElement { /** * From where patient was admitted (physician referral, transfer). */ - admitSource?: CodeableConcept; + admitSource?: CodeableConcept|undefined; /** * Location to which the patient is discharged. */ - destination?: Reference; + destination?: Reference|undefined; /** * For example a patient may request both a dairy-free and nut-free diet preference (not mutually exclusive). */ - dietPreference?: CodeableConcept[]; + dietPreference?: CodeableConcept[]|undefined; /** * Category or kind of location after discharge. */ - dischargeDisposition?: CodeableConcept; + dischargeDisposition?: CodeableConcept|undefined; /** * The location from which the patient came before admission. */ - origin?: Reference; + origin?: Reference|undefined; /** * Pre-admission identifier. */ - preAdmissionIdentifier?: Identifier; + preAdmissionIdentifier?: Identifier|undefined; /** * Whether this hospitalization is a readmission and why if known. */ - reAdmission?: CodeableConcept; + reAdmission?: CodeableConcept|undefined; /** * Any special requests that have been made for this hospitalization encounter, such as the provision of specific equipment or other things. */ - specialArrangement?: CodeableConcept[]; + specialArrangement?: CodeableConcept[]|undefined; /** * Special courtesies (VIP, board member). */ - specialCourtesy?: CodeableConcept[]; + specialCourtesy?: CodeableConcept[]|undefined; } /** * Virtual encounters can be recorded in the Encounter by specifying a location reference to a location of type "kind" such as "client's home" and an encounter.class = "virtual". @@ -9538,12 +9538,12 @@ export interface EncounterLocation extends BackboneElement { /** * Time period during which the patient was present at the location. */ - period?: Period; + period?: Period|undefined; /** * When the patient is no longer active at a location, then the period end date is entered, and the status may be changed to completed. */ - status?: EncounterLocationStatusCodes; - _status?: Element; + status?: EncounterLocationStatusCodes|undefined; + _status?: Element|undefined; } /** * Code Values for the Encounter.location.status field @@ -9563,92 +9563,92 @@ export interface Encounter extends DomainResource { /** * The billing system may choose to allocate billable items associated with the Encounter to different referenced Accounts based on internal business rules. */ - account?: Reference[]; + account?: Reference[]|undefined; /** * The appointment that scheduled this encounter. */ - appointment?: Reference; + appointment?: Reference|undefined; /** * inpatient | outpatient | ambulatory | emergency +. */ - class?: Coding; + class?: Coding|undefined; /** * The class history permits the tracking of the encounters transitions without needing to go through the resource history. * This would be used for a case where an admission starts of as an emergency encounter, then transisions into an inpatient scenario. Doing this and not restarting a new encounter ensures that any lab/diagnostic results can more easily follow the patient and not require re-processing and not get lost or cancelled during a kindof discharge from emergency to inpatient. */ - classHistory?: EncounterClassHistory[]; + classHistory?: EncounterClassHistory[]|undefined; /** * The list of diagnosis relevant to this encounter. */ - diagnosis?: EncounterDiagnosis[]; + diagnosis?: EncounterDiagnosis[]|undefined; /** * Where a specific encounter should be classified as a part of a specific episode(s) of care this field should be used. This association can facilitate grouping of related encounters together for a specific purpose, such as government reporting, issue tracking, association via a common problem. The association is recorded on the encounter as these are typically created after the episode of care, and grouped on entry rather than editing the episode of care to append another encounter to it (the episode of care could span years). */ - episodeOfCare?: Reference[]; + episodeOfCare?: Reference[]|undefined; /** * An Encounter may cover more than just the inpatient stay. Contexts such as outpatients, community clinics, and aged care facilities are also included. * The duration recorded in the period of this encounter covers the entire scope of this hospitalization record. */ - hospitalization?: EncounterHospitalization; + hospitalization?: EncounterHospitalization|undefined; /** * Identifier(s) by which this encounter is known. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The referral request this encounter satisfies (incoming referral). */ - incomingReferral?: Reference[]; + incomingReferral?: Reference[]|undefined; /** * May differ from the time the Encounter.period lasted because of leave of absence. */ - length?: Duration; + length?: Duration|undefined; /** * Virtual encounters can be recorded in the Encounter by specifying a location reference to a location of type "kind" such as "client's home" and an encounter.class = "virtual". */ - location?: EncounterLocation[]; + location?: EncounterLocation[]|undefined; /** * The list of people responsible for providing the service. */ - participant?: EncounterParticipant[]; + participant?: EncounterParticipant[]|undefined; /** * This is also used for associating a child's encounter back to the mother's encounter. * Refer to the Notes section in the Patient resource for further details. */ - partOf?: Reference; + partOf?: Reference|undefined; /** * If not (yet) known, the end of the Period may be omitted. */ - period?: Period; + period?: Period|undefined; /** * Indicates the urgency of the encounter. */ - priority?: CodeableConcept; + priority?: CodeableConcept|undefined; /** * For systems that need to know which was the primary diagnosis, these will be marked with the standard extension primaryDiagnosis (which is a sequence value rather than a flag, 1 = primary diagnosis). */ - reason?: CodeableConcept[]; + reason?: CodeableConcept[]|undefined; /** * An organization that is in charge of maintaining the information of this Encounter (e.g. who maintains the report or the master service catalog item, etc.). This MAY be the same as the organization on the Patient record, however it could be different. This MAY not be not the Service Delivery Location's Organization. */ - serviceProvider?: Reference; + serviceProvider?: Reference|undefined; /** * Note that internal business rules will detemine the appropraite transitions that may occur between statuses (and also classes). * This element is labeled as a modifier because the status contains codes that mark the encounter as not currently valid. */ status: EncounterStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * The current status is always found in the current version of the resource, not the status history. */ - statusHistory?: EncounterStatusHistory[]; + statusHistory?: EncounterStatusHistory[]|undefined; /** * While the encounter is always about the patient, the patient may not actually be known in all contexts of use, and there may be a group of patients that could be anonymous (such as in a group therapy for Alcoholics Anonymous - where the recording of the encounter could be used for billing on the number of people/staff and not important to the context of the specific patients) or alternately in veterinary care a herd of sheep receiving treatment (where the animals are not individually tracked). */ - subject?: Reference; + subject?: Reference|undefined; /** * Since there are many ways to further classify encounters, this element is 0..*. */ - type?: CodeableConcept[]; + type?: CodeableConcept[]|undefined; } /** * Code Values for the Encounter.status field @@ -9677,7 +9677,7 @@ export interface Endpoint extends DomainResource { * and not "https://pacs.hospital.org/wado-rs/studies/1.2.250.1.59.40211.12345678.678910/series/1.2.250.1.59.40211.789001276.14556172.67789/instances/...". */ address: string; - _address?: Element; + _address?: Element|undefined; /** * For additional connectivity details for the protocol, extensions will be used at this point, as in the XDS example. */ @@ -9685,30 +9685,30 @@ export interface Endpoint extends DomainResource { /** * Contact details for a human to contact about the subscription. The primary use of this for system administrator troubleshooting. */ - contact?: ContactPoint[]; + contact?: ContactPoint[]|undefined; /** * Exactly what these mean depend on the channel type. The can convey additional information to the recipient and/or meet security requirements. */ - header?: string[]; - _header?: Element[]; + header?: string[]|undefined; + _header?: Element[]|undefined; /** * Identifier for the organization that is used to identify the endpoint across multiple disparate systems. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * This property is not typically used when searching for Endpoint resources for usage. The typical usage is via the reference from an aplicable Organization/Location/Practitioner resource, which is where the context is provided. Multiple Locations may reference a single endpoint, and don't have to be within the same organization resource, but most likely within the same organizational hierarchy. */ - managingOrganization?: Reference; + managingOrganization?: Reference|undefined; /** * A friendly name that this endpoint can be referred to with. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Sending the payload has obvious security consequences. The server is responsible for ensuring that the content is appropriately secured. */ - payloadMimeType?: string[]; - _payloadMimeType?: Element[]; + payloadMimeType?: string[]|undefined; + _payloadMimeType?: Element[]|undefined; /** * The payloadFormat describes the serialization format of the data, where the payloadType indicates the specific document/schema that is being transferred; e.g. DischargeSummary or CarePlan. */ @@ -9716,12 +9716,12 @@ export interface Endpoint extends DomainResource { /** * The interval during which the endpoint is expected to be operational. */ - period?: Period; + period?: Period|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the endpoint as not currently valid. */ status: EndpointStatusCodes; - _status?: Element; + _status?: Element|undefined; } /** * Code Values for the Endpoint.status field @@ -9743,37 +9743,37 @@ export interface EnrollmentRequest extends DomainResource { /** * Reference to the program or plan identification, underwriter or payor. */ - coverage?: Reference; + coverage?: Reference|undefined; /** * The date when this resource was created. */ - created?: string; - _created?: Element; + created?: string|undefined; + _created?: Element|undefined; /** * The Response business identifier. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The Insurer who is target of the request. */ - insurer?: Reference; + insurer?: Reference|undefined; /** * The organization which is responsible for the services rendered to the patient. */ - organization?: Reference; + organization?: Reference|undefined; /** * The practitioner who is responsible for the services rendered to the patient. */ - provider?: Reference; + provider?: Reference|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the request as not currently valid. */ - status?: EnrollmentRequestStatusCodes; - _status?: Element; + status?: EnrollmentRequestStatusCodes|undefined; + _status?: Element|undefined; /** * Patient Resource. */ - subject?: Reference; + subject?: Reference|undefined; } /** * Code Values for the EnrollmentRequest.status field @@ -9793,42 +9793,42 @@ export interface EnrollmentResponse extends DomainResource { /** * The date when the enclosed suite of services were performed or completed. */ - created?: string; - _created?: Element; + created?: string|undefined; + _created?: Element|undefined; /** * A description of the status of the adjudication. */ - disposition?: string; - _disposition?: Element; + disposition?: string|undefined; + _disposition?: Element|undefined; /** * The Response business identifier. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The Insurer who produced this adjudicated response. */ - organization?: Reference; + organization?: Reference|undefined; /** * Processing status: error, complete. */ - outcome?: CodeableConcept; + outcome?: CodeableConcept|undefined; /** * Original request resource reference. */ - request?: Reference; + request?: Reference|undefined; /** * The organization which is responsible for the services rendered to the patient. */ - requestOrganization?: Reference; + requestOrganization?: Reference|undefined; /** * The practitioner who is responsible for the services rendered to the patient. */ - requestProvider?: Reference; + requestProvider?: Reference|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the response as not currently valid. */ - status?: EnrollmentResponseStatusCodes; - _status?: Element; + status?: EnrollmentResponseStatusCodes|undefined; + _status?: Element|undefined; } /** * Code Values for the EnrollmentResponse.status field @@ -9851,7 +9851,7 @@ export interface EpisodeOfCareStatusHistory extends BackboneElement { * planned | waitlist | active | onhold | finished | cancelled. */ status: EpisodeOfCareStatusHistoryStatusCodes; - _status?: Element; + _status?: Element|undefined; } /** * Code Values for the EpisodeOfCare.statusHistory.status field @@ -9876,11 +9876,11 @@ export interface EpisodeOfCareDiagnosis extends BackboneElement { /** * Ranking of the diagnosis (for each role type). */ - rank?: number; + rank?: number|undefined; /** * Role that this diagnosis has within the episode of care (e.g. admission, billing, discharge …). */ - role?: CodeableConcept; + role?: CodeableConcept|undefined; } /** * An association between a patient and an organization / healthcare provider(s) during which time encounters may occur. The managing organization assumes a level of responsibility for the patient during this time. @@ -9891,23 +9891,23 @@ export interface EpisodeOfCare extends DomainResource { /** * The billing system may choose to allocate billable items associated with the EpisodeOfCare to different referenced Accounts based on internal business rules. */ - account?: Reference[]; + account?: Reference[]|undefined; /** * The practitioner that is the care manager/care co-ordinator for this patient. */ - careManager?: Reference; + careManager?: Reference|undefined; /** * The list of diagnosis relevant to this episode of care. */ - diagnosis?: EpisodeOfCareDiagnosis[]; + diagnosis?: EpisodeOfCareDiagnosis[]|undefined; /** * The EpisodeOfCare may be known by different identifiers for different contexts of use, such as when an external agency is tracking the Episode for funding purposes. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The organization that has assumed the specific responsibilities for the specified duration. */ - managingOrganization?: Reference; + managingOrganization?: Reference|undefined; /** * The patient who is the focus of this episode of care. */ @@ -9915,28 +9915,28 @@ export interface EpisodeOfCare extends DomainResource { /** * The interval during which the managing organization assumes the defined responsibility. */ - period?: Period; + period?: Period|undefined; /** * Referral Request(s) that are fulfilled by this EpisodeOfCare, incoming referrals. */ - referralRequest?: Reference[]; + referralRequest?: Reference[]|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the episode as not currently valid. */ status: EpisodeOfCareStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * The history of statuses that the EpisodeOfCare has been through (without requiring processing the history of the resource). */ - statusHistory?: EpisodeOfCareStatusHistory[]; + statusHistory?: EpisodeOfCareStatusHistory[]|undefined; /** * The list of practitioners that may be facilitating this episode of care for specific purposes. */ - team?: Reference[]; + team?: Reference[]|undefined; /** * The type can be very important in processing as this could be used in determining if the EpisodeOfCare is relevant to specific government reporting, or other types of classifications. */ - type?: CodeableConcept[]; + type?: CodeableConcept[]|undefined; } /** * Code Values for the EpisodeOfCare.status field @@ -9958,17 +9958,17 @@ export interface ExpansionProfileFixedVersion extends BackboneElement { * How to manage the intersection between a fixed version in a value set, and this fixed version of the system in the expansion profile. */ mode: ExpansionProfileFixedVersionModeCodes; - _mode?: Element; + _mode?: Element|undefined; /** * See ''Coding.system'' for further documentation. */ system: string; - _system?: Element; + _system?: Element|undefined; /** * The version of the code system from which codes in the expansion should be included. */ version: string; - _version?: Element; + _version?: Element|undefined; } /** * Code Values for the ExpansionProfile.fixedVersion.mode field @@ -9986,12 +9986,12 @@ export interface ExpansionProfileExcludedSystem extends BackboneElement { * See ''Coding.system'' for further documentation. */ system: string; - _system?: Element; + _system?: Element|undefined; /** * This is used to apply version specifc exclusion contraints. If no version is specified, then all codes from the code system present in the expansion (prior to application of the expansion profile) will be excluded. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * At least one of designation.language or designation.use must be provided for each include.designation element. @@ -10000,12 +10000,12 @@ export interface ExpansionProfileDesignationIncludeDesignation extends BackboneE /** * In the absence of a language, all designations are retained which match the designation.use parameter for this include.designation. */ - language?: string; - _language?: Element; + language?: string|undefined; + _language?: Element|undefined; /** * In the absence of a use, all designations are retained which match the designation.language parameter for this include.designation element. */ - use?: Coding; + use?: Coding|undefined; } /** * Designations to be included. @@ -10014,7 +10014,7 @@ export interface ExpansionProfileDesignationInclude extends BackboneElement { /** * At least one of designation.language or designation.use must be provided for each include.designation element. */ - designation?: ExpansionProfileDesignationIncludeDesignation[]; + designation?: ExpansionProfileDesignationIncludeDesignation[]|undefined; } /** * At least one of designation.language or designation.use must be provided for each exclude.designation element. @@ -10023,12 +10023,12 @@ export interface ExpansionProfileDesignationExcludeDesignation extends BackboneE /** * In the absence of a language, all designations are excluded which match the designation.use parameter for this exclude.designation element. */ - language?: string; - _language?: Element; + language?: string|undefined; + _language?: Element|undefined; /** * In the absence of a use, all designations are retained which match the designation.language parameter for this exclude.designation element. */ - use?: Coding; + use?: Coding|undefined; } /** * Designations to be excluded. @@ -10037,7 +10037,7 @@ export interface ExpansionProfileDesignationExclude extends BackboneElement { /** * At least one of designation.language or designation.use must be provided for each exclude.designation element. */ - designation?: ExpansionProfileDesignationExcludeDesignation[]; + designation?: ExpansionProfileDesignationExcludeDesignation[]|undefined; } /** * A set of criteria that provide the constraints imposed on the value set expansion by including or excluding designations. @@ -10046,11 +10046,11 @@ export interface ExpansionProfileDesignation extends BackboneElement { /** * Designations to be excluded. */ - exclude?: ExpansionProfileDesignationExclude; + exclude?: ExpansionProfileDesignationExclude|undefined; /** * Designations to be included. */ - include?: ExpansionProfileDesignationInclude; + include?: ExpansionProfileDesignationInclude|undefined; } /** * Resource to define constraints on the Expansion of a FHIR ValueSet. @@ -10061,112 +10061,112 @@ export interface ExpansionProfile extends DomainResource { /** * Inactive codes are included if activeOnly is present and has a value of "true". Note that if the value set explicitly specifies that inactive codes are included, this property can still remove them from a specific expansion, but this parameter cannot include them if the value set excludes them. */ - activeOnly?: boolean; - _activeOnly?: Element; + activeOnly?: boolean|undefined; + _activeOnly?: Element|undefined; /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the expansion profile. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * This description can be used to capture details such as why the expansion profile was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the expansion profile as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * A set of criteria that provide the constraints imposed on the value set expansion by including or excluding designations. */ - designation?: ExpansionProfileDesignation; + designation?: ExpansionProfileDesignation|undefined; /** * Specifies the language to be used for description in the expansions i.e. the language to be used for ValueSet.expansion.contains.display. */ - displayLanguage?: string; - _displayLanguage?: Element; + displayLanguage?: string|undefined; + _displayLanguage?: Element|undefined; /** * When a system is excluded, and this makes a material difference to the expansion, the exclusion SHALL be noted in the expansion parameters using a parameter 'excluded'. */ - excludedSystem?: ExpansionProfileExcludedSystem; + excludedSystem?: ExpansionProfileExcludedSystem|undefined; /** * Nesting of codes is excluded if excludeNested is present and has a value of "true". */ - excludeNested?: boolean; - _excludeNested?: Element; + excludeNested?: boolean|undefined; + _excludeNested?: Element|undefined; /** * Codes which cannot be used in user interfaces will be excluded if excludeNotForUI is present and has a value of "true". */ - excludeNotForUI?: boolean; - _excludeNotForUI?: Element; + excludeNotForUI?: boolean|undefined; + _excludeNotForUI?: Element|undefined; /** * Post coordinated codes are excluded if excludePostCoordinated is present and has a value of "true". */ - excludePostCoordinated?: boolean; - _excludePostCoordinated?: Element; + excludePostCoordinated?: boolean|undefined; + _excludePostCoordinated?: Element|undefined; /** * Allows filtering of expansion profile that are appropriate for use vs. not. This is labeled as "Is Modifier" because applications should not use an experimental expansion profile in production. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * Fix use of a particular code system to a particular version. */ - fixedVersion?: ExpansionProfileFixedVersion[]; + fixedVersion?: ExpansionProfileFixedVersion[]|undefined; /** * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, e.g., to identify this expansion profile outside of FHIR, where it is not possible to use the logical URI. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * The ValueSet defintion refers to all fields in the ValueSet definition apart from ValueSet.contains. The definition is only included if includeDefinition is present and has a value of "true". */ - includeDefinition?: boolean; - _includeDefinition?: Element; + includeDefinition?: boolean|undefined; + _includeDefinition?: Element|undefined; /** * ExpansionProfile.designation.include and ExpansionProfile.designation.exclude are only evaluated if includeDesignations is present and set to "true". If includeDesignations is present with a value of "true" and both ExpansionProfile.designation.include and ExpansionProfile.designation.exclude are absent, then all designations are returned in the expansion. */ - includeDesignations?: boolean; - _includeDesignations?: Element; + includeDesignations?: boolean|undefined; + _includeDesignations?: Element|undefined; /** * It may be possible for the expansion profile to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * This field overides the default behaviour (which is to return an error). This does not apply to expansions which are unbounded. Clients SHALL process the extension [http://hl7.org/fhir/StructureDefinition/valueset-toocostly](extension-valueset-toocostly.html) correctly if limitedExpansion = true. */ - limitedExpansion?: boolean; - _limitedExpansion?: Element; + limitedExpansion?: boolean|undefined; + _limitedExpansion?: Element|undefined; /** * The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Usually an organization, but may be an individual. The publisher (or steward) of the expansion profile is the organization or individual primarily responsible for the maintenance and upkeep of the expansion profile. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the expansion profile. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * Allows filtering of expansion profiles that are appropriate for use vs. not. * This is labeled as "Is Modifier" because applications should not use a retired expansion profile without due consideration. */ status: ExpansionProfileStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred. Multiple instances may share the same url if they have a distinct version. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different expansion profile instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a refrence to a particular business version of the expansion profile with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the ExpansionProfile.status field @@ -10184,15 +10184,15 @@ export interface ExplanationOfBenefitRelated extends BackboneElement { /** * Do we need a relationship code? */ - claim?: Reference; + claim?: Reference|undefined; /** * An alternate organizational reference to the case or file to which this particular claim pertains - eg Property/Casualy insurer claim # or Workers Compensation case # . */ - reference?: Identifier; + reference?: Identifier|undefined; /** * For example prior or umbrella. */ - relationship?: CodeableConcept; + relationship?: CodeableConcept|undefined; } /** * The party to be reimbursed for the services. @@ -10201,15 +10201,15 @@ export interface ExplanationOfBenefitPayee extends BackboneElement { /** * Party to be reimbursed: Subscriber, provider, other. */ - party?: Reference; + party?: Reference|undefined; /** * organization | patient | practitioner | relatedperson. */ - resourceType?: CodeableConcept; + resourceType?: CodeableConcept|undefined; /** * Type of Party to be reimbursed: Subscriber, provider, other. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Additional information codes regarding exceptions, special considerations, the condition, situation, prior or concurrent issues. Often there are mutiple jurisdiction specific valuesets which are required. @@ -10222,11 +10222,11 @@ export interface ExplanationOfBenefitInformation extends BackboneElement { /** * This may contain the local bill type codes such as the US UB-04 bill type code. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * For example, provides the reason for: the additional stay, or missing tooth or any other situation where a reason code is required in addition to the content. */ - reason?: Coding; + reason?: Coding|undefined; /** * Sequence of the information element which serves to provide a link. */ @@ -10234,29 +10234,29 @@ export interface ExplanationOfBenefitInformation extends BackboneElement { /** * The date when or period to which this information refers. */ - timingDate?: string; - _timingDate?: Element; + timingDate?: string|undefined; + _timingDate?: Element|undefined; /** * The date when or period to which this information refers. */ - timingPeriod?: Period; + timingPeriod?: Period|undefined; /** * Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data. */ - valueString?: string; - _valueString?: Element; + valueString?: string|undefined; + _valueString?: Element|undefined; /** * Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data. */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; /** * Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data. */ - valueAttachment?: Attachment; + valueAttachment?: Attachment|undefined; /** * Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data. */ - valueReference?: Reference; + valueReference?: Reference|undefined; } /** * The members of the team who provided the overall service as well as their role and whether responsible and qualifications. @@ -10269,16 +10269,16 @@ export interface ExplanationOfBenefitCareTeam extends BackboneElement { /** * The qualification which is applicable for this service. */ - qualification?: CodeableConcept; + qualification?: CodeableConcept|undefined; /** * The practitioner who is billing and responsible for the claimed services rendered to the patient. */ - responsible?: boolean; - _responsible?: Element; + responsible?: boolean|undefined; + _responsible?: Element|undefined; /** * The lead, assisting or supervising practitioner and their discipline if a multidisiplinary team. */ - role?: CodeableConcept; + role?: CodeableConcept|undefined; /** * Sequence of careteam which serves to order and provide a link. */ @@ -10291,15 +10291,15 @@ export interface ExplanationOfBenefitDiagnosis extends BackboneElement { /** * The diagnosis. */ - diagnosisCodeableConcept?: CodeableConcept; + diagnosisCodeableConcept?: CodeableConcept|undefined; /** * The diagnosis. */ - diagnosisReference?: Reference; + diagnosisReference?: Reference|undefined; /** * The package billing code, for example DRG, based on the assigned grouping code system. */ - packageCode?: CodeableConcept; + packageCode?: CodeableConcept|undefined; /** * Sequence of diagnosis which serves to provide a link. */ @@ -10307,7 +10307,7 @@ export interface ExplanationOfBenefitDiagnosis extends BackboneElement { /** * Diagnosis are presented in list order to their expected importance: primary, secondary, etc. */ - type?: CodeableConcept[]; + type?: CodeableConcept[]|undefined; } /** * Ordered list of patient procedures performed to support the adjudication. @@ -10316,16 +10316,16 @@ export interface ExplanationOfBenefitProcedure extends BackboneElement { /** * SB DateTime?? */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * The procedure code. */ - procedureCodeableConcept?: CodeableConcept; + procedureCodeableConcept?: CodeableConcept|undefined; /** * The procedure code. */ - procedureReference?: Reference; + procedureReference?: Reference|undefined; /** * Sequence of procedures which serves to order and provide a link. */ @@ -10338,12 +10338,12 @@ export interface ExplanationOfBenefitInsurance extends BackboneElement { /** * Reference to the program or plan identification, underwriter or payor. */ - coverage?: Reference; + coverage?: Reference|undefined; /** * A list of references from the Insurer to which these services pertain. */ - preAuthRef?: string[]; - _preAuthRef?: Element[]; + preAuthRef?: string[]|undefined; + _preAuthRef?: Element[]|undefined; } /** * An accident which resulted in the need for healthcare services. @@ -10352,20 +10352,20 @@ export interface ExplanationOfBenefitAccident extends BackboneElement { /** * Date of an accident which these services are addressing. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * Where the accident occurred. */ - locationAddress?: Address; + locationAddress?: Address|undefined; /** * Where the accident occurred. */ - locationReference?: Reference; + locationReference?: Reference|undefined; /** * Type of accident: work, auto, etc. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * The adjudications results. @@ -10374,7 +10374,7 @@ export interface ExplanationOfBenefitItemAdjudication extends BackboneElement { /** * Monitory amount associated with the code. */ - amount?: Money; + amount?: Money|undefined; /** * Code indicating: Co-Pay, deductable, elegible, benefit, tax, etc. */ @@ -10382,11 +10382,11 @@ export interface ExplanationOfBenefitItemAdjudication extends BackboneElement { /** * Adjudication reason such as limit reached. */ - reason?: CodeableConcept; + reason?: CodeableConcept|undefined; /** * A non-monetary value for example a percentage. Mutually exclusive to the amount element above. */ - value?: number; + value?: number|undefined; } /** * Third tier of goods and services. @@ -10395,39 +10395,39 @@ export interface ExplanationOfBenefitItemDetailSubDetail extends BackboneElement /** * The adjudications results. */ - adjudication?: ExplanationOfBenefitItemAdjudication[]; + adjudication?: ExplanationOfBenefitItemAdjudication[]|undefined; /** * Health Care Service Type Codes to identify the classification of service or benefits. */ - category?: CodeableConcept; + category?: CodeableConcept|undefined; /** * A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount. */ - factor?: number; + factor?: number|undefined; /** * Item typification or modifiers codes, eg for Oral whether the treatment is cosmetic or associated with TMJ, or for medical whether the treatment was outside the clinic or out of office hours. */ - modifier?: CodeableConcept[]; + modifier?: CodeableConcept[]|undefined; /** * The quantity times the unit price for an addittional service or product or charge. For example, the formula: unit Quantity * unit Price (Cost per Point) * factor Number * points = net Amount. Quantity, factor and points are assumed to be 1 if not supplied. */ - net?: Money; + net?: Money|undefined; /** * A list of note references to the notes provided below. */ - noteNumber?: number[]; + noteNumber?: number[]|undefined; /** * For programs which require reson codes for the inclusion, covering, of this billed item under the program or sub-program. */ - programCode?: CodeableConcept[]; + programCode?: CodeableConcept[]|undefined; /** * The number of repetitions of a service or product. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * The type of reveneu or cost center providing the product and/or service. */ - revenue?: CodeableConcept; + revenue?: CodeableConcept|undefined; /** * A service line number. */ @@ -10435,7 +10435,7 @@ export interface ExplanationOfBenefitItemDetailSubDetail extends BackboneElement /** * A code to indicate the Professional Service or Product supplied (eg. CTP, HCPCS,USCLS,ICD10, NCPDP,DIN,ACHI,CCI). */ - service?: CodeableConcept; + service?: CodeableConcept|undefined; /** * The type of product or service. */ @@ -10443,11 +10443,11 @@ export interface ExplanationOfBenefitItemDetailSubDetail extends BackboneElement /** * List of Unique Device Identifiers associated with this line item. */ - udi?: Reference[]; + udi?: Reference[]|undefined; /** * The fee for an addittional service or product or charge. */ - unitPrice?: Money; + unitPrice?: Money|undefined; } /** * Second tier of goods and services. @@ -10456,39 +10456,39 @@ export interface ExplanationOfBenefitItemDetail extends BackboneElement { /** * The adjudications results. */ - adjudication?: ExplanationOfBenefitItemAdjudication[]; + adjudication?: ExplanationOfBenefitItemAdjudication[]|undefined; /** * Health Care Service Type Codes to identify the classification of service or benefits. */ - category?: CodeableConcept; + category?: CodeableConcept|undefined; /** * A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount. */ - factor?: number; + factor?: number|undefined; /** * Item typification or modifiers codes, eg for Oral whether the treatment is cosmetic or associated with TMJ, or for medical whether the treatment was outside the clinic or out of office hours. */ - modifier?: CodeableConcept[]; + modifier?: CodeableConcept[]|undefined; /** * The quantity times the unit price for an addittional service or product or charge. For example, the formula: unit Quantity * unit Price (Cost per Point) * factor Number * points = net Amount. Quantity, factor and points are assumed to be 1 if not supplied. */ - net?: Money; + net?: Money|undefined; /** * A list of note references to the notes provided below. */ - noteNumber?: number[]; + noteNumber?: number[]|undefined; /** * For programs which require reson codes for the inclusion, covering, of this billed item under the program or sub-program. */ - programCode?: CodeableConcept[]; + programCode?: CodeableConcept[]|undefined; /** * The number of repetitions of a service or product. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * The type of reveneu or cost center providing the product and/or service. */ - revenue?: CodeableConcept; + revenue?: CodeableConcept|undefined; /** * A service line number. */ @@ -10496,11 +10496,11 @@ export interface ExplanationOfBenefitItemDetail extends BackboneElement { /** * If this is an actual service or product line, ie. not a Group, then use code to indicate the Professional Service or Product supplied (eg. CTP, HCPCS,USCLS,ICD10, NCPDP,DIN,ACHI,CCI). If a grouping item then use a group code to indicate the type of thing being grouped eg. 'glasses' or 'compound'. */ - service?: CodeableConcept; + service?: CodeableConcept|undefined; /** * Third tier of goods and services. */ - subDetail?: ExplanationOfBenefitItemDetailSubDetail[]; + subDetail?: ExplanationOfBenefitItemDetailSubDetail[]|undefined; /** * ItemType. */ @@ -10508,11 +10508,11 @@ export interface ExplanationOfBenefitItemDetail extends BackboneElement { /** * List of Unique Device Identifiers associated with this line item. */ - udi?: Reference[]; + udi?: Reference[]|undefined; /** * If the item is a node then this is the fee for the product or service, otherwise this is the total of the fees for the children of the group. */ - unitPrice?: Money; + unitPrice?: Money|undefined; } /** * First tier of goods and services. @@ -10521,79 +10521,79 @@ export interface ExplanationOfBenefitItem extends BackboneElement { /** * The adjudications results. */ - adjudication?: ExplanationOfBenefitItemAdjudication[]; + adjudication?: ExplanationOfBenefitItemAdjudication[]|undefined; /** * Physical service site on the patient (limb, tooth, etc). */ - bodySite?: CodeableConcept; + bodySite?: CodeableConcept|undefined; /** * Careteam applicable for this service or product line. */ - careTeamLinkId?: number[]; + careTeamLinkId?: number[]|undefined; /** * Health Care Service Type Codes to identify the classification of service or benefits. */ - category?: CodeableConcept; + category?: CodeableConcept|undefined; /** * Second tier of goods and services. */ - detail?: ExplanationOfBenefitItemDetail[]; + detail?: ExplanationOfBenefitItemDetail[]|undefined; /** * Diagnosis applicable for this service or product line. */ - diagnosisLinkId?: number[]; + diagnosisLinkId?: number[]|undefined; /** * A billed item may include goods or services provided in multiple encounters. */ - encounter?: Reference[]; + encounter?: Reference[]|undefined; /** * A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount. */ - factor?: number; + factor?: number|undefined; /** * Exceptions, special conditions and supporting information pplicable for this service or product line. */ - informationLinkId?: number[]; + informationLinkId?: number[]|undefined; /** * Where the service was provided. */ - locationCodeableConcept?: CodeableConcept; + locationCodeableConcept?: CodeableConcept|undefined; /** * Where the service was provided. */ - locationAddress?: Address; + locationAddress?: Address|undefined; /** * Where the service was provided. */ - locationReference?: Reference; + locationReference?: Reference|undefined; /** * Item typification or modifiers codes, eg for Oral whether the treatment is cosmetic or associated with TMJ, or for medical whether the treatment was outside the clinic or out of office hours. */ - modifier?: CodeableConcept[]; + modifier?: CodeableConcept[]|undefined; /** * The quantity times the unit price for an addittional service or product or charge. For example, the formula: unit Quantity * unit Price (Cost per Point) * factor Number * points = net Amount. Quantity, factor and points are assumed to be 1 if not supplied. */ - net?: Money; + net?: Money|undefined; /** * A list of note references to the notes provided below. */ - noteNumber?: number[]; + noteNumber?: number[]|undefined; /** * Procedures applicable for this service or product line. */ - procedureLinkId?: number[]; + procedureLinkId?: number[]|undefined; /** * For programs which require reson codes for the inclusion, covering, of this billed item under the program or sub-program. */ - programCode?: CodeableConcept[]; + programCode?: CodeableConcept[]|undefined; /** * The number of repetitions of a service or product. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * The type of reveneu or cost center providing the product and/or service. */ - revenue?: CodeableConcept; + revenue?: CodeableConcept|undefined; /** * A service line number. */ @@ -10601,28 +10601,28 @@ export interface ExplanationOfBenefitItem extends BackboneElement { /** * If this is an actual service or product line, ie. not a Group, then use code to indicate the Professional Service or Product supplied (eg. CTP, HCPCS,USCLS,ICD10, NCPDP,DIN,ACHI,CCI). If a grouping item then use a group code to indicate the type of thing being grouped eg. 'glasses' or 'compound'. */ - service?: CodeableConcept; + service?: CodeableConcept|undefined; /** * The date or dates when the enclosed suite of services were performed or completed. */ - servicedDate?: string; - _servicedDate?: Element; + servicedDate?: string|undefined; + _servicedDate?: Element|undefined; /** * The date or dates when the enclosed suite of services were performed or completed. */ - servicedPeriod?: Period; + servicedPeriod?: Period|undefined; /** * A region or surface of the site, eg. limb region or tooth surface(s). */ - subSite?: CodeableConcept[]; + subSite?: CodeableConcept[]|undefined; /** * List of Unique Device Identifiers associated with this line item. */ - udi?: Reference[]; + udi?: Reference[]|undefined; /** * If the item is a node then this is the fee for the product or service, otherwise this is the total of the fees for the children of the group. */ - unitPrice?: Money; + unitPrice?: Money|undefined; } /** * The second tier service adjudications for payor added services. @@ -10631,31 +10631,31 @@ export interface ExplanationOfBenefitAddItemDetail extends BackboneElement { /** * The adjudications results. */ - adjudication?: ExplanationOfBenefitItemAdjudication[]; + adjudication?: ExplanationOfBenefitItemAdjudication[]|undefined; /** * Health Care Service Type Codes to identify the classification of service or benefits. */ - category?: CodeableConcept; + category?: CodeableConcept|undefined; /** * The fee charged for the professional service or product. */ - fee?: Money; + fee?: Money|undefined; /** * Item typification or modifiers codes, eg for Oral whether the treatment is cosmetic or associated with TMJ, or for medical whether the treatment was outside the clinic or out of office hours. */ - modifier?: CodeableConcept[]; + modifier?: CodeableConcept[]|undefined; /** * A list of note references to the notes provided below. */ - noteNumber?: number[]; + noteNumber?: number[]|undefined; /** * The type of reveneu or cost center providing the product and/or service. */ - revenue?: CodeableConcept; + revenue?: CodeableConcept|undefined; /** * A code to indicate the Professional Service or Product supplied (eg. CTP, HCPCS,USCLS,ICD10, NCPDP,DIN,ACHI,CCI). */ - service?: CodeableConcept; + service?: CodeableConcept|undefined; } /** * The first tier service adjudications for payor added services. @@ -10664,39 +10664,39 @@ export interface ExplanationOfBenefitAddItem extends BackboneElement { /** * The adjudications results. */ - adjudication?: ExplanationOfBenefitItemAdjudication[]; + adjudication?: ExplanationOfBenefitItemAdjudication[]|undefined; /** * Health Care Service Type Codes to identify the classification of service or benefits. */ - category?: CodeableConcept; + category?: CodeableConcept|undefined; /** * The second tier service adjudications for payor added services. */ - detail?: ExplanationOfBenefitAddItemDetail[]; + detail?: ExplanationOfBenefitAddItemDetail[]|undefined; /** * The fee charged for the professional service or product. */ - fee?: Money; + fee?: Money|undefined; /** * Item typification or modifiers codes, eg for Oral whether the treatment is cosmetic or associated with TMJ, or for medical whether the treatment was outside the clinic or out of office hours. */ - modifier?: CodeableConcept[]; + modifier?: CodeableConcept[]|undefined; /** * A list of note references to the notes provided below. */ - noteNumber?: number[]; + noteNumber?: number[]|undefined; /** * The type of reveneu or cost center providing the product and/or service. */ - revenue?: CodeableConcept; + revenue?: CodeableConcept|undefined; /** * List of input service items which this service line is intended to replace. */ - sequenceLinkId?: number[]; + sequenceLinkId?: number[]|undefined; /** * If this is an actual service or product line, ie. not a Group, then use code to indicate the Professional Service or Product supplied (eg. CTP, HCPCS,USCLS,ICD10, NCPDP,DIN,ACHI,CCI). If a grouping item then use a group code to indicate the type of thing being grouped eg. 'glasses' or 'compound'. */ - service?: CodeableConcept; + service?: CodeableConcept|undefined; } /** * Payment details for the claim if the claim has been paid. @@ -10705,28 +10705,28 @@ export interface ExplanationOfBenefitPayment extends BackboneElement { /** * Adjustment to the payment of this transaction which is not related to adjudication of this transaction. */ - adjustment?: Money; + adjustment?: Money|undefined; /** * Reason for the payment adjustment. */ - adjustmentReason?: CodeableConcept; + adjustmentReason?: CodeableConcept|undefined; /** * Payable less any payment adjustment. */ - amount?: Money; + amount?: Money|undefined; /** * Estimated payment date. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * Payment identifer. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * Whether this represents partial or complete payment of the claim. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Note text. @@ -10735,20 +10735,20 @@ export interface ExplanationOfBenefitProcessNote extends BackboneElement { /** * The ISO-639-1 alpha 2 code in lower case for the language, optionally followed by a hyphen and the ISO-3166-1 alpha 2 code for the region in upper case; e.g. "en" for English, or "en-US" for American English versus "en-EN" for England English. */ - language?: CodeableConcept; + language?: CodeableConcept|undefined; /** * An integer associated with each note which may be referred to from each service line item. */ - number?: number; + number?: number|undefined; /** * The note text. */ - text?: string; - _text?: Element; + text?: string|undefined; + _text?: Element|undefined; /** * The note purpose: Print/Display. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Benefits Used to date. @@ -10757,16 +10757,16 @@ export interface ExplanationOfBenefitBenefitBalanceFinancial extends BackboneEle /** * Benefits allowed. */ - allowedUnsignedInt?: number; + allowedUnsignedInt?: number|undefined; /** * Benefits allowed. */ - allowedString?: string; - _allowedString?: Element; + allowedString?: string|undefined; + _allowedString?: Element|undefined; /** * Benefits allowed. */ - allowedMoney?: Money; + allowedMoney?: Money|undefined; /** * Deductable, visits, benefit amount. */ @@ -10774,11 +10774,11 @@ export interface ExplanationOfBenefitBenefitBalanceFinancial extends BackboneEle /** * Benefits used. */ - usedUnsignedInt?: number; + usedUnsignedInt?: number|undefined; /** * Benefits used. */ - usedMoney?: Money; + usedMoney?: Money|undefined; } /** * Balance by Benefit Category. @@ -10791,38 +10791,38 @@ export interface ExplanationOfBenefitBenefitBalance extends BackboneElement { /** * A richer description of the benefit, for example 'DENT2 covers 100% of basic, 50% of major but exclused Ortho, Implants and Costmetic services'. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * True if the indicated class of service is excluded from the plan, missing or False indicated the service is included in the coverage. */ - excluded?: boolean; - _excluded?: Element; + excluded?: boolean|undefined; + _excluded?: Element|undefined; /** * Benefits Used to date. */ - financial?: ExplanationOfBenefitBenefitBalanceFinancial[]; + financial?: ExplanationOfBenefitBenefitBalanceFinancial[]|undefined; /** * A short name or tag for the benefit, for example MED01, or DENT2. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Network designation. */ - network?: CodeableConcept; + network?: CodeableConcept|undefined; /** * Dental: basic, major, ortho; Vision exam, glasses, contacts; etc. */ - subCategory?: CodeableConcept; + subCategory?: CodeableConcept|undefined; /** * The term or period of the values such as 'maximum lifetime benefit' or 'maximum annual vistis'. */ - term?: CodeableConcept; + term?: CodeableConcept|undefined; /** * Unit designation: individual or family. */ - unit?: CodeableConcept; + unit?: CodeableConcept|undefined; } /** * This resource provides: the claim details; adjudication details from the processing of a Claim; and optionally account balance information, for informing the subscriber of the benefits provided. @@ -10833,162 +10833,162 @@ export interface ExplanationOfBenefit extends DomainResource { /** * An accident which resulted in the need for healthcare services. */ - accident?: ExplanationOfBenefitAccident; + accident?: ExplanationOfBenefitAccident|undefined; /** * The first tier service adjudications for payor added services. */ - addItem?: ExplanationOfBenefitAddItem[]; + addItem?: ExplanationOfBenefitAddItem[]|undefined; /** * Balance by Benefit Category. */ - benefitBalance?: ExplanationOfBenefitBenefitBalance[]; + benefitBalance?: ExplanationOfBenefitBenefitBalance[]|undefined; /** * The billable period for which charges are being submitted. */ - billablePeriod?: Period; + billablePeriod?: Period|undefined; /** * The members of the team who provided the overall service as well as their role and whether responsible and qualifications. */ - careTeam?: ExplanationOfBenefitCareTeam[]; + careTeam?: ExplanationOfBenefitCareTeam[]|undefined; /** * The business identifier for the instance: invoice number, claim number, pre-determination or pre-authorization number. */ - claim?: Reference; + claim?: Reference|undefined; /** * The business identifier for the instance: invoice number, claim number, pre-determination or pre-authorization number. */ - claimResponse?: Reference; + claimResponse?: Reference|undefined; /** * The date when the EOB was created. */ - created?: string; - _created?: Element; + created?: string|undefined; + _created?: Element|undefined; /** * Ordered list of patient diagnosis for which care is sought. */ - diagnosis?: ExplanationOfBenefitDiagnosis[]; + diagnosis?: ExplanationOfBenefitDiagnosis[]|undefined; /** * Do we need a disposition code? */ - disposition?: string; - _disposition?: Element; + disposition?: string|undefined; + _disposition?: Element|undefined; /** * The start and optional end dates of when the patient was precluded from working due to the treatable condition(s). */ - employmentImpacted?: Period; + employmentImpacted?: Period|undefined; /** * The person who created the explanation of benefit. */ - enterer?: Reference; + enterer?: Reference|undefined; /** * Facility where the services were provided. */ - facility?: Reference; + facility?: Reference|undefined; /** * The form to be used for printing the content. */ - form?: CodeableConcept; + form?: CodeableConcept|undefined; /** * The start and optional end dates of when the patient was confined to a treatment center. */ - hospitalization?: Period; + hospitalization?: Period|undefined; /** * The EOB Business Identifier. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Additional information codes regarding exceptions, special considerations, the condition, situation, prior or concurrent issues. Often there are mutiple jurisdiction specific valuesets which are required. */ - information?: ExplanationOfBenefitInformation[]; + information?: ExplanationOfBenefitInformation[]|undefined; /** * Financial instrument by which payment information for health care. */ - insurance?: ExplanationOfBenefitInsurance; + insurance?: ExplanationOfBenefitInsurance|undefined; /** * The insurer which is responsible for the explanation of benefit. */ - insurer?: Reference; + insurer?: Reference|undefined; /** * First tier of goods and services. */ - item?: ExplanationOfBenefitItem[]; + item?: ExplanationOfBenefitItem[]|undefined; /** * The provider which is responsible for the claim. */ - organization?: Reference; + organization?: Reference|undefined; /** * Original prescription which has been superceded by this prescription to support the dispensing of pharmacy services, medications or products. For example, a physician may prescribe a medication which the pharmacy determines is contraindicated, or for which the patient has an intolerance, and therefor issues a new precription for an alternate medication which has the same theraputic intent. The prescription from the pharmacy becomes the 'prescription' and that from the physician becomes the 'original prescription'. */ - originalPrescription?: Reference; + originalPrescription?: Reference|undefined; /** * Processing outcome errror, partial or complete processing. */ - outcome?: CodeableConcept; + outcome?: CodeableConcept|undefined; /** * Patient Resource. */ - patient?: Reference; + patient?: Reference|undefined; /** * The party to be reimbursed for the services. */ - payee?: ExplanationOfBenefitPayee; + payee?: ExplanationOfBenefitPayee|undefined; /** * Payment details for the claim if the claim has been paid. */ - payment?: ExplanationOfBenefitPayment; + payment?: ExplanationOfBenefitPayment|undefined; /** * Precedence (primary, secondary, etc.). */ - precedence?: number; + precedence?: number|undefined; /** * Prescription to support the dispensing of Pharmacy or Vision products. */ - prescription?: Reference; + prescription?: Reference|undefined; /** * Ordered list of patient procedures performed to support the adjudication. */ - procedure?: ExplanationOfBenefitProcedure[]; + procedure?: ExplanationOfBenefitProcedure[]|undefined; /** * Note text. */ - processNote?: ExplanationOfBenefitProcessNote[]; + processNote?: ExplanationOfBenefitProcessNote[]|undefined; /** * The provider which is responsible for the claim. */ - provider?: Reference; + provider?: Reference|undefined; /** * The referral resource which lists the date, practitioner, reason and other supporting information. */ - referral?: Reference; + referral?: Reference|undefined; /** * Other claims which are related to this claim such as prior claim versions or for related services. */ - related?: ExplanationOfBenefitRelated[]; + related?: ExplanationOfBenefitRelated[]|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ - status?: ExplanationOfBenefitStatusCodes; - _status?: Element; + status?: ExplanationOfBenefitStatusCodes|undefined; + _status?: Element|undefined; /** * This may contain the local bill type codes such as the US UB-04 bill type code. */ - subType?: CodeableConcept[]; + subType?: CodeableConcept[]|undefined; /** * Total amount of benefit payable (Equal to sum of the Benefit amounts from all detail lines and additions less the Unallocated Deductable). */ - totalBenefit?: Money; + totalBenefit?: Money|undefined; /** * The total cost of the services reported. */ - totalCost?: Money; + totalCost?: Money|undefined; /** * Affects which fields and value sets are used. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; /** * The amount of deductable applied which was not allocated to any particular service line. */ - unallocDeductable?: Money; + unallocDeductable?: Money|undefined; } /** * Code Values for the ExplanationOfBenefit.status field @@ -11010,28 +11010,28 @@ export interface FamilyMemberHistoryCondition extends BackboneElement { /** * An area where general notes can be placed about this specific condition. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * Either the age of onset, range of approximate age or descriptive string can be recorded. For conditions with multiple occurrences, this describes the first known occurrence. */ - onsetAge?: Age; + onsetAge?: Age|undefined; /** * Either the age of onset, range of approximate age or descriptive string can be recorded. For conditions with multiple occurrences, this describes the first known occurrence. */ - onsetRange?: Range; + onsetRange?: Range|undefined; /** * Either the age of onset, range of approximate age or descriptive string can be recorded. For conditions with multiple occurrences, this describes the first known occurrence. */ - onsetPeriod?: Period; + onsetPeriod?: Period|undefined; /** * Either the age of onset, range of approximate age or descriptive string can be recorded. For conditions with multiple occurrences, this describes the first known occurrence. */ - onsetString?: string; - _onsetString?: Element; + onsetString?: string|undefined; + _onsetString?: Element|undefined; /** * Indicates what happened as a result of this condition. If the condition resulted in death, deceased date is captured on the relation. */ - outcome?: CodeableConcept; + outcome?: CodeableConcept|undefined; } /** * Significant health events and conditions for a person related to the patient relevant in the context of care for the patient. @@ -11042,98 +11042,98 @@ export interface FamilyMemberHistory extends DomainResource { /** * use estimatedAge to indicate whether the age is actual or not. */ - ageAge?: Age; + ageAge?: Age|undefined; /** * use estimatedAge to indicate whether the age is actual or not. */ - ageRange?: Range; + ageRange?: Range|undefined; /** * use estimatedAge to indicate whether the age is actual or not. */ - ageString?: string; - _ageString?: Element; + ageString?: string|undefined; + _ageString?: Element|undefined; /** * The actual or approximate date of birth of the relative. */ - bornPeriod?: Period; + bornPeriod?: Period|undefined; /** * The actual or approximate date of birth of the relative. */ - bornDate?: string; - _bornDate?: Element; + bornDate?: string|undefined; + _bornDate?: Element|undefined; /** * The actual or approximate date of birth of the relative. */ - bornString?: string; - _bornString?: Element; + bornString?: string|undefined; + _bornString?: Element|undefined; /** * If none of the conditions listed have an outcome of "death" specified, that indicates that none of the specified conditions are known to have been the primary cause of death. */ - condition?: FamilyMemberHistoryCondition[]; + condition?: FamilyMemberHistoryCondition[]|undefined; /** * This should be captured even if the same as the date on the List aggregating the full family history. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * Deceased flag or the actual or approximate age of the relative at the time of death for the family member history record. */ - deceasedBoolean?: boolean; - _deceasedBoolean?: Element; + deceasedBoolean?: boolean|undefined; + _deceasedBoolean?: Element|undefined; /** * Deceased flag or the actual or approximate age of the relative at the time of death for the family member history record. */ - deceasedAge?: Age; + deceasedAge?: Age|undefined; /** * Deceased flag or the actual or approximate age of the relative at the time of death for the family member history record. */ - deceasedRange?: Range; + deceasedRange?: Range|undefined; /** * Deceased flag or the actual or approximate age of the relative at the time of death for the family member history record. */ - deceasedDate?: string; - _deceasedDate?: Element; + deceasedDate?: string|undefined; + _deceasedDate?: Element|undefined; /** * Deceased flag or the actual or approximate age of the relative at the time of death for the family member history record. */ - deceasedString?: string; - _deceasedString?: Element; + deceasedString?: string|undefined; + _deceasedString?: Element|undefined; /** * A protocol or questionnaire that was adhered to in whole or in part by this event. */ - definition?: Reference[]; + definition?: Reference[]|undefined; /** * This element is labeled as a modifier because the fact tha age is estimated can/should change the results of any algorithm that calculates based on the specified age. */ - estimatedAge?: boolean; - _estimatedAge?: Element; + estimatedAge?: boolean|undefined; + _estimatedAge?: Element|undefined; /** * Administrative Gender - the gender that the relative is considered to have for administration and record keeping purposes. */ - gender?: FamilyMemberHistoryGenderCodes; - _gender?: Element; + gender?: FamilyMemberHistoryGenderCodes|undefined; + _gender?: Element|undefined; /** * This records identifiers associated with this family member history record that are defined by business processes and/ or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation). */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * This will either be a name or a description; e.g. "Aunt Susan", "my cousin with the red hair". */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * This element is labeled as a modifier because it marks the family member history as a family member history that did not occur. The more attributes are populated, the more constrained the negated statement is. This notDone element is being evaluated and will likely be removed in a subsequent release. */ - notDone?: boolean; - _notDone?: Element; + notDone?: boolean|undefined; + _notDone?: Element|undefined; /** * This notDoneReason element is being evaluated and will likely be replaced in a subsequent release (e.g. dataAbsentReason). */ - notDoneReason?: CodeableConcept; + notDoneReason?: CodeableConcept|undefined; /** * This property allows a non condition-specific note to the made about the related person. Ideally, the note would be in the condition property, but this is not always possible. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * The person who this history concerns. */ @@ -11141,11 +11141,11 @@ export interface FamilyMemberHistory extends DomainResource { /** * Textual reasons can be caprued using reasonCode.text. */ - reasonCode?: CodeableConcept[]; + reasonCode?: CodeableConcept[]|undefined; /** * Indicates a Condition, Observation, AllergyIntolerance, or QuestionnaireResponse that justifies this family member history event. */ - reasonReference?: Reference[]; + reasonReference?: Reference[]|undefined; /** * The type of relationship this person has to the patient (father, mother, brother etc.). */ @@ -11154,7 +11154,7 @@ export interface FamilyMemberHistory extends DomainResource { * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: FamilyMemberHistoryStatusCodes; - _status?: Element; + _status?: Element|undefined; } /** * Code Values for the FamilyMemberHistory.gender field @@ -11183,11 +11183,11 @@ export interface Flag extends DomainResource { /** * The person, organization or device that created the flag. */ - author?: Reference; + author?: Reference|undefined; /** * Allows an flag to be divided into different categories like clinical, administrative etc. Intended to be used as a means of filtering which flags are displayed to particular user or in a given context. */ - category?: CodeableConcept; + category?: CodeableConcept|undefined; /** * If non coded, use CodeableConcept.text. This element should always be included in the narrative. */ @@ -11195,20 +11195,20 @@ export interface Flag extends DomainResource { /** * If both Flag.encounter and Flag.period are valued, then Flag.period.start shall not be before Encounter.period.start and Flag.period.end shall not be after Encounter.period.end. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * Identifier assigned to the flag for external use (outside the FHIR environment). */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The period of time from the activation of the flag to inactivation of the flag. If the flag is active, the end of the period should be unspecified. */ - period?: Period; + period?: Period|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: FlagStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * The patient, location, group , organization , or practitioner, etc. this is about record this flag is associated with. */ @@ -11229,28 +11229,28 @@ export interface GoalTarget extends BackboneElement { /** * The target value of the focus to be achieved to signify the fulfillment of the goal, e.g. 150 pounds, 7.0%. Either the high or low or both values of the range can be specified. When a low value is missing, it indicates that the goal is achieved at any focus value at or below the high value. Similarly, if the high value is missing, it indicates that the goal is achieved at any focus value at or above the low value. */ - detailQuantity?: Quantity; + detailQuantity?: Quantity|undefined; /** * The target value of the focus to be achieved to signify the fulfillment of the goal, e.g. 150 pounds, 7.0%. Either the high or low or both values of the range can be specified. When a low value is missing, it indicates that the goal is achieved at any focus value at or below the high value. Similarly, if the high value is missing, it indicates that the goal is achieved at any focus value at or above the low value. */ - detailRange?: Range; + detailRange?: Range|undefined; /** * The target value of the focus to be achieved to signify the fulfillment of the goal, e.g. 150 pounds, 7.0%. Either the high or low or both values of the range can be specified. When a low value is missing, it indicates that the goal is achieved at any focus value at or below the high value. Similarly, if the high value is missing, it indicates that the goal is achieved at any focus value at or above the low value. */ - detailCodeableConcept?: CodeableConcept; + detailCodeableConcept?: CodeableConcept|undefined; /** * Indicates either the date or the duration after start by which the goal should be met. */ - dueDate?: string; - _dueDate?: Element; + dueDate?: string|undefined; + _dueDate?: Element|undefined; /** * Indicates either the date or the duration after start by which the goal should be met. */ - dueDuration?: Duration; + dueDuration?: Duration|undefined; /** * The parameter whose value is being tracked, e.g. body weight, blood pressure, or hemoglobin A1c level. */ - measure?: CodeableConcept; + measure?: CodeableConcept|undefined; } /** * Describes the intended objective(s) for a patient, group or organization care, for example, weight loss, restoring an activity of daily living, obtaining herd immunity via immunization, meeting a process improvement objective, etc. @@ -11261,11 +11261,11 @@ export interface Goal extends DomainResource { /** * The identified conditions and other health record elements that are intended to be addressed by the goal. */ - addresses?: Reference[]; + addresses?: Reference[]|undefined; /** * Indicates a category the goal falls within. */ - category?: CodeableConcept[]; + category?: CodeableConcept[]|undefined; /** * If no code is available, use CodeableConcept.text. */ @@ -11273,60 +11273,60 @@ export interface Goal extends DomainResource { /** * This is the individual reponsible for establishing the goal, not necessarily who recorded it. (For that, use the Provenance resource.). */ - expressedBy?: Reference; + expressedBy?: Reference|undefined; /** * This records identifiers associated with this care plan that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation). */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * May be used for progress notes, concerns or other related information that doesn't actually describe the goal itself. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * Note that this should not duplicate the goal status. */ - outcomeCode?: CodeableConcept[]; + outcomeCode?: CodeableConcept[]|undefined; /** * The goal outcome is independent of the outcome of the related activities. For example, if the Goal is to achieve a target body weight of 150 lb and a care plan activity is defined to diet, then the care plan’s activity outcome could be calories consumed whereas goal outcome is an observation for the actual body weight measured. */ - outcomeReference?: Reference[]; + outcomeReference?: Reference[]|undefined; /** * Extensions are available to track priorities as established by each participant (i.e. Priority from the patient's perspective, different practitioners' perspectives, family member's perspectives) * The ordinal extension on Coding can be used to convey a numerically comparable ranking to priority. (Keep in mind that different coding systems may use a "low value=important". */ - priority?: CodeableConcept; + priority?: CodeableConcept|undefined; /** * The date or event after which the goal should begin being pursued. */ - startDate?: string; - _startDate?: Element; + startDate?: string|undefined; + _startDate?: Element|undefined; /** * The date or event after which the goal should begin being pursued. */ - startCodeableConcept?: CodeableConcept; + startCodeableConcept?: CodeableConcept|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: GoalStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * To see the date for past statuses, query history. */ - statusDate?: string; - _statusDate?: Element; + statusDate?: string|undefined; + _statusDate?: Element|undefined; /** * This will typically be captured for statuses such as rejected, on-hold or cancelled, but could be present for others. */ - statusReason?: string; - _statusReason?: Element; + statusReason?: string|undefined; + _statusReason?: Element|undefined; /** * Identifies the patient, group or organization for whom the goal is being established. */ - subject?: Reference; + subject?: Reference|undefined; /** * Indicates what should be done by when. */ - target?: GoalTarget; + target?: GoalTarget|undefined; } /** * Code Values for the Goal.status field @@ -11354,22 +11354,22 @@ export interface GraphDefinitionLinkTargetCompartment extends BackboneElement { * Identifies the compartment. */ code: string; - _code?: Element; + _code?: Element|undefined; /** * Documentation for FHIRPath expression. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Custom rule, as a FHIRPath expression. */ - expression?: string; - _expression?: Element; + expression?: string|undefined; + _expression?: Element|undefined; /** * identical | matching | different | no-rule | custom. */ rule: GraphDefinitionLinkTargetCompartmentRuleCodes; - _rule?: Element; + _rule?: Element|undefined; } /** * Code Values for the GraphDefinition.link.target.compartment.rule field @@ -11387,21 +11387,21 @@ export interface GraphDefinitionLinkTarget extends BackboneElement { /** * Compartment Consistency Rules. */ - compartment?: GraphDefinitionLinkTargetCompartment[]; + compartment?: GraphDefinitionLinkTargetCompartment[]|undefined; /** * Additional links from target resource. */ - link?: GraphDefinitionLink[]; + link?: GraphDefinitionLink[]|undefined; /** * Profile for the target resource. */ - profile?: string; - _profile?: Element; + profile?: string|undefined; + _profile?: Element|undefined; /** * Type of resource this link refers to. */ type: string; - _type?: Element; + _type?: Element|undefined; } /** * Links this graph makes rules about. @@ -11410,27 +11410,27 @@ export interface GraphDefinitionLink extends BackboneElement { /** * Information about why this link is of interest in this graph definition. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Maximum occurrences for this link. */ - max?: string; - _max?: Element; + max?: string|undefined; + _max?: Element|undefined; /** * Minimum occurrences for this link. */ - min?: number; + min?: number|undefined; /** * The path can be a literal path (e.g. Observation.subject), or it can be a query for reverse links (e.g. Provenance?target=[id]). */ path: string; - _path?: Element; + _path?: Element|undefined; /** * Which slice (if profiled). */ - sliceName?: string; - _sliceName?: Element; + sliceName?: string|undefined; + _sliceName?: Element|undefined; /** * Potential target for the link. */ @@ -11445,75 +11445,75 @@ export interface GraphDefinition extends DomainResource { /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the graph definition. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * This description can be used to capture details such as why the graph definition was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the graph definition as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Allows filtering of graph definition that are appropriate for use vs. not. This is labeled as "Is Modifier" because applications should not use an experimental graph definition in production. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * It may be possible for the graph definition to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * Links this graph makes rules about. */ - link?: GraphDefinitionLink[]; + link?: GraphDefinitionLink[]|undefined; /** * The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * The code does not include the '$' prefix that is always included in the URL when the operation is invoked. */ - profile?: string; - _profile?: Element; + profile?: string|undefined; + _profile?: Element|undefined; /** * Usually an organization, but may be an individual. The publisher (or steward) of the graph definition is the organization or individual primarily responsible for the maintenance and upkeep of the graph definition. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the graph definition. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * This element does not describe the usage of the graph definition Instead it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this graph definition. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * The type of FHIR resource at which instances of this graph start. */ start: string; - _start?: Element; + _start?: Element|undefined; /** * Allows filtering of graph definitions that are appropriate for use vs. not. * This is labeled as "Is Modifier" because applications should not use a retired graph definition without due consideration. */ status: GraphDefinitionStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred. Multiple instances may share the same url if they have a distinct version. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different graph definition instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a refrence to a particular business version of the graph definition with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the GraphDefinition.status field @@ -11536,28 +11536,28 @@ export interface GroupCharacteristic extends BackboneElement { * This is labeled as "Is Modifier" because applications cannot wrongly include excluded members as included or vice versa. */ exclude: boolean; - _exclude?: Element; + _exclude?: Element|undefined; /** * The period over which the characteristic is tested; e.g. the patient had an operation during the month of June. */ - period?: Period; + period?: Period|undefined; /** * For Range, it means members of the group have a value that falls somewhere within the specified range. */ - valueCodeableConcept?: CodeableConcept; + valueCodeableConcept?: CodeableConcept|undefined; /** * For Range, it means members of the group have a value that falls somewhere within the specified range. */ - valueBoolean?: boolean; - _valueBoolean?: Element; + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; /** * For Range, it means members of the group have a value that falls somewhere within the specified range. */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; /** * For Range, it means members of the group have a value that falls somewhere within the specified range. */ - valueRange?: Range; + valueRange?: Range|undefined; } /** * Identifies the resource instances that are members of the group. @@ -11570,12 +11570,12 @@ export interface GroupMember extends BackboneElement { /** * A flag to indicate that the member is no longer in the group, but previously may have been a member. */ - inactive?: boolean; - _inactive?: Element; + inactive?: boolean|undefined; + _inactive?: Element|undefined; /** * The period that the member was in the group, if known. */ - period?: Period; + period?: Period|undefined; } /** * Represents a defined collection of entities that may be discussed or acted upon collectively but which are not expected to act collectively and are not formally or legally recognized; i.e. a collection of entities that isn't an Organization. @@ -11586,43 +11586,43 @@ export interface Group extends DomainResource { /** * Indicates whether the record for the group is available for use or is merely being retained for historical purposes. */ - active?: boolean; - _active?: Element; + active?: boolean|undefined; + _active?: Element|undefined; /** * If true, indicates that the resource refers to a specific group of real individuals. If false, the group defines a set of intended individuals. */ actual: boolean; - _actual?: Element; + _actual?: Element|undefined; /** * All the identified characteristics must be true for an entity to a member of the group. */ - characteristic?: GroupCharacteristic[]; + characteristic?: GroupCharacteristic[]|undefined; /** * This would generally be omitted for Person resources. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * A unique business identifier for this group. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Identifies the resource instances that are members of the group. */ - member?: GroupMember[]; + member?: GroupMember[]|undefined; /** * A label assigned to the group for human identification and communication. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Note that the quantity may be less than the number of members if some of the members are not active. */ - quantity?: number; + quantity?: number|undefined; /** * Group members SHALL be of the appropriate resource type (Patient for person or animal; or Practitioner, Device, Medicaiton or Substance for the other types.). */ type: GroupTypeCodes; - _type?: Element; + _type?: Element|undefined; } /** * Code Values for the Group.type field @@ -11644,19 +11644,19 @@ export interface GuidanceResponse extends DomainResource { /** * Allows the context of the guidance response to be provided if available. In a service context, this would likely be unavailable. */ - context?: Reference; + context?: Reference|undefined; /** * If the evaluation could not be completed due to lack of information, or additional information would potentially result in a more accurate response, this element will a description of the data required in order to proceed with the evaluation. A subsequent request to the service should include this data. */ - dataRequirement?: DataRequirement[]; + dataRequirement?: DataRequirement[]|undefined; /** * Messages resulting from the evaluation of the artifact or artifacts. As part of evaluating the request, the engine may produce informational or warning messages. These messages will be provided by this element. */ - evaluationMessage?: Reference[]; + evaluationMessage?: Reference[]|undefined; /** * Allows a service to provide a unique, business identifier for the response. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * A reference to the knowledge module that was invoked. */ @@ -11664,46 +11664,46 @@ export interface GuidanceResponse extends DomainResource { /** * Provides a mechanism to communicate additional information about the response. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * Indicates when the guidance response was processed. */ - occurrenceDateTime?: string; - _occurrenceDateTime?: Element; + occurrenceDateTime?: string|undefined; + _occurrenceDateTime?: Element|undefined; /** * The output parameters of the evaluation, if any. Many modules will result in the return of specific resources such as procedure or communication requests that are returned as part of the operation result. However, modules may define specific outputs that would be returned as the result of the evaluation, and these would be returned in this element. */ - outputParameters?: Reference; + outputParameters?: Reference|undefined; /** * Provides a reference to the device that performed the guidance. */ - performer?: Reference; + performer?: Reference|undefined; /** * Indicates the reason the request was initiated. This is typically provided as a parameter to the evaluation and echoed by the service, although for some use cases, such as subscription- or event-based scenarios, it may provide an indication of the cause for the response. */ - reasonCodeableConcept?: CodeableConcept; + reasonCodeableConcept?: CodeableConcept|undefined; /** * Indicates the reason the request was initiated. This is typically provided as a parameter to the evaluation and echoed by the service, although for some use cases, such as subscription- or event-based scenarios, it may provide an indication of the cause for the response. */ - reasonReference?: Reference; + reasonReference?: Reference|undefined; /** * The id of the request associated with this response. If an id was given as part of the request, it will be reproduced here to enable the requester to more easily identify the response in a multi-request scenario. */ - requestId?: string; - _requestId?: Element; + requestId?: string|undefined; + _requestId?: Element|undefined; /** * The actions, if any, produced by the evaluation of the artifact. */ - result?: Reference; + result?: Reference|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: GuidanceResponseStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * The patient for which the request was processed. */ - subject?: Reference; + subject?: Reference|undefined; } /** * Code Values for the GuidanceResponse.status field @@ -11723,23 +11723,23 @@ export interface HealthcareServiceAvailableTime extends BackboneElement { /** * Is this always available? (hence times are irrelevant) e.g. 24 hour service. */ - allDay?: boolean; - _allDay?: Element; + allDay?: boolean|undefined; + _allDay?: Element|undefined; /** * The timezone is expected to be for where this HealthcareService is provided at. */ - availableEndTime?: string; - _availableEndTime?: Element; + availableEndTime?: string|undefined; + _availableEndTime?: Element|undefined; /** * The timezone is expected to be for where this HealthcareService is provided at. */ - availableStartTime?: string; - _availableStartTime?: Element; + availableStartTime?: string|undefined; + _availableStartTime?: Element|undefined; /** * Indicates which days of the week are available between the start and end Times. */ - daysOfWeek?: HealthcareServiceAvailableTimeDaysOfWeekCodes[]; - _daysOfWeek?: Element[]; + daysOfWeek?: HealthcareServiceAvailableTimeDaysOfWeekCodes[]|undefined; + _daysOfWeek?: Element[]|undefined; } /** * Code Values for the HealthcareService.availableTime.daysOfWeek field @@ -11761,11 +11761,11 @@ export interface HealthcareServiceNotAvailable extends BackboneElement { * The reason that can be presented to the user as to why this time is not available. */ description: string; - _description?: Element; + _description?: Element|undefined; /** * Service is not available (seasonally or for a public holiday) from this date. */ - during?: Period; + during?: Period|undefined; } /** * The details of a healthcare service available at a location. @@ -11776,107 +11776,107 @@ export interface HealthcareService extends DomainResource { /** * This element is labeled as a modifier because it may be used to mark that the resource was created in error. */ - active?: boolean; - _active?: Element; + active?: boolean|undefined; + _active?: Element|undefined; /** * Indicates whether or not a prospective consumer will require an appointment for a particular service at a site to be provided by the Organization. Indicates if an appointment is required for access to this service. */ - appointmentRequired?: boolean; - _appointmentRequired?: Element; + appointmentRequired?: boolean|undefined; + _appointmentRequired?: Element|undefined; /** * A description of site availability exceptions, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as details in the available Times and not available Times. */ - availabilityExceptions?: string; - _availabilityExceptions?: Element; + availabilityExceptions?: string|undefined; + _availabilityExceptions?: Element|undefined; /** * More detailed availability information may be provided in associated Schedule/Slot resources. */ - availableTime?: HealthcareServiceAvailableTime[]; + availableTime?: HealthcareServiceAvailableTime[]|undefined; /** * Selecting a Service Category then determines the list of relevant service types that can be selected in the primary service type. */ - category?: CodeableConcept; + category?: CodeableConcept|undefined; /** * These could be such things as is wheelchair accessible. */ - characteristic?: CodeableConcept[]; + characteristic?: CodeableConcept[]|undefined; /** * Would expect that a user would not see this information on a search results, and it would only be available when viewing the complete details of the service. */ - comment?: string; - _comment?: Element; + comment?: string|undefined; + _comment?: Element|undefined; /** * The locations referenced by the coverage area can include both specific locations, including areas, and also conceptual domains too (mode = kind), such as a physical area (tri-state area) and some other attribute (covered by Example Care Organization). These types of Locations are often not managed by any specific organization. This could also include generic locations such as "in-home". */ - coverageArea?: Reference[]; + coverageArea?: Reference[]|undefined; /** * Does this service have specific eligibility requirements that need to be met in order to use the service? */ - eligibility?: CodeableConcept; + eligibility?: CodeableConcept|undefined; /** * The description of service eligibility should, in general, not exceed one or two paragraphs. It should be sufficient for a prospective consumer to determine if they are likely to be eligible or not. Where eligibility requirements and conditions are complex, it may simply be noted that an eligibility assessment is required. Where eligibility is determined by an outside source, such as an Act of Parliament, this should be noted, preferably with a reference to a commonly available copy of the source document such as a web page. */ - eligibilityNote?: string; - _eligibilityNote?: Element; + eligibilityNote?: string|undefined; + _eligibilityNote?: Element|undefined; /** * Technical endpoints providing access to services operated for the specific healthcare services defined at this resource. */ - endpoint?: Reference[]; + endpoint?: Reference[]|undefined; /** * Extra details about the service that can't be placed in the other fields. */ - extraDetails?: string; - _extraDetails?: Element; + extraDetails?: string|undefined; + _extraDetails?: Element|undefined; /** * External identifiers for this item. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The location(s) where this healthcare service may be provided. */ - location?: Reference[]; + location?: Reference[]|undefined; /** * Further description of the service as it would be presented to a consumer while searching. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * The HealthcareService is not available during this period of time due to the provided reason. */ - notAvailable?: HealthcareServiceNotAvailable[]; + notAvailable?: HealthcareServiceNotAvailable[]|undefined; /** * If there is a photo/symbol associated with this HealthcareService, it may be included here to facilitate quick identification of the service in a list. */ - photo?: Attachment; + photo?: Attachment|undefined; /** * Programs are often defined externally to an Organization, commonly by governments; e.g. Home and Community Care Programs, Homeless Program, …. */ - programName?: string[]; - _programName?: Element[]; + programName?: string[]|undefined; + _programName?: Element[]|undefined; /** * This property is recommended to be the same as the Location's managingOrganization, and if not provided should be interpreted as such. If the Location does not have a managing Organization, then this property should be populated. */ - providedBy?: Reference; + providedBy?: Reference|undefined; /** * Ways that the service accepts referrals, if this is not provided then it is implied that no referral is required. */ - referralMethod?: CodeableConcept[]; + referralMethod?: CodeableConcept[]|undefined; /** * The provision means being commissioned by, contractually obliged or financially sourced. Types of costings that may apply to this healthcare service, such if the service may be available for free, some discounts available, or fees apply. */ - serviceProvisionCode?: CodeableConcept[]; + serviceProvisionCode?: CodeableConcept[]|undefined; /** * Collection of specialties handled by the service site. This is more of a medical term. */ - specialty?: CodeableConcept[]; + specialty?: CodeableConcept[]|undefined; /** * If this is empty, then refer to the location's contacts. */ - telecom?: ContactPoint[]; + telecom?: ContactPoint[]|undefined; /** * The specific type of service that may be delivered or performed. */ - type?: CodeableConcept[]; + type?: CodeableConcept[]|undefined; } /** * SOP Instance component identify the instance selected, along with the study and series identities to form the DICOM identity hierarchy. @@ -11886,12 +11886,12 @@ export interface ImagingManifestStudySeriesInstance extends BackboneElement { * SOP class UID identifies the type of the selected instances, e.g. CT image, Gray scale softcopy presentation state, ECG waveform, etc. */ sopClass: string; - _sopClass?: Element; + _sopClass?: Element|undefined; /** * SOP instance UID identifies the instance. */ uid: string; - _uid?: Element; + _uid?: Element|undefined; } /** * Series component represents the series level identity and locator information of the DICOM SOP instances in the selection. @@ -11900,7 +11900,7 @@ export interface ImagingManifestStudySeries extends BackboneElement { /** * The network service providing access (e.g., query, view, or retrieval) for this series. See implementation notes for information about using DICOM endpoints. A series-level endpoint, if present, has precedence over a study-level endpoint with the same Endpoint.type. */ - endpoint?: Reference[]; + endpoint?: Reference[]|undefined; /** * SOP Instance component identify the instance selected, along with the study and series identities to form the DICOM identity hierarchy. */ @@ -11909,7 +11909,7 @@ export interface ImagingManifestStudySeries extends BackboneElement { * Series instance UID of the SOP instances in the selection. */ uid: string; - _uid?: Element; + _uid?: Element|undefined; } /** * Study component represents the study level identity and locator information of the DICOM SOP instances in the selection. It is the top level identity of the hierarchical identification of the instances. @@ -11918,11 +11918,11 @@ export interface ImagingManifestStudy extends BackboneElement { /** * The network service providing access (e.g., query, view, or retrieval) for the study. See implementation notes for information about using DICOM endpoints. A study-level endpoint applies to each series in the study, unless overridden by a series-level endpoint with the same Endpoint.type. */ - endpoint?: Reference[]; + endpoint?: Reference[]|undefined; /** * Reference to the Imaging Study in FHIR form. */ - imagingStudy?: Reference; + imagingStudy?: Reference|undefined; /** * Series component represents the series level identity and locator information of the DICOM SOP instances in the selection. */ @@ -11931,7 +11931,7 @@ export interface ImagingManifestStudy extends BackboneElement { * Study instance UID of the SOP instances in the selection. */ uid: string; - _uid?: Element; + _uid?: Element|undefined; } /** * A text description of the DICOM SOP instances selected in the ImagingManifest; or the reason for, or significance of, the selection. @@ -11942,21 +11942,21 @@ export interface ImagingManifest extends DomainResource { /** * Author of ImagingManifest. It can be a human author or a device which made the decision of the SOP instances selected. For example, a radiologist selected a set of imaging SOP instances to attach in a diagnostic report, and a CAD application may author a selection to describe SOP instances it used to generate a detection conclusion. */ - author?: Reference; + author?: Reference|undefined; /** * Date and time when the selection of the referenced instances were made. It is (typically) different from the creation date of the selection resource, and from dates associated with the referenced instances (e.g. capture time of the referenced image). */ - authoringTime?: string; - _authoringTime?: Element; + authoringTime?: string|undefined; + _authoringTime?: Element|undefined; /** * Free text narrative description of the ImagingManifest. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Unique identifier of the DICOM Key Object Selection (KOS) that this resource represents. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * SOP instances selected in the ImagingManifest can be from different studies, but must be of the same patient. */ @@ -11973,22 +11973,22 @@ export interface ImagingStudySeriesInstance extends BackboneElement { /** * The number of instance in the series. */ - number?: number; + number?: number|undefined; /** * DICOM instance type. */ sopClass: string; - _sopClass?: Element; + _sopClass?: Element|undefined; /** * Particularly for post-acquisition analytic objects, such as SR, presentation states, value mapping, etc. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Formal identifier for this image or other content. */ uid: string; - _uid?: Element; + _uid?: Element|undefined; } /** * Each study has one or more series of images or other content. @@ -11997,29 +11997,29 @@ export interface ImagingStudySeries extends BackboneElement { /** * Availability of series (online, offline or nearline). */ - availability?: ImagingStudySeriesAvailabilityCodes; - _availability?: Element; + availability?: ImagingStudySeriesAvailabilityCodes|undefined; + _availability?: Element|undefined; /** * The anatomic structures examined. See DICOM Part 16 Annex L (http://dicom.nema.org/medical/dicom/current/output/chtml/part16/chapter_L.html) for DICOM to SNOMED-CT mappings. The bodySite may indicate the laterality of body part imaged; if so, it shall be consistent with any content of ImagingStudy.series.laterality. */ - bodySite?: Coding; + bodySite?: Coding|undefined; /** * A description of the series. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Typical endpoint types include DICOM WADO-RS, which is used to retrieve DICOM instances in native or rendered (e.g., JPG, PNG) formats using a RESTful API; DICOM WADO-URI, which can similarly retrieve native or rendered instances, except using an HTTP query-based approach; and DICOM QIDO-RS, which allows RESTful query for DICOM information without retrieving the actual instances. */ - endpoint?: Reference[]; + endpoint?: Reference[]|undefined; /** * A single SOP instance within the series, e.g. an image, or presentation state. */ - instance?: ImagingStudySeriesInstance[]; + instance?: ImagingStudySeriesInstance[]|undefined; /** * The laterality of the (possibly paired) anatomic structures examined. E.g., the left knee, both lungs, or unpaired abdomen. If present, shall be consistent with any laterality information indicated in ImagingStudy.series.bodySite. */ - laterality?: Coding; + laterality?: Coding|undefined; /** * The modality of this series sequence. */ @@ -12027,25 +12027,25 @@ export interface ImagingStudySeries extends BackboneElement { /** * The numeric identifier of this series in the study. */ - number?: number; + number?: number|undefined; /** * Number of SOP Instances in the Study. The value given may be larger than the number of instance elements this resource contains due to resource availability, security, or other factors. This element should be present if any instance elements are present. */ - numberOfInstances?: number; + numberOfInstances?: number|undefined; /** * The physician or operator (often the radiology technician) who performed the series. The performer is recorded at the series level, since each series in a study may be performed by a different practitioner, at different times, and using different devices. A series may be performed by multiple practitioners. */ - performer?: Reference[]; + performer?: Reference[]|undefined; /** * The date and time the series was started. */ - started?: string; - _started?: Element; + started?: string|undefined; + _started?: Element|undefined; /** * Formal identifier for this series. */ uid: string; - _uid?: Element; + _uid?: Element|undefined; } /** * Code Values for the ImagingStudy.series.availability field @@ -12065,49 +12065,49 @@ export interface ImagingStudy extends DomainResource { /** * Accession Number is an identifier related to some aspect of imaging workflow and data management. Usage may vary across different institutions. See for instance [IHE Radiology Technical Framework Volume 1 Appendix A](http://www.ihe.net/uploadedFiles/Documents/Radiology/IHE_RAD_TF_Rev13.0_Vol1_FT_2014-07-30.pdf). */ - accession?: Identifier; + accession?: Identifier|undefined; /** * Availability of study (online, offline, or nearline). */ - availability?: ImagingStudyAvailabilityCodes; - _availability?: Element; + availability?: ImagingStudyAvailabilityCodes|undefined; + _availability?: Element|undefined; /** * A list of the diagnostic requests that resulted in this imaging study being performed. */ - basedOn?: Reference[]; + basedOn?: Reference[]|undefined; /** * The encounter or episode at which the request is initiated. */ - context?: Reference; + context?: Reference|undefined; /** * Institution-generated description or classification of the Study performed. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Typical endpoint types include DICOM WADO-RS, which is used to retrieve DICOM instances in native or rendered (e.g., JPG, PNG), formats using a RESTful API; DICOM WADO-URI, which can similarly retrieve native or rendered instances, except using an HTTP query-based approach; DICOM QIDO-RS, which allows RESTful query for DICOM information without retrieving the actual instances; or IHE Invoke Image Display (IID), which provides standard invocation of an imaging web viewer. */ - endpoint?: Reference[]; + endpoint?: Reference[]|undefined; /** * Other identifiers for the study. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Who read the study and interpreted the images or other content. */ - interpreter?: Reference[]; + interpreter?: Reference[]|undefined; /** * A list of all the Series.ImageModality values that are actual acquisition modalities, i.e. those in the DICOM Context Group 29 (value set OID 1.2.840.10008.6.1.19). */ - modalityList?: Coding[]; + modalityList?: Coding[]|undefined; /** * Number of SOP Instances in Study. This value given may be larger than the number of instance elements this resource contains due to resource availability, security, or other factors. This element should be present if any instance elements are present. */ - numberOfInstances?: number; + numberOfInstances?: number|undefined; /** * Number of Series in the Study. This value given may be larger than the number of series elements this Resource contains due to resource availability, security, or other factors. This element should be present if any series elements are present. */ - numberOfSeries?: number; + numberOfSeries?: number|undefined; /** * The patient imaged in the study. */ @@ -12115,33 +12115,33 @@ export interface ImagingStudy extends DomainResource { /** * The code for the performed procedure type. */ - procedureCode?: CodeableConcept[]; + procedureCode?: CodeableConcept[]|undefined; /** * A reference to the performed Procedure. */ - procedureReference?: Reference[]; + procedureReference?: Reference[]|undefined; /** * Description of clinical condition indicating why the ImagingStudy was requested. */ - reason?: CodeableConcept; + reason?: CodeableConcept|undefined; /** * The requesting/referring physician. */ - referrer?: Reference; + referrer?: Reference|undefined; /** * Each study has one or more series of images or other content. */ - series?: ImagingStudySeries[]; + series?: ImagingStudySeries[]|undefined; /** * Date and time the study started. */ - started?: string; - _started?: Element; + started?: string|undefined; + _started?: Element|undefined; /** * Formal identifier for the study. */ uid: string; - _uid?: Element; + _uid?: Element|undefined; } /** * Code Values for the ImagingStudy.availability field @@ -12163,7 +12163,7 @@ export interface ImmunizationPractitioner extends BackboneElement { /** * Describes the type of performance (e.g. ordering provider, administering provider, etc.). */ - role?: CodeableConcept; + role?: CodeableConcept|undefined; } /** * Reasons why a vaccine was or was not administered. @@ -12172,11 +12172,11 @@ export interface ImmunizationExplanation extends BackboneElement { /** * Reasons why a vaccine was administered. */ - reason?: CodeableConcept[]; + reason?: CodeableConcept[]|undefined; /** * Reason why a vaccine was not administered. */ - reasonNotGiven?: CodeableConcept[]; + reasonNotGiven?: CodeableConcept[]|undefined; } /** * A reaction may be an indication of an allergy or intolerance and, if this is determined to be the case, it should be recorded as a new [AllergyIntolerance](allergyintolerance.html) resource instance as most systems will not query against past Immunization.reaction elements. @@ -12185,17 +12185,17 @@ export interface ImmunizationReaction extends BackboneElement { /** * Date of reaction to the immunization. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * Details of the reaction. */ - detail?: Reference; + detail?: Reference|undefined; /** * Self-reported indicator. */ - reported?: boolean; - _reported?: Element; + reported?: boolean|undefined; + _reported?: Element|undefined; } /** * Contains information about the protocol(s) under which the vaccine was administered. @@ -12204,16 +12204,16 @@ export interface ImmunizationVaccinationProtocol extends BackboneElement { /** * Indicates the authority who published the protocol. E.g. ACIP. */ - authority?: Reference; + authority?: Reference|undefined; /** * Contains the description about the protocol under which the vaccine was administered. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Nominal position in a series. */ - doseSequence?: number; + doseSequence?: number|undefined; /** * May need to differentiate between status declarations by a provider vs. a CDS engine. */ @@ -12221,16 +12221,16 @@ export interface ImmunizationVaccinationProtocol extends BackboneElement { /** * Provides an explanation as to why an immunization event should or should not count against the protocol. */ - doseStatusReason?: CodeableConcept; + doseStatusReason?: CodeableConcept|undefined; /** * One possible path to achieve presumed immunity against a disease - within the context of an authority. */ - series?: string; - _series?: Element; + series?: string|undefined; + _series?: Element|undefined; /** * The recommended number of doses to achieve immunity. */ - seriesDoses?: number; + seriesDoses?: number|undefined; /** * The targeted disease. */ @@ -12245,51 +12245,51 @@ export interface Immunization extends DomainResource { /** * When immunizations are given a specific date and time should always be known. When immunizations are patient reported, a specific date might not be known.  Although partial dates are allowed, an adult patient might not be able to recall the year a childhood immunization was given. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * The quantity of vaccine product that was administered. */ - doseQuantity?: Quantity; + doseQuantity?: Quantity|undefined; /** * The visit or admission or other contact between patient and health care provider the immunization was performed as part of. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * Date vaccine batch expires. */ - expirationDate?: string; - _expirationDate?: Element; + expirationDate?: string|undefined; + _expirationDate?: Element|undefined; /** * Reasons why a vaccine was or was not administered. */ - explanation?: ImmunizationExplanation; + explanation?: ImmunizationExplanation|undefined; /** * A unique identifier assigned to this immunization record. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The service delivery location where the vaccine administration occurred. */ - location?: Reference; + location?: Reference|undefined; /** * Lot number of the vaccine product. */ - lotNumber?: string; - _lotNumber?: Element; + lotNumber?: string|undefined; + _lotNumber?: Element|undefined; /** * Name of vaccine manufacturer. */ - manufacturer?: Reference; + manufacturer?: Reference|undefined; /** * Extra information about the immunization that is not conveyed by the other attributes. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * This element is labeled as a modifier because it indicates that an immunization didn't happen. */ notGiven: boolean; - _notGiven?: Element; + _notGiven?: Element|undefined; /** * The patient who either received or did not receive the immunization. */ @@ -12297,38 +12297,38 @@ export interface Immunization extends DomainResource { /** * Indicates who or what performed the event. */ - practitioner?: ImmunizationPractitioner[]; + practitioner?: ImmunizationPractitioner[]|undefined; /** * Reflects the “reliability” of the content. */ primarySource: boolean; - _primarySource?: Element; + _primarySource?: Element|undefined; /** * A reaction may be an indication of an allergy or intolerance and, if this is determined to be the case, it should be recorded as a new [AllergyIntolerance](allergyintolerance.html) resource instance as most systems will not query against past Immunization.reaction elements. */ - reaction?: ImmunizationReaction[]; + reaction?: ImmunizationReaction[]|undefined; /** * Should not be populated if primarySource = True, will not be required even if primarySource = False. */ - reportOrigin?: CodeableConcept; + reportOrigin?: CodeableConcept|undefined; /** * The path by which the vaccine product is taken into the body. */ - route?: CodeableConcept; + route?: CodeableConcept|undefined; /** * Body site where vaccine was administered. */ - site?: CodeableConcept; + site?: CodeableConcept|undefined; /** * Will generally be set to show that the immunization has been completed. * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: ImmunizationStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Contains information about the protocol(s) under which the vaccine was administered. */ - vaccinationProtocol?: ImmunizationVaccinationProtocol[]; + vaccinationProtocol?: ImmunizationVaccinationProtocol[]|undefined; /** * Vaccine that was administered or was to be administered. */ @@ -12353,7 +12353,7 @@ export interface ImmunizationRecommendationRecommendationDateCriterion extends B * The date whose meaning is specified by dateCriterion.code. */ value: string; - _value?: Element; + _value?: Element|undefined; } /** * Contains information about the protocol under which the vaccine was administered. @@ -12362,21 +12362,21 @@ export interface ImmunizationRecommendationRecommendationProtocol extends Backbo /** * Indicates the authority who published the protocol. For example, ACIP. */ - authority?: Reference; + authority?: Reference|undefined; /** * Contains the description about the protocol under which the vaccine was administered. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Indicates the nominal position in a series of the next dose. This is the recommended dose number as per a specified protocol. */ - doseSequence?: number; + doseSequence?: number|undefined; /** * One possible path to achieve presumed immunity against a disease - within the context of an authority. */ - series?: string; - _series?: Element; + series?: string|undefined; + _series?: Element|undefined; } /** * Vaccine administration recommendations. @@ -12386,15 +12386,15 @@ export interface ImmunizationRecommendationRecommendation extends BackboneElemen * The date the immunization recommendation was created. */ date: string; - _date?: Element; + _date?: Element|undefined; /** * Vaccine date recommendations. For example, earliest date to administer, latest date to administer, etc. */ - dateCriterion?: ImmunizationRecommendationRecommendationDateCriterion[]; + dateCriterion?: ImmunizationRecommendationRecommendationDateCriterion[]|undefined; /** * May need other dose concepts such as administered vs. valid. */ - doseNumber?: number; + doseNumber?: number|undefined; /** * Vaccine administration status. */ @@ -12402,23 +12402,23 @@ export interface ImmunizationRecommendationRecommendation extends BackboneElemen /** * Contains information about the protocol under which the vaccine was administered. */ - protocol?: ImmunizationRecommendationRecommendationProtocol; + protocol?: ImmunizationRecommendationRecommendationProtocol|undefined; /** * Immunization event history that supports the status and recommendation. */ - supportingImmunization?: Reference[]; + supportingImmunization?: Reference[]|undefined; /** * Patient Information that supports the status and recommendation. This includes patient observations, adverse reactions and allergy/intolerance information. */ - supportingPatientInformation?: Reference[]; + supportingPatientInformation?: Reference[]|undefined; /** * The targeted disease for the recommendation. */ - targetDisease?: CodeableConcept; + targetDisease?: CodeableConcept|undefined; /** * Vaccine that pertains to the recommendation. */ - vaccineCode?: CodeableConcept; + vaccineCode?: CodeableConcept|undefined; } /** * A patient's point-in-time immunization and recommendation (i.e. forecasting a patient's immunization eligibility according to a published schedule) with optional supporting justification. @@ -12429,7 +12429,7 @@ export interface ImmunizationRecommendation extends DomainResource { /** * A unique identifier assigned to this particular recommendation record. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The patient the recommendations are for. */ @@ -12447,12 +12447,12 @@ export interface ImplementationGuideDependency extends BackboneElement { * For information about processing included guides, see [Including Guides]{implementationguide.html#include}. */ type: ImplementationGuideDependencyTypeCodes; - _type?: Element; + _type?: Element|undefined; /** * When a guide is published, and the type is 'include', this will be a relative reference within the guide. */ uri: string; - _uri?: Element; + _uri?: Element|undefined; } /** * Code Values for the ImplementationGuide.dependency.type field @@ -12468,18 +12468,18 @@ export interface ImplementationGuidePackageResource extends BackboneElement { /** * This is used when generating schematrons from profiles, for example, but has other uses. Publishing tooling may autogenerate this value, but a human assigned value is more useful. This value must be unique within an implementation guide (across included guides as well). */ - acronym?: string; - _acronym?: Element; + acronym?: string|undefined; + _acronym?: Element|undefined; /** * This is mostly used with examples to explain why it is present (though they can have extensive comments in the examples). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Typically, conformance resources and knowledge resources are directly part of the implementation guide, with their normal meaning, and patient linked resources are usually examples. However this is not always true. */ example: boolean; - _example?: Element; + _example?: Element|undefined; /** * Examples: * * StructureDefinition -> Any @@ -12487,21 +12487,21 @@ export interface ImplementationGuidePackageResource extends BackboneElement { * * OperationDefinition -> Parameters * * Questionnaire -> QuestionnaireResponse. */ - exampleFor?: Reference; + exampleFor?: Reference|undefined; /** * A human assigned name for the resource. All resources SHOULD have a name, but the name may be extracted from the resource (e.g. ValueSet.name). */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Usually this is a relative URL that locates the resource within the implementation guide. If you authoring an implementation guide, and will publish it using the FHIR publication tooling, use a URI that may point to a resource, or to one of various alternative representations (e.g. spreadsheet). The tooling will convert this when it publishes it. */ - sourceUri?: string; - _sourceUri?: Element; + sourceUri?: string|undefined; + _sourceUri?: Element|undefined; /** * Usually this is a relative URL that locates the resource within the implementation guide. If you authoring an implementation guide, and will publish it using the FHIR publication tooling, use a URI that may point to a resource, or to one of various alternative representations (e.g. spreadsheet). The tooling will convert this when it publishes it. */ - sourceReference?: Reference; + sourceReference?: Reference|undefined; } /** * A logical group of resources. Logical groups can be used when building pages. @@ -12510,13 +12510,13 @@ export interface ImplementationGuidePackage extends BackboneElement { /** * Human readable text describing the package. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * The name for the group, as used in page.package. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * A resource that is part of the implementation guide. Conformance resources (value set, structure definition, capability statements etc.) are obvious candidates for inclusion, but any kind of resource can be included as an example resource. */ @@ -12534,7 +12534,7 @@ export interface ImplementationGuideGlobal extends BackboneElement { * The type must match that of the profile that is referred to, but is made explicit here as a denormalization so that a system processing the implementation guide resource knows which resources the profile applies to even if the profile itself is not available. */ type: string; - _type?: Element; + _type?: Element|undefined; } /** * Pages automatically become sections if they have sub-pages. By convention, the home page is called index.html. @@ -12543,37 +12543,37 @@ export interface ImplementationGuidePage extends BackboneElement { /** * This is primarily for the publishing tool, that will convert all pages to html format. HTML pages are pre-processed, see xxxx. */ - format?: string; - _format?: Element; + format?: string|undefined; + _format?: Element|undefined; /** * The kind of page that this is. Some pages are autogenerated (list, example), and other kinds are of interest so that tools can navigate the user to the page of interest. */ kind: ImplementationGuidePageKindCodes; - _kind?: Element; + _kind?: Element|undefined; /** * For constructed pages, a list of packages to include in the page (or else empty for everything). */ - package?: string[]; - _package?: Element[]; + package?: string[]|undefined; + _package?: Element[]|undefined; /** * The implementation guide breadcrumbs are generated from this structure. */ - page?: ImplementationGuidePage[]; + page?: ImplementationGuidePage[]|undefined; /** * The publishing tool will autogenerate source for list (source = n/a), and inject included implementations for include (source = uri of guide to include). */ source: string; - _source?: Element; + _source?: Element|undefined; /** * A short title used to represent this page in navigational structures such as table of contents, bread crumbs, etc. */ title: string; - _title?: Element; + _title?: Element|undefined; /** * For constructed pages, what kind of resources to include in the list. */ - type?: string[]; - _type?: Element[]; + type?: string[]|undefined; + _type?: Element[]|undefined; } /** * Code Values for the ImplementationGuide.page.kind field @@ -12597,87 +12597,87 @@ export interface ImplementationGuide extends DomainResource { /** * This is principally included for the FHIR publishing tool, but may be useful when extracting and reusing content from the implementation guide. */ - binary?: string[]; - _binary?: Element[]; + binary?: string[]|undefined; + _binary?: Element[]|undefined; /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * A copyright statement relating to the implementation guide and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the implementation guide. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the implementation guide. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * Another implementation guide that this implementation depends on. Typically, an implementation guide uses value sets, profiles etc.defined in other implementation guides. */ - dependency?: ImplementationGuideDependency[]; + dependency?: ImplementationGuideDependency[]|undefined; /** * This description can be used to capture details such as why the implementation guide was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the implementation guide as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Allows filtering of implementation guide that are appropriate for use vs. not. This is labeled as "Is Modifier" because applications should not use an experimental implementation guide in production. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * An Implementation Guide should specify the target it applies to, as ImplementationGuides are rarely valid across multiple versions of FHIR. */ - fhirVersion?: string; - _fhirVersion?: Element; + fhirVersion?: string|undefined; + _fhirVersion?: Element|undefined; /** * See [Default Profiles](implementationguide.html#default) for a discussion of which resources are 'covered' by an implementation guide. */ - global?: ImplementationGuideGlobal[]; + global?: ImplementationGuideGlobal[]|undefined; /** * It may be possible for the implementation guide to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * A logical group of resources. Logical groups can be used when building pages. */ - package?: ImplementationGuidePackage[]; + package?: ImplementationGuidePackage[]|undefined; /** * Pages automatically become sections if they have sub-pages. By convention, the home page is called index.html. */ - page?: ImplementationGuidePage; + page?: ImplementationGuidePage|undefined; /** * Usually an organization, but may be an individual. The publisher (or steward) of the implementation guide is the organization or individual primarily responsible for the maintenance and upkeep of the implementation guide. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the implementation guide. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * Allows filtering of implementation guides that are appropriate for use vs. not. * This is labeled as "Is Modifier" because applications should not use a retired implementation guide without due consideration. */ status: ImplementationGuideStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred. Multiple instances may share the same url if they have a distinct version. */ url: string; - _url?: Element; + _url?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different implementation guide instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a refrence to a particular business version of the implementation guide with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the ImplementationGuide.status field @@ -12697,99 +12697,99 @@ export interface Library extends DomainResource { /** * The 'date' element may be more recent than the approval date because of minor changes / editorial corrections. */ - approvalDate?: string; - _approvalDate?: Element; + approvalDate?: string|undefined; + _approvalDate?: Element|undefined; /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * The content of the library as an Attachment. The content may be a reference to a url, or may be directly embedded as a base-64 string. Either way, the contentType of the attachment determines how to interpret the content. */ - content?: Attachment[]; + content?: Attachment[]|undefined; /** * A contributor to the content of the library, including authors, editors, reviewers, and endorsers. */ - contributor?: Contributor[]; + contributor?: Contributor[]|undefined; /** * A copyright statement relating to the library and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the library. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * Describes a set of data that must be provided in order to be able to successfully perform the computations defined by the library. */ - dataRequirement?: DataRequirement[]; + dataRequirement?: DataRequirement[]|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the library. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * This description can be used to capture details such as why the library was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the library as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * The effective period for a library determines when the content is applicable for usage and is independent of publication and review dates. For example, a measure intended to be used for the year 2016 might be published in 2015. */ - effectivePeriod?: Period; + effectivePeriod?: Period|undefined; /** * Allows filtering of library that are appropriate for use vs. not. This is labeled as "Is Modifier" because applications should not use an experimental library in production. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, e.g., to identify this library outside of FHIR, where it is not possible to use the logical URI. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * It may be possible for the library to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * If specified, this is usually after the approval date. */ - lastReviewDate?: string; - _lastReviewDate?: Element; + lastReviewDate?: string|undefined; + _lastReviewDate?: Element|undefined; /** * The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * The parameter element defines parameters used by the library. */ - parameter?: ParameterDefinition[]; + parameter?: ParameterDefinition[]|undefined; /** * Usually an organization, but may be an individual. The publisher (or steward) of the library is the organization or individual primarily responsible for the maintenance and upkeep of the library. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the library. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * This element does not describe the usage of the library Instead it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this library. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * Each related artifact is either an attachment, or a reference to another resource, but not both. */ - relatedArtifact?: RelatedArtifact[]; + relatedArtifact?: RelatedArtifact[]|undefined; /** * Allows filtering of librarys that are appropriate for use vs. not. * This is labeled as "Is Modifier" because applications should not use a retired library without due consideration. */ status: LibraryStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Descriptive topics related to the content of the library. Topics provide a high-level categorization of the library that can be useful for filtering and searching. */ - topic?: CodeableConcept[]; + topic?: CodeableConcept[]|undefined; /** * Identifies the type of library such as a Logic Library, Model Definition, Asset Collection, or Module Definition. */ @@ -12797,22 +12797,22 @@ export interface Library extends DomainResource { /** * Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred. Multiple instances may share the same url if they have a distinct version. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * A detailed description of how the library is used from a clinical perspective. */ - usage?: string; - _usage?: Element; + usage?: string|undefined; + _usage?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different library instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a refrence to a particular business version of the library with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the Library.status field @@ -12835,7 +12835,7 @@ export interface LinkageItem extends BackboneElement { * Distinguishes which item is "source of truth" (if any) and which items are no longer considered to be current representations. */ type: LinkageItemTypeCodes; - _type?: Element; + _type?: Element|undefined; } /** * Code Values for the Linkage.item.type field @@ -12854,12 +12854,12 @@ export interface Linkage extends DomainResource { /** * If false, any asserted linkages should not be considered current/relevant/applicable. */ - active?: boolean; - _active?: Element; + active?: boolean|undefined; + _active?: Element|undefined; /** * Identifies the user or organization responsible for asserting the linkages and who establishes the context for evaluating the nature of each linkage. */ - author?: Reference; + author?: Reference|undefined; /** * Identifies one of the records that is considered to refer to the same real-world occurrence as well as how the items hould be evaluated within the collection of linked items. */ @@ -12872,18 +12872,18 @@ export interface ListEntry extends BackboneElement { /** * This is only useful and meaningful when the mode is "working". */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * If the flag means that the entry has actually been deleted from the list, the deleted element SHALL be true. Both flag and deleted can only be used if the List.mode is "changes". A deleted entry should be displayed in narrative as deleted. * This element is labeled as a modifier because it indicates that an item is (to be) no longer in the list. */ - deleted?: boolean; - _deleted?: Element; + deleted?: boolean|undefined; + _deleted?: Element|undefined; /** * The flag can only be understood in the context of the List.code. If the flag means that the entry has actually been deleted from the list, the deleted element SHALL be true. Deleted can only be used if the List.mode is "changes". */ - flag?: CodeableConcept; + flag?: CodeableConcept|undefined; /** * A reference to the actual resource from which data was derived. */ @@ -12898,59 +12898,59 @@ export interface List extends DomainResource { /** * If there is no code, the purpose of the list is implied where it is used, such as in a document section using Document.section.code. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * The actual important date is the date of currency of the resources that were summarized, but it is usually assumed that these are current when the preparation occurs. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * The various reasons for an empty list make a significant interpretation to its interpretation. Note that this code is for use when the entire list has been suppressed, and not for when individual items are omitted - implementers may consider using a text note or a flag on an entry in these cases. */ - emptyReason?: CodeableConcept; + emptyReason?: CodeableConcept|undefined; /** * The encounter that is the context in which this list was created. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * If there are no entries in the list, an emptyReason SHOULD be provided. */ - entry?: ListEntry[]; + entry?: ListEntry[]|undefined; /** * Identifier for the List assigned for business purposes outside the context of FHIR. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * This element is labeled as a modifier because a change list must not be mis-understood as a complete list. */ mode: ListModeCodes; - _mode?: Element; + _mode?: Element|undefined; /** * Comments that apply to the overall list. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * Applications SHOULD render ordered lists in the order provided, but MAY allow users to re-order based on their own preferences as well. If there is no order specified, the order is unknown, though there may still be some order. */ - orderedBy?: CodeableConcept; + orderedBy?: CodeableConcept|undefined; /** * The primary source is the entity that made the decisions what items are in the list. This may be software or user. */ - source?: Reference; + source?: Reference|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: ListStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Some purely arbitrary lists do not have a common subject, so this is optional. */ - subject?: Reference; + subject?: Reference|undefined; /** * A label for the list assigned by the author. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; } /** * Code Values for the List.mode field @@ -12975,7 +12975,7 @@ export interface LocationPosition extends BackboneElement { /** * Altitude. The value domain and the interpretation are the same as for the text of the altitude element in KML (see notes below). */ - altitude?: number; + altitude?: number|undefined; /** * Latitude. The value domain and the interpretation are the same as for the text of the latitude element in KML (see notes below). */ @@ -12994,68 +12994,68 @@ export interface Location extends DomainResource { /** * This was kept as 0..1 as there is no use property on the address, so wouldn't be able to identify different address types. */ - address?: Address; + address?: Address|undefined; /** * There are no dates associated with the alias/historic names, as this is not intended to track when names were used, but to assist in searching so that older names can still result in identifying the location. */ - alias?: string[]; - _alias?: Element[]; + alias?: string[]|undefined; + _alias?: Element[]|undefined; /** * Description of the Location, which helps in finding or referencing the place. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Technical endpoints providing access to services operated for the location. */ - endpoint?: Reference[]; + endpoint?: Reference[]|undefined; /** * Unique code or number identifying the location to its users. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * This can also be used as the part of the organization hierarchy where this location provides services. These services can be defined through the HealthcareService resource. */ - managingOrganization?: Reference; + managingOrganization?: Reference|undefined; /** * This is labeled as a modifer because whether or not the location is a class of locations changes how it can be used and understood. */ - mode?: LocationModeCodes; - _mode?: Element; + mode?: LocationModeCodes|undefined; + _mode?: Element|undefined; /** * If the name of an location changes, consider putting the old name in the alias column so that it can still be located through searches. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * The Operational status covers operation values most relevant to beds (but can also apply to rooms/units/chair/etc such as an isolation unit/dialisys chair). This typically covers concepts such as contamination, housekeeping and other activities like maintenance. */ - operationalStatus?: Coding; + operationalStatus?: Coding|undefined; /** * Another Location which this Location is physically part of. */ - partOf?: Reference; + partOf?: Reference|undefined; /** * Physical form of the location, e.g. building, room, vehicle, road. */ - physicalType?: CodeableConcept; + physicalType?: CodeableConcept|undefined; /** * The absolute geographic location of the Location, expressed using the WGS84 datum (This is the same co-ordinate system used in KML). */ - position?: LocationPosition; + position?: LocationPosition|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ - status?: LocationStatusCodes; - _status?: Element; + status?: LocationStatusCodes|undefined; + _status?: Element|undefined; /** * The contact details of communication devices available at the location. This can include phone numbers, fax numbers, mobile numbers, email addresses and web sites. */ - telecom?: ContactPoint[]; + telecom?: ContactPoint[]|undefined; /** * Indicates the type of function performed at the location. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Code Values for the Location.mode field @@ -13079,26 +13079,26 @@ export interface MeasureGroupPopulation extends BackboneElement { /** * The type of population criteria. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * In the case of a continuous variable or ratio measure, this may be the name of a function that calculates the value of the individual observation for each patient or event in the population. For these types of measures, individual observations are reported as observation resources included in the evaluatedResources bundle for each patient. See the MeasureReport resource or the Quality Reporting topic for more information. */ criteria: string; - _criteria?: Element; + _criteria?: Element|undefined; /** * The human readable description of this population criteria. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * A unique identifier for the population criteria. This identifier is used to report data against this criteria within the measure report. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * Optional name or short description of this population. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; } /** * The stratifier criteria for the measure report, specified as either the name of a valid CQL expression defined within a referenced library, or a valid FHIR Resource Path. @@ -13107,17 +13107,17 @@ export interface MeasureGroupStratifier extends BackboneElement { /** * The criteria for the stratifier. This must be the name of an expression defined within a referenced library. */ - criteria?: string; - _criteria?: Element; + criteria?: string|undefined; + _criteria?: Element|undefined; /** * The identifier for the stratifier used to coordinate the reported data back to this stratifier. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * The path to an element that defines the stratifier, specified as a valid FHIR resource path. */ - path?: string; - _path?: Element; + path?: string|undefined; + _path?: Element|undefined; } /** * A group of population criteria for the measure. @@ -13126,8 +13126,8 @@ export interface MeasureGroup extends BackboneElement { /** * The human readable description of this population group. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * A unique identifier for the group. This identifier will used to report data for the group in the measure report. */ @@ -13135,16 +13135,16 @@ export interface MeasureGroup extends BackboneElement { /** * Optional name or short description of this group. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * A population criteria for the measure. */ - population?: MeasureGroupPopulation[]; + population?: MeasureGroupPopulation[]|undefined; /** * The stratifier criteria for the measure report, specified as either the name of a valid CQL expression defined within a referenced library, or a valid FHIR Resource Path. */ - stratifier?: MeasureGroupStratifier[]; + stratifier?: MeasureGroupStratifier[]|undefined; } /** * Note that supplemental data are reported as observations for each patient and included in the evaluatedResources bundle. See the MeasureReport resource or the Quality Reporting topic for more information. @@ -13153,21 +13153,21 @@ export interface MeasureSupplementalData extends BackboneElement { /** * The criteria for the supplemental data. This must be the name of a valid expression defined within a referenced library, and defines the data to be returned for this element. */ - criteria?: string; - _criteria?: Element; + criteria?: string|undefined; + _criteria?: Element|undefined; /** * An identifier for the supplemental data. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * The supplemental data to be supplied as part of the measure response, specified as a valid FHIR Resource Path. */ - path?: string; - _path?: Element; + path?: string|undefined; + _path?: Element|undefined; /** * An indicator of the intended usage for the supplemental data element. Supplemental data indicates the data is additional information requested to augment the measure information. Risk adjustment factor indicates the data is additional information used to calculate risk adjustment factors when applying a risk model to the measure calculation. */ - usage?: CodeableConcept[]; + usage?: CodeableConcept[]|undefined; } /** * The Measure resource provides the definition of a quality measure. @@ -13178,175 +13178,175 @@ export interface Measure extends DomainResource { /** * The 'date' element may be more recent than the approval date because of minor changes / editorial corrections. */ - approvalDate?: string; - _approvalDate?: Element; + approvalDate?: string|undefined; + _approvalDate?: Element|undefined; /** * Provides a summary of relevant clinical guidelines or other clinical recommendations supporting the measure. */ - clinicalRecommendationStatement?: string; - _clinicalRecommendationStatement?: Element; + clinicalRecommendationStatement?: string|undefined; + _clinicalRecommendationStatement?: Element|undefined; /** * If this is a composite measure, the scoring method used to combine the component measures to determine the composite score. */ - compositeScoring?: CodeableConcept; + compositeScoring?: CodeableConcept|undefined; /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * A contributor to the content of the measure, including authors, editors, reviewers, and endorsers. */ - contributor?: Contributor[]; + contributor?: Contributor[]|undefined; /** * A copyright statement relating to the measure and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the measure. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the measure. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * Provides a description of an individual term used within the measure. */ - definition?: string[]; - _definition?: Element[]; + definition?: string[]|undefined; + _definition?: Element[]|undefined; /** * This description can be used to capture details such as why the measure was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the measure as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Notices and disclaimers regarding the use of the measure, or related to intellectual property (such as code systems) referenced by the measure. */ - disclaimer?: string; - _disclaimer?: Element; + disclaimer?: string|undefined; + _disclaimer?: Element|undefined; /** * The effective period for a measure determines when the content is applicable for usage and is independent of publication and review dates. For example, a measure intended to be used for the year 2016 might be published in 2015. */ - effectivePeriod?: Period; + effectivePeriod?: Period|undefined; /** * Allows filtering of measure that are appropriate for use vs. not. This is labeled as "Is Modifier" because applications should not use an experimental measure in production. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * A group of population criteria for the measure. */ - group?: MeasureGroup[]; + group?: MeasureGroup[]|undefined; /** * Additional guidance for the measure including how it can be used in a clinical context, and the intent of the measure. */ - guidance?: string; - _guidance?: Element; + guidance?: string|undefined; + _guidance?: Element|undefined; /** * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, e.g., to identify this measure outside of FHIR, where it is not possible to use the logical URI. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Information on whether an increase or decrease in score is the preferred result (e.g., a higher score indicates better quality OR a lower score indicates better quality OR quality is whthin a range). */ - improvementNotation?: string; - _improvementNotation?: Element; + improvementNotation?: string|undefined; + _improvementNotation?: Element|undefined; /** * It may be possible for the measure to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * If specified, this is usually after the approval date. */ - lastReviewDate?: string; - _lastReviewDate?: Element; + lastReviewDate?: string|undefined; + _lastReviewDate?: Element|undefined; /** * A reference to a Library resource containing the formal logic used by the measure. */ - library?: Reference[]; + library?: Reference[]|undefined; /** * The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Usually an organization, but may be an individual. The publisher (or steward) of the measure is the organization or individual primarily responsible for the maintenance and upkeep of the measure. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the measure. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * This element does not describe the usage of the measure Instead it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this measure. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * The measure rate for an organization or clinician is based upon the entities’ aggregate data and summarizes the performance of the entity over a given time period (e.g., monthly, quarterly, yearly). The aggregated data are derived from the results of a specific measure algorithm and, if appropriate, the application of specific risk adjustment models. Can also be used to describe how to risk adjust the data based on supplemental data elements described in the eMeasure (e.g., pneumonia hospital measures antibiotic selection in the ICU versus non-ICU and then the roll-up of the two). This could be applied to aggregated cohort measure definitions (e.g., CDC's aggregate reporting for TB at the state level). */ - rateAggregation?: string; - _rateAggregation?: Element; + rateAggregation?: string|undefined; + _rateAggregation?: Element|undefined; /** * Provides a succint statement of the need for the measure. Usually includes statements pertaining to importance criterion: impact, gap in care, and evidence. */ - rationale?: string; - _rationale?: Element; + rationale?: string|undefined; + _rationale?: Element|undefined; /** * Each related artifact is either an attachment, or a reference to another resource, but not both. */ - relatedArtifact?: RelatedArtifact[]; + relatedArtifact?: RelatedArtifact[]|undefined; /** * Describes the method of adjusting for clinical severity and conditions present at the start of care that can influence patient outcomes for making valid comparisons of outcome measures across providers. Indicates whether an eMeasure is subject to the statistical process for reducing, removing, or clarifying the influences of confounding factors to allow more useful comparisons. */ - riskAdjustment?: string; - _riskAdjustment?: Element; + riskAdjustment?: string|undefined; + _riskAdjustment?: Element|undefined; /** * Indicates how the calculation is performed for the measure, including proportion, ratio, continuous variable, and cohort. The value set is extensible, allowing additional measure scoring types to be represented. */ - scoring?: CodeableConcept; + scoring?: CodeableConcept|undefined; /** * The measure set, e.g. Preventive Care and Screening. */ - set?: string; - _set?: Element; + set?: string|undefined; + _set?: Element|undefined; /** * Allows filtering of measures that are appropriate for use vs. not. * This is labeled as "Is Modifier" because applications should not use a retired measure without due consideration. */ status: MeasureStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Note that supplemental data are reported as observations for each patient and included in the evaluatedResources bundle. See the MeasureReport resource or the Quality Reporting topic for more information. */ - supplementalData?: MeasureSupplementalData[]; + supplementalData?: MeasureSupplementalData[]|undefined; /** * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Descriptive topics related to the content of the measure. Topics provide a high-level categorization of the type of the measure that can be useful for filtering and searching. */ - topic?: CodeableConcept[]; + topic?: CodeableConcept[]|undefined; /** * Indicates whether the measure is used to examine a process, an outcome over time, a patient-reported outcome, or a structure measure such as utilization. */ - type?: CodeableConcept[]; + type?: CodeableConcept[]|undefined; /** * Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred. Multiple instances may share the same url if they have a distinct version. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * A detailed description of how the measure is used from a clinical perspective. */ - usage?: string; - _usage?: Element; + usage?: string|undefined; + _usage?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different measure instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a refrence to a particular business version of the measure with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the Measure.status field @@ -13364,19 +13364,19 @@ export interface MeasureReportGroupPopulation extends BackboneElement { /** * The type of the population. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * The number of members of the population. */ - count?: number; + count?: number|undefined; /** * The identifier of the population being reported, as defined by the population element of the measure. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * This element refers to a List of patient level MeasureReport resources, one for each patient in this population. */ - patients?: Reference; + patients?: Reference|undefined; } /** * The populations that make up the stratum, one for each type of population appropriate to the measure. @@ -13385,19 +13385,19 @@ export interface MeasureReportGroupStratifierStratumPopulation extends BackboneE /** * The type of the population. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * The number of members of the population in this stratum. */ - count?: number; + count?: number|undefined; /** * The identifier of the population being reported, as defined by the population element of the measure. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * This element refers to a List of patient level MeasureReport resources, one for each patient in this population in this stratum. */ - patients?: Reference; + patients?: Reference|undefined; } /** * This element contains the results for a single stratum within the stratifier. For example, when stratifying on administrative gender, there will be four strata, one for each possible gender value. @@ -13406,16 +13406,16 @@ export interface MeasureReportGroupStratifierStratum extends BackboneElement { /** * The measure score for this stratum, calculated as appropriate for the measure type and scoring method, and based on only the members of this stratum. */ - measureScore?: number; + measureScore?: number|undefined; /** * The populations that make up the stratum, one for each type of population appropriate to the measure. */ - population?: MeasureReportGroupStratifierStratumPopulation[]; + population?: MeasureReportGroupStratifierStratumPopulation[]|undefined; /** * The value for this stratum, expressed as a string. When defining stratifiers on complex values, the value must be rendered such that the value for each stratum within the stratifier is unique. */ value: string; - _value?: Element; + _value?: Element|undefined; } /** * When a measure includes multiple stratifiers, there will be a stratifier group for each stratifier defined by the measure. @@ -13424,11 +13424,11 @@ export interface MeasureReportGroupStratifier extends BackboneElement { /** * The identifier of this stratifier, as defined in the measure definition. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * This element contains the results for a single stratum within the stratifier. For example, when stratifying on administrative gender, there will be four strata, one for each possible gender value. */ - stratum?: MeasureReportGroupStratifierStratum[]; + stratum?: MeasureReportGroupStratifierStratum[]|undefined; } /** * The results of the calculation, one for each population group in the measure. @@ -13441,15 +13441,15 @@ export interface MeasureReportGroup extends BackboneElement { /** * The measure score for this population group, calculated as appropriate for the measure type and scoring method, and based on the contents of the populations defined in the group. */ - measureScore?: number; + measureScore?: number|undefined; /** * The populations that make up the population group, one for each type of population appropriate for the measure. */ - population?: MeasureReportGroupPopulation[]; + population?: MeasureReportGroupPopulation[]|undefined; /** * When a measure includes multiple stratifiers, there will be a stratifier group for each stratifier defined by the measure. */ - stratifier?: MeasureReportGroupStratifier[]; + stratifier?: MeasureReportGroupStratifier[]|undefined; } /** * The MeasureReport resource contains the results of evaluating a measure. @@ -13460,20 +13460,20 @@ export interface MeasureReport extends DomainResource { /** * The date this measure report was generated. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * A reference to a Bundle containing the Resources that were used in the evaluation of this report. */ - evaluatedResources?: Reference; + evaluatedResources?: Reference|undefined; /** * The results of the calculation, one for each population group in the measure. */ - group?: MeasureReportGroup[]; + group?: MeasureReportGroup[]|undefined; /** * Typically, this is used for identifiers that can go in an HL7 v3 II data type - e.g. to identify this {{title}} outside of FHIR, where the logical URL is not possible to use. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * A reference to the Measure that was evaluated to produce this report. */ @@ -13481,7 +13481,7 @@ export interface MeasureReport extends DomainResource { /** * Optional Patient if the report was requested for a single patient. */ - patient?: Reference; + patient?: Reference|undefined; /** * The reporting period for which the report was calculated. */ @@ -13489,17 +13489,17 @@ export interface MeasureReport extends DomainResource { /** * Reporting Organization. */ - reportingOrganization?: Reference; + reportingOrganization?: Reference|undefined; /** * The report status. No data will be available until the report status is complete. */ status: MeasureReportStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ type: MeasureReportTypeCodes; - _type?: Element; + _type?: Element|undefined; } /** * Code Values for the MeasureReport.status field @@ -13526,11 +13526,11 @@ export interface Media extends DomainResource { /** * A procedure that is fulfilled in whole or in part by the creation of this media. */ - basedOn?: Reference[]; + basedOn?: Reference[]|undefined; /** * If the use case requires BodySite to be handled as a separate resource (e.g. to identify and track separately) then use The standard extension[ body-site-instance](extension-body-site-instance.html). */ - bodySite?: CodeableConcept; + bodySite?: CodeableConcept|undefined; /** * Recommended content types: image/jpeg, image/png, image/tiff, video/mpeg, audio/mp4, application/dicom. Application/dicom can contain the transfer syntax as a parameter. For an media that covers a period of time (video/sound), the content.creationTime is the end time. Creation time is used for tracking, organizing versions and searching. */ @@ -13538,69 +13538,69 @@ export interface Media extends DomainResource { /** * This will typically be the encounter the media occurred within. */ - context?: Reference; + context?: Reference|undefined; /** * An extension should be used if further typing of the device is needed. Scondary devices used to support collecting a media can be represented using either extension or through the Observation.related element. */ - device?: Reference; + device?: Reference|undefined; /** * The duration might differ from occurrencePeriod if recording was paused. */ - duration?: number; + duration?: number|undefined; /** * The number of frames in a photo. This is used with a multi-page fax, or an imaging acquisition context that takes multiple slices in a single image, or an animated gif. If there is more than one frame, this SHALL have a value in order to alert interface software that a multi-frame capable rendering widget is required. */ - frames?: number; + frames?: number|undefined; /** * Height of the image in pixels (photo/video). */ - height?: number; + height?: number|undefined; /** * The identifier label and use can be used to determine what kind of identifier it is. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Comments made about the media by the performer, subject or other participants. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * The date and time(s) at which the media was collected. */ - occurrenceDateTime?: string; - _occurrenceDateTime?: Element; + occurrenceDateTime?: string|undefined; + _occurrenceDateTime?: Element|undefined; /** * The date and time(s) at which the media was collected. */ - occurrencePeriod?: Period; + occurrencePeriod?: Period|undefined; /** * The person who administered the collection of the image. */ - operator?: Reference; + operator?: Reference|undefined; /** * Textual reasons can be caprued using reasonCode.text. */ - reasonCode?: CodeableConcept[]; + reasonCode?: CodeableConcept[]|undefined; /** * Who/What this Media is a record of. */ - subject?: Reference; + subject?: Reference|undefined; /** * Details of the type of the media - usually, how it was acquired (what type of device). If images sourced from a DICOM system, are wrapped in a Media resource, then this is the modality. */ - subtype?: CodeableConcept; + subtype?: CodeableConcept|undefined; /** * Whether the media is a photo (still image), an audio recording, or a video recording. */ type: MediaTypeCodes; - _type?: Element; + _type?: Element|undefined; /** * The name of the imaging view e.g. Lateral or Antero-posterior (AP). */ - view?: CodeableConcept; + view?: CodeableConcept|undefined; /** * Width of the image in pixels (photo/video). */ - width?: number; + width?: number|undefined; } /** * Code Values for the Media.type field @@ -13617,20 +13617,20 @@ export interface MedicationIngredient extends BackboneElement { /** * Specifies how many (or how much) of the items there are in this Medication. For example, 250 mg per tablet. This is expressed as a ratio where the numerator is 250mg and the denominator is 1 tablet. */ - amount?: Ratio; + amount?: Ratio|undefined; /** * Indication of whether this ingredient affects the therapeutic action of the drug. */ - isActive?: boolean; - _isActive?: Element; + isActive?: boolean|undefined; + _isActive?: Element|undefined; /** * The actual ingredient - either a substance (simple ingredient) or another medication. */ - itemCodeableConcept?: CodeableConcept; + itemCodeableConcept?: CodeableConcept|undefined; /** * The actual ingredient - either a substance (simple ingredient) or another medication. */ - itemReference?: Reference; + itemReference?: Reference|undefined; } /** * A set of components that go to make up the described item. @@ -13639,15 +13639,15 @@ export interface MedicationPackageContent extends BackboneElement { /** * The amount of the product that is in the package. */ - amount?: Quantity; + amount?: Quantity|undefined; /** * Identifies one of the items in the package. */ - itemCodeableConcept?: CodeableConcept; + itemCodeableConcept?: CodeableConcept|undefined; /** * Identifies one of the items in the package. */ - itemReference?: Reference; + itemReference?: Reference|undefined; } /** * Information about a group of medication produced or packaged from one production run. @@ -13656,13 +13656,13 @@ export interface MedicationPackageBatch extends BackboneElement { /** * When this specific batch of product will expire. */ - expirationDate?: string; - _expirationDate?: Element; + expirationDate?: string|undefined; + _expirationDate?: Element|undefined; /** * The assigned lot number of a batch of the specified product. */ - lotNumber?: string; - _lotNumber?: Element; + lotNumber?: string|undefined; + _lotNumber?: Element|undefined; } /** * Information that only applies to packages (not products). @@ -13671,15 +13671,15 @@ export interface MedicationPackage extends BackboneElement { /** * Information about a group of medication produced or packaged from one production run. */ - batch?: MedicationPackageBatch[]; + batch?: MedicationPackageBatch[]|undefined; /** * The kind of container that this package comes as. */ - container?: CodeableConcept; + container?: CodeableConcept|undefined; /** * A set of components that go to make up the described item. */ - content?: MedicationPackageContent[]; + content?: MedicationPackageContent[]|undefined; } /** * This resource is primarily used for the identification and definition of a medication. It covers the ingredients and the packaging for a medication. @@ -13690,42 +13690,42 @@ export interface Medication extends DomainResource { /** * Depending on the context of use, the code that was actually selected by the user (prescriber, dispenser, etc.) will have the coding.userSelected set to true. As described in the coding datatype: "A coding may be marked as a "userSelected" if a user selected the particular coded value in a user interface (e.g. the user selects an item in a pick-list). If a user selected coding exists, it is the preferred choice for performing translations etc. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * When Medication is referenced from MedicationRequest, this is the ordered form. When Medication is referenced within MedicationDispense, this is the dispensed form. When Medication is referenced within MedicationAdministration, this is administered form. */ - form?: CodeableConcept; + form?: CodeableConcept|undefined; /** * Photo(s) or graphic representation(s) of the medication. */ - image?: Attachment[]; + image?: Attachment[]|undefined; /** * The ingredients need not be a complete list. If an ingredient is not specified, this does not indicate whether an ingredient is present or absent. If an ingredient is specified it does not mean that all ingredients are specified. It is possible to specify both inactive and active ingredients. */ - ingredient?: MedicationIngredient[]; + ingredient?: MedicationIngredient[]|undefined; /** * Set to true if the item is attributable to a specific manufacturer. */ - isBrand?: boolean; - _isBrand?: Element; + isBrand?: boolean|undefined; + _isBrand?: Element|undefined; /** * Set to true if the medication can be obtained without an order from a prescriber. */ - isOverTheCounter?: boolean; - _isOverTheCounter?: Element; + isOverTheCounter?: boolean|undefined; + _isOverTheCounter?: Element|undefined; /** * Describes the details of the manufacturer of the medication product. This is not intended to represent the distributor of a medication product. */ - manufacturer?: Reference; + manufacturer?: Reference|undefined; /** * Information that only applies to packages (not products). */ - package?: MedicationPackage; + package?: MedicationPackage|undefined; /** * This status is not intended to specify if a medication is part of a formulary. */ - status?: MedicationStatusCodes; - _status?: Element; + status?: MedicationStatusCodes|undefined; + _status?: Element|undefined; } /** * Code Values for the Medication.status field @@ -13746,7 +13746,7 @@ export interface MedicationAdministrationPerformer extends BackboneElement { /** * The organization the device or practitioner was acting on behalf of. */ - onBehalfOf?: Reference; + onBehalfOf?: Reference|undefined; } /** * Describes the medication dosage information details e.g. dose, rate, site, route, etc. @@ -13755,33 +13755,33 @@ export interface MedicationAdministrationDosage extends BackboneElement { /** * If the administration is not instantaneous (rate is present), this can be specified to convey the total amount administered over period of time of a single administration. */ - dose?: Quantity; + dose?: Quantity|undefined; /** * One of the reasons this attribute is not used often, is that the method is often pre-coordinated with the route and/or form of administration. This means the codes used in route or form may pre-coordinate the method in the route code or the form code. The implementation decision about what coding system to use for route or form code will determine how frequently the method code will be populated e.g. if route or form code pre-coordinate method code, then this attribute will not be populated often; if there is no pre-coordination then method code may be used frequently. */ - method?: CodeableConcept; + method?: CodeableConcept|undefined; /** * If the rate changes over time, and you want to capture this in MedicationAdministration, then each change should be captured as a distinct MedicationAdministration, with a specific MedicationAdministration.dosage.rate, and the date time when the rate change occurred. Typically, the MedicationAdministration.dosage.rate element is not used to convey an average rate. */ - rateRatio?: Ratio; + rateRatio?: Ratio|undefined; /** * If the rate changes over time, and you want to capture this in MedicationAdministration, then each change should be captured as a distinct MedicationAdministration, with a specific MedicationAdministration.dosage.rate, and the date time when the rate change occurred. Typically, the MedicationAdministration.dosage.rate element is not used to convey an average rate. */ - rateQuantity?: Quantity; + rateQuantity?: Quantity|undefined; /** * A code specifying the route or physiological path of administration of a therapeutic agent into or onto the patient. For example, topical, intravenous, etc. */ - route?: CodeableConcept; + route?: CodeableConcept|undefined; /** * If the use case requires attributes from the BodySite resource (e.g. to identify and track separately) then use the standard extension [body-site-instance](extension-body-site-instance.html). May be a summary code, or a reference to a very precise definition of the location, or both. */ - site?: CodeableConcept; + site?: CodeableConcept|undefined; /** * Free text dosage can be used for cases where the dosage administered is too complex to code. When coded dosage is present, the free text dosage may still be present for display to humans. * The dosage instructions should reflect the dosage of the medication that was administered. */ - text?: string; - _text?: Element; + text?: string|undefined; + _text?: Element|undefined; } /** * Describes the event of a patient consuming or otherwise being administered a medication. This may be as simple as swallowing a tablet or it may be a long running infusion. Related resources tie this event to the authorizing prescription, and the specific encounter between patient and health care practitioner. @@ -13792,86 +13792,86 @@ export interface MedicationAdministration extends DomainResource { /** * Indicates the type of medication administration and where the medication is expected to be consumed or administered. */ - category?: CodeableConcept; + category?: CodeableConcept|undefined; /** * The visit, admission or other contact between patient and health care provider the medication administration was performed as part of. */ - context?: Reference; + context?: Reference|undefined; /** * A protocol, guideline, orderset or other definition that was adhered to in whole or in part by this event. */ - definition?: Reference[]; + definition?: Reference[]|undefined; /** * The device used in administering the medication to the patient. For example, a particular infusion pump. */ - device?: Reference[]; + device?: Reference[]|undefined; /** * Describes the medication dosage information details e.g. dose, rate, site, route, etc. */ - dosage?: MedicationAdministrationDosage; + dosage?: MedicationAdministrationDosage|undefined; /** * A specific date/time or interval of time during which the administration took place (or did not take place, when the 'notGiven' attribute is true). For many administrations, such as swallowing a tablet the use of dateTime is more appropriate. */ - effectiveDateTime?: string; - _effectiveDateTime?: Element; + effectiveDateTime?: string|undefined; + _effectiveDateTime?: Element|undefined; /** * A specific date/time or interval of time during which the administration took place (or did not take place, when the 'notGiven' attribute is true). For many administrations, such as swallowing a tablet the use of dateTime is more appropriate. */ - effectivePeriod?: Period; + effectivePeriod?: Period|undefined; /** * This may not include provenances for all versions of the request – only those deemed “relevant” or important. This SHALL NOT include the Provenance associated with this current version of the resource. (If that provenance is deemed to be a “relevant” change, it will need to be added as part of a later update. Until then, it can be queried directly as the Provenance that points to this version using _revinclude All Provenances should have some historical version of this Request as their subject. */ - eventHistory?: Reference[]; + eventHistory?: Reference[]|undefined; /** * External identifier - FHIR will generate its own internal identifiers (probably URLs) which do not need to be explicitly managed by the resource. The identifier here is one that would be used by another non-FHIR system - for example an automated medication pump would provide a record each time it operated; an administration while the patient was off the ward might be made with a different system and entered after the event. Particularly important if these records have to be updated. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * If only a code is specified, then it needs to be a code for a specific product. If more information is required, then the use of the medication resource is recommended.  For example if you require form or lot number, then you must reference the Medication resource. . */ - medicationCodeableConcept?: CodeableConcept; + medicationCodeableConcept?: CodeableConcept|undefined; /** * If only a code is specified, then it needs to be a code for a specific product. If more information is required, then the use of the medication resource is recommended.  For example if you require form or lot number, then you must reference the Medication resource. . */ - medicationReference?: Reference; + medicationReference?: Reference|undefined; /** * Extra information about the medication administration that is not conveyed by the other attributes. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * This element is labeled as a modifier because it indicates that a administration didn't happen. */ - notGiven?: boolean; - _notGiven?: Element; + notGiven?: boolean|undefined; + _notGiven?: Element|undefined; /** * A larger event of which this particular event is a component or step. */ - partOf?: Reference[]; + partOf?: Reference[]|undefined; /** * The individual who was responsible for giving the medication to the patient. */ - performer?: MedicationAdministrationPerformer[]; + performer?: MedicationAdministrationPerformer[]|undefined; /** * The original request, instruction or authority to perform the administration. */ - prescription?: Reference; + prescription?: Reference|undefined; /** * A code indicating why the medication was given. */ - reasonCode?: CodeableConcept[]; + reasonCode?: CodeableConcept[]|undefined; /** * A code indicating why the administration was not performed. */ - reasonNotGiven?: CodeableConcept[]; + reasonNotGiven?: CodeableConcept[]|undefined; /** * This is a reference to a condition that is the reason for the medication request. If only a code exists, use reasonCode. */ - reasonReference?: Reference[]; + reasonReference?: Reference[]|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: MedicationAdministrationStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * The person or animal or group receiving the medication. */ @@ -13879,7 +13879,7 @@ export interface MedicationAdministration extends DomainResource { /** * Additional information (for example, patient height and weight) that supports the administration of the medication. */ - supportingInformation?: Reference[]; + supportingInformation?: Reference[]|undefined; } /** * Code Values for the MedicationAdministration.status field @@ -13903,7 +13903,7 @@ export interface MedicationDispensePerformer extends BackboneElement { /** * The organization the device or practitioner was acting on behalf of. */ - onBehalfOf?: Reference; + onBehalfOf?: Reference|undefined; } /** * Indicates whether or not substitution was made as part of the dispense. In some cases substitution will be expected but does not happen, in other cases substitution is not expected but does happen. This block explains what substitution did or did not happen and why. If nothing is specified, substitution was not done. @@ -13912,20 +13912,20 @@ export interface MedicationDispenseSubstitution extends BackboneElement { /** * Indicates the reason for the substitution of (or lack of substitution) from what was prescribed. */ - reason?: CodeableConcept[]; + reason?: CodeableConcept[]|undefined; /** * The person or organization that has primary responsibility for the substitution. */ - responsibleParty?: Reference[]; + responsibleParty?: Reference[]|undefined; /** * A code signifying whether a different drug was dispensed from what was prescribed. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; /** * True if the dispenser dispensed a different drug or product from what was prescribed. */ wasSubstituted: boolean; - _wasSubstituted?: Element; + _wasSubstituted?: Element|undefined; } /** * Indicates that a medication product is to be or has been dispensed for a named person/patient. This includes a description of the medication product (supply) provided and the instructions for administering the medication. The medication dispense is the result of a pharmacy system responding to a medication order. @@ -13936,112 +13936,112 @@ export interface MedicationDispense extends DomainResource { /** * Maps to basedOn in Event logical model. */ - authorizingPrescription?: Reference[]; + authorizingPrescription?: Reference[]|undefined; /** * Indicates type of medication dispense and where the medication is expected to be consumed or administered. */ - category?: CodeableConcept; + category?: CodeableConcept|undefined; /** * The encounter or episode of care that establishes the context for this event. */ - context?: Reference; + context?: Reference|undefined; /** * The amount of medication expressed as a timing amount. */ - daysSupply?: Quantity; + daysSupply?: Quantity|undefined; /** * Identification of the facility/location where the medication was shipped to, as part of the dispense event. */ - destination?: Reference; + destination?: Reference|undefined; /** * Indicates an actual or potential clinical issue with or between one or more active or proposed clinical actions for a patient; e.g. Drug-drug interaction, duplicate therapy, dosage alert etc. */ - detectedIssue?: Reference[]; + detectedIssue?: Reference[]|undefined; /** * When the dose or rate is intended to change over the entire administration period (e.g. Tapering dose prescriptions), multiple instances of dosage instructions will need to be supplied to convey the different doses/rates. * The pharmacist reviews the medication order prior to dispense and updates the dosageInstruction based on the actual product being dispensed. */ - dosageInstruction?: Dosage[]; + dosageInstruction?: Dosage[]|undefined; /** * This may not include provenances for all versions of the request – only those deemed “relevant” or important. This SHALL NOT include the Provenance associated with this current version of the resource. (If that provenance is deemed to be a “relevant” change, it will need to be added as part of a later update. Until then, it can be queried directly as the Provenance that points to this version using _revinclude All Provenances should have some historical version of this Request as their subject.). */ - eventHistory?: Reference[]; + eventHistory?: Reference[]|undefined; /** * Identifier assigned by the dispensing facility - this is an identifier assigned outside FHIR. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * If only a code is specified, then it needs to be a code for a specific product. If more information is required, then the use of the medication resource is recommended.  For example if you require form or lot number, then you must reference the Medication resource. . */ - medicationCodeableConcept?: CodeableConcept; + medicationCodeableConcept?: CodeableConcept|undefined; /** * If only a code is specified, then it needs to be a code for a specific product. If more information is required, then the use of the medication resource is recommended.  For example if you require form or lot number, then you must reference the Medication resource. . */ - medicationReference?: Reference; + medicationReference?: Reference|undefined; /** * True if the dispense was not performed for some reason. */ - notDone?: boolean; - _notDone?: Element; + notDone?: boolean|undefined; + _notDone?: Element|undefined; /** * Indicates the reason why a dispense was not performed. */ - notDoneReasonCodeableConcept?: CodeableConcept; + notDoneReasonCodeableConcept?: CodeableConcept|undefined; /** * Indicates the reason why a dispense was not performed. */ - notDoneReasonReference?: Reference; + notDoneReasonReference?: Reference|undefined; /** * Extra information about the dispense that could not be conveyed in the other attributes. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * The procedure that the dispense is done because of. */ - partOf?: Reference[]; + partOf?: Reference[]|undefined; /** * The performer will be reviewed as part of STU4. */ - performer?: MedicationDispensePerformer[]; + performer?: MedicationDispensePerformer[]|undefined; /** * The amount of medication that has been dispensed. Includes unit of measure. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * Identifies the person who picked up the medication. This will usually be a patient or their caregiver, but some cases exist where it can be a healthcare professional. */ - receiver?: Reference[]; + receiver?: Reference[]|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ - status?: MedicationDispenseStatusCodes; - _status?: Element; + status?: MedicationDispenseStatusCodes|undefined; + _status?: Element|undefined; /** * SubstanceAdministration->subject->Patient. */ - subject?: Reference; + subject?: Reference|undefined; /** * Indicates whether or not substitution was made as part of the dispense. In some cases substitution will be expected but does not happen, in other cases substitution is not expected but does happen. This block explains what substitution did or did not happen and why. If nothing is specified, substitution was not done. */ - substitution?: MedicationDispenseSubstitution; + substitution?: MedicationDispenseSubstitution|undefined; /** * Additional information that supports the medication being dispensed. */ - supportingInformation?: Reference[]; + supportingInformation?: Reference[]|undefined; /** * Indicates the type of dispensing event that is performed. For example, Trial Fill, Completion of Trial, Partial Fill, Emergency Fill, Samples, etc. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; /** * The time the dispensed product was provided to the patient or their representative. */ - whenHandedOver?: string; - _whenHandedOver?: Element; + whenHandedOver?: string|undefined; + _whenHandedOver?: Element|undefined; /** * The time when the dispensed product was packaged and reviewed. */ - whenPrepared?: string; - _whenPrepared?: Element; + whenPrepared?: string|undefined; + _whenPrepared?: Element|undefined; } /** * Code Values for the MedicationDispense.status field @@ -14065,7 +14065,7 @@ export interface MedicationRequestRequester extends BackboneElement { /** * The organization the device or practitioner was acting on behalf of. */ - onBehalfOf?: Reference; + onBehalfOf?: Reference|undefined; } /** * Indicates the specific details for the dispense or medication supply part of a medication request (also known as a Medication Prescription or Medication Order). Note that this information is not always sent with the order. There may be in some settings (e.g. hospitals) institutional or system support for completing the dispense details in the pharmacy department. @@ -14074,23 +14074,23 @@ export interface MedicationRequestDispenseRequest extends BackboneElement { /** * In some situations, this attribute may be used instead of quantity to identify the amount supplied by how long it is expected to last, rather than the physical quantity issued, e.g. 90 days supply of medication (based on an ordered dosage) When possible, it is always better to specify quantity, as this tends to be more precise. expectedSupplyDuration will always be an estimate that can be influenced by external factors. */ - expectedSupplyDuration?: Duration; + expectedSupplyDuration?: Duration|undefined; /** * If displaying "number of authorized fills", add 1 to this number. */ - numberOfRepeatsAllowed?: number; + numberOfRepeatsAllowed?: number|undefined; /** * Indicates the intended dispensing Organization specified by the prescriber. */ - performer?: Reference; + performer?: Reference|undefined; /** * The amount that is to be dispensed for one fill. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * It reflects the prescribers' perspective for the validity of the prescription. Dispenses must not be made against the prescription outside of this period. The lower-bound of the Dispensing Window signifies the earliest date that the prescription can be filled for the first time. If an upper-bound is not specified then the Prescription is open-ended or will default to a stale-date based on regulations. */ - validityPeriod?: Period; + validityPeriod?: Period|undefined; } /** * Indicates whether or not substitution can or should be part of the dispense. In some cases substitution must happen, in other cases substitution must not happen. This block explains the prescriber's intent. If nothing is specified substitution may be done. @@ -14100,11 +14100,11 @@ export interface MedicationRequestSubstitution extends BackboneElement { * This element is labeled as a modifer because whether substitution is allow or not cannot be ignored. */ allowed: boolean; - _allowed?: Element; + _allowed?: Element|undefined; /** * Indicates the reason for the substitution, or why substitution must or must not be performed. */ - reason?: CodeableConcept; + reason?: CodeableConcept|undefined; } /** * An order or request for both supply of the medication and the instructions for administration of the medication to a patient. The resource is called "MedicationRequest" rather than "MedicationPrescription" or "MedicationOrder" to generalize the use across inpatient and outpatient settings, including care plans, etc., and to harmonize with workflow patterns. @@ -14115,97 +14115,97 @@ export interface MedicationRequest extends DomainResource { /** * The date (and perhaps time) when the prescription was initially written or authored on. */ - authoredOn?: string; - _authoredOn?: Element; + authoredOn?: string|undefined; + _authoredOn?: Element|undefined; /** * A plan or request that is fulfilled in whole or in part by this medication request. */ - basedOn?: Reference[]; + basedOn?: Reference[]|undefined; /** * Indicates the type of medication order and where the medication is expected to be consumed or administered. */ - category?: CodeableConcept; + category?: CodeableConcept|undefined; /** * SubstanceAdministration->component->EncounterEvent. */ - context?: Reference; + context?: Reference|undefined; /** * Protocol or definition followed by this request. */ - definition?: Reference[]; + definition?: Reference[]|undefined; /** * Indicates an actual or potential clinical issue with or between one or more active or proposed clinical actions for a patient; e.g. Drug-drug interaction, duplicate therapy, dosage alert etc. */ - detectedIssue?: Reference[]; + detectedIssue?: Reference[]|undefined; /** * Indicates the specific details for the dispense or medication supply part of a medication request (also known as a Medication Prescription or Medication Order). Note that this information is not always sent with the order. There may be in some settings (e.g. hospitals) institutional or system support for completing the dispense details in the pharmacy department. */ - dispenseRequest?: MedicationRequestDispenseRequest; + dispenseRequest?: MedicationRequestDispenseRequest|undefined; /** * There are examples where a medication request may include the option of an oral dose or an Intravenous or Intramuscular dose. For example, "Ondansetron 8mg orally or IV twice a day as needed for nausea" or "Compazine® (prochlorperazine) 5-10mg PO or 25mg PR bid prn nausea or vomiting". In these cases, two medication requests would be created that could be grouped together. The decision on which dose and route of administration to use is based on the patient's condition at the time the dose is needed. */ - dosageInstruction?: Dosage[]; + dosageInstruction?: Dosage[]|undefined; /** * This may not include provenances for all versions of the request – only those deemed “relevant” or important. This SHALL NOT include the Provenance associated with this current version of the resource. (If that provenance is deemed to be a “relevant” change, it will need to be added as part of a later update. Until then, it can be queried directly as the Provenance that points to this version using _revinclude All Provenances should have some historical version of this Request as their subject.). */ - eventHistory?: Reference[]; + eventHistory?: Reference[]|undefined; /** * A shared identifier common to all requests that were authorized more or less simultaneously by a single author, representing the identifier of the requisition or prescription. */ - groupIdentifier?: Identifier; + groupIdentifier?: Identifier|undefined; /** * This records identifiers associated with this medication request that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate. For example a re-imbursement system might issue its own id for each prescription that is created. This is particularly important where FHIR only provides part of an entire workflow process where records must be tracked through an entire system. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * It is expected that the type of requester will be restricted for different stages of a MedicationRequest. For example, Proposals can be created by a patient, relatedPerson, Practitioner or Device. Plans can be created by Practitioners, Patients, RelatedPersons and Devices. Original orders can be created by a Practitioner only. * An instance-order is an instantiation of a request or order and may be used to populate Medication Administration Record. * This element is labeled as a modifier because the intent alters when and how the resource is actually applicable. */ intent: MedicationRequestIntentCodes; - _intent?: Element; + _intent?: Element|undefined; /** * If only a code is specified, then it needs to be a code for a specific product. If more information is required, then the use of the medication resource is recommended.  For example, if you require form or lot number or if the medication is compounded or extemporaneously prepared, then you must reference the Medication resource. . */ - medicationCodeableConcept?: CodeableConcept; + medicationCodeableConcept?: CodeableConcept|undefined; /** * If only a code is specified, then it needs to be a code for a specific product. If more information is required, then the use of the medication resource is recommended.  For example, if you require form or lot number or if the medication is compounded or extemporaneously prepared, then you must reference the Medication resource. . */ - medicationReference?: Reference; + medicationReference?: Reference|undefined; /** * Extra information about the prescription that could not be conveyed by the other attributes. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * Indicates how quickly the Medication Request should be addressed with respect to other requests. */ - priority?: MedicationRequestPriorityCodes; - _priority?: Element; + priority?: MedicationRequestPriorityCodes|undefined; + _priority?: Element|undefined; /** * A link to a resource representing an earlier order related order or prescription. */ - priorPrescription?: Reference; + priorPrescription?: Reference|undefined; /** * This could be a diagnosis code. If a full condition record exists or additional detail is needed, use reasonReference. */ - reasonCode?: CodeableConcept[]; + reasonCode?: CodeableConcept[]|undefined; /** * This is a reference to a condition or observation that is the reason for the medication order. If only a code exists, use reasonCode. */ - reasonReference?: Reference[]; + reasonReference?: Reference[]|undefined; /** * The person who entered the order on behalf of another individual for example in the case of a verbal or a telephone order. */ - recorder?: Reference; + recorder?: Reference|undefined; /** * The individual, organization or device that initiated the request and has responsibility for its activation. */ - requester?: MedicationRequestRequester; + requester?: MedicationRequestRequester|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ - status?: MedicationRequestStatusCodes; - _status?: Element; + status?: MedicationRequestStatusCodes|undefined; + _status?: Element|undefined; /** * The subject on a medication request is mandatory. For the secondary use case where the actual subject is not provided, there still must be an anonymized subject specified. */ @@ -14213,11 +14213,11 @@ export interface MedicationRequest extends DomainResource { /** * Indicates whether or not substitution can or should be part of the dispense. In some cases substitution must happen, in other cases substitution must not happen. This block explains the prescriber's intent. If nothing is specified substitution may be done. */ - substitution?: MedicationRequestSubstitution; + substitution?: MedicationRequestSubstitution|undefined; /** * Include additional information (for example, patient height and weight) that supports the ordering of the medication. */ - supportingInformation?: Reference[]; + supportingInformation?: Reference[]|undefined; } /** * Code Values for the MedicationRequest.intent field @@ -14260,79 +14260,79 @@ export interface MedicationStatement extends DomainResource { /** * A plan, proposal or order that is fulfilled in whole or in part by this event. */ - basedOn?: Reference[]; + basedOn?: Reference[]|undefined; /** * Indicates where type of medication statement and where the medication is expected to be consumed or administered. */ - category?: CodeableConcept; + category?: CodeableConcept|undefined; /** * The encounter or episode of care that establishes the context for this MedicationStatement. */ - context?: Reference; + context?: Reference|undefined; /** * The date when the medication statement was asserted by the information source. */ - dateAsserted?: string; - _dateAsserted?: Element; + dateAsserted?: string|undefined; + _dateAsserted?: Element|undefined; /** * Likely references would be to MedicationRequest, MedicationDispense, Claim, Observation or QuestionnaireAnswers. The most common use cases for deriving a MedicationStatement comes from creating a MedicationStatement from a MedicationRequest or from a lab observation or a claim. it should be noted that the amount of information that is available varies from the type resource that you derive the MedicationStatement from. */ - derivedFrom?: Reference[]; + derivedFrom?: Reference[]|undefined; /** * The dates included in the dosage on a Medication Statement reflect the dates for a given dose. For example, "from November 1, 2016 to November 3, 2016, take one tablet daily and from November 4, 2016 to November 7, 2016, take two tablets daily." It is expected that this specificity may only be populated where the patient brings in their labeled container or where the Medication Statement is derived from a MedicationRequest. */ - dosage?: Dosage[]; + dosage?: Dosage[]|undefined; /** * This attribute reflects the period over which the patient consumed the medication and is expected to be populated on the majority of Medication Statements. If the medication is still being taken at the time the statement is recorded, the "end" date will be omitted. */ - effectiveDateTime?: string; - _effectiveDateTime?: Element; + effectiveDateTime?: string|undefined; + _effectiveDateTime?: Element|undefined; /** * This attribute reflects the period over which the patient consumed the medication and is expected to be populated on the majority of Medication Statements. If the medication is still being taken at the time the statement is recorded, the "end" date will be omitted. */ - effectivePeriod?: Period; + effectivePeriod?: Period|undefined; /** * External identifier - FHIR will generate its own internal identifiers (probably URLs) which do not need to be explicitly managed by the resource. The identifier here is one that would be used by another non-FHIR system - for example an automated medication pump would provide a record each time it operated; an administration while the patient was off the ward might be made with a different system and entered after the event. Particularly important if these records have to be updated. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The person or organization that provided the information about the taking of this medication. Note: Use derivedFrom when a MedicationStatement is derived from other resources, e.g Claim or MedicationRequest. */ - informationSource?: Reference; + informationSource?: Reference|undefined; /** * If only a code is specified, then it needs to be a code for a specific product. If more information is required, then the use of the medication resource is recommended.  For example if you require form or lot number, then you must reference the Medication resource. . */ - medicationCodeableConcept?: CodeableConcept; + medicationCodeableConcept?: CodeableConcept|undefined; /** * If only a code is specified, then it needs to be a code for a specific product. If more information is required, then the use of the medication resource is recommended.  For example if you require form or lot number, then you must reference the Medication resource. . */ - medicationReference?: Reference; + medicationReference?: Reference|undefined; /** * Provides extra information about the medication statement that is not conveyed by the other attributes. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * A larger event of which this particular event is a component or step. */ - partOf?: Reference[]; + partOf?: Reference[]|undefined; /** * This could be a diagnosis code. If a full condition record exists or additional detail is needed, use reasonForUseReference. */ - reasonCode?: CodeableConcept[]; + reasonCode?: CodeableConcept[]|undefined; /** * A code indicating why the medication was not taken. */ - reasonNotTaken?: CodeableConcept[]; + reasonNotTaken?: CodeableConcept[]|undefined; /** * This is a reference to a condition that is the reason why the medication is being/was taken. If only a code exists, use reasonForUseCode. */ - reasonReference?: Reference[]; + reasonReference?: Reference[]|undefined; /** * MedicationStatement is a statement at a point in time. The status is only representative at the point when it was asserted. The value set for MedicationStatement.status contains codes that assert the status of the use of the medication by the patient (for example, stopped or on hold) as well as codes that assert the status of the medication statement itself (for example, entered in error). * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: MedicationStatementStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * The person, animal or group who is/was taking the medication. */ @@ -14341,7 +14341,7 @@ export interface MedicationStatement extends DomainResource { * This element is labeled as a modifier because it indicates that the medication was not taken. */ taken: MedicationStatementTakenCodes; - _taken?: Element; + _taken?: Element|undefined; } /** * Code Values for the MedicationStatement.status field @@ -14371,20 +14371,20 @@ export interface MessageDefinitionFocus extends BackboneElement { * Multiple focuses addressing different resources may occasionally occur. E.g. to link or unlink a resource from a particular account or encounter, etc. */ code: string; - _code?: Element; + _code?: Element|undefined; /** * Identifies the maximum number of resources of this type that must be pointed to by a message in order for it to be valid against this MessageDefinition. */ - max?: string; - _max?: Element; + max?: string|undefined; + _max?: Element|undefined; /** * Identifies the minimum number of resources of this type that must be pointed to by a message in order for it to be valid against this MessageDefinition. */ - min?: number; + min?: number|undefined; /** * This should be present for most message definitions. However, if the message focus is only a single resource and there is no need to include referenced resources or otherwise enforce the presence of particular elements, it can be omitted. */ - profile?: Reference; + profile?: Reference|undefined; } /** * This indicates an application level response to "close" a transaction implicit in a particular request message. To define a complete workflow scenario, look to the [[PlanDefinition]] resource which allows the definition of complex orchestrations, conditionality, etc. @@ -14397,8 +14397,8 @@ export interface MessageDefinitionAllowedResponse extends BackboneElement { /** * Provides a description of the circumstances in which this response should be used (as opposed to one of the alternative responses). */ - situation?: string; - _situation?: Element; + situation?: string|undefined; + _situation?: Element|undefined; } /** * Defines the characteristics of a message that can be shared between systems, including the type of event that initiates the message, the content to be transmitted and what response(s), if any, are permitted. @@ -14409,35 +14409,35 @@ export interface MessageDefinition extends DomainResource { /** * This indicates an application level response to "close" a transaction implicit in a particular request message. To define a complete workflow scenario, look to the [[PlanDefinition]] resource which allows the definition of complex orchestrations, conditionality, etc. */ - allowedResponse?: MessageDefinitionAllowedResponse[]; + allowedResponse?: MessageDefinitionAllowedResponse[]|undefined; /** * The MessageDefinition that is the basis for the contents of this resource. */ - base?: Reference; + base?: Reference|undefined; /** * The impact of the content of the message. */ - category?: MessageDefinitionCategoryCodes; - _category?: Element; + category?: MessageDefinitionCategoryCodes|undefined; + _category?: Element|undefined; /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * A copyright statement relating to the message definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the message definition. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the message definition. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ date: string; - _date?: Element; + _date?: Element|undefined; /** * This description can be used to capture details such as why the message definition was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the message definition as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * A coded identifier of a supported messaging event. */ @@ -14445,73 +14445,73 @@ export interface MessageDefinition extends DomainResource { /** * Allows filtering of message definition that are appropriate for use vs. not. This is labeled as "Is Modifier" because applications should not use an experimental message definition in production. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * Identifies the resource (or resources) that are being addressed by the event. For example, the Encounter for an admit message or two Account records for a merge. */ - focus?: MessageDefinitionFocus[]; + focus?: MessageDefinitionFocus[]|undefined; /** * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, e.g., to identify this message definition outside of FHIR, where it is not possible to use the logical URI. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * It may be possible for the message definition to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Identifies a protocol or workflow that this MessageDefinition represents a step in. */ - parent?: Reference[]; + parent?: Reference[]|undefined; /** * Usually an organization, but may be an individual. The publisher (or steward) of the message definition is the organization or individual primarily responsible for the maintenance and upkeep of the message definition. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the message definition. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * This element does not describe the usage of the message definition Instead it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this message definition. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * A MessageDefinition that is superseded by this definition. */ - replaces?: Reference[]; + replaces?: Reference[]|undefined; /** * Indicates whether a response is required for this message. */ - responseRequired?: boolean; - _responseRequired?: Element; + responseRequired?: boolean|undefined; + _responseRequired?: Element|undefined; /** * Allows filtering of message definitions that are appropriate for use vs. not. * This is labeled as "Is Modifier" because applications should not use a retired message definition without due consideration. */ status: MessageDefinitionStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred. Multiple instances may share the same url if they have a distinct version. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different message definition instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a refrence to a particular business version of the message definition with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the MessageDefinition.category field @@ -14538,16 +14538,16 @@ export interface MessageHeaderDestination extends BackboneElement { * The id may be a non-resolvable URI for systems that do not use standard network-based addresses. */ endpoint: string; - _endpoint?: Element; + _endpoint?: Element|undefined; /** * Human-readable name for the target system. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Identifies the target end system in situations where the initial message transmission is to an intermediary system. */ - target?: Reference; + target?: Reference|undefined; } /** * The source application from which this message originated. @@ -14556,27 +14556,27 @@ export interface MessageHeaderSource extends BackboneElement { /** * An e-mail, phone, website or other contact point to use to resolve issues with message communications. */ - contact?: ContactPoint; + contact?: ContactPoint|undefined; /** * The id may be a non-resolvable URI for systems that do not use standard network-based addresses. */ endpoint: string; - _endpoint?: Element; + _endpoint?: Element|undefined; /** * Human-readable name for the source system. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * May include configuration or other information useful in debugging. */ - software?: string; - _software?: Element; + software?: string|undefined; + _software?: Element|undefined; /** * Can convey versions of multiple systems in situations where a message passes through multiple hands. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Information about the message that this message is a response to. Only present if this message is a response. @@ -14586,16 +14586,16 @@ export interface MessageHeaderResponse extends BackboneElement { * This is a generic response to the request message. Specific data for the response will be found in MessageHeader.focus. */ code: MessageHeaderResponseCodeCodes; - _code?: Element; + _code?: Element|undefined; /** * This SHALL be contained in the bundle. If any of the issues are errors, the response code SHALL be an error. */ - details?: Reference; + details?: Reference|undefined; /** * The MessageHeader.id of the message to which this message is a response. */ identifier: string; - _identifier?: Element; + _identifier?: Element|undefined; } /** * Code Values for the MessageHeader.response.code field @@ -14614,15 +14614,15 @@ export interface MessageHeader extends DomainResource { /** * Usually only for the request, but can be used in a response. */ - author?: Reference; + author?: Reference|undefined; /** * There SHOULD be at least one destination, but in some circumstances, the source system is unaware of any particular destination system. */ - destination?: MessageHeaderDestination[]; + destination?: MessageHeaderDestination[]|undefined; /** * Usually only for the request, but can be used in a response. */ - enterer?: Reference; + enterer?: Reference|undefined; /** * Code that identifies the event this message represents and connects it with its definition. Events defined as part of the FHIR specification have the system value "http://hl7.org/fhir/message-events". */ @@ -14630,27 +14630,27 @@ export interface MessageHeader extends DomainResource { /** * The data is defined where the transaction type is defined. The transaction data is always included in the bundle that is the full message. Only the root resource is specified. The resources it references should be contained in the bundle but are not also listed here. Multiple repetitions are allowed to cater for merges and other situations with multiple focal targets. */ - focus?: Reference[]; + focus?: Reference[]|undefined; /** * Coded indication of the cause for the event - indicates a reason for the occurrence of the event that is a focus of this message. */ - reason?: CodeableConcept; + reason?: CodeableConcept|undefined; /** * Allows data conveyed by a message to be addressed to a particular person or department when routing to a specific application isn't sufficient. */ - receiver?: Reference; + receiver?: Reference|undefined; /** * Information about the message that this message is a response to. Only present if this message is a response. */ - response?: MessageHeaderResponse; + response?: MessageHeaderResponse|undefined; /** * Usually only for the request, but can be used in a response. */ - responsible?: Reference; + responsible?: Reference|undefined; /** * Use case is for where a (trusted) sending system is responsible for multiple organizations, and therefore cannot differentiate based on source endpoint / authentication alone. */ - sender?: Reference; + sender?: Reference|undefined; /** * The source application from which this message originated. */ @@ -14659,7 +14659,7 @@ export interface MessageHeader extends DomainResource { * The time that the message was sent. */ timestamp: string; - _timestamp?: Element; + _timestamp?: Element|undefined; } /** * Multiple identifiers may exist, either due to duplicate registration, regional rules, needs of different communication technologies, etc. @@ -14668,27 +14668,27 @@ export interface NamingSystemUniqueId extends BackboneElement { /** * e.g. "must be used in Germany" or "was initially published in error with this value". */ - comment?: string; - _comment?: Element; + comment?: string|undefined; + _comment?: Element|undefined; /** * Within a registry, a given identifier should only be "active" for a single namespace at a time. (Ideally, an identifier should only ever be associated with a single namespace across all time). */ - period?: Period; + period?: Period|undefined; /** * Indicates whether this identifier is the "preferred" identifier of this type. */ - preferred?: boolean; - _preferred?: Element; + preferred?: boolean|undefined; + _preferred?: Element|undefined; /** * Different identifier types may be used in different types of communications (OIDs for v3, URIs for FHIR, etc.). Other includes RUIDs from v3, standard v2 code name strings, etc. */ type: NamingSystemUniqueIdTypeCodes; - _type?: Element; + _type?: Element|undefined; /** * If the value is a URI intended for use as FHIR system identifier, the URI should not contain "\" or "?" or "," since this makes escaping very difficult. */ value: string; - _value?: Element; + _value?: Element|undefined; } /** * Code Values for the NamingSystem.uniqueId.type field @@ -14708,55 +14708,55 @@ export interface NamingSystem extends DomainResource { /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the naming system. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ date: string; - _date?: Element; + _date?: Element|undefined; /** * This description can be used to capture details such as why the naming system was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the naming system as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * It may be possible for the naming system to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * Indicates the purpose for the naming system - what kinds of things does it make unique? */ kind: NamingSystemKindCodes; - _kind?: Element; + _kind?: Element|undefined; /** * The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly. The"symbolic name" for an OID would be captured as an extension. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * Usually an organization, but may be an individual. The publisher (or steward) of the naming system is the organization or individual primarily responsible for the maintenance and upkeep of the naming system. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the naming system. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * For naming systems that are retired, indicates the naming system that should be used in their place (if any). */ - replacedBy?: Reference; + replacedBy?: Reference|undefined; /** * This is the primary organization. Responsibility for some aspects of a namespace may be delegated. */ - responsible?: string; - _responsible?: Element; + responsible?: string|undefined; + _responsible?: Element|undefined; /** * Allows filtering of naming systems that are appropriate for use vs. not. * This is labeled as "Is Modifier" because applications should not use a retired naming system without due consideration. */ status: NamingSystemStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * This will most commonly be used for identifier namespaces, but categories could potentially be useful for code systems and authorities as well. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; /** * Multiple identifiers may exist, either due to duplicate registration, regional rules, needs of different communication technologies, etc. */ @@ -14764,12 +14764,12 @@ export interface NamingSystem extends DomainResource { /** * Provides guidance on the use of the namespace, including the handling of formatting characters, use of upper vs. lower case, etc. */ - usage?: string; - _usage?: Element; + usage?: string|undefined; + _usage?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; } /** * Code Values for the NamingSystem.kind field @@ -14795,11 +14795,11 @@ export interface NutritionOrderOralDietNutrient extends BackboneElement { /** * The quantity of the specified nutrient to include in diet. */ - amount?: Quantity; + amount?: Quantity|undefined; /** * The nutrient that is being modified such as carbohydrate or sodium. */ - modifier?: CodeableConcept; + modifier?: CodeableConcept|undefined; } /** * Class that describes any texture modifications required for the patient to safely consume various types of solid foods. @@ -14808,11 +14808,11 @@ export interface NutritionOrderOralDietTexture extends BackboneElement { /** * Coupled with the textureModifier; could be (All Foods). */ - foodType?: CodeableConcept; + foodType?: CodeableConcept|undefined; /** * Coupled with the foodType (Meat). */ - modifier?: CodeableConcept; + modifier?: CodeableConcept|undefined; } /** * Diet given orally in contrast to enteral (tube) feeding. @@ -14821,28 +14821,28 @@ export interface NutritionOrderOralDiet extends BackboneElement { /** * The required consistency (e.g. honey-thick, nectar-thick, thin, thickened.) of liquids or fluids served to the patient. */ - fluidConsistencyType?: CodeableConcept[]; + fluidConsistencyType?: CodeableConcept[]|undefined; /** * Free text dosage instructions can be used for cases where the instructions are too complex to code. */ - instruction?: string; - _instruction?: Element; + instruction?: string|undefined; + _instruction?: Element|undefined; /** * Class that defines the quantity and type of nutrient modifications (for example carbohydrate, fiber or sodium) required for the oral diet. */ - nutrient?: NutritionOrderOralDietNutrient[]; + nutrient?: NutritionOrderOralDietNutrient[]|undefined; /** * The time period and frequency at which the diet should be given. The diet should be given for the combination of all schedules if more than one schedule is present. */ - schedule?: Timing[]; + schedule?: Timing[]|undefined; /** * Class that describes any texture modifications required for the patient to safely consume various types of solid foods. */ - texture?: NutritionOrderOralDietTexture[]; + texture?: NutritionOrderOralDietTexture[]|undefined; /** * The kind of diet or dietary restriction such as fiber restricted diet or diabetic diet. */ - type?: CodeableConcept[]; + type?: CodeableConcept[]|undefined; } /** * Oral nutritional products given in order to add further nutritional value to the patient's diet. @@ -14851,25 +14851,25 @@ export interface NutritionOrderSupplement extends BackboneElement { /** * Free text dosage instructions can be used for cases where the instructions are too complex to code. */ - instruction?: string; - _instruction?: Element; + instruction?: string|undefined; + _instruction?: Element|undefined; /** * The product or brand name of the nutritional supplement such as "Acme Protein Shake". */ - productName?: string; - _productName?: Element; + productName?: string|undefined; + _productName?: Element|undefined; /** * The amount of the nutritional supplement to be given. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * The time period and frequency at which the supplement(s) should be given. The supplement should be given for the combination of all schedules if more than one schedule is present. */ - schedule?: Timing[]; + schedule?: Timing[]|undefined; /** * The kind of nutritional supplement product required such as a high protein or pediatric clear liquid supplement. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * See implementation notes below for further discussion on how to order continuous vs bolus enteral feeding using this resource. @@ -14878,19 +14878,19 @@ export interface NutritionOrderEnteralFormulaAdministration extends BackboneElem /** * The volume of formula to provide to the patient per the specified administration schedule. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * Ratio is used when the quantity value in the denominator is not "1", otherwise use Quantity. For example, the Ratio datatype is used for "200 mL/4 hrs" versus the Quantity datatype for "50 mL/hr". */ - rateQuantity?: Quantity; + rateQuantity?: Quantity|undefined; /** * Ratio is used when the quantity value in the denominator is not "1", otherwise use Quantity. For example, the Ratio datatype is used for "200 mL/4 hrs" versus the Quantity datatype for "50 mL/hr". */ - rateRatio?: Ratio; + rateRatio?: Ratio|undefined; /** * The time period and frequency at which the enteral formula should be delivered to the patient. */ - schedule?: Timing; + schedule?: Timing|undefined; } /** * Feeding provided through the gastrointestinal tract via a tube, catheter, or stoma that delivers nutrition distal to the oral cavity. @@ -14899,42 +14899,42 @@ export interface NutritionOrderEnteralFormula extends BackboneElement { /** * The product or brand name of the type of modular component to be added to the formula. */ - additiveProductName?: string; - _additiveProductName?: Element; + additiveProductName?: string|undefined; + _additiveProductName?: Element|undefined; /** * Indicates the type of modular component such as protein, carbohydrate, fat or fiber to be provided in addition to or mixed with the base formula. */ - additiveType?: CodeableConcept; + additiveType?: CodeableConcept|undefined; /** * See implementation notes below for further discussion on how to order continuous vs bolus enteral feeding using this resource. */ - administration?: NutritionOrderEnteralFormulaAdministration[]; + administration?: NutritionOrderEnteralFormulaAdministration[]|undefined; /** * Free text dosage instructions can be used for cases where the instructions are too complex to code. */ - administrationInstruction?: string; - _administrationInstruction?: Element; + administrationInstruction?: string|undefined; + _administrationInstruction?: Element|undefined; /** * The product or brand name of the enteral or infant formula product such as "ACME Adult Standard Formula". */ - baseFormulaProductName?: string; - _baseFormulaProductName?: Element; + baseFormulaProductName?: string|undefined; + _baseFormulaProductName?: Element|undefined; /** * The type of enteral or infant formula such as an adult standard formula with fiber or a soy-based infant formula. */ - baseFormulaType?: CodeableConcept; + baseFormulaType?: CodeableConcept|undefined; /** * The amount of energy (calories) that the formula should provide per specified volume, typically per mL or fluid oz. For example, an infant may require a formula that provides 24 calories per fluid ounce or an adult may require an enteral formula that provides 1.5 calorie/mL. */ - caloricDensity?: Quantity; + caloricDensity?: Quantity|undefined; /** * The maximum total quantity of formula that may be administered to a subject over the period of time, e.g. 1440 mL over 24 hours. */ - maxVolumeToDeliver?: Quantity; + maxVolumeToDeliver?: Quantity|undefined; /** * The route or physiological path of administration into the patient's gastrointestinal tract for purposes of providing the formula feeding, e.g. nasogastric tube. */ - routeofAdministration?: CodeableConcept; + routeofAdministration?: CodeableConcept|undefined; } /** * A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident. @@ -14945,40 +14945,40 @@ export interface NutritionOrder extends DomainResource { /** * Information on a patient's food allergies and intolerances to inform healthcare personnel about the type of foods that the patient shouldn't receive or consume. */ - allergyIntolerance?: Reference[]; + allergyIntolerance?: Reference[]|undefined; /** * The date and time that this nutrition order was requested. */ dateTime: string; - _dateTime?: Element; + _dateTime?: Element|undefined; /** * An encounter that provides additional information about the healthcare context in which this request is made. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * Feeding provided through the gastrointestinal tract via a tube, catheter, or stoma that delivers nutrition distal to the oral cavity. */ - enteralFormula?: NutritionOrderEnteralFormula; + enteralFormula?: NutritionOrderEnteralFormula|undefined; /** * Information on a patient's food allergies, intolerances and preferences to inform healthcare personnel about the type of foods that the patient shouldn't receive or consume. */ - excludeFoodModifier?: CodeableConcept[]; + excludeFoodModifier?: CodeableConcept[]|undefined; /** * Information on a patient's food preferences that inform healthcare personnel about the food that the patient should receive or consume. */ - foodPreferenceModifier?: CodeableConcept[]; + foodPreferenceModifier?: CodeableConcept[]|undefined; /** * The Identifier.type element can be to indicate filler vs. placer if needed. This is explained in further detail [here](procedurerequest.html#notes). */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Diet given orally in contrast to enteral (tube) feeding. */ - oralDiet?: NutritionOrderOralDiet; + oralDiet?: NutritionOrderOralDiet|undefined; /** * The practitioner that holds legal responsibility for ordering the diet, nutritional supplement, or formula feedings. */ - orderer?: Reference; + orderer?: Reference|undefined; /** * The person (patient) who needs the nutrition order for an oral diet, nutritional supplement and/or enteral or formula feeding. */ @@ -14987,12 +14987,12 @@ export interface NutritionOrder extends DomainResource { * Typically the system placing the order sets the status to "requested". Thereafter, the order is maintained by the receiver that updates the status as the request is handled. * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ - status?: NutritionOrderStatusCodes; - _status?: Element; + status?: NutritionOrderStatusCodes|undefined; + _status?: Element|undefined; /** * Oral nutritional products given in order to add further nutritional value to the patient's diet. */ - supplement?: NutritionOrderSupplement[]; + supplement?: NutritionOrderSupplement[]|undefined; } /** * Code Values for the NutritionOrder.status field @@ -15015,28 +15015,28 @@ export interface ObservationReferenceRange extends BackboneElement { /** * The age at which this reference range is applicable. This is a neonatal age (e.g. number of weeks at term) if the meaning says so. */ - age?: Range; + age?: Range|undefined; /** * This SHOULD be populated if there is more than one range. If this element is not present then the normal population is assumed. */ - appliesTo?: CodeableConcept[]; + appliesTo?: CodeableConcept[]|undefined; /** * The value of the high bound of the reference range. The high bound of the reference range endpoint is inclusive of the value (e.g. reference range is >=5 - <=9). If the high bound is omitted, it is assumed to be meaningless (e.g. reference range is >= 2.3). */ - high?: Quantity; + high?: Quantity|undefined; /** * The value of the low bound of the reference range. The low bound of the reference range endpoint is inclusive of the value (e.g. reference range is >=5 - <=9). If the low bound is omitted, it is assumed to be meaningless (e.g. reference range is <=2.3). */ - low?: Quantity; + low?: Quantity|undefined; /** * Text based reference range in an observation which may be used when a quantitative range is not appropriate for an observation. An example would be a reference value of "Negative" or a list or table of 'normals'. */ - text?: string; - _text?: Element; + text?: string|undefined; + _text?: Element|undefined; /** * This SHOULD be populated if there is more than one range. If this element is not present then the normal range is assumed. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * For a discussion on the ways Observations can assembled in groups together see [Notes below](observation.html#4.20.4). @@ -15049,8 +15049,8 @@ export interface ObservationRelated extends BackboneElement { /** * The "derived-from" type is the only logical choice when referencing the QuestionnaireAnswer resource. */ - type?: ObservationRelatedTypeCodes; - _type?: Element; + type?: ObservationRelatedTypeCodes|undefined; + _type?: Element|undefined; } /** * Code Values for the Observation.related.type field @@ -15074,58 +15074,58 @@ export interface ObservationComponent extends BackboneElement { /** * "Null" or exceptional values can be represented two ways in FHIR Observations. One way is to simply include them in the value set and represent the exceptions in the value. For example, measurement values for a serology test could be "detected", "not detected", "inconclusive", or "test not done". The alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values. For example, the dataAbsentReason code "error" could be used when the measurement was not completed. Because of these options, use-case agreements are required to interpret general observations for exceptional values. */ - dataAbsentReason?: CodeableConcept; + dataAbsentReason?: CodeableConcept|undefined; /** * The component interpretation applies only to the individual component value. For an overall interpretation all components together use thes Observation.interpretation element. */ - interpretation?: CodeableConcept; + interpretation?: CodeableConcept|undefined; /** * Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this may not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties. */ - referenceRange?: ObservationReferenceRange[]; + referenceRange?: ObservationReferenceRange[]|undefined; /** * Normally, an observation will have either a single value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For boolean values use valueCodeableConcept and select codes from (these "yes/no" concepts can be mapped to the display name "true/false" or other mutually exclusive terms that may be needed"). The element, Observation.value[x], has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueRatio, valueChoice, valuePeriod, valueSampleData, or valueString (the name format is "'value' + the type name" with a capital on the first letter of the type). */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; /** * Normally, an observation will have either a single value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For boolean values use valueCodeableConcept and select codes from (these "yes/no" concepts can be mapped to the display name "true/false" or other mutually exclusive terms that may be needed"). The element, Observation.value[x], has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueRatio, valueChoice, valuePeriod, valueSampleData, or valueString (the name format is "'value' + the type name" with a capital on the first letter of the type). */ - valueCodeableConcept?: CodeableConcept; + valueCodeableConcept?: CodeableConcept|undefined; /** * Normally, an observation will have either a single value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For boolean values use valueCodeableConcept and select codes from (these "yes/no" concepts can be mapped to the display name "true/false" or other mutually exclusive terms that may be needed"). The element, Observation.value[x], has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueRatio, valueChoice, valuePeriod, valueSampleData, or valueString (the name format is "'value' + the type name" with a capital on the first letter of the type). */ - valueString?: string; - _valueString?: Element; + valueString?: string|undefined; + _valueString?: Element|undefined; /** * Normally, an observation will have either a single value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For boolean values use valueCodeableConcept and select codes from (these "yes/no" concepts can be mapped to the display name "true/false" or other mutually exclusive terms that may be needed"). The element, Observation.value[x], has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueRatio, valueChoice, valuePeriod, valueSampleData, or valueString (the name format is "'value' + the type name" with a capital on the first letter of the type). */ - valueRange?: Range; + valueRange?: Range|undefined; /** * Normally, an observation will have either a single value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For boolean values use valueCodeableConcept and select codes from (these "yes/no" concepts can be mapped to the display name "true/false" or other mutually exclusive terms that may be needed"). The element, Observation.value[x], has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueRatio, valueChoice, valuePeriod, valueSampleData, or valueString (the name format is "'value' + the type name" with a capital on the first letter of the type). */ - valueRatio?: Ratio; + valueRatio?: Ratio|undefined; /** * Normally, an observation will have either a single value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For boolean values use valueCodeableConcept and select codes from (these "yes/no" concepts can be mapped to the display name "true/false" or other mutually exclusive terms that may be needed"). The element, Observation.value[x], has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueRatio, valueChoice, valuePeriod, valueSampleData, or valueString (the name format is "'value' + the type name" with a capital on the first letter of the type). */ - valueSampledData?: SampledData; + valueSampledData?: SampledData|undefined; /** * Normally, an observation will have either a single value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For boolean values use valueCodeableConcept and select codes from (these "yes/no" concepts can be mapped to the display name "true/false" or other mutually exclusive terms that may be needed"). The element, Observation.value[x], has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueRatio, valueChoice, valuePeriod, valueSampleData, or valueString (the name format is "'value' + the type name" with a capital on the first letter of the type). */ - valueAttachment?: Attachment; + valueAttachment?: Attachment|undefined; /** * Normally, an observation will have either a single value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For boolean values use valueCodeableConcept and select codes from (these "yes/no" concepts can be mapped to the display name "true/false" or other mutually exclusive terms that may be needed"). The element, Observation.value[x], has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueRatio, valueChoice, valuePeriod, valueSampleData, or valueString (the name format is "'value' + the type name" with a capital on the first letter of the type). */ - valueTime?: string; - _valueTime?: Element; + valueTime?: string|undefined; + _valueTime?: Element|undefined; /** * Normally, an observation will have either a single value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For boolean values use valueCodeableConcept and select codes from (these "yes/no" concepts can be mapped to the display name "true/false" or other mutually exclusive terms that may be needed"). The element, Observation.value[x], has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueRatio, valueChoice, valuePeriod, valueSampleData, or valueString (the name format is "'value' + the type name" with a capital on the first letter of the type). */ - valueDateTime?: string; - _valueDateTime?: Element; + valueDateTime?: string|undefined; + _valueDateTime?: Element|undefined; /** * Normally, an observation will have either a single value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For boolean values use valueCodeableConcept and select codes from (these "yes/no" concepts can be mapped to the display name "true/false" or other mutually exclusive terms that may be needed"). The element, Observation.value[x], has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueRatio, valueChoice, valuePeriod, valueSampleData, or valueString (the name format is "'value' + the type name" with a capital on the first letter of the type). */ - valuePeriod?: Period; + valuePeriod?: Period|undefined; } /** * Measurements and simple assertions made about a patient, device or other subject. @@ -15136,15 +15136,15 @@ export interface Observation extends DomainResource { /** * A plan, proposal or order that is fulfilled in whole or in part by this event. */ - basedOn?: Reference[]; + basedOn?: Reference[]|undefined; /** * Only used if not implicit in code found in Observation.code. In many systems, this may be represented as a related observation instead of an inline component. If the use case requires BodySite to be handled as a separate resource (e.g. to identify and track separately) then use the standard extension[ body-site-instance](extension-body-site-instance.html). */ - bodySite?: CodeableConcept; + bodySite?: CodeableConcept|undefined; /** * In addition to the required category valueset, this element allows various categorization schemes based on the owner’s definition of the category and effectively multiple categories can be used at once. The level of granularity is defined by the category concepts in the value set. */ - category?: CodeableConcept[]; + category?: CodeableConcept[]|undefined; /** * Describes what was observed. Sometimes this is called the observation "name". */ @@ -15152,146 +15152,146 @@ export interface Observation extends DomainResource { /** * May include statements about significant, unexpected or unreliable values, or information about the source of the value where this may be relevant to the interpretation of the result. */ - comment?: string; - _comment?: Element; + comment?: string|undefined; + _comment?: Element|undefined; /** * For a discussion on the ways Observations can be assembled in groups together see [Notes](observation.html#notes) below. */ - component?: ObservationComponent[]; + component?: ObservationComponent[]|undefined; /** * This will typically be the encounter the event occurred within, but some events may be initiated prior to or after the official completion of an encounter or episode but still be tied to the context of the encounter or episode (e.g. pre-admission lab tests). */ - context?: Reference; + context?: Reference|undefined; /** * Null or exceptional values can be represented two ways in FHIR Observations. One way is to simply include them in the value set and represent the exceptions in the value. For example, measurement values for a serology test could be "detected", "not detected", "inconclusive", or "specimen unsatisfactory". The alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values. For example, the dataAbsentReason code "error" could be used when the measurement was not completed. Note that an observation may only be reported if there are values to report. For example differential cell counts values may be reported only when > 0. Because of these options, use-case agreements are required to interpret general observations for null or exceptional values. */ - dataAbsentReason?: CodeableConcept; + dataAbsentReason?: CodeableConcept|undefined; /** * An extension should be used if further typing of the device is needed. Devices used to support obtaining an observation can be represented using either an extension or through the Observation.related element. */ - device?: Reference; + device?: Reference|undefined; /** * At least a date should be present unless this observation is a historical report. */ - effectiveDateTime?: string; - _effectiveDateTime?: Element; + effectiveDateTime?: string|undefined; + _effectiveDateTime?: Element|undefined; /** * At least a date should be present unless this observation is a historical report. */ - effectivePeriod?: Period; + effectivePeriod?: Period|undefined; /** * A unique identifier assigned to this observation. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The assessment made based on the result of the observation. Intended as a simple compact code often placed adjacent to the result value in reports and flow sheets to signal the meaning/normalcy status of the result. Otherwise known as abnormal flag. */ - interpretation?: CodeableConcept; + interpretation?: CodeableConcept|undefined; /** * Updated when the result is updated. */ - issued?: string; - _issued?: Element; + issued?: string|undefined; + _issued?: Element|undefined; /** * Only used if not implicit in code for Observation.code. */ - method?: CodeableConcept; + method?: CodeableConcept|undefined; /** * Who was responsible for asserting the observed value as "true". */ - performer?: Reference[]; + performer?: Reference[]|undefined; /** * Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this may not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties. */ - referenceRange?: ObservationReferenceRange[]; + referenceRange?: ObservationReferenceRange[]|undefined; /** * For a discussion on the ways Observations can assembled in groups together see [Notes below](observation.html#4.20.4). */ - related?: ObservationRelated[]; + related?: ObservationRelated[]|undefined; /** * Should only be used if not implicit in code found in `Observation.code`. Observations are not made on specimens themselves; they are made on a subject, but in many cases by the means of a specimen. Note that although specimens are often involved, they are not always tracked and reported explicitly. Also note that observation resources may be used in contexts that track the specimen explicitly (e.g. Diagnostic Report). */ - specimen?: Reference; + specimen?: Reference|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: ObservationStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * One would expect this element to be a cardinality of 1..1. The only circumstance in which the subject can be missing is when the observation is made by a device that does not know the patient. In this case, the observation SHALL be matched to a patient through some context/channel matching technique, and at this point, the observation should be updated. * If the target of the observation is different than the subject, the general extension [observation-focal-subject](extension-observation-focal-subject.html). may be used. However, the distinction between the patient's own value for an observation versus that of the fetus, or the donor or blood product unit, etc., are often specified in the observation code. */ - subject?: Reference; + subject?: Reference|undefined; /** * Normally, an observation will have either a single value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. This element has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueString, valueBoolean, valueRange, valueRatio, valueSampledData, valueAttachment, valueTime, valueDateTime, or valuePeriod. (The name format is "'value' + the type name" with a capital on the first letter of the type). * * If the data element is usually coded or if the type associated with the Observation.value defines a coded value, use CodeableConcept instead of string datatype even if the value is uncoded text. A value set is bound to the ValueCodeableConcept element. For further discussion and examples see the [notes section](observation.html#notes) below. */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; /** * Normally, an observation will have either a single value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. This element has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueString, valueBoolean, valueRange, valueRatio, valueSampledData, valueAttachment, valueTime, valueDateTime, or valuePeriod. (The name format is "'value' + the type name" with a capital on the first letter of the type). * * If the data element is usually coded or if the type associated with the Observation.value defines a coded value, use CodeableConcept instead of string datatype even if the value is uncoded text. A value set is bound to the ValueCodeableConcept element. For further discussion and examples see the [notes section](observation.html#notes) below. */ - valueCodeableConcept?: CodeableConcept; + valueCodeableConcept?: CodeableConcept|undefined; /** * Normally, an observation will have either a single value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. This element has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueString, valueBoolean, valueRange, valueRatio, valueSampledData, valueAttachment, valueTime, valueDateTime, or valuePeriod. (The name format is "'value' + the type name" with a capital on the first letter of the type). * * If the data element is usually coded or if the type associated with the Observation.value defines a coded value, use CodeableConcept instead of string datatype even if the value is uncoded text. A value set is bound to the ValueCodeableConcept element. For further discussion and examples see the [notes section](observation.html#notes) below. */ - valueString?: string; - _valueString?: Element; + valueString?: string|undefined; + _valueString?: Element|undefined; /** * Normally, an observation will have either a single value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. This element has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueString, valueBoolean, valueRange, valueRatio, valueSampledData, valueAttachment, valueTime, valueDateTime, or valuePeriod. (The name format is "'value' + the type name" with a capital on the first letter of the type). * * If the data element is usually coded or if the type associated with the Observation.value defines a coded value, use CodeableConcept instead of string datatype even if the value is uncoded text. A value set is bound to the ValueCodeableConcept element. For further discussion and examples see the [notes section](observation.html#notes) below. */ - valueBoolean?: boolean; - _valueBoolean?: Element; + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; /** * Normally, an observation will have either a single value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. This element has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueString, valueBoolean, valueRange, valueRatio, valueSampledData, valueAttachment, valueTime, valueDateTime, or valuePeriod. (The name format is "'value' + the type name" with a capital on the first letter of the type). * * If the data element is usually coded or if the type associated with the Observation.value defines a coded value, use CodeableConcept instead of string datatype even if the value is uncoded text. A value set is bound to the ValueCodeableConcept element. For further discussion and examples see the [notes section](observation.html#notes) below. */ - valueRange?: Range; + valueRange?: Range|undefined; /** * Normally, an observation will have either a single value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. This element has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueString, valueBoolean, valueRange, valueRatio, valueSampledData, valueAttachment, valueTime, valueDateTime, or valuePeriod. (The name format is "'value' + the type name" with a capital on the first letter of the type). * * If the data element is usually coded or if the type associated with the Observation.value defines a coded value, use CodeableConcept instead of string datatype even if the value is uncoded text. A value set is bound to the ValueCodeableConcept element. For further discussion and examples see the [notes section](observation.html#notes) below. */ - valueRatio?: Ratio; + valueRatio?: Ratio|undefined; /** * Normally, an observation will have either a single value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. This element has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueString, valueBoolean, valueRange, valueRatio, valueSampledData, valueAttachment, valueTime, valueDateTime, or valuePeriod. (The name format is "'value' + the type name" with a capital on the first letter of the type). * * If the data element is usually coded or if the type associated with the Observation.value defines a coded value, use CodeableConcept instead of string datatype even if the value is uncoded text. A value set is bound to the ValueCodeableConcept element. For further discussion and examples see the [notes section](observation.html#notes) below. */ - valueSampledData?: SampledData; + valueSampledData?: SampledData|undefined; /** * Normally, an observation will have either a single value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. This element has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueString, valueBoolean, valueRange, valueRatio, valueSampledData, valueAttachment, valueTime, valueDateTime, or valuePeriod. (The name format is "'value' + the type name" with a capital on the first letter of the type). * * If the data element is usually coded or if the type associated with the Observation.value defines a coded value, use CodeableConcept instead of string datatype even if the value is uncoded text. A value set is bound to the ValueCodeableConcept element. For further discussion and examples see the [notes section](observation.html#notes) below. */ - valueAttachment?: Attachment; + valueAttachment?: Attachment|undefined; /** * Normally, an observation will have either a single value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. This element has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueString, valueBoolean, valueRange, valueRatio, valueSampledData, valueAttachment, valueTime, valueDateTime, or valuePeriod. (The name format is "'value' + the type name" with a capital on the first letter of the type). * * If the data element is usually coded or if the type associated with the Observation.value defines a coded value, use CodeableConcept instead of string datatype even if the value is uncoded text. A value set is bound to the ValueCodeableConcept element. For further discussion and examples see the [notes section](observation.html#notes) below. */ - valueTime?: string; - _valueTime?: Element; + valueTime?: string|undefined; + _valueTime?: Element|undefined; /** * Normally, an observation will have either a single value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. This element has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueString, valueBoolean, valueRange, valueRatio, valueSampledData, valueAttachment, valueTime, valueDateTime, or valuePeriod. (The name format is "'value' + the type name" with a capital on the first letter of the type). * * If the data element is usually coded or if the type associated with the Observation.value defines a coded value, use CodeableConcept instead of string datatype even if the value is uncoded text. A value set is bound to the ValueCodeableConcept element. For further discussion and examples see the [notes section](observation.html#notes) below. */ - valueDateTime?: string; - _valueDateTime?: Element; + valueDateTime?: string|undefined; + _valueDateTime?: Element|undefined; /** * Normally, an observation will have either a single value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. This element has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueString, valueBoolean, valueRange, valueRatio, valueSampledData, valueAttachment, valueTime, valueDateTime, or valuePeriod. (The name format is "'value' + the type name" with a capital on the first letter of the type). * * If the data element is usually coded or if the type associated with the Observation.value defines a coded value, use CodeableConcept instead of string datatype even if the value is uncoded text. A value set is bound to the ValueCodeableConcept element. For further discussion and examples see the [notes section](observation.html#notes) below. */ - valuePeriod?: Period; + valuePeriod?: Period|undefined; } /** * Code Values for the Observation.status field @@ -15314,16 +15314,16 @@ export interface OperationDefinitionParameterBinding extends BackboneElement { * For further discussion, see [Using Terminologies](terminologies.html). */ strength: OperationDefinitionParameterBindingStrengthCodes; - _strength?: Element; + _strength?: Element|undefined; /** * For value sets with a referenceResource, the display can contain the value set description. The reference may be version-specific or not. */ - valueSetUri?: string; - _valueSetUri?: Element; + valueSetUri?: string|undefined; + _valueSetUri?: Element|undefined; /** * For value sets with a referenceResource, the display can contain the value set description. The reference may be version-specific or not. */ - valueSetReference?: Reference; + valueSetReference?: Reference|undefined; } /** * Code Values for the OperationDefinition.parameter.binding.strength field @@ -15341,17 +15341,17 @@ export interface OperationDefinitionParameter extends BackboneElement { /** * Binds to a value set if this parameter is coded (code, Coding, CodeableConcept). */ - binding?: OperationDefinitionParameterBinding; + binding?: OperationDefinitionParameterBinding|undefined; /** * Describes the meaning or use of this parameter. */ - documentation?: string; - _documentation?: Element; + documentation?: string|undefined; + _documentation?: Element|undefined; /** * The maximum number of times this element is permitted to appear in the request or response. */ max: string; - _max?: Element; + _max?: Element|undefined; /** * The minimum number of times this parameter SHALL appear in the request or response. */ @@ -15360,30 +15360,30 @@ export interface OperationDefinitionParameter extends BackboneElement { * This name must be a token (start with a letter in a..z, and only contain letters, numerals, and underscore. Note that for search parameters (type = string, with a search type), the name may be altered by the search modifiers. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * Query Definitions only have one output parameter, named "result". This may not be described, but can be to allow a profile to be defined. */ - part?: OperationDefinitionParameter[]; + part?: OperationDefinitionParameter[]|undefined; /** * A profile the specifies the rules that this parameter must conform to. */ - profile?: Reference; + profile?: Reference|undefined; /** * How the parameter is understood as a search parameter. This is only used if the parameter type is 'string'. */ - searchType?: OperationDefinitionParameterSearchTypeCodes; - _searchType?: Element; + searchType?: OperationDefinitionParameterSearchTypeCodes|undefined; + _searchType?: Element|undefined; /** * if there is no stated parameter, then the parameter is a multi-part parameter; type and must have at least one part defined. */ - type?: string; - _type?: Element; + type?: string|undefined; + _type?: Element|undefined; /** * If a parameter name is used for both an input and an output parameter, the parameter should be defined twice. */ use: OperationDefinitionParameterUseCodes; - _use?: Element; + _use?: Element|undefined; } /** * Code Values for the OperationDefinition.parameter.searchType field @@ -15412,13 +15412,13 @@ export interface OperationDefinitionOverload extends BackboneElement { /** * Comments to go on overload. */ - comment?: string; - _comment?: Element; + comment?: string|undefined; + _comment?: Element|undefined; /** * Name of parameter to include in overload. */ - parameterName?: string[]; - _parameterName?: Element[]; + parameterName?: string[]|undefined; + _parameterName?: Element[]|undefined; } /** * A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction). @@ -15429,113 +15429,113 @@ export interface OperationDefinition extends DomainResource { /** * A constrained profile can make optional parameters required or not used and clarify documentation. */ - base?: Reference; + base?: Reference|undefined; /** * The code does not include the '$' prefix that is always included in the URL when the operation is invoked. */ code: string; - _code?: Element; + _code?: Element|undefined; /** * Additional information about how to use this operation or named query. */ - comment?: string; - _comment?: Element; + comment?: string|undefined; + _comment?: Element|undefined; /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the operation definition. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * This description can be used to capture details such as why the operation definition was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the operation definition as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Allows filtering of operation definition that are appropriate for use vs. not. This is labeled as "Is Modifier" because applications should not use an experimental operation definition in production. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * Operations that are idempotent (see [HTTP specification definition of idempotent](http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html)) may be invoked by performing an HTTP GET operation instead of a POST. */ - idempotent?: boolean; - _idempotent?: Element; + idempotent?: boolean|undefined; + _idempotent?: Element|undefined; /** * Indicates whether this operation can be invoked on a particular instance of one of the given types. */ instance: boolean; - _instance?: Element; + _instance?: Element|undefined; /** * It may be possible for the operation definition to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * Named queries are invoked differently, and have different capabilities. */ kind: OperationDefinitionKindCodes; - _kind?: Element; + _kind?: Element|undefined; /** * The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * The combinations are suggestions as to which sets of parameters to use together, but the combinations are not intended to be authoritative. */ - overload?: OperationDefinitionOverload[]; + overload?: OperationDefinitionOverload[]|undefined; /** * Query Definitions only have one output parameter, named "result". This may not be described, but can be to allow a profile to be defined. */ - parameter?: OperationDefinitionParameter[]; + parameter?: OperationDefinitionParameter[]|undefined; /** * Usually an organization, but may be an individual. The publisher (or steward) of the operation definition is the organization or individual primarily responsible for the maintenance and upkeep of the operation definition. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the operation definition. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * This element does not describe the usage of the operation definition Instead it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this operation definition. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * If the type is an abstract resource ("Resource" or "DomainResource") then the operation can be invoked on any concrete specialization. */ - resource?: string[]; - _resource?: Element[]; + resource?: string[]|undefined; + _resource?: Element[]|undefined; /** * Allows filtering of operation definitions that are appropriate for use vs. not. * This is labeled as "Is Modifier" because applications should not use a retired operation definition without due consideration. */ status: OperationDefinitionStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Indicates whether this operation or named query can be invoked at the system level (e.g. without needing to choose a resource type for the context). */ system: boolean; - _system?: Element; + _system?: Element|undefined; /** * Indicates whether this operation or named query can be invoked at the resource type level for any given resource type level (e.g. without needing to choose a specific resource id for the context). */ type: boolean; - _type?: Element; + _type?: Element|undefined; /** * Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred. Multiple instances may share the same url if they have a distinct version. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different operation definition instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a refrence to a particular business version of the operation definition with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the OperationDefinition.kind field @@ -15561,31 +15561,31 @@ export interface OperationOutcomeIssue extends BackboneElement { * Describes the type of the issue. The system that creates an OperationOutcome SHALL choose the most applicable code from the IssueType value set, and may additional provide its own code for the error in the details element. */ code: string; - _code?: Element; + _code?: Element|undefined; /** * A human readable description of the error issue SHOULD be placed in details.text. */ - details?: CodeableConcept; + details?: CodeableConcept|undefined; /** * Typically this field is used to provide troubleshooting information about the error. */ - diagnostics?: string; - _diagnostics?: Element; + diagnostics?: string|undefined; + _diagnostics?: Element|undefined; /** * The root of the FHIRPath is the resource or bundle that generated OperationOutcome. Each FHIRPath SHALL resolve to a single node. */ - expression?: string[]; - _expression?: Element[]; + expression?: string[]|undefined; + _expression?: Element[]|undefined; /** * The root of the XPath is the resource or bundle that generated OperationOutcome. Each XPath SHALL resolve to a single node. The XPath syntax is used whether the referenced instance is expressed in XML or JSON. Note that expression is being trialed as an alternative to XPath. */ - location?: string[]; - _location?: Element[]; + location?: string[]|undefined; + _location?: Element[]|undefined; /** * This is labeled as "Is Modifier" because applications should not confuse hints and warnings with errors. */ severity: OperationOutcomeIssueSeverityCodes; - _severity?: Element; + _severity?: Element|undefined; } /** * Code Values for the OperationOutcome.issue.severity field @@ -15614,19 +15614,19 @@ export interface OrganizationContact extends BackboneElement { /** * Visiting or postal addresses for the contact. */ - address?: Address; + address?: Address|undefined; /** * A name associated with the contact. */ - name?: HumanName; + name?: HumanName|undefined; /** * Indicates a purpose for which the contact can be reached. */ - purpose?: CodeableConcept; + purpose?: CodeableConcept|undefined; /** * A contact detail (e.g. a telephone number or an email address) by which the party may be contacted. */ - telecom?: ContactPoint[]; + telecom?: ContactPoint[]|undefined; } /** * A formally or informally recognized grouping of people or organizations formed for the purpose of achieving some form of collective action. Includes companies, institutions, corporations, departments, community groups, healthcare practice groups, etc. @@ -15639,48 +15639,48 @@ export interface Organization extends DomainResource { * This active flag is not intended to be used to mark an organizations as temporarily closed or under construction. Instead the Location(s) within the Organization should have the suspended status. If further details of the reason for the suspension are required, then an extension on this element should be used. * This element is labeled as a modifier because it may be used to mark that the resource was created in error. */ - active?: boolean; - _active?: Element; + active?: boolean|undefined; + _active?: Element|undefined; /** * Organization may have multiple addresses with different uses or applicable periods. The use code home is not to be used. */ - address?: Address[]; + address?: Address[]|undefined; /** * There are no dates associated with the alias/historic names, as this is not intended to track when names were used, but to assist in searching so that older names can still result in identifying the organization. */ - alias?: string[]; - _alias?: Element[]; + alias?: string[]|undefined; + _alias?: Element[]|undefined; /** * Where multiple contacts for the same purpose are provided there is a standard extension that can be used to determine which one is the preferred contact to use. */ - contact?: OrganizationContact[]; + contact?: OrganizationContact[]|undefined; /** * Technical endpoints providing access to services operated for the organization. */ - endpoint?: Reference[]; + endpoint?: Reference[]|undefined; /** * Identifier for the organization that is used to identify the organization across multiple disparate systems. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * If the name of an organization changes, consider putting the old name in the alias column so that it can still be located through searches. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * The organization of which this organization forms a part. */ - partOf?: Reference; + partOf?: Reference|undefined; /** * The use code home is not to be used. Note that these contacts are not the contact details of people who are employed by or represent the organization, but official contacts for the organization itself. */ - telecom?: ContactPoint[]; + telecom?: ContactPoint[]|undefined; /** * Organizations can be corporations, wards, sections, clinical teams, government departments, etc. Note that code is generally a classifier of the type of organization; in many applications, codes are used to identity a particular organization (say, ward) as opposed to another of the same type - these are identifiers, not codes * When considering if multiple types are appropriate, you should evaluate if child organizations would be a more appropriate use of the concept, as different types likely are in different sub-areas of the organization. This is most likely to be used where type values have orthogonal values, such as a religious, academic and medical center. * We expect that some jurisdictions will profile this optionality to be a single cardinality. */ - type?: CodeableConcept[]; + type?: CodeableConcept[]|undefined; } /** * A parameter passed to or received from the operation. @@ -15690,179 +15690,179 @@ export interface ParametersParameter extends BackboneElement { * The name of the parameter (reference to the operation definition). */ name: string; - _name?: Element; + _name?: Element|undefined; /** * Only one level of nested parameters is allowed. */ - part?: ParametersParameter[]; + part?: ParametersParameter[]|undefined; /** * If the parameter is a whole resource. */ - resource?: FhirResource; + resource?: FhirResource|undefined; /** * If the parameter is a data type. */ - valueBase64Binary?: string; - _valueBase64Binary?: Element; + valueBase64Binary?: string|undefined; + _valueBase64Binary?: Element|undefined; /** * If the parameter is a data type. */ - valueBoolean?: boolean; - _valueBoolean?: Element; + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; /** * If the parameter is a data type. */ - valueCode?: string; - _valueCode?: Element; + valueCode?: string|undefined; + _valueCode?: Element|undefined; /** * If the parameter is a data type. */ - valueDate?: string; - _valueDate?: Element; + valueDate?: string|undefined; + _valueDate?: Element|undefined; /** * If the parameter is a data type. */ - valueDateTime?: string; - _valueDateTime?: Element; + valueDateTime?: string|undefined; + _valueDateTime?: Element|undefined; /** * If the parameter is a data type. */ - valueDecimal?: number; + valueDecimal?: number|undefined; /** * If the parameter is a data type. */ - valueId?: string; - _valueId?: Element; + valueId?: string|undefined; + _valueId?: Element|undefined; /** * If the parameter is a data type. */ - valueInstant?: string; - _valueInstant?: Element; + valueInstant?: string|undefined; + _valueInstant?: Element|undefined; /** * If the parameter is a data type. */ - valueInteger?: number; + valueInteger?: number|undefined; /** * If the parameter is a data type. */ - valueMarkdown?: string; - _valueMarkdown?: Element; + valueMarkdown?: string|undefined; + _valueMarkdown?: Element|undefined; /** * If the parameter is a data type. */ - valueOid?: string; - _valueOid?: Element; + valueOid?: string|undefined; + _valueOid?: Element|undefined; /** * If the parameter is a data type. */ - valuePositiveInt?: number; + valuePositiveInt?: number|undefined; /** * If the parameter is a data type. */ - valueString?: string; - _valueString?: Element; + valueString?: string|undefined; + _valueString?: Element|undefined; /** * If the parameter is a data type. */ - valueTime?: string; - _valueTime?: Element; + valueTime?: string|undefined; + _valueTime?: Element|undefined; /** * If the parameter is a data type. */ - valueUnsignedInt?: number; + valueUnsignedInt?: number|undefined; /** * If the parameter is a data type. */ - valueUri?: string; - _valueUri?: Element; + valueUri?: string|undefined; + _valueUri?: Element|undefined; /** * If the parameter is a data type. */ - valueAddress?: Address; + valueAddress?: Address|undefined; /** * If the parameter is a data type. */ - valueAge?: Age; + valueAge?: Age|undefined; /** * If the parameter is a data type. */ - valueAnnotation?: Annotation; + valueAnnotation?: Annotation|undefined; /** * If the parameter is a data type. */ - valueAttachment?: Attachment; + valueAttachment?: Attachment|undefined; /** * If the parameter is a data type. */ - valueCodeableConcept?: CodeableConcept; + valueCodeableConcept?: CodeableConcept|undefined; /** * If the parameter is a data type. */ - valueCoding?: Coding; + valueCoding?: Coding|undefined; /** * If the parameter is a data type. */ - valueContactPoint?: ContactPoint; + valueContactPoint?: ContactPoint|undefined; /** * If the parameter is a data type. */ - valueCount?: Count; + valueCount?: Count|undefined; /** * If the parameter is a data type. */ - valueDistance?: Distance; + valueDistance?: Distance|undefined; /** * If the parameter is a data type. */ - valueDuration?: Duration; + valueDuration?: Duration|undefined; /** * If the parameter is a data type. */ - valueHumanName?: HumanName; + valueHumanName?: HumanName|undefined; /** * If the parameter is a data type. */ - valueIdentifier?: Identifier; + valueIdentifier?: Identifier|undefined; /** * If the parameter is a data type. */ - valueMoney?: Money; + valueMoney?: Money|undefined; /** * If the parameter is a data type. */ - valuePeriod?: Period; + valuePeriod?: Period|undefined; /** * If the parameter is a data type. */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; /** * If the parameter is a data type. */ - valueRange?: Range; + valueRange?: Range|undefined; /** * If the parameter is a data type. */ - valueRatio?: Ratio; + valueRatio?: Ratio|undefined; /** * If the parameter is a data type. */ - valueReference?: Reference; + valueReference?: Reference|undefined; /** * If the parameter is a data type. */ - valueSampledData?: SampledData; + valueSampledData?: SampledData|undefined; /** * If the parameter is a data type. */ - valueSignature?: Signature; + valueSignature?: Signature|undefined; /** * If the parameter is a data type. */ - valueTiming?: Timing; + valueTiming?: Timing|undefined; /** * If the parameter is a data type. */ - valueMeta?: Meta; + valueMeta?: Meta|undefined; } /** * This special resource type is used to represent an operation request and response (operations.html). It has no other use, and there is no RESTful endpoint associated with it. @@ -15873,7 +15873,7 @@ export interface Parameters extends Resource { /** * A parameter passed to or received from the operation. */ - parameter?: ParametersParameter[]; + parameter?: ParametersParameter[]|undefined; } /** * Contact covers all kinds of contact parties: family members, business contacts, guardians, caregivers. Not applicable to register pedigree and family ties beyond use of having contact. @@ -15882,32 +15882,32 @@ export interface PatientContact extends BackboneElement { /** * Address for the contact person. */ - address?: Address; + address?: Address|undefined; /** * Administrative Gender - the gender that the contact person is considered to have for administration and record keeping purposes. */ - gender?: PatientContactGenderCodes; - _gender?: Element; + gender?: PatientContactGenderCodes|undefined; + _gender?: Element|undefined; /** * A name associated with the contact person. */ - name?: HumanName; + name?: HumanName|undefined; /** * Organization on behalf of which the contact is acting or for which the contact is working. */ - organization?: Reference; + organization?: Reference|undefined; /** * The period during which this contact person or organization is valid to be contacted relating to this patient. */ - period?: Period; + period?: Period|undefined; /** * The nature of the relationship between the patient and the contact person. */ - relationship?: CodeableConcept[]; + relationship?: CodeableConcept[]|undefined; /** * Contact may have multiple ways to be contacted with different uses or applicable periods. May need to have options for contacting the person urgently, and also to help with identification. */ - telecom?: ContactPoint[]; + telecom?: ContactPoint[]|undefined; } /** * Code Values for the Patient.contact.gender field @@ -15925,11 +15925,11 @@ export interface PatientAnimal extends BackboneElement { /** * Breed MAY be used to provide further taxonomic or non-taxonomic classification. It may involve local or proprietary designation--such as commercial strain--and/or additional information such as production type. */ - breed?: CodeableConcept; + breed?: CodeableConcept|undefined; /** * Indicates the current state of the animal's reproductive organs. */ - genderStatus?: CodeableConcept; + genderStatus?: CodeableConcept|undefined; /** * If the patient is non-human, at least a species SHALL be specified. Species SHALL be a widely recognised taxonomic classification. It may or may not be Linnaean taxonomy and may or may not be at the level of species. If the level is finer than species--such as a breed code--the code system used SHALL allow inference of the species. (The common example is that the word "Hereford" does not allow inference of the species Bos taurus, because there is a Hereford pig breed, but the SNOMED CT code for "Hereford Cattle Breed" does.). */ @@ -15946,8 +15946,8 @@ export interface PatientCommunication extends BackboneElement { /** * This language is specifically identified for communicating healthcare information. */ - preferred?: boolean; - _preferred?: Element; + preferred?: boolean|undefined; + _preferred?: Element|undefined; } /** * There is no assumption that linked patient records have mutual links. @@ -15962,7 +15962,7 @@ export interface PatientLink extends BackboneElement { * The type of link between this patient resource and another patient resource. */ type: PatientLinkTypeCodes; - _type?: Element; + _type?: Element|undefined; } /** * Code Values for the Patient.link.type field @@ -15983,93 +15983,93 @@ export interface Patient extends DomainResource { * Default is true. If a record is inactive, and linked to an active record, then future patient/record updates should occur on the other patient * This element is labeled as a modifier because when the patient record is marked as not active it is not expected to be used/referenced without being changed back to active. */ - active?: boolean; - _active?: Element; + active?: boolean|undefined; + _active?: Element|undefined; /** * Patient may have multiple addresses with different uses or applicable periods. */ - address?: Address[]; + address?: Address[]|undefined; /** * The animal element is labeled "Is Modifier" since patients may be non-human. Systems SHALL either handle patient details appropriately (e.g. inform users patient is not human) or reject declared animal records. The absense of the animal element does not imply that the patient is a human. If a system requires such a positive assertion that the patient is human, an extension will be required. (Do not use a species of homo-sapiens in animal species, as this would incorrectly infer that the patient is an animal). */ - animal?: PatientAnimal; + animal?: PatientAnimal|undefined; /** * At least an estimated year should be provided as a guess if the real DOB is unknown There is a standard extension "patient-birthTime" available that should be used where Time is required (such as in maternaty/infant care systems). */ - birthDate?: string; - _birthDate?: Element; + birthDate?: string|undefined; + _birthDate?: Element|undefined; /** * If no language is specified, this *implies* that the default local language is spoken. If you need to convey proficiency for multiple modes then you need multiple Patient.Communication associations. For animals, language is not a relevant field, and should be absent from the instance. If the Patient does not speak the default local language, then the Interpreter Required Standard can be used to explicitly declare that an interpreter is required. */ - communication?: PatientCommunication[]; + communication?: PatientCommunication[]|undefined; /** * Contact covers all kinds of contact parties: family members, business contacts, guardians, caregivers. Not applicable to register pedigree and family ties beyond use of having contact. */ - contact?: PatientContact[]; + contact?: PatientContact[]|undefined; /** * If there's no value in the instance it means there is no statement on whether or not the individual is deceased. Most systems will interpret the absence of a value as a sign of the person being alive. * This element is labeled as a modifier because once a patient is marked as deceased, the actions that are appropriate to perform on the patient may be significantly different. */ - deceasedBoolean?: boolean; - _deceasedBoolean?: Element; + deceasedBoolean?: boolean|undefined; + _deceasedBoolean?: Element|undefined; /** * If there's no value in the instance it means there is no statement on whether or not the individual is deceased. Most systems will interpret the absence of a value as a sign of the person being alive. * This element is labeled as a modifier because once a patient is marked as deceased, the actions that are appropriate to perform on the patient may be significantly different. */ - deceasedDateTime?: string; - _deceasedDateTime?: Element; + deceasedDateTime?: string|undefined; + _deceasedDateTime?: Element|undefined; /** * The gender may not match the biological sex as determined by genetics, or the individual's preferred identification. Note that for both humans and particularly animals, there are other legitimate possibilities than M and F, though the vast majority of systems and contexts only support M and F. Systems providing decision support or enforcing business rules should ideally do this on the basis of Observations dealing with the specific gender aspect of interest (anatomical, chromosonal, social, etc.) However, because these observations are infrequently recorded, defaulting to the administrative gender is common practice. Where such defaulting occurs, rule enforcement should allow for the variation between administrative and biological, chromosonal and other gender aspects. For example, an alert about a hysterectomy on a male should be handled as a warning or overrideable error, not a "hard" error. */ - gender?: PatientGenderCodes; - _gender?: Element; + gender?: PatientGenderCodes|undefined; + _gender?: Element|undefined; /** * This may be the primary care provider (in a GP context), or it may be a patient nominated care manager in a community/disablity setting, or even organization that will provide people to perform the care provider roles. * It is not to be used to record Care Teams, these should be in a CareTeam resource that may be linked to the CarePlan or EpisodeOfCare resources. */ - generalPractitioner?: Reference[]; + generalPractitioner?: Reference[]|undefined; /** * An identifier for this patient. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * There is no assumption that linked patient records have mutual links. * This element is labelled as a modifier because it may not be the main Patient resource, and the referenced patient should be used instead of this Patient record. This is when the link.type value is 'replaced-by'. */ - link?: PatientLink[]; + link?: PatientLink[]|undefined; /** * There is only one managing organization for a specific patient record. Other organizations will have their own Patient record, and may use the Link property to join the records together (or a Person resource which can include confidence ratings for the association). */ - managingOrganization?: Reference; + managingOrganization?: Reference|undefined; /** * This field contains a patient's most recent marital (civil) status. */ - maritalStatus?: CodeableConcept; + maritalStatus?: CodeableConcept|undefined; /** * Where the valueInteger is provided, the number is the birth number in the sequence. * E.g. The middle birth in tripplets would be valueInteger=2 and the third born would have valueInteger=3 * If a bool value was provided for this tripplets examle, then all 3 patient records would have valueBool=true (the ordering is not indicated). */ - multipleBirthBoolean?: boolean; - _multipleBirthBoolean?: Element; + multipleBirthBoolean?: boolean|undefined; + _multipleBirthBoolean?: Element|undefined; /** * Where the valueInteger is provided, the number is the birth number in the sequence. * E.g. The middle birth in tripplets would be valueInteger=2 and the third born would have valueInteger=3 * If a bool value was provided for this tripplets examle, then all 3 patient records would have valueBool=true (the ordering is not indicated). */ - multipleBirthInteger?: number; + multipleBirthInteger?: number|undefined; /** * A patient may have multiple names with different uses or applicable periods. For animals, the name is a "HumanName" in the sense that is assigned and used by humans and has the same patterns. */ - name?: HumanName[]; + name?: HumanName[]|undefined; /** * Image of the patient. */ - photo?: Attachment[]; + photo?: Attachment[]|undefined; /** * A Patient may have multiple ways to be contacted with different uses or applicable periods. May need to have options for contacting the person urgently and also to help with identification. The address may not go directly to the individual, but may reach another party that is able to proxy for the patient (i.e. home phone, or pet owner's phone). */ - telecom?: ContactPoint[]; + telecom?: ContactPoint[]|undefined; } /** * Code Values for the Patient.gender field @@ -16089,46 +16089,46 @@ export interface PaymentNotice extends DomainResource { /** * The date when this resource was created. */ - created?: string; - _created?: Element; + created?: string|undefined; + _created?: Element|undefined; /** * The notice business identifier. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The organization which is responsible for the services rendered to the patient. */ - organization?: Reference; + organization?: Reference|undefined; /** * The payment status, typically paid: payment sent, cleared: payment received. */ - paymentStatus?: CodeableConcept; + paymentStatus?: CodeableConcept|undefined; /** * The practitioner who is responsible for the services rendered to the patient. */ - provider?: Reference; + provider?: Reference|undefined; /** * Reference of resource for which payment is being made. */ - request?: Reference; + request?: Reference|undefined; /** * Reference of response to resource for which payment is being made. */ - response?: Reference; + response?: Reference|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ - status?: PaymentNoticeStatusCodes; - _status?: Element; + status?: PaymentNoticeStatusCodes|undefined; + _status?: Element|undefined; /** * The date when the above payment action occurrred. */ - statusDate?: string; - _statusDate?: Element; + statusDate?: string|undefined; + _statusDate?: Element|undefined; /** * The Insurer who is target of the request. */ - target?: Reference; + target?: Reference|undefined; } /** * Code Values for the PaymentNotice.status field @@ -16146,28 +16146,28 @@ export interface PaymentReconciliationDetail extends BackboneElement { /** * Amount paid for this detail. */ - amount?: Money; + amount?: Money|undefined; /** * The date of the invoice or financial resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * The organization which is receiving the payment. */ - payee?: Reference; + payee?: Reference|undefined; /** * The claim or financial resource. */ - request?: Reference; + request?: Reference|undefined; /** * The claim response resource. */ - response?: Reference; + response?: Reference|undefined; /** * The Organization which submitted the claim or financial transaction. */ - submitter?: Reference; + submitter?: Reference|undefined; /** * Code to indicate the nature of the payment, adjustment, funds advance, etc. */ @@ -16180,12 +16180,12 @@ export interface PaymentReconciliationProcessNote extends BackboneElement { /** * The note text. */ - text?: string; - _text?: Element; + text?: string|undefined; + _text?: Element|undefined; /** * The note purpose: Print/Display. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * This resource provides payment details and claim references supporting a bulk payment. @@ -16196,62 +16196,62 @@ export interface PaymentReconciliation extends DomainResource { /** * The date when the enclosed suite of services were performed or completed. */ - created?: string; - _created?: Element; + created?: string|undefined; + _created?: Element|undefined; /** * List of individual settlement amounts and the corresponding transaction. */ - detail?: PaymentReconciliationDetail[]; + detail?: PaymentReconciliationDetail[]|undefined; /** * A description of the status of the adjudication. */ - disposition?: string; - _disposition?: Element; + disposition?: string|undefined; + _disposition?: Element|undefined; /** * The form to be used for printing the content. */ - form?: CodeableConcept; + form?: CodeableConcept|undefined; /** * The Response business identifier. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The Insurer who produced this adjudicated response. */ - organization?: Reference; + organization?: Reference|undefined; /** * Transaction status: error, complete. */ - outcome?: CodeableConcept; + outcome?: CodeableConcept|undefined; /** * The period of time for which payments have been gathered into this bulk payment for settlement. */ - period?: Period; + period?: Period|undefined; /** * Suite of notes. */ - processNote?: PaymentReconciliationProcessNote[]; + processNote?: PaymentReconciliationProcessNote[]|undefined; /** * Original request resource reference. */ - request?: Reference; + request?: Reference|undefined; /** * The organization which is responsible for the services rendered to the patient. */ - requestOrganization?: Reference; + requestOrganization?: Reference|undefined; /** * The practitioner who is responsible for the services rendered to the patient. */ - requestProvider?: Reference; + requestProvider?: Reference|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ - status?: PaymentReconciliationStatusCodes; - _status?: Element; + status?: PaymentReconciliationStatusCodes|undefined; + _status?: Element|undefined; /** * Total payment amount. */ - total?: Money; + total?: Money|undefined; } /** * Code Values for the PaymentReconciliation.status field @@ -16269,8 +16269,8 @@ export interface PersonLink extends BackboneElement { /** * Level of assurance that this link is actually associated with the target resource. */ - assurance?: PersonLinkAssuranceCodes; - _assurance?: Element; + assurance?: PersonLinkAssuranceCodes|undefined; + _assurance?: Element|undefined; /** * The resource to which this actual person is associated. */ @@ -16294,46 +16294,46 @@ export interface Person extends DomainResource { /** * Whether this person's record is in active use. */ - active?: boolean; - _active?: Element; + active?: boolean|undefined; + _active?: Element|undefined; /** * Person may have multiple addresses with different uses or applicable periods. */ - address?: Address[]; + address?: Address[]|undefined; /** * At least an estimated year should be provided as a guess if the real DOB is unknown. */ - birthDate?: string; - _birthDate?: Element; + birthDate?: string|undefined; + _birthDate?: Element|undefined; /** * The gender may not match the biological sex as determined by genetics, or the individual's preferred identification. Note that for both humans and particularly animals, there are other legitimate possibilities than M and F, though the vast majority of systems and contexts only support M and F. */ - gender?: PersonGenderCodes; - _gender?: Element; + gender?: PersonGenderCodes|undefined; + _gender?: Element|undefined; /** * Identifier for a person within a particular scope. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Link to a resource that concerns the same actual person. */ - link?: PersonLink[]; + link?: PersonLink[]|undefined; /** * The organization that is the custodian of the person record. */ - managingOrganization?: Reference; + managingOrganization?: Reference|undefined; /** * Person may have multiple names with different uses or applicable periods. */ - name?: HumanName[]; + name?: HumanName[]|undefined; /** * An image that can be displayed as a thumbnail of the person to enhance the identification of the individual. */ - photo?: Attachment; + photo?: Attachment|undefined; /** * Person may have multiple ways to be contacted with different uses or applicable periods. May need to have options for contacting the person urgently, and also to help with identification. */ - telecom?: ContactPoint[]; + telecom?: ContactPoint[]|undefined; } /** * Code Values for the Person.gender field @@ -16351,23 +16351,23 @@ export interface PlanDefinitionGoalTarget extends BackboneElement { /** * The target value of the measure to be achieved to signify fulfillment of the goal, e.g. 150 pounds or 7.0%. Either the high or low or both values of the range can be specified. Whan a low value is missing, it indicates that the goal is achieved at any value at or below the high value. Similarly, if the high value is missing, it indicates that the goal is achieved at any value at or above the low value. */ - detailQuantity?: Quantity; + detailQuantity?: Quantity|undefined; /** * The target value of the measure to be achieved to signify fulfillment of the goal, e.g. 150 pounds or 7.0%. Either the high or low or both values of the range can be specified. Whan a low value is missing, it indicates that the goal is achieved at any value at or below the high value. Similarly, if the high value is missing, it indicates that the goal is achieved at any value at or above the low value. */ - detailRange?: Range; + detailRange?: Range|undefined; /** * The target value of the measure to be achieved to signify fulfillment of the goal, e.g. 150 pounds or 7.0%. Either the high or low or both values of the range can be specified. Whan a low value is missing, it indicates that the goal is achieved at any value at or below the high value. Similarly, if the high value is missing, it indicates that the goal is achieved at any value at or above the low value. */ - detailCodeableConcept?: CodeableConcept; + detailCodeableConcept?: CodeableConcept|undefined; /** * Indicates the timeframe after the start of the goal in which the goal should be met. */ - due?: Duration; + due?: Duration|undefined; /** * The parameter whose value is to be tracked, e.g. body weigth, blood pressure, or hemoglobin A1c level. */ - measure?: CodeableConcept; + measure?: CodeableConcept|undefined; } /** * Goals that describe what the activities within the plan are intended to achieve. For example, weight loss, restoring an activity of daily living, obtaining herd immunity via immunization, meeting a process improvement objective, etc. @@ -16376,11 +16376,11 @@ export interface PlanDefinitionGoal extends BackboneElement { /** * Identifies problems, conditions, issues, or concerns the goal is intended to address. */ - addresses?: CodeableConcept[]; + addresses?: CodeableConcept[]|undefined; /** * Indicates a category the goal falls within. */ - category?: CodeableConcept; + category?: CodeableConcept|undefined; /** * If no code is available, use CodeableConcept.text. */ @@ -16388,19 +16388,19 @@ export interface PlanDefinitionGoal extends BackboneElement { /** * Didactic or other informational resources associated with the goal that provide further supporting information about the goal. Information resources can include inline text commentary and links to web resources. */ - documentation?: RelatedArtifact[]; + documentation?: RelatedArtifact[]|undefined; /** * Identifies the expected level of importance associated with reaching/sustaining the defined goal. */ - priority?: CodeableConcept; + priority?: CodeableConcept|undefined; /** * The event after which the goal should begin being pursued. */ - start?: CodeableConcept; + start?: CodeableConcept|undefined; /** * Indicates what should be done and within what timeframe. */ - target?: PlanDefinitionGoalTarget[]; + target?: PlanDefinitionGoalTarget[]|undefined; } /** * An expression that describes applicability criteria, or start/stop conditions for the action. @@ -16409,23 +16409,23 @@ export interface PlanDefinitionActionCondition extends BackboneElement { /** * A brief, natural language description of the condition that effectively communicates the intended semantics. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * The expression may be inlined, or may be a reference to a named expression within a logic library referenced by the library element. */ - expression?: string; - _expression?: Element; + expression?: string|undefined; + _expression?: Element|undefined; /** * Applicability criteria are used to determine immediate applicability when a plan definition is applied to a given context. Start and stop criteria are carried through application and used to describe when enter/exit criteria for an action. */ kind: PlanDefinitionActionConditionKindCodes; - _kind?: Element; + _kind?: Element|undefined; /** * The media type of the language for the expression. */ - language?: string; - _language?: Element; + language?: string|undefined; + _language?: Element|undefined; } /** * Code Values for the PlanDefinition.action.condition.kind field @@ -16443,20 +16443,20 @@ export interface PlanDefinitionActionRelatedAction extends BackboneElement { * The element id of the related action. */ actionId: string; - _actionId?: Element; + _actionId?: Element|undefined; /** * A duration or range of durations to apply to the relationship. For example, 30-60 minutes before. */ - offsetDuration?: Duration; + offsetDuration?: Duration|undefined; /** * A duration or range of durations to apply to the relationship. For example, 30-60 minutes before. */ - offsetRange?: Range; + offsetRange?: Range|undefined; /** * The relationship of this action to the related action. */ relationship: PlanDefinitionActionRelatedActionRelationshipCodes; - _relationship?: Element; + _relationship?: Element|undefined; } /** * Code Values for the PlanDefinition.action.relatedAction.relationship field @@ -16479,12 +16479,12 @@ export interface PlanDefinitionActionParticipant extends BackboneElement { /** * The role the participant should play in performing the described action. */ - role?: CodeableConcept; + role?: CodeableConcept|undefined; /** * The type of participant in the action. */ type: PlanDefinitionActionParticipantTypeCodes; - _type?: Element; + _type?: Element|undefined; } /** * Code Values for the PlanDefinition.action.participant.type field @@ -16501,23 +16501,23 @@ export interface PlanDefinitionActionDynamicValue extends BackboneElement { /** * A brief, natural language description of the intended semantics of the dynamic value. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * The expression may be inlined, or may be a reference to a named expression within a logic library referenced by the library element. */ - expression?: string; - _expression?: Element; + expression?: string|undefined; + _expression?: Element|undefined; /** * The media type of the language for the expression. */ - language?: string; - _language?: Element; + language?: string|undefined; + _language?: Element|undefined; /** * The path to the element to be customized. This is the path on the resource that will hold the result of the calculation defined by the expression. */ - path?: string; - _path?: Element; + path?: string|undefined; + _path?: Element|undefined; } /** * An action to be taken as part of the plan. @@ -16526,130 +16526,130 @@ export interface PlanDefinitionAction extends BackboneElement { /** * Sub actions that are contained within the action. The behavior of this action determines the functionality of the sub-actions. For example, a selection behavior of at-most-one indicates that of the sub-actions, at most one may be chosen as part of realizing the action definition. */ - action?: PlanDefinitionAction[]; + action?: PlanDefinitionAction[]|undefined; /** * Defines whether the action can be selected multiple times. */ - cardinalityBehavior?: PlanDefinitionActionCardinalityBehaviorCodes; - _cardinalityBehavior?: Element; + cardinalityBehavior?: PlanDefinitionActionCardinalityBehaviorCodes|undefined; + _cardinalityBehavior?: Element|undefined; /** * A code that provides meaning for the action or action group. For example, a section may have a LOINC code for a the section of a documentation template. */ - code?: CodeableConcept[]; + code?: CodeableConcept[]|undefined; /** * An expression that describes applicability criteria, or start/stop conditions for the action. */ - condition?: PlanDefinitionActionCondition[]; + condition?: PlanDefinitionActionCondition[]|undefined; /** * Note that the definition is optional, and if no definition is specified, a dynamicValue with a root (~) path can be used to define the entire resource dynamically. */ - definition?: Reference; + definition?: Reference|undefined; /** * A short description of the action used to provide a summary to display to the user. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Didactic or other informational resources associated with the action that can be provided to the CDS recipient. Information resources can include inline text commentary and links to web resources. */ - documentation?: RelatedArtifact[]; + documentation?: RelatedArtifact[]|undefined; /** * Customizations that should be applied to the statically defined resource. For example, if the dosage of a medication must be computed based on the patient's weight, a customization would be used to specify an expression that calculated the weight, and the path on the resource that would contain the result. */ - dynamicValue?: PlanDefinitionActionDynamicValue[]; + dynamicValue?: PlanDefinitionActionDynamicValue[]|undefined; /** * Identifies goals that this action supports. The reference must be to a goal element defined within this plan definition. */ - goalId?: string[]; - _goalId?: Element[]; + goalId?: string[]|undefined; + _goalId?: Element[]|undefined; /** * Defines the grouping behavior for the action and its children. */ - groupingBehavior?: PlanDefinitionActionGroupingBehaviorCodes; - _groupingBehavior?: Element; + groupingBehavior?: PlanDefinitionActionGroupingBehaviorCodes|undefined; + _groupingBehavior?: Element|undefined; /** * Defines input data requirements for the action. */ - input?: DataRequirement[]; + input?: DataRequirement[]|undefined; /** * A user-visible label for the action. */ - label?: string; - _label?: Element; + label?: string|undefined; + _label?: Element|undefined; /** * Defines the outputs of the action, if any. */ - output?: DataRequirement[]; + output?: DataRequirement[]|undefined; /** * Indicates who should participate in performing the action described. */ - participant?: PlanDefinitionActionParticipant[]; + participant?: PlanDefinitionActionParticipant[]|undefined; /** * Defines whether the action should usually be preselected. */ - precheckBehavior?: PlanDefinitionActionPrecheckBehaviorCodes; - _precheckBehavior?: Element; + precheckBehavior?: PlanDefinitionActionPrecheckBehaviorCodes|undefined; + _precheckBehavior?: Element|undefined; /** * This is different than the clinical evidence documentation, it's an actual business description of the reason for performing the action. */ - reason?: CodeableConcept[]; + reason?: CodeableConcept[]|undefined; /** * When an action depends on multiple actions, the meaning is that all actions are dependencies, rather than that any of the actions are a dependency. */ - relatedAction?: PlanDefinitionActionRelatedAction[]; + relatedAction?: PlanDefinitionActionRelatedAction[]|undefined; /** * Defines the requiredness behavior for the action. */ - requiredBehavior?: PlanDefinitionActionRequiredBehaviorCodes; - _requiredBehavior?: Element; + requiredBehavior?: PlanDefinitionActionRequiredBehaviorCodes|undefined; + _requiredBehavior?: Element|undefined; /** * Defines the selection behavior for the action and its children. */ - selectionBehavior?: PlanDefinitionActionSelectionBehaviorCodes; - _selectionBehavior?: Element; + selectionBehavior?: PlanDefinitionActionSelectionBehaviorCodes|undefined; + _selectionBehavior?: Element|undefined; /** * A text equivalent of the action to be performed. This provides a human-interpretable description of the action when the definition is consumed by a system that may not be capable of interpreting it dynamically. */ - textEquivalent?: string; - _textEquivalent?: Element; + textEquivalent?: string|undefined; + _textEquivalent?: Element|undefined; /** * An optional value describing when the action should be performed. */ - timingDateTime?: string; - _timingDateTime?: Element; + timingDateTime?: string|undefined; + _timingDateTime?: Element|undefined; /** * An optional value describing when the action should be performed. */ - timingPeriod?: Period; + timingPeriod?: Period|undefined; /** * An optional value describing when the action should be performed. */ - timingDuration?: Duration; + timingDuration?: Duration|undefined; /** * An optional value describing when the action should be performed. */ - timingRange?: Range; + timingRange?: Range|undefined; /** * An optional value describing when the action should be performed. */ - timingTiming?: Timing; + timingTiming?: Timing|undefined; /** * The title of the action displayed to a user. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * A reference to a StructureMap resource that defines a transform that can be executed to produce the intent resource using the ActivityDefinition instance as the input. */ - transform?: Reference; + transform?: Reference|undefined; /** * A description of when the action should be triggered. */ - triggerDefinition?: TriggerDefinition[]; + triggerDefinition?: TriggerDefinition[]|undefined; /** * The type of action to perform (create, update, remove). */ - type?: Coding; + type?: Coding|undefined; } /** * Code Values for the PlanDefinition.action.cardinalityBehavior field @@ -16701,122 +16701,122 @@ export interface PlanDefinition extends DomainResource { /** * An action to be taken as part of the plan. */ - action?: PlanDefinitionAction[]; + action?: PlanDefinitionAction[]|undefined; /** * The 'date' element may be more recent than the approval date because of minor changes / editorial corrections. */ - approvalDate?: string; - _approvalDate?: Element; + approvalDate?: string|undefined; + _approvalDate?: Element|undefined; /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * A contributor to the content of the asset, including authors, editors, reviewers, and endorsers. */ - contributor?: Contributor[]; + contributor?: Contributor[]|undefined; /** * A copyright statement relating to the plan definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the plan definition. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the plan definition. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * This description can be used to capture details such as why the plan definition was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the plan definition as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * The effective period for a plan definition determines when the content is applicable for usage and is independent of publication and review dates. For example, a measure intended to be used for the year 2016 might be published in 2015. */ - effectivePeriod?: Period; + effectivePeriod?: Period|undefined; /** * Allows filtering of plan definition that are appropriate for use vs. not. This is labeled as "Is Modifier" because applications should not use an experimental plan definition in production. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * Goals that describe what the activities within the plan are intended to achieve. For example, weight loss, restoring an activity of daily living, obtaining herd immunity via immunization, meeting a process improvement objective, etc. */ - goal?: PlanDefinitionGoal[]; + goal?: PlanDefinitionGoal[]|undefined; /** * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, e.g., to identify this plan definition outside of FHIR, where it is not possible to use the logical URI. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * It may be possible for the plan definition to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * If specified, this is usually after the approval date. */ - lastReviewDate?: string; - _lastReviewDate?: Element; + lastReviewDate?: string|undefined; + _lastReviewDate?: Element|undefined; /** * A reference to a Library resource containing any formal logic used by the plan definition. */ - library?: Reference[]; + library?: Reference[]|undefined; /** * The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Usually an organization, but may be an individual. The publisher (or steward) of the plan definition is the organization or individual primarily responsible for the maintenance and upkeep of the plan definition. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the plan definition. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * This element does not describe the usage of the plan definition Instead it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this plan definition. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * Each related artifact is either an attachment, or a reference to another resource, but not both. */ - relatedArtifact?: RelatedArtifact[]; + relatedArtifact?: RelatedArtifact[]|undefined; /** * Allows filtering of plan definitions that are appropriate for use vs. not. * This is labeled as "Is Modifier" because applications should not use a retired plan definition without due consideration. */ status: PlanDefinitionStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Descriptive topics related to the content of the plan definition. Topics provide a high-level categorization of the definition that can be useful for filtering and searching. */ - topic?: CodeableConcept[]; + topic?: CodeableConcept[]|undefined; /** * The type of asset the plan definition represents, e.g. an order set, protocol, or event-condition-action rule. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; /** * Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred. Multiple instances may share the same url if they have a distinct version. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * A detailed description of how the asset is used from a clinical perspective. */ - usage?: string; - _usage?: Element; + usage?: string|undefined; + _usage?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different plan definition instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a refrence to a particular business version of the plan definition with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the PlanDefinition.status field @@ -16838,15 +16838,15 @@ export interface PractitionerQualification extends BackboneElement { /** * An identifier that applies to this person's qualification in this role. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Organization that regulates and issues the qualification. */ - issuer?: Reference; + issuer?: Reference|undefined; /** * Period during which the qualification is valid. */ - period?: Period; + period?: Period|undefined; } /** * A person who is directly or indirectly involved in the provisioning of healthcare. @@ -16858,30 +16858,30 @@ export interface Practitioner extends DomainResource { * Default is true. * If the practitioner is not in use by one organization, then it should mark the period on the PractitonerRole with an end date (even if they are active) as they may be active in another role. */ - active?: boolean; - _active?: Element; + active?: boolean|undefined; + _active?: Element|undefined; /** * The PractitionerRole does not have an address value on it, as it is expected that the location property be used for this purpose (which has an address). */ - address?: Address[]; + address?: Address[]|undefined; /** * The date of birth for the practitioner. */ - birthDate?: string; - _birthDate?: Element; + birthDate?: string|undefined; + _birthDate?: Element|undefined; /** * The structure aa-BB with this exact casing is one the most widely used notations for locale. However not all systems actually code this but instead have it as free text. Hence CodeableConcept instead of code as the data type. */ - communication?: CodeableConcept[]; + communication?: CodeableConcept[]|undefined; /** * Administrative Gender - the gender that the person is considered to have for administration and record keeping purposes. */ - gender?: PractitionerGenderCodes; - _gender?: Element; + gender?: PractitionerGenderCodes|undefined; + _gender?: Element|undefined; /** * An identifier that applies to this person in this role. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The selection of the use property should ensure that there is a single usual name specified, and others use the nickname (alias), old, or other values as appropriate. * In general select the value to be used in the ResourceReference.display based on this: @@ -16891,20 +16891,20 @@ export interface Practitioner extends DomainResource { * 4. Use = official * 5. Other order as decided by internal business rules. */ - name?: HumanName[]; + name?: HumanName[]|undefined; /** * Image of the person. */ - photo?: Attachment[]; + photo?: Attachment[]|undefined; /** * Qualifications obtained by training and certification. */ - qualification?: PractitionerQualification[]; + qualification?: PractitionerQualification[]|undefined; /** * Person may have multiple ways to be contacted with different uses or applicable periods. May need to have options for contacting the person urgently, and also to help with identification * These typically will have home numbers, or mobile numbers that are not role specific. */ - telecom?: ContactPoint[]; + telecom?: ContactPoint[]|undefined; } /** * Code Values for the Practitioner.gender field @@ -16922,23 +16922,23 @@ export interface PractitionerRoleAvailableTime extends BackboneElement { /** * Is this always available? (hence times are irrelevant) e.g. 24 hour service. */ - allDay?: boolean; - _allDay?: Element; + allDay?: boolean|undefined; + _allDay?: Element|undefined; /** * The timezone is expected to be for where this HealthcareService is provided at. */ - availableEndTime?: string; - _availableEndTime?: Element; + availableEndTime?: string|undefined; + _availableEndTime?: Element|undefined; /** * The timezone is expected to be for where this HealthcareService is provided at. */ - availableStartTime?: string; - _availableStartTime?: Element; + availableStartTime?: string|undefined; + _availableStartTime?: Element|undefined; /** * Indicates which days of the week are available between the start and end Times. */ - daysOfWeek?: PractitionerRoleAvailableTimeDaysOfWeekCodes[]; - _daysOfWeek?: Element[]; + daysOfWeek?: PractitionerRoleAvailableTimeDaysOfWeekCodes[]|undefined; + _daysOfWeek?: Element[]|undefined; } /** * Code Values for the PractitionerRole.availableTime.daysOfWeek field @@ -16960,11 +16960,11 @@ export interface PractitionerRoleNotAvailable extends BackboneElement { * The reason that can be presented to the user as to why this time is not available. */ description: string; - _description?: Element; + _description?: Element|undefined; /** * Service is not available (seasonally or for a public holiday) from this date. */ - during?: Period; + during?: Period|undefined; } /** * A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time. @@ -16976,61 +16976,61 @@ export interface PractitionerRole extends DomainResource { * Default is true. * If the practitioner is not in use by one organization, then it should mark the period on the PractitonerRole with an end date (even if they are active) as they may be active in another role. */ - active?: boolean; - _active?: Element; + active?: boolean|undefined; + _active?: Element|undefined; /** * A description of site availability exceptions, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as details in the available Times and not available Times. */ - availabilityExceptions?: string; - _availabilityExceptions?: Element; + availabilityExceptions?: string|undefined; + _availabilityExceptions?: Element|undefined; /** * More detailed availability information may be provided in associated Schedule/Slot resources. */ - availableTime?: PractitionerRoleAvailableTime[]; + availableTime?: PractitionerRoleAvailableTime[]|undefined; /** * A person may have more than one role. At least one role is required. */ - code?: CodeableConcept[]; + code?: CodeableConcept[]|undefined; /** * Technical endpoints providing access to services operated for the practitioner with this role. */ - endpoint?: Reference[]; + endpoint?: Reference[]|undefined; /** * The list of healthcare services that this worker provides for this role's Organization/Location(s). */ - healthcareService?: Reference[]; + healthcareService?: Reference[]|undefined; /** * Business Identifiers that are specific to a role/location. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The location(s) at which this practitioner provides care. */ - location?: Reference[]; + location?: Reference[]|undefined; /** * The HealthcareService is not available during this period of time due to the provided reason. */ - notAvailable?: PractitionerRoleNotAvailable[]; + notAvailable?: PractitionerRoleNotAvailable[]|undefined; /** * The organization where the Practitioner performs the roles associated. */ - organization?: Reference; + organization?: Reference|undefined; /** * The period during which the person is authorized to act as a practitioner in these role(s) for the organization. */ - period?: Period; + period?: Period|undefined; /** * Practitioner that is able to provide the defined services for the organation. */ - practitioner?: Reference; + practitioner?: Reference|undefined; /** * Specific specialty of the practitioner. */ - specialty?: CodeableConcept[]; + specialty?: CodeableConcept[]|undefined; /** * Contact details that are specific to the role/location/service. */ - telecom?: ContactPoint[]; + telecom?: ContactPoint[]|undefined; } /** * Limited to 'real' people rather than equipment. @@ -17043,11 +17043,11 @@ export interface ProcedurePerformer extends BackboneElement { /** * The organization the device or practitioner was acting on behalf of. */ - onBehalfOf?: Reference; + onBehalfOf?: Reference|undefined; /** * For example: surgeon, anaethetist, endoscopist. */ - role?: CodeableConcept; + role?: CodeableConcept|undefined; } /** * A device that is implanted, removed or otherwise manipulated (calibration, battery replacement, fitting a prosthesis, attaching a wound-vac, etc.) as a focal portion of the Procedure. @@ -17056,7 +17056,7 @@ export interface ProcedureFocalDevice extends BackboneElement { /** * The kind of change that happened to the device during the procedure. */ - action?: CodeableConcept; + action?: CodeableConcept|undefined; /** * The device that was manipulated (changed) during the procedure. */ @@ -17071,104 +17071,104 @@ export interface Procedure extends DomainResource { /** * A reference to a resource that contains details of the request for this procedure. */ - basedOn?: Reference[]; + basedOn?: Reference[]|undefined; /** * Detailed and structured anatomical location information. Multiple locations are allowed - e.g. multiple punch biopsies of a lesion. */ - bodySite?: CodeableConcept[]; + bodySite?: CodeableConcept[]|undefined; /** * A code that classifies the procedure for searching, sorting and display purposes (e.g. "Surgical Procedure"). */ - category?: CodeableConcept; + category?: CodeableConcept|undefined; /** * The specific procedure that is performed. Use text if the exact nature of the procedure cannot be coded (e.g. "Laparoscopic Appendectomy"). */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * If complications are only expressed by the narrative text, they can be captured using the CodeableConcept.text. */ - complication?: CodeableConcept[]; + complication?: CodeableConcept[]|undefined; /** * Any complications that occurred during the procedure, or in the immediate post-performance period. */ - complicationDetail?: Reference[]; + complicationDetail?: Reference[]|undefined; /** * The encounter during which the procedure was performed. */ - context?: Reference; + context?: Reference|undefined; /** * A protocol, guideline, orderset or other definition that was adhered to in whole or in part by this procedure. */ - definition?: Reference[]; + definition?: Reference[]|undefined; /** * A device that is implanted, removed or otherwise manipulated (calibration, battery replacement, fitting a prosthesis, attaching a wound-vac, etc.) as a focal portion of the Procedure. */ - focalDevice?: ProcedureFocalDevice[]; + focalDevice?: ProcedureFocalDevice[]|undefined; /** * If the procedure required specific follow up - e.g. removal of sutures. The followup may be represented as a simple note, or could potentially be more complex in which case the CarePlan resource can be used. */ - followUp?: CodeableConcept[]; + followUp?: CodeableConcept[]|undefined; /** * This records identifiers associated with this procedure that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation). */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The location where the procedure actually happened. E.g. a newborn at home, a tracheostomy at a restaurant. */ - location?: Reference; + location?: Reference|undefined; /** * If true, it means the procedure did not occur as described. Typically it would be accompanied by attributes describing the type of activity. It might also be accompanied by body site information or time information (i.e. no procedure was done to the left arm or no procedure was done in this 2-year period). Specifying additional information such as performer, outcome, etc. is generally inappropriate. For example, it's not that useful to say "There was no appendectomy done at 12:03pm June 6th by Dr. Smith with a successful outcome" as it implies that there *could* have been an appendectomy done at any other time, by any other clinician or with any other outcome. * This element is labeled as a modifier because it indicates that a procedure didn't happen. */ - notDone?: boolean; - _notDone?: Element; + notDone?: boolean|undefined; + _notDone?: Element|undefined; /** * A code indicating why the procedure was not performed. */ - notDoneReason?: CodeableConcept; + notDoneReason?: CodeableConcept|undefined; /** * Any other notes about the procedure. E.g. the operative notes. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * If outcome contains narrative text only, it can be captured using the CodeableConcept.text. */ - outcome?: CodeableConcept; + outcome?: CodeableConcept|undefined; /** * The MedicationAdministration has a partOf reference to Procedure, but this is not a circular reference. For a surgical procedure, the anesthesia related medicationAdministration is part of the procedure. For an IV medication administration, the procedure to insert the IV port is part of the medication administration. */ - partOf?: Reference[]; + partOf?: Reference[]|undefined; /** * The date(time)/period over which the procedure was performed. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured. */ - performedDateTime?: string; - _performedDateTime?: Element; + performedDateTime?: string|undefined; + _performedDateTime?: Element|undefined; /** * The date(time)/period over which the procedure was performed. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured. */ - performedPeriod?: Period; + performedPeriod?: Period|undefined; /** * Limited to 'real' people rather than equipment. */ - performer?: ProcedurePerformer[]; + performer?: ProcedurePerformer[]|undefined; /** * The coded reason why the procedure was performed. This may be coded entity of some type, or may simply be present as text. */ - reasonCode?: CodeableConcept[]; + reasonCode?: CodeableConcept[]|undefined; /** * e.g. endoscopy for dilatation and biopsy, combination diagnosis and therapeutic. */ - reasonReference?: Reference[]; + reasonReference?: Reference[]|undefined; /** * There could potentially be multiple reports - e.g. if this was a procedure which took multiple biopsies resulting in a number of anatomical pathology reports. */ - report?: Reference[]; + report?: Reference[]|undefined; /** * The unknown code is not to be used to convey other statuses. The unknown code should be used when one of the statuses applies, but the authoring system doesn't know the current state of the procedure. * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: ProcedureStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * The person, animal or group on which the procedure was performed. */ @@ -17176,11 +17176,11 @@ export interface Procedure extends DomainResource { /** * For devices actually implanted or removed, use Procedure.device. */ - usedCode?: CodeableConcept[]; + usedCode?: CodeableConcept[]|undefined; /** * For devices actually implanted or removed, use Procedure.device. */ - usedReference?: Reference[]; + usedReference?: Reference[]|undefined; } /** * Code Values for the Procedure.status field @@ -17205,7 +17205,7 @@ export interface ProcedureRequestRequester extends BackboneElement { /** * The organization the device or practitioner was acting on behalf of. */ - onBehalfOf?: Reference; + onBehalfOf?: Reference|undefined; } /** * A record of a request for diagnostic investigations, treatments, or operations to be performed. @@ -17216,29 +17216,29 @@ export interface ProcedureRequest extends DomainResource { /** * If a CodeableConcept is present, it indicates the pre-condition for performing the procedure. For example "pain", "on flare-up", etc. */ - asNeededBoolean?: boolean; - _asNeededBoolean?: Element; + asNeededBoolean?: boolean|undefined; + _asNeededBoolean?: Element|undefined; /** * If a CodeableConcept is present, it indicates the pre-condition for performing the procedure. For example "pain", "on flare-up", etc. */ - asNeededCodeableConcept?: CodeableConcept; + asNeededCodeableConcept?: CodeableConcept|undefined; /** * When the request transitioned to being actionable. */ - authoredOn?: string; - _authoredOn?: Element; + authoredOn?: string|undefined; + _authoredOn?: Element|undefined; /** * Plan/proposal/order fulfilled by this request. */ - basedOn?: Reference[]; + basedOn?: Reference[]|undefined; /** * Only used if not implicit in the code found in ProcedureRequest.type. If the use case requires BodySite to be handled as a separate resource instead of an inline coded element (e.g. to identify and track separately) then use the standard extension [procedurerequest-targetBodySite](extension-procedurerequest-targetbodysite.html). */ - bodySite?: CodeableConcept[]; + bodySite?: CodeableConcept[]|undefined; /** * There may be multiple axis of categorization depending on the context or use case for retrieving or displaying the resource. The level of granularity is defined by the category concepts in the value set. */ - category?: CodeableConcept[]; + category?: CodeableConcept[]|undefined; /** * Many laboratory and radiology procedure codes embed the specimen/organ system in the test ordeer name, for example, serum or serum/plasma glucose, or a chest xray. The specimen may not be recorded separately from the test code. */ @@ -17246,91 +17246,91 @@ export interface ProcedureRequest extends DomainResource { /** * An encounter or episode of care that provides additional information about the healthcare context in which this request is made. */ - context?: Reference; + context?: Reference|undefined; /** * Protocol or definition followed by this request. */ - definition?: Reference[]; + definition?: Reference[]|undefined; /** * This element is labeled as a [modifier](conformance-rules.html#isModifier.html) because it indicates that a procedure shouldn't happen, instead of a request for it to happen. In general, only the code and timeframe will be present, though occasional additional qualifiers such as body site or even performer could be included to narrow the scope of the prohibition. If the ProcedureRequest.code and ProcedureRequest.doNotPerform both contain negation, that will reinforce prohibition and should not have a double negative interpretation. */ - doNotPerform?: boolean; - _doNotPerform?: Element; + doNotPerform?: boolean|undefined; + _doNotPerform?: Element|undefined; /** * The identifier.type element is used to distinguish between the identifiers assigned by the orderer (known as the 'Placer' in HL7 v2) and the producer of the observations in response to the order (known as the 'Filler' in HL7 v2). For further discussion and examples see the resource notes section below. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * This element is labeled as a modifier because the intent alters when and how the resource is actually applicable. */ intent: ProcedureRequestIntentCodes; - _intent?: Element; + _intent?: Element|undefined; /** * Any other notes and comments made about the service request. For example, letting provider know that "patient hates needles" or other provider instructions. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * The date/time at which the diagnostic testing should occur. */ - occurrenceDateTime?: string; - _occurrenceDateTime?: Element; + occurrenceDateTime?: string|undefined; + _occurrenceDateTime?: Element|undefined; /** * The date/time at which the diagnostic testing should occur. */ - occurrencePeriod?: Period; + occurrencePeriod?: Period|undefined; /** * The date/time at which the diagnostic testing should occur. */ - occurrenceTiming?: Timing; + occurrenceTiming?: Timing|undefined; /** * If needed, use an [extension](extensibility.html) for listing alternative performers and/or roles and/or preference. */ - performer?: Reference; + performer?: Reference|undefined; /** * this is a role, not a participation type. I.e. does not describe the task, but describes the capacity. For example, “compounding pharmacy” or “psychiatrist” or “internal referral”. */ - performerType?: CodeableConcept; + performerType?: CodeableConcept|undefined; /** * Indicates how quickly the ProcedureRequest should be addressed with respect to other requests. */ - priority?: ProcedureRequestPriorityCodes; - _priority?: Element; + priority?: ProcedureRequestPriorityCodes|undefined; + _priority?: Element|undefined; /** * This may be used to decide how the diagnostic investigation will be performed, or even if it will be performed at all. Use CodeableConcept text element if the data is free (uncoded) text as shown in the [CT Scan example](procedurerequest-example-di.html). */ - reasonCode?: CodeableConcept[]; + reasonCode?: CodeableConcept[]|undefined; /** * This may be used to decide how the diagnostic investigation will be performed, or even if it will be performed at all. Use CodeableConcept text element if the data is free (uncoded) text as shown in the [CT Scan example](procedurerequest-example-di.html). */ - reasonReference?: Reference[]; + reasonReference?: Reference[]|undefined; /** * This may not include provenances for all versions of the request – only those deemed “relevant” or important. * This SHALL NOT include the Provenance associated with this current version of the resource. (If that provenance is deemed to be a “relevant” change, it will need to be added as part of a later update. Until then, it can be queried directly as the Provenance that points to this version using _revinclude * All Provenances should have some historical version of this Request as their subject. */ - relevantHistory?: Reference[]; + relevantHistory?: Reference[]|undefined; /** * The request takes the place of the referenced completed or terminated request(s). */ - replaces?: Reference[]; + replaces?: Reference[]|undefined; /** * This not the dispatcher, but rather who is the authorizer. */ - requester?: ProcedureRequestRequester; + requester?: ProcedureRequestRequester|undefined; /** * Requests are linked either by a "basedOn" relationship (i.e. one request is fulfilling another) or by having a common requisition. Requests that are part of the same requisition are generally treated independently from the perspective of changing their state or maintaining them after initial creation. */ - requisition?: Identifier; + requisition?: Identifier|undefined; /** * Many diagnostic procedures need a specimen, but the request itself is not actually about the specimen. This element is for when the diagnostic is requested on already existing specimens and the request points to the specimen it applies to. Conversely, If the request is entered first with an unknown specimen, The [Specimen](specimen.html) resource references to the ProcedureRequest. */ - specimen?: Reference[]; + specimen?: Reference[]|undefined; /** * The status is generally fully in the control of the requester - they determine whether the order is draft or active and, after it has been activated, competed, cancelled or suspended. States relating to the activities of the performer are reflected on either the corresponding event (see [Event Pattern](event.html) for general discussion) or using the [Task](task.html) resource. * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: ProcedureRequestStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * On whom or what the procedure or diagnostic is to be performed. This is usually a human patient, but can also be requested on animals, groups of humans or animals, devices such as dialysis machines, or even locations (typically for environmental scans). */ @@ -17338,7 +17338,7 @@ export interface ProcedureRequest extends DomainResource { /** * Additional clinical information about the patient or specimen that may influence the procedure or diagnostics or their interpretations. This information includes diagnosis, clinical findings and other observations. In laboratory ordering these are typically referred to as "ask at order entry questions (AOEs)". This includes observations explicitly requested by the producer (filler) to provide context or supporting information needed to complete the order. For example, reporting the amount of inspired oxygen for blood gas measurements. */ - supportingInfo?: Reference[]; + supportingInfo?: Reference[]|undefined; } /** * Code Values for the ProcedureRequest.intent field @@ -17392,70 +17392,70 @@ export interface ProcessRequest extends DomainResource { /** * The type of processing action being requested, for example Reversal, Readjudication, StatusRequest,PendedRequest. */ - action?: ProcessRequestActionCodes; - _action?: Element; + action?: ProcessRequestActionCodes|undefined; + _action?: Element|undefined; /** * The date when this resource was created. */ - created?: string; - _created?: Element; + created?: string|undefined; + _created?: Element|undefined; /** * Names of resource types to exclude. */ - exclude?: string[]; - _exclude?: Element[]; + exclude?: string[]|undefined; + _exclude?: Element[]|undefined; /** * The ProcessRequest business identifier. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Names of resource types to include. */ - include?: string[]; - _include?: Element[]; + include?: string[]|undefined; + _include?: Element[]|undefined; /** * List of top level items to be re-adjudicated, if none specified then the entire submission is re-adjudicated. */ - item?: ProcessRequestItem[]; + item?: ProcessRequestItem[]|undefined; /** * If true remove all history excluding audit. */ - nullify?: boolean; - _nullify?: Element; + nullify?: boolean|undefined; + _nullify?: Element|undefined; /** * The organization which is responsible for the action speccified in this request. */ - organization?: Reference; + organization?: Reference|undefined; /** * A period of time during which the fulfilling resources would have been created. */ - period?: Period; + period?: Period|undefined; /** * The practitioner who is responsible for the action specified in this request. */ - provider?: Reference; + provider?: Reference|undefined; /** * A reference to supply which authenticates the process. */ - reference?: string; - _reference?: Element; + reference?: string|undefined; + _reference?: Element|undefined; /** * Reference of resource which is the target or subject of this action. */ - request?: Reference; + request?: Reference|undefined; /** * Reference of a prior response to resource which is the target or subject of this action. */ - response?: Reference; + response?: Reference|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ - status?: ProcessRequestStatusCodes; - _status?: Element; + status?: ProcessRequestStatusCodes|undefined; + _status?: Element|undefined; /** * The organization which is the target of the request. */ - target?: Reference; + target?: Reference|undefined; } /** * Code Values for the ProcessRequest.action field @@ -17482,12 +17482,12 @@ export interface ProcessResponseProcessNote extends BackboneElement { /** * The note text. */ - text?: string; - _text?: Element; + text?: string|undefined; + _text?: Element|undefined; /** * The note purpose: Print/Display. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * This resource provides processing status, errors and notes from the processing of a resource. @@ -17498,58 +17498,58 @@ export interface ProcessResponse extends DomainResource { /** * Request for additional supporting or authorizing information, such as: documents, images or resources. */ - communicationRequest?: Reference[]; + communicationRequest?: Reference[]|undefined; /** * The date when the enclosed suite of services were performed or completed. */ - created?: string; - _created?: Element; + created?: string|undefined; + _created?: Element|undefined; /** * A description of the status of the adjudication or processing. */ - disposition?: string; - _disposition?: Element; + disposition?: string|undefined; + _disposition?: Element|undefined; /** * Processing errors. */ - error?: CodeableConcept[]; + error?: CodeableConcept[]|undefined; /** * The form to be used for printing the content. */ - form?: CodeableConcept; + form?: CodeableConcept|undefined; /** * The Response business identifier. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The organization who produced this adjudicated response. */ - organization?: Reference; + organization?: Reference|undefined; /** * Transaction status: error, complete, held. */ - outcome?: CodeableConcept; + outcome?: CodeableConcept|undefined; /** * Suite of processing notes or additional requirements if the processing has been held. */ - processNote?: ProcessResponseProcessNote[]; + processNote?: ProcessResponseProcessNote[]|undefined; /** * Original request resource reference. */ - request?: Reference; + request?: Reference|undefined; /** * The organization which is responsible for the services rendered to the patient. */ - requestOrganization?: Reference; + requestOrganization?: Reference|undefined; /** * The practitioner who is responsible for the services rendered to the patient. */ - requestProvider?: Reference; + requestProvider?: Reference|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ - status?: ProcessResponseStatusCodes; - _status?: Element; + status?: ProcessResponseStatusCodes|undefined; + _status?: Element|undefined; } /** * Code Values for the ProcessResponse.status field @@ -17567,29 +17567,29 @@ export interface ProvenanceAgent extends BackboneElement { /** * The individual, device, or organization for whom the change was made. */ - onBehalfOfUri?: string; - _onBehalfOfUri?: Element; + onBehalfOfUri?: string|undefined; + _onBehalfOfUri?: Element|undefined; /** * The individual, device, or organization for whom the change was made. */ - onBehalfOfReference?: Reference; + onBehalfOfReference?: Reference|undefined; /** * The type of relationship between agents. */ - relatedAgentType?: CodeableConcept; + relatedAgentType?: CodeableConcept|undefined; /** * For example: author, performer, enterer, attester, doctor, nurse, clerk, etc. */ - role?: CodeableConcept[]; + role?: CodeableConcept[]|undefined; /** * The individual, device or organization that participated in the event. */ - whoUri?: string; - _whoUri?: Element; + whoUri?: string|undefined; + _whoUri?: Element|undefined; /** * The individual, device or organization that participated in the event. */ - whoReference?: Reference; + whoReference?: Reference|undefined; } /** * Multiple userIds may be associated with the same Practitioner or other individual across various appearances, each with distinct privileges. @@ -17598,25 +17598,25 @@ export interface ProvenanceEntity extends BackboneElement { /** * A usecase where one Provenance.entity.agent is used where the Entity that was used in the creation/updating of the Target, is not in the context of the same custodianship as the Target, and thus the meaning of Provenance.entity.agent is to say that the entity referenced is managed elsewhere and that this Agent provided access to it. This would be similar to where the Entity being referenced is managed outside FHIR, such as through HL7 v2, v3, or XDS. This might be where the Entity being referenced is managed in another FHIR resource server. Thus it explains the Provenance of that Entity's use in the context of this Provenance activity. */ - agent?: ProvenanceAgent[]; + agent?: ProvenanceAgent[]|undefined; /** * How the entity was used during the activity. */ role: ProvenanceEntityRoleCodes; - _role?: Element; + _role?: Element|undefined; /** * Identity may be a reference to a resource or to something else, depending on the type. */ - whatUri?: string; - _whatUri?: Element; + whatUri?: string|undefined; + _whatUri?: Element|undefined; /** * Identity may be a reference to a resource or to something else, depending on the type. */ - whatReference?: Reference; + whatReference?: Reference|undefined; /** * Identity may be a reference to a resource or to something else, depending on the type. */ - whatIdentifier?: Identifier; + whatIdentifier?: Identifier|undefined; } /** * Code Values for the Provenance.entity.role field @@ -17637,7 +17637,7 @@ export interface Provenance extends DomainResource { /** * An activity is something that occurs over a period of time and acts upon or with entities; it may include consuming, processing, transforming, modifying, relocating, using, or generating entities. */ - activity?: Coding; + activity?: Coding|undefined; /** * Several agents may be associated (i.e. has some responsibility for an activity) with an activity and vice-versa. */ @@ -17645,33 +17645,33 @@ export interface Provenance extends DomainResource { /** * Multiple userIds may be associated with the same Practitioner or other individual across various appearances, each with distinct privileges. */ - entity?: ProvenanceEntity[]; + entity?: ProvenanceEntity[]|undefined; /** * Where the activity occurred, if relevant. */ - location?: Reference; + location?: Reference|undefined; /** * The period can be a little arbitrary; where possible, the time should correspond to human assessment of the activity time. */ - period?: Period; + period?: Period|undefined; /** * For example: Where an OAuth token authorizes, the unique identifier from the OAuth token is placed into the policy element Where a policy engine (e.g. XACML) holds policy logic, the unique policy identifier is placed into the policy element. */ - policy?: string[]; - _policy?: Element[]; + policy?: string[]|undefined; + _policy?: Element[]|undefined; /** * The reason that the activity was taking place. */ - reason?: Coding[]; + reason?: Coding[]|undefined; /** * This can be a little different from the time stamp on the resource if there is a delay between recording the event and updating the provenance and target resource. */ recorded: string; - _recorded?: Element; + _recorded?: Element|undefined; /** * A digital signature on the target Reference(s). The signer should match a Provenance.agent. The purpose of the signature is indicated. */ - signature?: Signature[]; + signature?: Signature[]|undefined; /** * Target references are usually version specific, but may not be, if a version has not been assigned or if the provenance information is part of the set of resources being maintained (i.e. a document). When using the RESTful API, the identity of the resource may not be known (especially not the version specific one); the client may either submit the resource first, and then the provenance, or it may submit both using a single transaction. See the notes on transaction for further discussion. */ @@ -17687,89 +17687,89 @@ export interface QuestionnaireItemEnableWhen extends BackboneElement { * Components not specified in the answer do not need to match. For example, if enableWhen specifies code + system for a Coding, it is ok if the answer has a "display" element. I.e. treat the answer as a 'pattern'. * The dataType of this element must be the same as the data type of the question being referenced. */ - answerBoolean?: boolean; - _answerBoolean?: Element; + answerBoolean?: boolean|undefined; + _answerBoolean?: Element|undefined; /** * Multiple answers are treated as "or". E.g. Enable if question 1 = A, C or E. * Components not specified in the answer do not need to match. For example, if enableWhen specifies code + system for a Coding, it is ok if the answer has a "display" element. I.e. treat the answer as a 'pattern'. * The dataType of this element must be the same as the data type of the question being referenced. */ - answerDecimal?: number; + answerDecimal?: number|undefined; /** * Multiple answers are treated as "or". E.g. Enable if question 1 = A, C or E. * Components not specified in the answer do not need to match. For example, if enableWhen specifies code + system for a Coding, it is ok if the answer has a "display" element. I.e. treat the answer as a 'pattern'. * The dataType of this element must be the same as the data type of the question being referenced. */ - answerInteger?: number; + answerInteger?: number|undefined; /** * Multiple answers are treated as "or". E.g. Enable if question 1 = A, C or E. * Components not specified in the answer do not need to match. For example, if enableWhen specifies code + system for a Coding, it is ok if the answer has a "display" element. I.e. treat the answer as a 'pattern'. * The dataType of this element must be the same as the data type of the question being referenced. */ - answerDate?: string; - _answerDate?: Element; + answerDate?: string|undefined; + _answerDate?: Element|undefined; /** * Multiple answers are treated as "or". E.g. Enable if question 1 = A, C or E. * Components not specified in the answer do not need to match. For example, if enableWhen specifies code + system for a Coding, it is ok if the answer has a "display" element. I.e. treat the answer as a 'pattern'. * The dataType of this element must be the same as the data type of the question being referenced. */ - answerDateTime?: string; - _answerDateTime?: Element; + answerDateTime?: string|undefined; + _answerDateTime?: Element|undefined; /** * Multiple answers are treated as "or". E.g. Enable if question 1 = A, C or E. * Components not specified in the answer do not need to match. For example, if enableWhen specifies code + system for a Coding, it is ok if the answer has a "display" element. I.e. treat the answer as a 'pattern'. * The dataType of this element must be the same as the data type of the question being referenced. */ - answerTime?: string; - _answerTime?: Element; + answerTime?: string|undefined; + _answerTime?: Element|undefined; /** * Multiple answers are treated as "or". E.g. Enable if question 1 = A, C or E. * Components not specified in the answer do not need to match. For example, if enableWhen specifies code + system for a Coding, it is ok if the answer has a "display" element. I.e. treat the answer as a 'pattern'. * The dataType of this element must be the same as the data type of the question being referenced. */ - answerString?: string; - _answerString?: Element; + answerString?: string|undefined; + _answerString?: Element|undefined; /** * Multiple answers are treated as "or". E.g. Enable if question 1 = A, C or E. * Components not specified in the answer do not need to match. For example, if enableWhen specifies code + system for a Coding, it is ok if the answer has a "display" element. I.e. treat the answer as a 'pattern'. * The dataType of this element must be the same as the data type of the question being referenced. */ - answerUri?: string; - _answerUri?: Element; + answerUri?: string|undefined; + _answerUri?: Element|undefined; /** * Multiple answers are treated as "or". E.g. Enable if question 1 = A, C or E. * Components not specified in the answer do not need to match. For example, if enableWhen specifies code + system for a Coding, it is ok if the answer has a "display" element. I.e. treat the answer as a 'pattern'. * The dataType of this element must be the same as the data type of the question being referenced. */ - answerAttachment?: Attachment; + answerAttachment?: Attachment|undefined; /** * Multiple answers are treated as "or". E.g. Enable if question 1 = A, C or E. * Components not specified in the answer do not need to match. For example, if enableWhen specifies code + system for a Coding, it is ok if the answer has a "display" element. I.e. treat the answer as a 'pattern'. * The dataType of this element must be the same as the data type of the question being referenced. */ - answerCoding?: Coding; + answerCoding?: Coding|undefined; /** * Multiple answers are treated as "or". E.g. Enable if question 1 = A, C or E. * Components not specified in the answer do not need to match. For example, if enableWhen specifies code + system for a Coding, it is ok if the answer has a "display" element. I.e. treat the answer as a 'pattern'. * The dataType of this element must be the same as the data type of the question being referenced. */ - answerQuantity?: Quantity; + answerQuantity?: Quantity|undefined; /** * Multiple answers are treated as "or". E.g. Enable if question 1 = A, C or E. * Components not specified in the answer do not need to match. For example, if enableWhen specifies code + system for a Coding, it is ok if the answer has a "display" element. I.e. treat the answer as a 'pattern'. * The dataType of this element must be the same as the data type of the question being referenced. */ - answerReference?: Reference; + answerReference?: Reference|undefined; /** * If answered=false and answer values are also provided, then they are treated as "or". I.e. "Enable if the question is unanswered or the answer is one of the specified values". If answered=true and answers are present, one of the specified answers must be met. (So there's little reason to specify answered=true if answers are present.). */ - hasAnswer?: boolean; - _hasAnswer?: Element; + hasAnswer?: boolean|undefined; + _hasAnswer?: Element|undefined; /** * If multiple question occurrences are present for the same question (same linkId), then this refers to the nearest question occurrence reachable by tracing first the "ancestor" axis and then the "preceding" axis and then the "following" axis. */ question: string; - _question?: Element; + _question?: Element|undefined; } /** * This element can be used when the value set machinery of options is deemed too cumbersome or when there's a need to capture options that are not codes. @@ -17778,26 +17778,26 @@ export interface QuestionnaireItemOption extends BackboneElement { /** * The data type of the value must agree with the item.type. */ - valueInteger?: number; + valueInteger?: number|undefined; /** * The data type of the value must agree with the item.type. */ - valueDate?: string; - _valueDate?: Element; + valueDate?: string|undefined; + _valueDate?: Element|undefined; /** * The data type of the value must agree with the item.type. */ - valueTime?: string; - _valueTime?: Element; + valueTime?: string|undefined; + _valueTime?: Element|undefined; /** * The data type of the value must agree with the item.type. */ - valueString?: string; - _valueString?: Element; + valueString?: string|undefined; + _valueString?: Element|undefined; /** * The data type of the value must agree with the item.type. */ - valueCoding?: Coding; + valueCoding?: Coding|undefined; } /** * The content of the questionnaire is constructed from an ordered, hierarchical collection of items. @@ -17806,136 +17806,136 @@ export interface QuestionnaireItem extends BackboneElement { /** * The value may come from the ElementDefinition referred to by .definition. */ - code?: Coding[]; + code?: Coding[]|undefined; /** * the URI refers to an ElementDefinition in either a [StructureDefinition](structuredefinition.html#) or a [DataElement](dataelement.html#), and always starts with the canonical URL for the target resource. When referring to a StructureDefinition, a fragment identifier is used to specify the element definition by its id [Element.id](element-definitions.html#Element.id). E.g. http://hl7.org/fhir/StructureDefinition/Observation#Observation.value[x]. In the absence of a fragment identifier, the first/root element definition in the target is the matching element definition. Note that [LOINC codes](loinc.html#dataelements) implicitly define DataElement resources. */ - definition?: string; - _definition?: Element; + definition?: string|undefined; + _definition?: Element|undefined; /** * If multiple repetitions of this extension are present, the item should be enabled when the condition for *any* of the repetitions is true. I.e. treat "enableWhen"s as being joined by an "or" clause. * This element is a modifier because if enableWhen is present for an item, "required" is ignored unless one of the enableWhen conditions is met. */ - enableWhen?: QuestionnaireItemEnableWhen[]; + enableWhen?: QuestionnaireItemEnableWhen[]|undefined; /** * The user is allowed to change the value and override the default (unless marked as read-only). If the user doesn't change the value, then this initial value will be persisted when the QuestionnaireResponse is initially created. Note that default values can influence results. * The data type of initial[x] must agree with the item.type. */ - initialBoolean?: boolean; - _initialBoolean?: Element; + initialBoolean?: boolean|undefined; + _initialBoolean?: Element|undefined; /** * The user is allowed to change the value and override the default (unless marked as read-only). If the user doesn't change the value, then this initial value will be persisted when the QuestionnaireResponse is initially created. Note that default values can influence results. * The data type of initial[x] must agree with the item.type. */ - initialDecimal?: number; + initialDecimal?: number|undefined; /** * The user is allowed to change the value and override the default (unless marked as read-only). If the user doesn't change the value, then this initial value will be persisted when the QuestionnaireResponse is initially created. Note that default values can influence results. * The data type of initial[x] must agree with the item.type. */ - initialInteger?: number; + initialInteger?: number|undefined; /** * The user is allowed to change the value and override the default (unless marked as read-only). If the user doesn't change the value, then this initial value will be persisted when the QuestionnaireResponse is initially created. Note that default values can influence results. * The data type of initial[x] must agree with the item.type. */ - initialDate?: string; - _initialDate?: Element; + initialDate?: string|undefined; + _initialDate?: Element|undefined; /** * The user is allowed to change the value and override the default (unless marked as read-only). If the user doesn't change the value, then this initial value will be persisted when the QuestionnaireResponse is initially created. Note that default values can influence results. * The data type of initial[x] must agree with the item.type. */ - initialDateTime?: string; - _initialDateTime?: Element; + initialDateTime?: string|undefined; + _initialDateTime?: Element|undefined; /** * The user is allowed to change the value and override the default (unless marked as read-only). If the user doesn't change the value, then this initial value will be persisted when the QuestionnaireResponse is initially created. Note that default values can influence results. * The data type of initial[x] must agree with the item.type. */ - initialTime?: string; - _initialTime?: Element; + initialTime?: string|undefined; + _initialTime?: Element|undefined; /** * The user is allowed to change the value and override the default (unless marked as read-only). If the user doesn't change the value, then this initial value will be persisted when the QuestionnaireResponse is initially created. Note that default values can influence results. * The data type of initial[x] must agree with the item.type. */ - initialString?: string; - _initialString?: Element; + initialString?: string|undefined; + _initialString?: Element|undefined; /** * The user is allowed to change the value and override the default (unless marked as read-only). If the user doesn't change the value, then this initial value will be persisted when the QuestionnaireResponse is initially created. Note that default values can influence results. * The data type of initial[x] must agree with the item.type. */ - initialUri?: string; - _initialUri?: Element; + initialUri?: string|undefined; + _initialUri?: Element|undefined; /** * The user is allowed to change the value and override the default (unless marked as read-only). If the user doesn't change the value, then this initial value will be persisted when the QuestionnaireResponse is initially created. Note that default values can influence results. * The data type of initial[x] must agree with the item.type. */ - initialAttachment?: Attachment; + initialAttachment?: Attachment|undefined; /** * The user is allowed to change the value and override the default (unless marked as read-only). If the user doesn't change the value, then this initial value will be persisted when the QuestionnaireResponse is initially created. Note that default values can influence results. * The data type of initial[x] must agree with the item.type. */ - initialCoding?: Coding; + initialCoding?: Coding|undefined; /** * The user is allowed to change the value and override the default (unless marked as read-only). If the user doesn't change the value, then this initial value will be persisted when the QuestionnaireResponse is initially created. Note that default values can influence results. * The data type of initial[x] must agree with the item.type. */ - initialQuantity?: Quantity; + initialQuantity?: Quantity|undefined; /** * The user is allowed to change the value and override the default (unless marked as read-only). If the user doesn't change the value, then this initial value will be persisted when the QuestionnaireResponse is initially created. Note that default values can influence results. * The data type of initial[x] must agree with the item.type. */ - initialReference?: Reference; + initialReference?: Reference|undefined; /** * There is no specified limit to the depth of nesting. However, Questionnaire authors are encouraged to consider the impact on the user and user interface of overly deep nesting. */ - item?: QuestionnaireItem[]; + item?: QuestionnaireItem[]|undefined; /** * This ''can'' be a meaningful identifier (e.g. a LOINC code) but is not intended to have any meaning. GUIDs or sequential numbers are appropriate here. */ linkId: string; - _linkId?: Element; + _linkId?: Element|undefined; /** * For base64binary, reflects the number of characters representing the encoded data, not the number of bytes of the binary data. The value may come from the ElementDefinition referred to by .definition. */ - maxLength?: number; + maxLength?: number|undefined; /** * This element can be used when the value set machinery of options is deemed too cumbersome or when there's a need to capture options that are not codes. */ - option?: QuestionnaireItemOption[]; + option?: QuestionnaireItemOption[]|undefined; /** * LOINC defines many useful value sets for questionnaire responses. See [LOINC Answer Lists](loinc.html#alist). The value may come from the ElementDefinition referred to by .definition. */ - options?: Reference; + options?: Reference|undefined; /** * These are generally unique within a questionnaire, though this is not guaranteed. Some questionnaires may have multiple questions with the same label with logic to control which gets exposed. * Typically these won't be used for "display" items, though such use is not prohibited. * Systems SHOULD NOT generate their own prefixes if prefixes are defined for any items within a Questionnaire. */ - prefix?: string; - _prefix?: Element; + prefix?: string|undefined; + _prefix?: Element|undefined; /** * The value of readOnly elements can be established by asserting extensions for defaultValues, linkages that support pre-population and/or extensions that support calculation based on other answers. */ - readOnly?: boolean; - _readOnly?: Element; + readOnly?: boolean|undefined; + _readOnly?: Element|undefined; /** * If a question is marked as repeats=true, then multiple answers can be provided for the question in the corresponding QuestionnaireResponse. When rendering the questionnaire, it is up to the rendering software whether to render the question text for each answer repetition or to simply list each of the answers beneath the question. (Which is most appropriate visually may depend on the type of answer as well as whether there are nested items.). The value may come from the ElementDefinition referred to by .definition. */ - repeats?: boolean; - _repeats?: Element; + repeats?: boolean|undefined; + _repeats?: Element|undefined; /** * Questionnaire.item.required only has meaning for elements that are conditionally enabled with enableWhen if the condition evaluates to true. If an item that contains other items is marked as required, that does not automatically make the contained elements required (though required groups must contain at least one child element). The value may come from the ElementDefinition referred to by .definition. */ - required?: boolean; - _required?: Element; + required?: boolean|undefined; + _required?: Element|undefined; /** * The name of a section, the text of a question or text content for a display item. */ - text?: string; - _text?: Element; + text?: string|undefined; + _text?: Element|undefined; /** * Additional constraints on the type of answer can be conveyed by extensions. The value may come from the ElementDefinition referred to by .definition. */ type: QuestionnaireItemTypeCodes; - _type?: Element; + _type?: Element|undefined; } /** * Code Values for the Questionnaire.item.type field @@ -17968,102 +17968,102 @@ export interface Questionnaire extends DomainResource { /** * The 'date' element may be more recent than the approval date because of minor changes / editorial corrections. */ - approvalDate?: string; - _approvalDate?: Element; + approvalDate?: string|undefined; + _approvalDate?: Element|undefined; /** * An identifier for this question or group of questions in a particular terminology such as LOINC. */ - code?: Coding[]; + code?: Coding[]|undefined; /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * A copyright statement relating to the questionnaire and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the questionnaire. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the questionnaire. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * This description can be used to capture details such as why the questionnaire was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the questionnaire as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * The effective period for a questionnaire determines when the content is applicable for usage and is independent of publication and review dates. For example, a measure intended to be used for the year 2016 might be published in 2015. */ - effectivePeriod?: Period; + effectivePeriod?: Period|undefined; /** * Allows filtering of questionnaire that are appropriate for use vs. not. This is labeled as "Is Modifier" because applications should not use an experimental questionnaire in production. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, e.g., to identify this questionnaire outside of FHIR, where it is not possible to use the logical URI. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The content of the questionnaire is constructed from an ordered, hierarchical collection of items. */ - item?: QuestionnaireItem[]; + item?: QuestionnaireItem[]|undefined; /** * It may be possible for the questionnaire to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * If specified, this is usually after the approval date. */ - lastReviewDate?: string; - _lastReviewDate?: Element; + lastReviewDate?: string|undefined; + _lastReviewDate?: Element|undefined; /** * The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Usually an organization, but may be an individual. The publisher (or steward) of the questionnaire is the organization or individual primarily responsible for the maintenance and upkeep of the questionnaire. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the questionnaire. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * This element does not describe the usage of the questionnaire Instead it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this questionnaire. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * Allows filtering of questionnaires that are appropriate for use vs. not. * This is labeled as "Is Modifier" because applications should not use a retired questionnaire without due consideration. */ status: QuestionnaireStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * If none are specified, then the subject is unlimited. */ - subjectType?: string[]; - _subjectType?: Element[]; + subjectType?: string[]|undefined; + _subjectType?: Element[]|undefined; /** * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred. Multiple instances may share the same url if they have a distinct version. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different questionnaire instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a refrence to a particular business version of the questionnaire with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the Questionnaire.status field @@ -18081,61 +18081,61 @@ export interface QuestionnaireResponseItemAnswer extends BackboneElement { /** * Nested groups and/or questions found within this particular answer. */ - item?: QuestionnaireResponseItem[]; + item?: QuestionnaireResponseItem[]|undefined; /** * More complex structures (Attachment, Resource and Quantity) will typically be limited to electronic forms that can expose an appropriate user interface to capture the components and enforce the constraints of a complex data type. Additional complex types can be introduced through extensions. */ - valueBoolean?: boolean; - _valueBoolean?: Element; + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; /** * More complex structures (Attachment, Resource and Quantity) will typically be limited to electronic forms that can expose an appropriate user interface to capture the components and enforce the constraints of a complex data type. Additional complex types can be introduced through extensions. */ - valueDecimal?: number; + valueDecimal?: number|undefined; /** * More complex structures (Attachment, Resource and Quantity) will typically be limited to electronic forms that can expose an appropriate user interface to capture the components and enforce the constraints of a complex data type. Additional complex types can be introduced through extensions. */ - valueInteger?: number; + valueInteger?: number|undefined; /** * More complex structures (Attachment, Resource and Quantity) will typically be limited to electronic forms that can expose an appropriate user interface to capture the components and enforce the constraints of a complex data type. Additional complex types can be introduced through extensions. */ - valueDate?: string; - _valueDate?: Element; + valueDate?: string|undefined; + _valueDate?: Element|undefined; /** * More complex structures (Attachment, Resource and Quantity) will typically be limited to electronic forms that can expose an appropriate user interface to capture the components and enforce the constraints of a complex data type. Additional complex types can be introduced through extensions. */ - valueDateTime?: string; - _valueDateTime?: Element; + valueDateTime?: string|undefined; + _valueDateTime?: Element|undefined; /** * More complex structures (Attachment, Resource and Quantity) will typically be limited to electronic forms that can expose an appropriate user interface to capture the components and enforce the constraints of a complex data type. Additional complex types can be introduced through extensions. */ - valueTime?: string; - _valueTime?: Element; + valueTime?: string|undefined; + _valueTime?: Element|undefined; /** * More complex structures (Attachment, Resource and Quantity) will typically be limited to electronic forms that can expose an appropriate user interface to capture the components and enforce the constraints of a complex data type. Additional complex types can be introduced through extensions. */ - valueString?: string; - _valueString?: Element; + valueString?: string|undefined; + _valueString?: Element|undefined; /** * More complex structures (Attachment, Resource and Quantity) will typically be limited to electronic forms that can expose an appropriate user interface to capture the components and enforce the constraints of a complex data type. Additional complex types can be introduced through extensions. */ - valueUri?: string; - _valueUri?: Element; + valueUri?: string|undefined; + _valueUri?: Element|undefined; /** * More complex structures (Attachment, Resource and Quantity) will typically be limited to electronic forms that can expose an appropriate user interface to capture the components and enforce the constraints of a complex data type. Additional complex types can be introduced through extensions. */ - valueAttachment?: Attachment; + valueAttachment?: Attachment|undefined; /** * More complex structures (Attachment, Resource and Quantity) will typically be limited to electronic forms that can expose an appropriate user interface to capture the components and enforce the constraints of a complex data type. Additional complex types can be introduced through extensions. */ - valueCoding?: Coding; + valueCoding?: Coding|undefined; /** * More complex structures (Attachment, Resource and Quantity) will typically be limited to electronic forms that can expose an appropriate user interface to capture the components and enforce the constraints of a complex data type. Additional complex types can be introduced through extensions. */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; /** * More complex structures (Attachment, Resource and Quantity) will typically be limited to electronic forms that can expose an appropriate user interface to capture the components and enforce the constraints of a complex data type. Additional complex types can be introduced through extensions. */ - valueReference?: Reference; + valueReference?: Reference|undefined; } /** * Groups cannot have answers and therefore must nest directly within item. When dealing with questions, nesting must occur within each answer because some questions may have multiple answers (and the nesting occurs for each answer). @@ -18144,31 +18144,31 @@ export interface QuestionnaireResponseItem extends BackboneElement { /** * The value is nested because we cannot have a repeating structure that has variable type. */ - answer?: QuestionnaireResponseItemAnswer[]; + answer?: QuestionnaireResponseItemAnswer[]|undefined; /** * The ElementDefinition must be in a [StructureDefinition](structuredefinition.html) or a [DataElement](dataelement.html), and must have a fragment identifier that identifies the specific data element by its id (Element.id). E.g. http://hl7.org/fhir/StructureDefinition/Observation#Observation.value[x]. * There is no need for this element if the item pointed to by the linkId has a definition listed. */ - definition?: string; - _definition?: Element; + definition?: string|undefined; + _definition?: Element|undefined; /** * Questions or sub-groups nested beneath a question or group. */ - item?: QuestionnaireResponseItem[]; + item?: QuestionnaireResponseItem[]|undefined; /** * The item from the Questionnaire that corresponds to this item in the QuestionnaireResponse resource. */ linkId: string; - _linkId?: Element; + _linkId?: Element|undefined; /** * More specific subject this section's answers are about, details the subject given in QuestionnaireResponse. */ - subject?: Reference; + subject?: Reference|undefined; /** * Text that is displayed above the contents of the group or as the text of the question being answered. */ - text?: string; - _text?: Element; + text?: string|undefined; + _text?: Element|undefined; } /** * A structured set of questions and their answers. The questions are ordered and grouped into coherent subsets, corresponding to the structure of the grouping of the questionnaire being responded to. @@ -18179,50 +18179,50 @@ export interface QuestionnaireResponse extends DomainResource { /** * Mapping a subject's answers to multiple choice options and determining what to put in the textual answer is a matter of interpretation. Authoring by device would indicate that some portion of the questionnaire had been auto-populated. */ - author?: Reference; + author?: Reference|undefined; /** * May be different from the lastUpdateTime of the resource itself, because that reflects when the data was known to the server, not when the data was captured. * This element is optional to allow for systems that may not know the value, however it SHOULD be populated if possible. */ - authored?: string; - _authored?: Element; + authored?: string|undefined; + _authored?: Element|undefined; /** * The order, proposal or plan that is fulfilled in whole or in part by this QuestionnaireResponse. For example, a ProcedureRequest seeking an intake assessment or a decision support recommendation to assess for post-partum depression. */ - basedOn?: Reference[]; + basedOn?: Reference[]|undefined; /** * A questionnaire that was initiated during an encounter but not fully completed during the encounter would still generally be associated with the encounter. */ - context?: Reference; + context?: Reference|undefined; /** * A business identifier assigned to a particular completed (or partially completed) questionnaire. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * Groups cannot have answers and therefore must nest directly within item. When dealing with questions, nesting must occur within each answer because some questions may have multiple answers (and the nesting occurs for each answer). */ - item?: QuestionnaireResponseItem[]; + item?: QuestionnaireResponseItem[]|undefined; /** * Composition of questionnaire responses will be handled by the parent questionnaire having answers that reference the child questionnaire. For relationships to referrals, and other types of requests, use basedOn. */ - parent?: Reference[]; + parent?: Reference[]|undefined; /** * If a QuestionnaireResponse references a Questionnaire, then the QuestionnaireResponse structure must be consistent with the Questionnaire (i.e. questions must be organized into the same groups, nested questions must still be nested, etc.). */ - questionnaire?: Reference; + questionnaire?: Reference|undefined; /** * If not specified, no inference can be made about who provided the data. */ - source?: Reference; + source?: Reference|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: QuestionnaireResponseStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * If the Questionnaire declared a subjectType, the resource pointed to by this element must be an instance of one of the listed types. */ - subject?: Reference; + subject?: Reference|undefined; } /** * Code Values for the QuestionnaireResponse.status field @@ -18245,7 +18245,7 @@ export interface ReferralRequestRequester extends BackboneElement { /** * The organization the device or practitioner was acting on behalf of. */ - onBehalfOf?: Reference; + onBehalfOf?: Reference|undefined; } /** * Used to record and send details about a request for referral service or transfer of a patient to the care of another provider or provider organization. @@ -18256,93 +18256,93 @@ export interface ReferralRequest extends DomainResource { /** * Date/DateTime of creation for draft requests and date of activation for active requests. */ - authoredOn?: string; - _authoredOn?: Element; + authoredOn?: string|undefined; + _authoredOn?: Element|undefined; /** * Indicates any plans, proposals or orders that this request is intended to satisfy - in whole or in part. */ - basedOn?: Reference[]; + basedOn?: Reference[]|undefined; /** * The encounter at which the request for referral or transfer of care is initiated. */ - context?: Reference; + context?: Reference|undefined; /** * A protocol, guideline, orderset or other definition that is adhered to in whole or in part by this request. */ - definition?: Reference[]; + definition?: Reference[]|undefined; /** * The reason element gives a short description of why the referral is being made, the description expands on this to support a more complete clinical summary. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * The business identifier of the logical "grouping" request/order that this referral is a part of. */ - groupIdentifier?: Identifier; + groupIdentifier?: Identifier|undefined; /** * Business identifier that uniquely identifies the referral/care transfer request instance. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Distinguishes the "level" of authorization/demand implicit in this request. */ intent: ReferralRequestIntentCodes; - _intent?: Element; + _intent?: Element|undefined; /** * Comments made about the referral request by any of the participants. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * When the occurrenceDateTime is used, then it is indicating that the requested service must happen before the specified date. */ - occurrenceDateTime?: string; - _occurrenceDateTime?: Element; + occurrenceDateTime?: string|undefined; + _occurrenceDateTime?: Element|undefined; /** * When the occurrenceDateTime is used, then it is indicating that the requested service must happen before the specified date. */ - occurrencePeriod?: Period; + occurrencePeriod?: Period|undefined; /** * An indication of the urgency of referral (or where applicable the type of transfer of care) request. */ - priority?: string; - _priority?: Element; + priority?: string|undefined; + _priority?: Element|undefined; /** * Description of clinical condition indicating why referral/transfer of care is requested. For example: Pathological Anomalies, Disabled (physical or mental), Behavioral Management. */ - reasonCode?: CodeableConcept[]; + reasonCode?: CodeableConcept[]|undefined; /** * Indicates another resource whose existence justifies this request. */ - reasonReference?: Reference[]; + reasonReference?: Reference[]|undefined; /** * There will be a primary receiver. But the request can be received by any number of "copied to" providers or organizations. */ - recipient?: Reference[]; + recipient?: Reference[]|undefined; /** * This element does not point to the Provenance associated with the *current* version of the resource - as it would be created after this version existed. The Provenance for the current version can be retrieved with a _revinclude. */ - relevantHistory?: Reference[]; + relevantHistory?: Reference[]|undefined; /** * The replacement could be because the initial request was immediately rejected (due to an issue) or because the previous request was completed, but the need for the action described by the request remains ongoing. */ - replaces?: Reference[]; + replaces?: Reference[]|undefined; /** * The individual who initiated the request and has responsibility for its activation. */ - requester?: ReferralRequestRequester; + requester?: ReferralRequestRequester|undefined; /** * The service(s) that is/are requested to be provided to the patient. For example: cardiac pacemaker insertion. */ - serviceRequested?: CodeableConcept[]; + serviceRequested?: CodeableConcept[]|undefined; /** * Indication of the clinical domain or discipline to which the referral or transfer of care request is sent. For example: Cardiology Gastroenterology Diabetology. */ - specialty?: CodeableConcept; + specialty?: CodeableConcept|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: ReferralRequestStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Referral of family, group or community is to be catered for by profiles. */ @@ -18350,11 +18350,11 @@ export interface ReferralRequest extends DomainResource { /** * Any additional (administrative, financial or clinical) information required to support request for referral or transfer of care. For example: Presenting problems/chief complaints Medical History Family History Alerts Allergy/Intolerance and Adverse Reactions Medications Observations/Assessments (may include cognitive and fundtional assessments) Diagnostic Reports Care Plan. */ - supportingInfo?: Reference[]; + supportingInfo?: Reference[]|undefined; /** * An indication of the type of referral (or where applicable the type of transfer of care) request. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Code Values for the ReferralRequest.intent field @@ -18390,30 +18390,30 @@ export interface RelatedPerson extends DomainResource { /** * This element is labeled as a modifier because it may be used to mark that the resource was created in error. */ - active?: boolean; - _active?: Element; + active?: boolean|undefined; + _active?: Element|undefined; /** * Address where the related person can be contacted or visited. */ - address?: Address[]; + address?: Address[]|undefined; /** * The date on which the related person was born. */ - birthDate?: string; - _birthDate?: Element; + birthDate?: string|undefined; + _birthDate?: Element|undefined; /** * Administrative Gender - the gender that the person is considered to have for administration and record keeping purposes. */ - gender?: RelatedPersonGenderCodes; - _gender?: Element; + gender?: RelatedPersonGenderCodes|undefined; + _gender?: Element|undefined; /** * Identifier for a person within a particular scope. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * A name associated with the person. */ - name?: HumanName[]; + name?: HumanName[]|undefined; /** * The patient this person is related to. */ @@ -18421,19 +18421,19 @@ export interface RelatedPerson extends DomainResource { /** * The period of time that this relationship is considered to be valid. If there are no dates defined, then the interval is unknown. */ - period?: Period; + period?: Period|undefined; /** * Image of the person. */ - photo?: Attachment[]; + photo?: Attachment[]|undefined; /** * The nature of the relationship between a patient and the related person. */ - relationship?: CodeableConcept; + relationship?: CodeableConcept|undefined; /** * Person may have multiple ways to be contacted with different uses or applicable periods. May need to have options for contacting the person urgently, and also to help with identification. */ - telecom?: ContactPoint[]; + telecom?: ContactPoint[]|undefined; } /** * Code Values for the RelatedPerson.gender field @@ -18451,23 +18451,23 @@ export interface RequestGroupActionCondition extends BackboneElement { /** * A brief, natural language description of the condition that effectively communicates the intended semantics. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * The expression may be inlined, or may be a reference to a named expression within a logic library referenced by the library element. */ - expression?: string; - _expression?: Element; + expression?: string|undefined; + _expression?: Element|undefined; /** * Applicability criteria are used to determine immediate applicability when a plan definition is applied to a given context. Start and stop criteria are carried through application and used to describe when enter/exit criteria for an action. */ kind: RequestGroupActionConditionKindCodes; - _kind?: Element; + _kind?: Element|undefined; /** * The media type of the language for the expression. */ - language?: string; - _language?: Element; + language?: string|undefined; + _language?: Element|undefined; } /** * Code Values for the RequestGroup.action.condition.kind field @@ -18485,20 +18485,20 @@ export interface RequestGroupActionRelatedAction extends BackboneElement { * The element id of the action this is related to. */ actionId: string; - _actionId?: Element; + _actionId?: Element|undefined; /** * A duration or range of durations to apply to the relationship. For example, 30-60 minutes before. */ - offsetDuration?: Duration; + offsetDuration?: Duration|undefined; /** * A duration or range of durations to apply to the relationship. For example, 30-60 minutes before. */ - offsetRange?: Range; + offsetRange?: Range|undefined; /** * The relationship of this action to the related action. */ relationship: RequestGroupActionRelatedActionRelationshipCodes; - _relationship?: Element; + _relationship?: Element|undefined; } /** * Code Values for the RequestGroup.action.relatedAction.relationship field @@ -18521,101 +18521,101 @@ export interface RequestGroupAction extends BackboneElement { /** * Sub actions. */ - action?: RequestGroupAction[]; + action?: RequestGroupAction[]|undefined; /** * Defines whether the action can be selected multiple times. */ - cardinalityBehavior?: RequestGroupActionCardinalityBehaviorCodes; - _cardinalityBehavior?: Element; + cardinalityBehavior?: RequestGroupActionCardinalityBehaviorCodes|undefined; + _cardinalityBehavior?: Element|undefined; /** * A code that provides meaning for the action or action group. For example, a section may have a LOINC code for a the section of a documentation template. */ - code?: CodeableConcept[]; + code?: CodeableConcept[]|undefined; /** * An expression that describes applicability criteria, or start/stop conditions for the action. */ - condition?: RequestGroupActionCondition[]; + condition?: RequestGroupActionCondition[]|undefined; /** * A short description of the action used to provide a summary to display to the user. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Didactic or other informational resources associated with the action that can be provided to the CDS recipient. Information resources can include inline text commentary and links to web resources. */ - documentation?: RelatedArtifact[]; + documentation?: RelatedArtifact[]|undefined; /** * Defines the grouping behavior for the action and its children. */ - groupingBehavior?: RequestGroupActionGroupingBehaviorCodes; - _groupingBehavior?: Element; + groupingBehavior?: RequestGroupActionGroupingBehaviorCodes|undefined; + _groupingBehavior?: Element|undefined; /** * A user-visible label for the action. */ - label?: string; - _label?: Element; + label?: string|undefined; + _label?: Element|undefined; /** * The participant that should perform or be responsible for this action. */ - participant?: Reference[]; + participant?: Reference[]|undefined; /** * Defines whether the action should usually be preselected. */ - precheckBehavior?: RequestGroupActionPrecheckBehaviorCodes; - _precheckBehavior?: Element; + precheckBehavior?: RequestGroupActionPrecheckBehaviorCodes|undefined; + _precheckBehavior?: Element|undefined; /** * A relationship to another action such as "before" or "30-60 minutes after start of". */ - relatedAction?: RequestGroupActionRelatedAction[]; + relatedAction?: RequestGroupActionRelatedAction[]|undefined; /** * Defines the requiredness behavior for the action. */ - requiredBehavior?: RequestGroupActionRequiredBehaviorCodes; - _requiredBehavior?: Element; + requiredBehavior?: RequestGroupActionRequiredBehaviorCodes|undefined; + _requiredBehavior?: Element|undefined; /** * The target resource SHALL be a [Request](request.html) resource with a Request.intent set to "option". */ - resource?: Reference; + resource?: Reference|undefined; /** * Defines the selection behavior for the action and its children. */ - selectionBehavior?: RequestGroupActionSelectionBehaviorCodes; - _selectionBehavior?: Element; + selectionBehavior?: RequestGroupActionSelectionBehaviorCodes|undefined; + _selectionBehavior?: Element|undefined; /** * A text equivalent of the action to be performed. This provides a human-interpretable description of the action when the definition is consumed by a system that may not be capable of interpreting it dynamically. */ - textEquivalent?: string; - _textEquivalent?: Element; + textEquivalent?: string|undefined; + _textEquivalent?: Element|undefined; /** * An optional value describing when the action should be performed. */ - timingDateTime?: string; - _timingDateTime?: Element; + timingDateTime?: string|undefined; + _timingDateTime?: Element|undefined; /** * An optional value describing when the action should be performed. */ - timingPeriod?: Period; + timingPeriod?: Period|undefined; /** * An optional value describing when the action should be performed. */ - timingDuration?: Duration; + timingDuration?: Duration|undefined; /** * An optional value describing when the action should be performed. */ - timingRange?: Range; + timingRange?: Range|undefined; /** * An optional value describing when the action should be performed. */ - timingTiming?: Timing; + timingTiming?: Timing|undefined; /** * The title of the action displayed to a user. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * The type of action to perform (create, update, remove). */ - type?: Coding; + type?: Coding|undefined; } /** * Code Values for the RequestGroup.action.cardinalityBehavior field @@ -18667,71 +18667,71 @@ export interface RequestGroup extends DomainResource { /** * The actions, if any, produced by the evaluation of the artifact. */ - action?: RequestGroupAction[]; + action?: RequestGroupAction[]|undefined; /** * Provides a reference to the author of the request group. */ - author?: Reference; + author?: Reference|undefined; /** * Indicates when the request group was created. */ - authoredOn?: string; - _authoredOn?: Element; + authoredOn?: string|undefined; + _authoredOn?: Element|undefined; /** * A plan, proposal or order that is fulfilled in whole or in part by this request. */ - basedOn?: Reference[]; + basedOn?: Reference[]|undefined; /** * Describes the context of the request group, if any. */ - context?: Reference; + context?: Reference|undefined; /** * A protocol, guideline, orderset or other definition that is adhered to in whole or in part by this request. */ - definition?: Reference[]; + definition?: Reference[]|undefined; /** * Requests are linked either by a "basedOn" relationship (i.e. one request is fulfilling another) or by having a common requisition. Requests that are part of the same requisition are generally treated independently from the perspective of changing their state or maintaining them after initial creation. */ - groupIdentifier?: Identifier; + groupIdentifier?: Identifier|undefined; /** * Allows a service to provide a unique, business identifier for the request. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * This element is labeled as a modifier because the intent alters when and how the resource is actually applicable. */ intent: RequestGroupIntentCodes; - _intent?: Element; + _intent?: Element|undefined; /** * Provides a mechanism to communicate additional information about the response. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * Indicates how quickly the request should be addressed with respect to other requests. */ - priority?: RequestGroupPriorityCodes; - _priority?: Element; + priority?: RequestGroupPriorityCodes|undefined; + _priority?: Element|undefined; /** * Indicates the reason the request group was created. This is typically provided as a parameter to the evaluation and echoed by the service, although for some use cases, such as subscription- or event-based scenarios, it may provide an indication of the cause for the response. */ - reasonCodeableConcept?: CodeableConcept; + reasonCodeableConcept?: CodeableConcept|undefined; /** * Indicates the reason the request group was created. This is typically provided as a parameter to the evaluation and echoed by the service, although for some use cases, such as subscription- or event-based scenarios, it may provide an indication of the cause for the response. */ - reasonReference?: Reference; + reasonReference?: Reference|undefined; /** * The replacement could be because the initial request was immediately rejected (due to an issue) or because the previous request was completed, but the need for the action described by the request remains ongoing. */ - replaces?: Reference[]; + replaces?: Reference[]|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: RequestGroupStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * The subject for which the request group was created. */ - subject?: Reference; + subject?: Reference|undefined; } /** * Code Values for the RequestGroup.intent field @@ -18774,17 +18774,17 @@ export interface ResearchStudyArm extends BackboneElement { /** * Categorization of study arm, e.g. experimental, active comparator, placebo comparater. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * A succinct description of the path through the study that would be followed by a subject adhering to this arm. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Unique, human-readable label for this arm of the study. */ name: string; - _name?: Element; + _name?: Element|undefined; } /** * A process where a researcher or organization plans and then executes a series of steps intended to increase the field of healthcare-related knowledge. This includes studies of safety, efficacy, comparative effectiveness and other information about medications, devices, therapies and other interventional and investigative techniques. A ResearchStudy involves the gathering of information about human or animal subjects. @@ -18795,86 +18795,86 @@ export interface ResearchStudy extends DomainResource { /** * Describes an expected sequence of events for one of the participants of a study. E.g. Exposure to drug A, wash-out, exposure to drug B, wash-out, follow-up. */ - arm?: ResearchStudyArm[]; + arm?: ResearchStudyArm[]|undefined; /** * Codes categorizing the type of study such as investigational vs. observational, type of blinding, type of randomization, safety vs. efficacy, etc. */ - category?: CodeableConcept[]; + category?: CodeableConcept[]|undefined; /** * Contact details to assist a user in learning more about or engaging with the study. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * A full description of how the study is being conducted. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * The Group referenced should not generally enumerate specific subjects. Subjects will be linked to the study using the ResearchSubject resource. */ - enrollment?: Reference[]; + enrollment?: Reference[]|undefined; /** * The condition(s), medication(s), food(s), therapy(ies), device(s) or other concerns or interventions that the study is seeking to gain more information about. */ - focus?: CodeableConcept[]; + focus?: CodeableConcept[]|undefined; /** * Identifiers assigned to this research study by the sponsor or other systems. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Indicates a country, state or other region where the study is taking place. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * Key terms to aid in searching for or filtering the study. */ - keyword?: CodeableConcept[]; + keyword?: CodeableConcept[]|undefined; /** * Comments made about the event by the performer, subject or other participants. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * A larger research study of which this particular study is a component or step. */ - partOf?: Reference[]; + partOf?: Reference[]|undefined; /** * Identifies the start date and the expected (or actual, depending on status) end date for the study. */ - period?: Period; + period?: Period|undefined; /** * Indicates the individual who has primary oversite of the execution of the study. */ - principalInvestigator?: Reference; + principalInvestigator?: Reference|undefined; /** * The set of steps expected to be performed as part of the execution of the study. */ - protocol?: Reference[]; + protocol?: Reference[]|undefined; /** * A description and/or code explaining the premature termination of the study. */ - reasonStopped?: CodeableConcept; + reasonStopped?: CodeableConcept|undefined; /** * Citations, references and other related documents. */ - relatedArtifact?: RelatedArtifact[]; + relatedArtifact?: RelatedArtifact[]|undefined; /** * Clinic, hospital or other healthcare location that is participating in the study. */ - site?: Reference[]; + site?: Reference[]|undefined; /** * The organization responsible for the execution of the study. */ - sponsor?: Reference; + sponsor?: Reference|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: ResearchStudyStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * A short, descriptive user-friendly label for the study. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; } /** * Code Values for the ResearchStudy.status field @@ -18896,21 +18896,21 @@ export interface ResearchSubject extends DomainResource { /** * The name of the arm in the study the subject actually followed as part of this study. */ - actualArm?: string; - _actualArm?: Element; + actualArm?: string|undefined; + _actualArm?: Element|undefined; /** * The name of the arm in the study the subject is expected to follow as part of this study. */ - assignedArm?: string; - _assignedArm?: Element; + assignedArm?: string|undefined; + _assignedArm?: Element|undefined; /** * A record of the patient's informed agreement to participate in the study. */ - consent?: Reference; + consent?: Reference|undefined; /** * Identifiers assigned to this research study by the sponsor or other systems. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * The record of the person or animal who is involved in the study. */ @@ -18918,12 +18918,12 @@ export interface ResearchSubject extends DomainResource { /** * The dates the subject began and ended their participation in the study. */ - period?: Period; + period?: Period|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: ResearchSubjectStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Reference to the study the subject is participating in. */ @@ -18949,23 +18949,23 @@ export interface Resource { /** * The only time that a resource does not have an id is when it is being submitted to the server using a create operation. */ - id?: string; - _id?: Element; + id?: string|undefined; + _id?: Element|undefined; /** * Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. * This element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation. */ - implicitRules?: string; - _implicitRules?: Element; + implicitRules?: string|undefined; + _implicitRules?: Element|undefined; /** * Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute). */ - language?: string; - _language?: Element; + language?: string|undefined; + _language?: Element|undefined; /** * The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content may not always be associated with version changes to the resource. */ - meta?: Meta; + meta?: Meta|undefined; } /** * Multiple repetitions can be used to identify the same type of outcome in different timeframes as well as different types of outcomes. @@ -18978,32 +18978,32 @@ export interface RiskAssessmentPrediction extends BackboneElement { /** * If range is used, it represents the lower and upper bounds of certainty; e.g. 40-60% Decimal values are expressed as percentages as well (max = 100). */ - probabilityDecimal?: number; + probabilityDecimal?: number|undefined; /** * If range is used, it represents the lower and upper bounds of certainty; e.g. 40-60% Decimal values are expressed as percentages as well (max = 100). */ - probabilityRange?: Range; + probabilityRange?: Range|undefined; /** * How likely is the outcome (in the specified timeframe), expressed as a qualitative value (e.g. low, medium, high). */ - qualitativeRisk?: CodeableConcept; + qualitativeRisk?: CodeableConcept|undefined; /** * Additional information explaining the basis for the prediction. */ - rationale?: string; - _rationale?: Element; + rationale?: string|undefined; + _rationale?: Element|undefined; /** * Indicates the risk for this particular subject (with their specific characteristics) divided by the risk of the population in general. (Numbers greater than 1 = higher risk than the population, numbers less than 1 = lower risk.). */ - relativeRisk?: number; + relativeRisk?: number|undefined; /** * If not specified, the risk applies "over the subject's lifespan". */ - whenPeriod?: Period; + whenPeriod?: Period|undefined; /** * If not specified, the risk applies "over the subject's lifespan". */ - whenRange?: Range; + whenRange?: Range|undefined; } /** * An assessment of the likely outcome(s) for a patient or other subject as well as the likelihood of each outcome. @@ -19014,79 +19014,79 @@ export interface RiskAssessment extends DomainResource { /** * A reference to the request that is fulfilled by this risk assessment. */ - basedOn?: Reference; + basedOn?: Reference|undefined; /** * Indicates the source data considered as part of the assessment (FamilyHistory, Observations, Procedures, Conditions, etc.). */ - basis?: Reference[]; + basis?: Reference[]|undefined; /** * The type of the risk assessment performed. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * Additional comments about the risk assessment. */ - comment?: string; - _comment?: Element; + comment?: string|undefined; + _comment?: Element|undefined; /** * For assessments or prognosis specific to a particular condition, indicates the condition being assessed. */ - condition?: Reference; + condition?: Reference|undefined; /** * The encounter where the assessment was performed. */ - context?: Reference; + context?: Reference|undefined; /** * Business identifier assigned to the risk assessment. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * The algorithm, process or mechanism used to evaluate the risk. */ - method?: CodeableConcept; + method?: CodeableConcept|undefined; /** * A description of the steps that might be taken to reduce the identified risk(s). */ - mitigation?: string; - _mitigation?: Element; + mitigation?: string|undefined; + _mitigation?: Element|undefined; /** * The date (and possibly time) the risk assessment was performed. */ - occurrenceDateTime?: string; - _occurrenceDateTime?: Element; + occurrenceDateTime?: string|undefined; + _occurrenceDateTime?: Element|undefined; /** * The date (and possibly time) the risk assessment was performed. */ - occurrencePeriod?: Period; + occurrencePeriod?: Period|undefined; /** * A reference to a resource that this risk assessment is part of, such as a Procedure. */ - parent?: Reference; + parent?: Reference|undefined; /** * The provider or software application that performed the assessment. */ - performer?: Reference; + performer?: Reference|undefined; /** * Multiple repetitions can be used to identify the same type of outcome in different timeframes as well as different types of outcomes. */ - prediction?: RiskAssessmentPrediction[]; + prediction?: RiskAssessmentPrediction[]|undefined; /** * The reason the risk assessment was performed. */ - reasonCodeableConcept?: CodeableConcept; + reasonCodeableConcept?: CodeableConcept|undefined; /** * The reason the risk assessment was performed. */ - reasonReference?: Reference; + reasonReference?: Reference|undefined; /** * The status of the RiskAssessment, using the same statuses as an Observation. */ status: RiskAssessmentStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * The patient or group the risk assessment applies to. */ - subject?: Reference; + subject?: Reference|undefined; } /** * Code Values for the RiskAssessment.status field @@ -19110,8 +19110,8 @@ export interface Schedule extends DomainResource { /** * This element is labeled as a modifier because it may be used to mark that the resource was created in error. */ - active?: boolean; - _active?: Element; + active?: boolean|undefined; + _active?: Element|undefined; /** * The capacity to support multiple referenced resource types should be used in cases where the specific resources themselves cannot be scheduled without the other, and thus only make sense to the system exposing them as a group. Common examples of this are where the combination of a pracitioner and a room(location) are always required by a system. */ @@ -19119,28 +19119,28 @@ export interface Schedule extends DomainResource { /** * Comments on the availability to describe any extended information. Such as custom constraints on the slots that may be associated. */ - comment?: string; - _comment?: Element; + comment?: string|undefined; + _comment?: Element|undefined; /** * External Ids for this item. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The period of time that the slots that are attached to this Schedule resource cover (even if none exist). These cover the amount of time that an organization's planning horizon; the interval for which they are currently accepting appointments. This does not define a "template" for planning outside these dates. */ - planningHorizon?: Period; + planningHorizon?: Period|undefined; /** * A broad categorisation of the service that is to be performed during this appointment. */ - serviceCategory?: CodeableConcept; + serviceCategory?: CodeableConcept|undefined; /** * The specific service that is to be performed during this appointment. */ - serviceType?: CodeableConcept[]; + serviceType?: CodeableConcept[]|undefined; /** * The specialty of a practitioner that would be required to perform the service requested in this appointment. */ - specialty?: CodeableConcept[]; + specialty?: CodeableConcept[]|undefined; } /** * Used to define the parts of a composite search parameter. @@ -19154,7 +19154,7 @@ export interface SearchParameterComponent extends BackboneElement { * This expression overrides the expression in the definition, and extracts the index values from the outcome of the composite expression. */ expression: string; - _expression?: Element; + _expression?: Element|undefined; } /** * A search parameter that defines a named search item that can be used to search/filter on a resource. @@ -19166,119 +19166,119 @@ export interface SearchParameter extends DomainResource { * A search parameter must always have at least one type. When search parameters have more than one resource, they can be used against any of the listed resource types, or in a cross-type search (see [Cross Resource Search](http.html#xres-search)). */ base: string[]; - _base?: Element[]; + _base?: Element[]|undefined; /** * Systems are not required to list all the chain names they support, but if they don't list them, clients may not know to use them. */ - chain?: string[]; - _chain?: Element[]; + chain?: string[]|undefined; + _chain?: Element[]|undefined; /** * For maximum compatibility, use only lowercase ASCII characters. */ code: string; - _code?: Element; + _code?: Element|undefined; /** * If no comparators are listed, clients should not expect servers to support any comparators. */ - comparator?: SearchParameterComparatorCodes[]; - _comparator?: Element[]; + comparator?: SearchParameterComparatorCodes[]|undefined; + _comparator?: Element[]|undefined; /** * Used to define the parts of a composite search parameter. */ - component?: SearchParameterComponent[]; + component?: SearchParameterComponent[]|undefined; /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the search parameter. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * The intent of this is that a server can designate that it provides support for a search parameter defined in the specification itself (e.g. [`value-quantity`](http://hl7.org/fhir/SearchParameter/Observation-value-quantity), but detail how it is supported by the server. */ - derivedFrom?: string; - _derivedFrom?: Element; + derivedFrom?: string|undefined; + _derivedFrom?: Element|undefined; /** * This description can be used to capture details such as why the search parameter was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the search parameter as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created). */ description: string; - _description?: Element; + _description?: Element|undefined; /** * Allows filtering of search parameter that are appropriate for use vs. not. This is labeled as "Is Modifier" because applications should not use an experimental search parameter in production. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * Note that the elements returned by the expression are sometimes complex elements where logic is required to determine quite how to handle them; e.g. CodeableConcepts may contain text and/or multiple codings, where the codings themselves contain a code and a system. For composite search parameters, the outcome of the expression must a collection of base elements from which the composites are derived. */ - expression?: string; - _expression?: Element; + expression?: string|undefined; + _expression?: Element|undefined; /** * It may be possible for the search parameter to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * A modifier supported for the search parameter. */ - modifier?: SearchParameterModifierCodes[]; - _modifier?: Element[]; + modifier?: SearchParameterModifierCodes[]|undefined; + _modifier?: Element[]|undefined; /** * The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * Usually an organization, but may be an individual. The publisher (or steward) of the search parameter is the organization or individual primarily responsible for the maintenance and upkeep of the search parameter. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the search parameter. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * This element does not describe the usage of the search parameter Instead it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this search parameter. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * Allows filtering of search parameters that are appropriate for use vs. not. * This is labeled as "Is Modifier" because applications should not use a retired search parameter without due consideration. */ status: SearchParameterStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Types of resource (if a resource is referenced). */ - target?: string[]; - _target?: Element[]; + target?: string[]|undefined; + _target?: Element[]|undefined; /** * The type of value a search parameter refers to, and how the content is interpreted. */ type: SearchParameterTypeCodes; - _type?: Element; + _type?: Element|undefined; /** * Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred. Multiple instances may share the same url if they have a distinct version. */ url: string; - _url?: Element; + _url?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different search parameter instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a refrence to a particular business version of the search parameter with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; /** * Note that the elements returned by the XPath are sometimes complex elements where logic is required to determine quite how to handle them; e.g. CodeableConcepts may contain text and/or multiple codings, where the codings themselves contain a code and a system. */ - xpath?: string; - _xpath?: Element; + xpath?: string|undefined; + _xpath?: Element|undefined; /** * How the search parameter relates to the set of elements returned by evaluating the xpath query. */ - xpathUsage?: SearchParameterXpathUsageCodes; - _xpathUsage?: Element; + xpathUsage?: SearchParameterXpathUsageCodes|undefined; + _xpathUsage?: Element|undefined; } /** * Code Values for the SearchParameter.comparator field @@ -19348,29 +19348,29 @@ export interface SequenceReferenceSeq extends BackboneElement { /** * Structural unit composed of a nucleic acid molecule which controls its own replication through the interaction of specific proteins at one or more origins of replication ([SO:0000340](http://www.sequenceontology.org/browser/current_svn/term/SO:0000340)). */ - chromosome?: CodeableConcept; + chromosome?: CodeableConcept|undefined; /** * The Genome Build used for reference, following GRCh build versions e.g. 'GRCh 37'. Version number must be included if a versioned release of a primary build was used. */ - genomeBuild?: string; - _genomeBuild?: Element; + genomeBuild?: string|undefined; + _genomeBuild?: Element|undefined; /** * Reference identifier of reference sequence submitted to NCBI. It must match the type in the Sequence.type field. For example, the prefix, “NG_” identifies reference sequence for genes, “NM_” for messenger RNA transcripts, and “NP_” for amino acid sequences. */ - referenceSeqId?: CodeableConcept; + referenceSeqId?: CodeableConcept|undefined; /** * A Pointer to another Sequence entity as reference sequence. */ - referenceSeqPointer?: Reference; + referenceSeqPointer?: Reference|undefined; /** * A string like "ACGT". */ - referenceSeqString?: string; - _referenceSeqString?: Element; + referenceSeqString?: string|undefined; + _referenceSeqString?: Element|undefined; /** * Directionality of DNA sequence. Available values are "1" for the plus strand (5' to 3')/Watson/Sense/positive and "-1" for the minus strand(3' to 5')/Crick/Antisense/negative. */ - strand?: number; + strand?: number|undefined; /** * End position of the window on the reference sequence. If the coordinate system is 0-based then end is is exclusive and does not include the last position. If the coordinate system is 1-base, then end is inclusive and includes the last position. */ @@ -19387,30 +19387,30 @@ export interface SequenceVariant extends BackboneElement { /** * Extended CIGAR string for aligning the sequence with reference bases. See detailed documentation [here](http://support.illumina.com/help/SequencingAnalysisWorkflow/Content/Vault/Informatics/Sequencing_Analysis/CASAVA/swSEQ_mCA_ExtendedCIGARFormat.htm). */ - cigar?: string; - _cigar?: Element; + cigar?: string|undefined; + _cigar?: Element|undefined; /** * End position of the variant on the reference sequence.If the coordinate system is 0-based then end is is exclusive and does not include the last position. If the coordinate system is 1-base, then end is inclusive and includes the last position. */ - end?: number; + end?: number|undefined; /** * An allele is one of a set of coexisting sequence variants of a gene ([SO:0001023](http://www.sequenceontology.org/browser/current_svn/term/SO:0001023)). Nucleotide(s)/amino acids from start position of sequence to stop position of sequence on the positive (+) strand of the observed sequence. When the sequence type is DNA, it should be the sequence on the positive (+) strand. This will lay in the range between variant.start and variant.end. */ - observedAllele?: string; - _observedAllele?: Element; + observedAllele?: string|undefined; + _observedAllele?: Element|undefined; /** * An allele is one of a set of coexisting sequence variants of a gene ([SO:0001023](http://www.sequenceontology.org/browser/current_svn/term/SO:0001023)). Nucleotide(s)/amino acids from start position of sequence to stop position of sequence on the positive (+) strand of the reference sequence. When the sequence type is DNA, it should be the sequence on the positive (+) strand. This will lay in the range between variant.start and variant.end. */ - referenceAllele?: string; - _referenceAllele?: Element; + referenceAllele?: string|undefined; + _referenceAllele?: Element|undefined; /** * Start position of the variant on the reference sequence.If the coordinate system is either 0-based or 1-based, then start position is inclusive. */ - start?: number; + start?: number|undefined; /** * A pointer to an Observation containing variant information. */ - variantPointer?: Reference; + variantPointer?: Reference|undefined; } /** * An experimental feature attribute that defines the quality of the feature in a quantitative way, such as a phred quality score ([SO:0001686](http://www.sequenceontology.org/browser/current_svn/term/SO:0001686)). @@ -19419,60 +19419,60 @@ export interface SequenceQuality extends BackboneElement { /** * End position of the sequence.If the coordinate system is 0-based then end is is exclusive and does not include the last position. If the coordinate system is 1-base, then end is inclusive and includes the last position. */ - end?: number; + end?: number|undefined; /** * Harmonic mean of Recall and Precision, computed as: 2 * precision * recall / (precision + recall). */ - fScore?: number; + fScore?: number|undefined; /** * The number of false positives where the non-REF alleles in the Truth and Query Call Sets match (i.e. cases where the truth is 1/1 and the query is 0/1 or similar). */ - gtFP?: number; + gtFP?: number|undefined; /** * Which method is used to get sequence quality. */ - method?: CodeableConcept; + method?: CodeableConcept|undefined; /** * QUERY.TP / (QUERY.TP + QUERY.FP). */ - precision?: number; + precision?: number|undefined; /** * False positives, i.e. the number of sites in the Query Call Set for which there is no path through the Truth Call Set that is consistent with this site. Sites with correct variant but incorrect genotype are counted here. */ - queryFP?: number; + queryFP?: number|undefined; /** * True positives, from the perspective of the query data, i.e. the number of sites in the Query Call Set for which there are paths through the Truth Call Set that are consistent with all of the alleles at this site, and for which there is an accurate genotype call for the event. */ - queryTP?: number; + queryTP?: number|undefined; /** * TRUTH.TP / (TRUTH.TP + TRUTH.FN). */ - recall?: number; + recall?: number|undefined; /** * The score of an experimentally derived feature such as a p-value ([SO:0001685](http://www.sequenceontology.org/browser/current_svn/term/SO:0001685)). */ - score?: Quantity; + score?: Quantity|undefined; /** * Gold standard sequence used for comparing against. */ - standardSequence?: CodeableConcept; + standardSequence?: CodeableConcept|undefined; /** * Start position of the sequence. If the coordinate system is either 0-based or 1-based, then start position is inclusive. */ - start?: number; + start?: number|undefined; /** * False negatives, i.e. the number of sites in the Truth Call Set for which there is no path through the Query Call Set that is consistent with all of the alleles at this site, or sites for which there is an inaccurate genotype call for the event. Sites with correct variant but incorrect genotype are counted here. */ - truthFN?: number; + truthFN?: number|undefined; /** * True positives, from the perspective of the truth data, i.e. the number of sites in the Truth Call Set for which there are paths through the Query Call Set that are consistent with all of the alleles at this site, and for which there is an accurate genotype call for the event. */ - truthTP?: number; + truthTP?: number|undefined; /** * INDEL / SNP / Undefined variant. */ type: SequenceQualityTypeCodes; - _type?: Element; + _type?: Element|undefined; } /** * Code Values for the Sequence.quality.type field @@ -19489,33 +19489,33 @@ export interface SequenceRepository extends BackboneElement { /** * Id of the variant in this external repository. The server will understand how to use this id to call for more info about datasets in external repository. */ - datasetId?: string; - _datasetId?: Element; + datasetId?: string|undefined; + _datasetId?: Element|undefined; /** * URI of an external repository which contains further details about the genetics data. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Id of the read in this external repository. */ - readsetId?: string; - _readsetId?: Element; + readsetId?: string|undefined; + _readsetId?: Element|undefined; /** * Click and see / RESTful API / Need login to see / RESTful API with authentication / Other ways to see resource. */ type: SequenceRepositoryTypeCodes; - _type?: Element; + _type?: Element|undefined; /** * URI of an external repository which contains further details about the genetics data. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * Id of the variantset in this external repository. The server will understand how to use this id to call for more info about variantsets in external repository. */ - variantsetId?: string; - _variantsetId?: Element; + variantsetId?: string|undefined; + _variantsetId?: Element|undefined; } /** * Code Values for the Sequence.repository.type field @@ -19540,61 +19540,61 @@ export interface Sequence extends DomainResource { /** * The method for sequencing, for example, chip information. */ - device?: Reference; + device?: Reference|undefined; /** * A unique identifier for this particular sequence instance. This is a FHIR-defined id. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Sequence that was observed. It is the result marked by referenceSeq along with variant records on referenceSeq. This shall starts from referenceSeq.windowStart and end by referenceSeq.windowEnd. */ - observedSeq?: string; - _observedSeq?: Element; + observedSeq?: string|undefined; + _observedSeq?: Element|undefined; /** * The patient whose sequencing results are described by this resource. */ - patient?: Reference; + patient?: Reference|undefined; /** * The organization or lab that should be responsible for this result. */ - performer?: Reference; + performer?: Reference|undefined; /** * Pointer to next atomic sequence which at most contains one variant. */ - pointer?: Reference[]; + pointer?: Reference[]|undefined; /** * An experimental feature attribute that defines the quality of the feature in a quantitative way, such as a phred quality score ([SO:0001686](http://www.sequenceontology.org/browser/current_svn/term/SO:0001686)). */ - quality?: SequenceQuality[]; + quality?: SequenceQuality[]|undefined; /** * The number of copies of the seqeunce of interest. (RNASeq). */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * Coverage (read depth or depth) is the average number of reads representing a given nucleotide in the reconstructed sequence. */ - readCoverage?: number; + readCoverage?: number|undefined; /** * A sequence that is used as a reference to describe variants that are present in a sequence analyzed. */ - referenceSeq?: SequenceReferenceSeq; + referenceSeq?: SequenceReferenceSeq|undefined; /** * Configurations of the external repository. The repository shall store target's observedSeq or records related with target's observedSeq. */ - repository?: SequenceRepository[]; + repository?: SequenceRepository[]|undefined; /** * Specimen used for sequencing. */ - specimen?: Reference; + specimen?: Reference|undefined; /** * Amino Acid Sequence/ DNA Sequence / RNA Sequence. */ - type?: string; - _type?: Element; + type?: string|undefined; + _type?: Element|undefined; /** * The definition of variant here originates from Sequence ontology ([variant_of](http://www.sequenceontology.org/browser/current_svn/term/variant_of)). This element can represent amino acid or nucleic sequence change(including insertion,deletion,SNP,etc.) It can represent some complex mutation or segment variation with the assist of CIGAR string. */ - variant?: SequenceVariant[]; + variant?: SequenceVariant[]|undefined; } /** * Code Values for the Sequence.type field @@ -19613,118 +19613,118 @@ export interface ServiceDefinition extends DomainResource { /** * The 'date' element may be more recent than the approval date because of minor changes / editorial corrections. */ - approvalDate?: string; - _approvalDate?: Element; + approvalDate?: string|undefined; + _approvalDate?: Element|undefined; /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * A contributor to the content of the module, including authors, editors, reviewers, and endorsers. */ - contributor?: Contributor[]; + contributor?: Contributor[]|undefined; /** * A copyright statement relating to the service definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the service definition. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * Data requirements are a machine processable description of the data required by the module in order to perform a successful evaluation. */ - dataRequirement?: DataRequirement[]; + dataRequirement?: DataRequirement[]|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the service definition. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * This description can be used to capture details such as why the service definition was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the service definition as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * The effective period for a service definition determines when the content is applicable for usage and is independent of publication and review dates. For example, a measure intended to be used for the year 2016 might be published in 2015. */ - effectivePeriod?: Period; + effectivePeriod?: Period|undefined; /** * Allows filtering of service definition that are appropriate for use vs. not. This is labeled as "Is Modifier" because applications should not use an experimental service definition in production. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, e.g., to identify this service definition outside of FHIR, where it is not possible to use the logical URI. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * It may be possible for the service definition to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * If specified, this is usually after the approval date. */ - lastReviewDate?: string; - _lastReviewDate?: Element; + lastReviewDate?: string|undefined; + _lastReviewDate?: Element|undefined; /** * The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * A reference to the operation that is used to invoke this service. */ - operationDefinition?: Reference; + operationDefinition?: Reference|undefined; /** * Usually an organization, but may be an individual. The publisher (or steward) of the service definition is the organization or individual primarily responsible for the maintenance and upkeep of the service definition. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the service definition. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * This element does not describe the usage of the service definition Instead it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this service definition. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * Each related resource is either an attachment, or a reference to another resource, but not both. */ - relatedArtifact?: RelatedArtifact[]; + relatedArtifact?: RelatedArtifact[]|undefined; /** * Allows filtering of service definitions that are appropriate for use vs. not. * This is labeled as "Is Modifier" because applications should not use a retired service definition without due consideration. */ status: ServiceDefinitionStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Descriptive topics related to the module. Topics provide a high-level categorization of the module that can be useful for filtering and searching. */ - topic?: CodeableConcept[]; + topic?: CodeableConcept[]|undefined; /** * The trigger element defines when the rule should be invoked. This information is used by consumers of the rule to determine how to integrate the rule into a specific workflow. */ - trigger?: TriggerDefinition[]; + trigger?: TriggerDefinition[]|undefined; /** * Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred. Multiple instances may share the same url if they have a distinct version. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * A detailed description of how the module is used from a clinical perspective. */ - usage?: string; - _usage?: Element; + usage?: string|undefined; + _usage?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different service definition instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a refrence to a particular business version of the service definition with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the ServiceDefinition.status field @@ -19744,26 +19744,26 @@ export interface Slot extends DomainResource { /** * The style of appointment or patient that may be booked in the slot (not service type). */ - appointmentType?: CodeableConcept; + appointmentType?: CodeableConcept|undefined; /** * Comments on the slot to describe any extended information. Such as custom constraints on the slot. */ - comment?: string; - _comment?: Element; + comment?: string|undefined; + _comment?: Element|undefined; /** * Date/Time that the slot is to conclude. */ end: string; - _end?: Element; + _end?: Element|undefined; /** * External Ids for this item. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * This slot has already been overbooked, appointments are unlikely to be accepted for this time. */ - overbooked?: boolean; - _overbooked?: Element; + overbooked?: boolean|undefined; + _overbooked?: Element|undefined; /** * The schedule resource that this slot defines an interval of status information. */ @@ -19771,25 +19771,25 @@ export interface Slot extends DomainResource { /** * A broad categorisation of the service that is to be performed during this appointment. */ - serviceCategory?: CodeableConcept; + serviceCategory?: CodeableConcept|undefined; /** * The type of appointments that can be booked into this slot (ideally this would be an identifiable service - which is at a location, rather than the location itself). If provided then this overrides the value provided on the availability resource. */ - serviceType?: CodeableConcept[]; + serviceType?: CodeableConcept[]|undefined; /** * The specialty of a practitioner that would be required to perform the service requested in this appointment. */ - specialty?: CodeableConcept[]; + specialty?: CodeableConcept[]|undefined; /** * Date/Time that the slot is to begin. */ start: string; - _start?: Element; + _start?: Element|undefined; /** * busy | free | busy-unavailable | busy-tentative | entered-in-error. */ status: SlotStatusCodes; - _status?: Element; + _status?: Element|undefined; } /** * Code Values for the Slot.status field @@ -19808,28 +19808,28 @@ export interface SpecimenCollection extends BackboneElement { /** * If the use case requires BodySite to be handled as a separate resource instead of an inline coded element (e.g. to identify and track separately) then use the standard extension [body-site-instance](extension-body-site-instance.html). */ - bodySite?: CodeableConcept; + bodySite?: CodeableConcept|undefined; /** * Time when specimen was collected from subject - the physiologically relevant time. */ - collectedDateTime?: string; - _collectedDateTime?: Element; + collectedDateTime?: string|undefined; + _collectedDateTime?: Element|undefined; /** * Time when specimen was collected from subject - the physiologically relevant time. */ - collectedPeriod?: Period; + collectedPeriod?: Period|undefined; /** * Person who collected the specimen. */ - collector?: Reference; + collector?: Reference|undefined; /** * A coded value specifying the technique that is used to perform the procedure. */ - method?: CodeableConcept; + method?: CodeableConcept|undefined; /** * The quantity of specimen collected; for instance the volume of a blood sample, or the physical measurement of an anatomic pathology sample. */ - quantity?: Quantity; + quantity?: Quantity|undefined; } /** * Details concerning processing and processing steps for the specimen. @@ -19838,25 +19838,25 @@ export interface SpecimenProcessing extends BackboneElement { /** * Material used in the processing step. */ - additive?: Reference[]; + additive?: Reference[]|undefined; /** * Textual description of procedure. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * A coded value specifying the procedure used to process the specimen. */ - procedure?: CodeableConcept; + procedure?: CodeableConcept|undefined; /** * A record of the time or period when the specimen processing occurred. For example the time of sample fixation or the period of time the sample was in formalin. */ - timeDateTime?: string; - _timeDateTime?: Element; + timeDateTime?: string|undefined; + _timeDateTime?: Element|undefined; /** * A record of the time or period when the specimen processing occurred. For example the time of sample fixation or the period of time the sample was in formalin. */ - timePeriod?: Period; + timePeriod?: Period|undefined; } /** * The container holding the specimen. The recursive nature of containers; i.e. blood in tube in tray in rack is not addressed here. @@ -19865,32 +19865,32 @@ export interface SpecimenContainer extends BackboneElement { /** * Introduced substance to preserve, maintain or enhance the specimen. Examples: Formalin, Citrate, EDTA. */ - additiveCodeableConcept?: CodeableConcept; + additiveCodeableConcept?: CodeableConcept|undefined; /** * Introduced substance to preserve, maintain or enhance the specimen. Examples: Formalin, Citrate, EDTA. */ - additiveReference?: Reference; + additiveReference?: Reference|undefined; /** * The capacity (volume or other measure) the container may contain. */ - capacity?: Quantity; + capacity?: Quantity|undefined; /** * Textual description of the container. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Id for container. There may be multiple; a manufacturer's bar code, lab assigned identifier, etc. The container ID may differ from the specimen id in some circumstances. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The quantity of specimen in the container; may be volume, dimensions, or other appropriate measurements, depending on the specimen type. */ - specimenQuantity?: Quantity; + specimenQuantity?: Quantity|undefined; /** * The type of container associated with the specimen (e.g. slide, aliquot, etc.). */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * A sample to be used for analysis. @@ -19901,45 +19901,45 @@ export interface Specimen extends DomainResource { /** * The identifier assigned by the lab when accessioning specimen(s). This is not necessarily the same as the specimen identifier, depending on local lab procedures. */ - accessionIdentifier?: Identifier; + accessionIdentifier?: Identifier|undefined; /** * Details concerning the specimen collection. */ - collection?: SpecimenCollection; + collection?: SpecimenCollection|undefined; /** * The container holding the specimen. The recursive nature of containers; i.e. blood in tube in tray in rack is not addressed here. */ - container?: SpecimenContainer[]; + container?: SpecimenContainer[]|undefined; /** * Id for specimen. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * To communicate any details or issues about the specimen or during the specimen collection. (for example: broken vial, sent with patient, frozen). */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * The parent specimen could be the source from which the current specimen is derived by some processing step (e.g. an aliquot or isolate or extracted nucleic acids from clinical samples) or one of many specimens that were combined to create a pooled sample. */ - parent?: Reference[]; + parent?: Reference[]|undefined; /** * Details concerning processing and processing steps for the specimen. */ - processing?: SpecimenProcessing[]; + processing?: SpecimenProcessing[]|undefined; /** * Time when specimen was received for processing or testing. */ - receivedTime?: string; - _receivedTime?: Element; + receivedTime?: string|undefined; + _receivedTime?: Element|undefined; /** * The request may be explicit or implied such with a ProcedureRequest that requires a blood draw. */ - request?: Reference[]; + request?: Reference[]|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ - status?: SpecimenStatusCodes; - _status?: Element; + status?: SpecimenStatusCodes|undefined; + _status?: Element|undefined; /** * Where the specimen came from. This may be from the patient(s) or from the environment or a device. */ @@ -19947,7 +19947,7 @@ export interface Specimen extends DomainResource { /** * The type can change the way that a specimen is handled, and drives what kind of analyses can properly be performed on the specimen. It is frequently used in diagnostic work flow decision making systems. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Code Values for the Specimen.status field @@ -19965,23 +19965,23 @@ export interface StructureDefinitionMapping extends BackboneElement { /** * Comments about this mapping, including version notes, issues, scope limitations, and other important notes for usage. */ - comment?: string; - _comment?: Element; + comment?: string|undefined; + _comment?: Element|undefined; /** * The specification is described once, with general comments, and then specific mappings are made that reference this declaration. */ identity: string; - _identity?: Element; + _identity?: Element|undefined; /** * A name for the specification that is being mapped to. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * A formal identity for the specification being mapped to helps with identifying maps consistently. */ - uri?: string; - _uri?: Element; + uri?: string|undefined; + _uri?: Element|undefined; } /** * A snapshot view is expressed in a stand alone form that can be used and interpreted without considering the base StructureDefinition. @@ -20011,136 +20011,136 @@ export interface StructureDefinition extends DomainResource { * Abstract Resources cannot be instantiated - a concrete sub-type must be used. Abstract datatypes and extensions cannot be used in an instance. For logical models, the exact implication of "abstract" will rest with the author, depending how the logical model is used. Flagging a constraint structure as abstract conveys design intent but makes no difference to how the structure definition is handled. Note that inline declared elements that are given the type "Element" in the profile, but have children described, are anonymous concrete types that specialise Element. */ abstract: boolean; - _abstract?: Element; + _abstract?: Element|undefined; /** * If differential constraints are specified in this structure, they are applied to the base in a "differential" fashion. If there is no base, then the differential constraints cannot be provided (snapshot only). Differential structures are useful for the editing perspective, and snapshot structures are suitable for operational use. The FHIR Project provides a number of tools/services to populate snapshots from differential constraints. Logical Models have a base of "Element" or another logical model. */ - baseDefinition?: string; - _baseDefinition?: Element; + baseDefinition?: string|undefined; + _baseDefinition?: Element|undefined; /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * If the context is an element that can have multiple types, then use (e.g.) value[x] if the extension works on all choice types, or otherwise an enumeration of explicitly named elements if not. Note that a context of "string" doesn't mean that the extension can be used with one of the string patterns such as "id" etc. */ - context?: string[]; - _context?: Element[]; + context?: string[]|undefined; + _context?: Element[]|undefined; /** * All the rules must be true. When evaluating the invariant, the fluentpath focus is the element that holds the extension, and %extension refers to the extension itself. */ - contextInvariant?: string[]; - _contextInvariant?: Element[]; + contextInvariant?: string[]|undefined; + _contextInvariant?: Element[]|undefined; /** * If this is an extension, Identifies the context within FHIR resources where the extension can be used. */ - contextType?: StructureDefinitionContextTypeCodes; - _contextType?: Element; + contextType?: StructureDefinitionContextTypeCodes|undefined; + _contextType?: Element|undefined; /** * A copyright statement relating to the structure definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the structure definition. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the structure definition. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * If the definition is a specialization, then it adds new elements in the differential, and the snapshot includes the inherited elements. * If the definition is a constraint, then it can not define new elements, it can only make new rules about existing content (see [Profiling Resources](profiling.html#resources)). */ - derivation?: StructureDefinitionDerivationCodes; - _derivation?: Element; + derivation?: StructureDefinitionDerivationCodes|undefined; + _derivation?: Element|undefined; /** * This description can be used to capture details such as why the structure definition was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the structure definition as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * A differential view is expressed relative to the base StructureDefinition - a statement of differences that it applies. */ - differential?: StructureDefinitionDifferential; + differential?: StructureDefinitionDifferential|undefined; /** * Allows filtering of structure definition that are appropriate for use vs. not. This is labeled as "Is Modifier" because applications should not use an experimental structure definition in production. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * A StructureDefinition does not need to specify the target it applies to,as StructureDefinitions will often be valid across multiple versions of FHIR. FHIR tooling can determine whether a StructureDefinition is consistent with a particular StructureDefinition if desired. */ - fhirVersion?: string; - _fhirVersion?: Element; + fhirVersion?: string|undefined; + _fhirVersion?: Element|undefined; /** * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, e.g., to identify this structure definition outside of FHIR, where it is not possible to use the logical URI. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * It may be possible for the structure definition to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * A set of key words or terms from external terminologies that may be used to assist with indexing and searching of templates. */ - keyword?: Coding[]; + keyword?: Coding[]|undefined; /** * Defines the kind of structure that this definition is describing. */ kind: StructureDefinitionKindCodes; - _kind?: Element; + _kind?: Element|undefined; /** * An external specification that the content is mapped to. */ - mapping?: StructureDefinitionMapping[]; + mapping?: StructureDefinitionMapping[]|undefined; /** * The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * Usually an organization, but may be an individual. The publisher (or steward) of the structure definition is the organization or individual primarily responsible for the maintenance and upkeep of the structure definition. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the structure definition. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * This element does not describe the usage of the structure definition Instead it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this structure definition. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * A snapshot view is expressed in a stand alone form that can be used and interpreted without considering the base StructureDefinition. */ - snapshot?: StructureDefinitionSnapshot; + snapshot?: StructureDefinitionSnapshot|undefined; /** * Allows filtering of structure definitions that are appropriate for use vs. not. * This is labeled as "Is Modifier" because applications should not use a retired structure definition without due consideration. */ status: StructureDefinitionStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. Applications don't have to use this name, but can always fall back to it. The title also corresponds to the label for the root element. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Note that in the case of constraints, the type could be determined by chasing through the baseDefinition references until a concrete structure (derivation = specialization) is reached, or by looking at the path of the first element in the snapshot - if present - but providing the type directly makes for simpler tooling and indexing. */ type: string; - _type?: Element; + _type?: Element|undefined; /** * Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred. Multiple instances may share the same url if they have a distinct version. */ url: string; - _url?: Element; + _url?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different structure definition instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a refrence to a particular business version of the structure definition with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the StructureDefinition.contextType field @@ -20182,23 +20182,23 @@ export interface StructureMapStructure extends BackboneElement { /** * This is needed if both types have the same name (e.g. version conversion). */ - alias?: string; - _alias?: Element; + alias?: string|undefined; + _alias?: Element|undefined; /** * Documentation that describes how the structure is used in the mapping. */ - documentation?: string; - _documentation?: Element; + documentation?: string|undefined; + _documentation?: Element|undefined; /** * How the referenced structure is used in this mapping. */ mode: StructureMapStructureModeCodes; - _mode?: Element; + _mode?: Element|undefined; /** * The canonical URL that identifies the structure. */ url: string; - _url?: Element; + _url?: Element|undefined; } /** * Code Values for the StructureMap.structure.mode field @@ -20216,23 +20216,23 @@ export interface StructureMapGroupInput extends BackboneElement { /** * Documentation for this instance of data. */ - documentation?: string; - _documentation?: Element; + documentation?: string|undefined; + _documentation?: Element|undefined; /** * Mode for this instance of data. */ mode: StructureMapGroupInputModeCodes; - _mode?: Element; + _mode?: Element|undefined; /** * Name for this instance of data. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * Type for this instance of data. */ - type?: string; - _type?: Element; + type?: string|undefined; + _type?: Element|undefined; } /** * Code Values for the StructureMap.group.input.mode field @@ -20248,211 +20248,211 @@ export interface StructureMapGroupRuleSource extends BackboneElement { /** * FHIRPath expression - must be true or the mapping engine throws an error instead of completing. */ - check?: string; - _check?: Element; + check?: string|undefined; + _check?: Element|undefined; /** * FHIRPath expression - must be true or the rule does not apply. */ - condition?: string; - _condition?: Element; + condition?: string|undefined; + _condition?: Element|undefined; /** * Type or variable this rule applies to. */ context: string; - _context?: Element; + _context?: Element|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueBase64Binary?: string; - _defaultValueBase64Binary?: Element; + defaultValueBase64Binary?: string|undefined; + _defaultValueBase64Binary?: Element|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueBoolean?: boolean; - _defaultValueBoolean?: Element; + defaultValueBoolean?: boolean|undefined; + _defaultValueBoolean?: Element|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueCode?: string; - _defaultValueCode?: Element; + defaultValueCode?: string|undefined; + _defaultValueCode?: Element|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueDate?: string; - _defaultValueDate?: Element; + defaultValueDate?: string|undefined; + _defaultValueDate?: Element|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueDateTime?: string; - _defaultValueDateTime?: Element; + defaultValueDateTime?: string|undefined; + _defaultValueDateTime?: Element|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueDecimal?: number; + defaultValueDecimal?: number|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueId?: string; - _defaultValueId?: Element; + defaultValueId?: string|undefined; + _defaultValueId?: Element|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueInstant?: string; - _defaultValueInstant?: Element; + defaultValueInstant?: string|undefined; + _defaultValueInstant?: Element|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueInteger?: number; + defaultValueInteger?: number|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueMarkdown?: string; - _defaultValueMarkdown?: Element; + defaultValueMarkdown?: string|undefined; + _defaultValueMarkdown?: Element|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueOid?: string; - _defaultValueOid?: Element; + defaultValueOid?: string|undefined; + _defaultValueOid?: Element|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValuePositiveInt?: number; + defaultValuePositiveInt?: number|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueString?: string; - _defaultValueString?: Element; + defaultValueString?: string|undefined; + _defaultValueString?: Element|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueTime?: string; - _defaultValueTime?: Element; + defaultValueTime?: string|undefined; + _defaultValueTime?: Element|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueUnsignedInt?: number; + defaultValueUnsignedInt?: number|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueUri?: string; - _defaultValueUri?: Element; + defaultValueUri?: string|undefined; + _defaultValueUri?: Element|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueAddress?: Address; + defaultValueAddress?: Address|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueAge?: Age; + defaultValueAge?: Age|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueAnnotation?: Annotation; + defaultValueAnnotation?: Annotation|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueAttachment?: Attachment; + defaultValueAttachment?: Attachment|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueCodeableConcept?: CodeableConcept; + defaultValueCodeableConcept?: CodeableConcept|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueCoding?: Coding; + defaultValueCoding?: Coding|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueContactPoint?: ContactPoint; + defaultValueContactPoint?: ContactPoint|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueCount?: Count; + defaultValueCount?: Count|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueDistance?: Distance; + defaultValueDistance?: Distance|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueDuration?: Duration; + defaultValueDuration?: Duration|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueHumanName?: HumanName; + defaultValueHumanName?: HumanName|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueIdentifier?: Identifier; + defaultValueIdentifier?: Identifier|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueMoney?: Money; + defaultValueMoney?: Money|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValuePeriod?: Period; + defaultValuePeriod?: Period|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueQuantity?: Quantity; + defaultValueQuantity?: Quantity|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueRange?: Range; + defaultValueRange?: Range|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueRatio?: Ratio; + defaultValueRatio?: Ratio|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueReference?: Reference; + defaultValueReference?: Reference|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueSampledData?: SampledData; + defaultValueSampledData?: SampledData|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueSignature?: Signature; + defaultValueSignature?: Signature|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueTiming?: Timing; + defaultValueTiming?: Timing|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueMeta?: Meta; + defaultValueMeta?: Meta|undefined; /** * Optional field for this source. */ - element?: string; - _element?: Element; + element?: string|undefined; + _element?: Element|undefined; /** * How to handle the list mode for this element. */ - listMode?: StructureMapGroupRuleSourceListModeCodes; - _listMode?: Element; + listMode?: StructureMapGroupRuleSourceListModeCodes|undefined; + _listMode?: Element|undefined; /** * Specified maximum cardinality for the element - a number or a "*". This is optional; if present, it acts an implicit check on the input content (* just serves as documentation; it's the default value). */ - max?: string; - _max?: Element; + max?: string|undefined; + _max?: Element|undefined; /** * Specified minimum cardinality for the element. This is optional; if present, it acts an implicit check on the input content. */ - min?: number; + min?: number|undefined; /** * Specified type for the element. This works as a condition on the mapping - use for polymorphic elements. */ - type?: string; - _type?: Element; + type?: string|undefined; + _type?: Element|undefined; /** * Named context for field, if a field is specified. */ - variable?: string; - _variable?: Element; + variable?: string|undefined; + _variable?: Element|undefined; } /** * Code Values for the StructureMap.group.rule.source.listMode field @@ -20471,26 +20471,26 @@ export interface StructureMapGroupRuleTargetParameter extends BackboneElement { /** * Parameter value - variable or literal. */ - valueId?: string; - _valueId?: Element; + valueId?: string|undefined; + _valueId?: Element|undefined; /** * Parameter value - variable or literal. */ - valueString?: string; - _valueString?: Element; + valueString?: string|undefined; + _valueString?: Element|undefined; /** * Parameter value - variable or literal. */ - valueBoolean?: boolean; - _valueBoolean?: Element; + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; /** * Parameter value - variable or literal. */ - valueInteger?: number; + valueInteger?: number|undefined; /** * Parameter value - variable or literal. */ - valueDecimal?: number; + valueDecimal?: number|undefined; } /** * Content to create because of this mapping rule. @@ -20499,42 +20499,42 @@ export interface StructureMapGroupRuleTarget extends BackboneElement { /** * Type or variable this rule applies to. */ - context?: string; - _context?: Element; + context?: string|undefined; + _context?: Element|undefined; /** * How to interpret the context. */ - contextType?: StructureMapGroupRuleTargetContextTypeCodes; - _contextType?: Element; + contextType?: StructureMapGroupRuleTargetContextTypeCodes|undefined; + _contextType?: Element|undefined; /** * Field to create in the context. */ - element?: string; - _element?: Element; + element?: string|undefined; + _element?: Element|undefined; /** * If field is a list, how to manage the list. */ - listMode?: StructureMapGroupRuleTargetListModeCodes[]; - _listMode?: Element[]; + listMode?: StructureMapGroupRuleTargetListModeCodes[]|undefined; + _listMode?: Element[]|undefined; /** * Internal rule reference for shared list items. */ - listRuleId?: string; - _listRuleId?: Element; + listRuleId?: string|undefined; + _listRuleId?: Element|undefined; /** * Parameters to the transform. */ - parameter?: StructureMapGroupRuleTargetParameter[]; + parameter?: StructureMapGroupRuleTargetParameter[]|undefined; /** * How the data is copied / created. */ - transform?: StructureMapGroupRuleTargetTransformCodes; - _transform?: Element; + transform?: StructureMapGroupRuleTargetTransformCodes|undefined; + _transform?: Element|undefined; /** * Named context for field, if desired, and a field is specified. */ - variable?: string; - _variable?: Element; + variable?: string|undefined; + _variable?: Element|undefined; } /** * Code Values for the StructureMap.group.rule.target.contextType field @@ -20582,12 +20582,12 @@ export interface StructureMapGroupRuleDependent extends BackboneElement { * Name of a rule or group to apply. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * Variable to pass to the rule or group. */ variable: string[]; - _variable?: Element[]; + _variable?: Element[]|undefined; } /** * Transform Rule from source to target. @@ -20596,21 +20596,21 @@ export interface StructureMapGroupRule extends BackboneElement { /** * Which other rules to apply in the context of this rule. */ - dependent?: StructureMapGroupRuleDependent[]; + dependent?: StructureMapGroupRuleDependent[]|undefined; /** * Documentation for this instance of data. */ - documentation?: string; - _documentation?: Element; + documentation?: string|undefined; + _documentation?: Element|undefined; /** * Name of the rule for internal references. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * Rules contained in this rule. */ - rule?: StructureMapGroupRule[]; + rule?: StructureMapGroupRule[]|undefined; /** * Source inputs to the mapping. */ @@ -20618,7 +20618,7 @@ export interface StructureMapGroupRule extends BackboneElement { /** * Content to create because of this mapping rule. */ - target?: StructureMapGroupRuleTarget[]; + target?: StructureMapGroupRuleTarget[]|undefined; } /** * Organizes the mapping into managable chunks for human review/ease of maintenance. @@ -20627,13 +20627,13 @@ export interface StructureMapGroup extends BackboneElement { /** * Additional supporting documentation that explains the purpose of the group and the types of mappings within it. */ - documentation?: string; - _documentation?: Element; + documentation?: string|undefined; + _documentation?: Element|undefined; /** * Another group that this group adds rules to. */ - extends?: string; - _extends?: Element; + extends?: string|undefined; + _extends?: Element|undefined; /** * If no inputs are named, then the entry mappings are type based. */ @@ -20642,7 +20642,7 @@ export interface StructureMapGroup extends BackboneElement { * A unique name for the group for the convenience of human readers. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * Transform Rule from source to target. */ @@ -20651,7 +20651,7 @@ export interface StructureMapGroup extends BackboneElement { * Not applicable if the underlying model is untyped. There can only be one default mapping for any particular type combination. */ typeMode: StructureMapGroupTypeModeCodes; - _typeMode?: Element; + _typeMode?: Element|undefined; } /** * Code Values for the StructureMap.group.typeMode field @@ -20670,27 +20670,27 @@ export interface StructureMap extends DomainResource { /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * A copyright statement relating to the structure map and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the structure map. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the structure map. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * This description can be used to capture details such as why the structure map was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the structure map as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Allows filtering of structure map that are appropriate for use vs. not. This is labeled as "Is Modifier" because applications should not use an experimental structure map in production. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * Organizes the mapping into managable chunks for human review/ease of maintenance. */ @@ -20698,60 +20698,60 @@ export interface StructureMap extends DomainResource { /** * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, e.g., to identify this structure map outside of FHIR, where it is not possible to use the logical URI. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Other maps used by this map (canonical URLs). */ - import?: string[]; - _import?: Element[]; + import?: string[]|undefined; + _import?: Element[]|undefined; /** * It may be possible for the structure map to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * Usually an organization, but may be an individual. The publisher (or steward) of the structure map is the organization or individual primarily responsible for the maintenance and upkeep of the structure map. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the structure map. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * This element does not describe the usage of the structure map Instead it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this structure map. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * Allows filtering of structure maps that are appropriate for use vs. not. * This is labeled as "Is Modifier" because applications should not use a retired structure map without due consideration. */ status: StructureMapStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * It is not necessary for a structure map to identify any dependent structures, though not losting them may restrict its usefulness. */ - structure?: StructureMapStructure[]; + structure?: StructureMapStructure[]|undefined; /** * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred. Multiple instances may share the same url if they have a distinct version. */ url: string; - _url?: Element; + _url?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different structure map instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a refrence to a particular business version of the structure map with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the StructureMap.status field @@ -20769,23 +20769,23 @@ export interface SubscriptionChannel extends BackboneElement { /** * For rest-hook, and websocket, the end-point must be an http: or https: URL; for email, a mailto: url, for sms, a tel: url, and for message the endpoint can be in any form of url the server understands (usually, http: or mllp:). The URI is allowed to be relative; in which case, it is relative to the server end-point (since their may be more than one, clients should avoid using relative URIs). */ - endpoint?: string; - _endpoint?: Element; + endpoint?: string|undefined; + _endpoint?: Element|undefined; /** * Exactly what these mean depend on the channel type. They can convey additional information to the recipient and/or meet security requirements; for example, support of multiple headers in the outgoing notifications for rest-hook type subscriptions. */ - header?: string[]; - _header?: Element[]; + header?: string[]|undefined; + _header?: Element[]|undefined; /** * Sending the payload has obvious security implications. The server is responsible for ensuring that the content is appropriately secured. */ - payload?: string; - _payload?: Element; + payload?: string|undefined; + _payload?: Element|undefined; /** * The type of channel to send notifications on. */ type: SubscriptionChannelTypeCodes; - _type?: Element; + _type?: Element|undefined; } /** * Code Values for the Subscription.channel.type field @@ -20810,37 +20810,37 @@ export interface Subscription extends DomainResource { /** * Contact details for a human to contact about the subscription. The primary use of this for system administrator troubleshooting. */ - contact?: ContactPoint[]; + contact?: ContactPoint[]|undefined; /** * The rules are a search criteria (without the [base] part). Like Bundle.entry.request.url, it has no leading "/". */ criteria: string; - _criteria?: Element; + _criteria?: Element|undefined; /** * The server is permitted to deviate from this time, but should observe it. */ - end?: string; - _end?: Element; + end?: string|undefined; + _end?: Element|undefined; /** * A record of the last error that occurred when the server processed a notification. */ - error?: string; - _error?: Element; + error?: string|undefined; + _error?: Element|undefined; /** * A description of why this subscription is defined. */ reason: string; - _reason?: Element; + _reason?: Element|undefined; /** * A client can only submit subscription resources in the requested or off state. Only the server can move a subscription from requested to active, and then to error. Either the server or the client can turn a subscription off. * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: SubscriptionStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * So that other systems can tell which resources have been the subject of a notification. */ - tag?: Coding[]; + tag?: Coding[]|undefined; } /** * Code Values for the Subscription.status field @@ -20858,16 +20858,16 @@ export interface SubstanceInstance extends BackboneElement { /** * When the substance is no longer valid to use. For some substances, a single arbitrary date is used for expiry. */ - expiry?: string; - _expiry?: Element; + expiry?: string|undefined; + _expiry?: Element|undefined; /** * Identifier associated with the package/container (usually a label affixed directly). */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * The amount of the substance. */ - quantity?: Quantity; + quantity?: Quantity|undefined; } /** * A substance can be composed of other substances. @@ -20876,15 +20876,15 @@ export interface SubstanceIngredient extends BackboneElement { /** * The amount of the ingredient in the substance - a concentration ratio. */ - quantity?: Ratio; + quantity?: Ratio|undefined; /** * Another substance that is a component of this substance. */ - substanceCodeableConcept?: CodeableConcept; + substanceCodeableConcept?: CodeableConcept|undefined; /** * Another substance that is a component of this substance. */ - substanceReference?: Reference; + substanceReference?: Reference|undefined; } /** * A homogeneous material with a definite composition. @@ -20895,7 +20895,7 @@ export interface Substance extends DomainResource { /** * The level of granularity is defined by the category concepts in the value set. More fine-grained filtering can be performed using the metadata and/or terminology hierarchy in Substance.code. */ - category?: CodeableConcept[]; + category?: CodeableConcept[]|undefined; /** * This could be a reference to an externally defined code. It could also be a locally assigned code (e.g. a formulary), optionally with translations to the standard drug codes. */ @@ -20903,25 +20903,25 @@ export interface Substance extends DomainResource { /** * A description of the substance - its appearance, handling requirements, and other usage notes. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * This identifier is associated with the kind of substance in contrast to the Substance.instance.identifier which is associated with the package/container. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * A substance can be composed of other substances. */ - ingredient?: SubstanceIngredient[]; + ingredient?: SubstanceIngredient[]|undefined; /** * Substance may be used to describe a kind of substance, or a specific package/container of the substance: an instance. */ - instance?: SubstanceInstance[]; + instance?: SubstanceInstance[]|undefined; /** * A code to indicate if the substance is actively used. */ - status?: SubstanceStatusCodes; - _status?: Element; + status?: SubstanceStatusCodes|undefined; + _status?: Element|undefined; } /** * Code Values for the Substance.status field @@ -20938,15 +20938,15 @@ export interface SupplyDeliverySuppliedItem extends BackboneElement { /** * Identifies the medication, substance or device being dispensed. This is either a link to a resource representing the details of the item or a code that identifies the item from a known list. */ - itemCodeableConcept?: CodeableConcept; + itemCodeableConcept?: CodeableConcept|undefined; /** * Identifies the medication, substance or device being dispensed. This is either a link to a resource representing the details of the item or a code that identifies the item from a known list. */ - itemReference?: Reference; + itemReference?: Reference|undefined; /** * The amount of supply that has been dispensed. Includes unit of measure. */ - quantity?: Quantity; + quantity?: Quantity|undefined; } /** * Record of delivery of what is supplied. @@ -20957,58 +20957,58 @@ export interface SupplyDelivery extends DomainResource { /** * A plan, proposal or order that is fulfilled in whole or in part by this event. */ - basedOn?: Reference[]; + basedOn?: Reference[]|undefined; /** * Identification of the facility/location where the Supply was shipped to, as part of the dispense event. */ - destination?: Reference; + destination?: Reference|undefined; /** * This is assigned by the dispenser, and used to refer to this order in other external standards. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * [The list of types may be constrained as appropriate for the type of event]. */ - occurrenceDateTime?: string; - _occurrenceDateTime?: Element; + occurrenceDateTime?: string|undefined; + _occurrenceDateTime?: Element|undefined; /** * [The list of types may be constrained as appropriate for the type of event]. */ - occurrencePeriod?: Period; + occurrencePeriod?: Period|undefined; /** * [The list of types may be constrained as appropriate for the type of event]. */ - occurrenceTiming?: Timing; + occurrenceTiming?: Timing|undefined; /** * Not to be used to link an event to an Encounter - use Event.context for that. * [The allowed reference resources may be adjusted as appropriate for the event resource]. */ - partOf?: Reference[]; + partOf?: Reference[]|undefined; /** * A link to a resource representing the person whom the delivered item is for. */ - patient?: Reference; + patient?: Reference|undefined; /** * Identifies the person who picked up the Supply. */ - receiver?: Reference[]; + receiver?: Reference[]|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ - status?: SupplyDeliveryStatusCodes; - _status?: Element; + status?: SupplyDeliveryStatusCodes|undefined; + _status?: Element|undefined; /** * The item that is being delivered or has been supplied. */ - suppliedItem?: SupplyDeliverySuppliedItem; + suppliedItem?: SupplyDeliverySuppliedItem|undefined; /** * The individual responsible for dispensing the medication, supplier or device. */ - supplier?: Reference; + supplier?: Reference|undefined; /** * Indicates the type of dispensing event that is performed. Examples include: Trial Fill, Completion of Trial, Partial Fill, Emergency Fill, Samples, etc. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Code Values for the SupplyDelivery.status field @@ -21026,11 +21026,11 @@ export interface SupplyRequestOrderedItem extends BackboneElement { /** * Note that there's a difference between a prescription - an instruction to take a medication, along with a (sometimes) implicit supply, and an explicit request to supply, with no explicit instructions. */ - itemCodeableConcept?: CodeableConcept; + itemCodeableConcept?: CodeableConcept|undefined; /** * Note that there's a difference between a prescription - an instruction to take a medication, along with a (sometimes) implicit supply, and an explicit request to supply, with no explicit instructions. */ - itemReference?: Reference; + itemReference?: Reference|undefined; /** * The amount that is being ordered of the indicated item. */ @@ -21047,7 +21047,7 @@ export interface SupplyRequestRequester extends BackboneElement { /** * The organization the device or practitioner was acting on behalf of. */ - onBehalfOf?: Reference; + onBehalfOf?: Reference|undefined; } /** * A record of a request for a medication, substance or device used in the healthcare setting. @@ -21058,67 +21058,67 @@ export interface SupplyRequest extends DomainResource { /** * When the request was made. */ - authoredOn?: string; - _authoredOn?: Element; + authoredOn?: string|undefined; + _authoredOn?: Element|undefined; /** * Category of supply, e.g. central, non-stock, etc. This is used to support work flows associated with the supply process. */ - category?: CodeableConcept; + category?: CodeableConcept|undefined; /** * Where the supply is expected to come from. */ - deliverFrom?: Reference; + deliverFrom?: Reference|undefined; /** * Where the supply is destined to go. */ - deliverTo?: Reference; + deliverTo?: Reference|undefined; /** * This is assigned by the requester, and used to refer to this order in other external standards. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * When the request should be fulfilled. */ - occurrenceDateTime?: string; - _occurrenceDateTime?: Element; + occurrenceDateTime?: string|undefined; + _occurrenceDateTime?: Element|undefined; /** * When the request should be fulfilled. */ - occurrencePeriod?: Period; + occurrencePeriod?: Period|undefined; /** * When the request should be fulfilled. */ - occurrenceTiming?: Timing; + occurrenceTiming?: Timing|undefined; /** * The item being requested. */ - orderedItem?: SupplyRequestOrderedItem; + orderedItem?: SupplyRequestOrderedItem|undefined; /** * Indicates how quickly this SupplyRequest should be addressed with respect to other requests. */ - priority?: SupplyRequestPriorityCodes; - _priority?: Element; + priority?: SupplyRequestPriorityCodes|undefined; + _priority?: Element|undefined; /** * Why the supply item was requested. */ - reasonCodeableConcept?: CodeableConcept; + reasonCodeableConcept?: CodeableConcept|undefined; /** * Why the supply item was requested. */ - reasonReference?: Reference; + reasonReference?: Reference|undefined; /** * The individual who initiated the request and has responsibility for its activation. */ - requester?: SupplyRequestRequester; + requester?: SupplyRequestRequester|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ - status?: SupplyRequestStatusCodes; - _status?: Element; + status?: SupplyRequestStatusCodes|undefined; + _status?: Element|undefined; /** * Who is intended to fulfill the request. */ - supplier?: Reference[]; + supplier?: Reference[]|undefined; } /** * Code Values for the SupplyRequest.priority field @@ -21152,7 +21152,7 @@ export interface TaskRequester extends BackboneElement { /** * The organization the device or practitioner was acting on behalf of when they initiated the task. */ - onBehalfOf?: Reference; + onBehalfOf?: Reference|undefined; } /** * If the Task.focus is a request resource and the task is seeking fulfillment (i.e is asking for the request to be actioned), this element identifies any limitations on what parts of the referenced request should be actioned. @@ -21161,15 +21161,15 @@ export interface TaskRestriction extends BackboneElement { /** * Note that period.high is the due date representing the time by which the task should be completed. */ - period?: Period; + period?: Period|undefined; /** * For requests that are targeted to more than on potential recipient/target, for whom is fulfillment sought? */ - recipient?: Reference[]; + recipient?: Reference[]|undefined; /** * Indicates the number of times the requested action should occur. */ - repetitions?: number; + repetitions?: number|undefined; } /** * Additional information that may be needed in the execution of the task. @@ -21182,167 +21182,167 @@ export interface TaskInput extends BackboneElement { /** * The value of the input parameter as a basic type. */ - valueBase64Binary?: string; - _valueBase64Binary?: Element; + valueBase64Binary?: string|undefined; + _valueBase64Binary?: Element|undefined; /** * The value of the input parameter as a basic type. */ - valueBoolean?: boolean; - _valueBoolean?: Element; + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; /** * The value of the input parameter as a basic type. */ - valueCode?: string; - _valueCode?: Element; + valueCode?: string|undefined; + _valueCode?: Element|undefined; /** * The value of the input parameter as a basic type. */ - valueDate?: string; - _valueDate?: Element; + valueDate?: string|undefined; + _valueDate?: Element|undefined; /** * The value of the input parameter as a basic type. */ - valueDateTime?: string; - _valueDateTime?: Element; + valueDateTime?: string|undefined; + _valueDateTime?: Element|undefined; /** * The value of the input parameter as a basic type. */ - valueDecimal?: number; + valueDecimal?: number|undefined; /** * The value of the input parameter as a basic type. */ - valueId?: string; - _valueId?: Element; + valueId?: string|undefined; + _valueId?: Element|undefined; /** * The value of the input parameter as a basic type. */ - valueInstant?: string; - _valueInstant?: Element; + valueInstant?: string|undefined; + _valueInstant?: Element|undefined; /** * The value of the input parameter as a basic type. */ - valueInteger?: number; + valueInteger?: number|undefined; /** * The value of the input parameter as a basic type. */ - valueMarkdown?: string; - _valueMarkdown?: Element; + valueMarkdown?: string|undefined; + _valueMarkdown?: Element|undefined; /** * The value of the input parameter as a basic type. */ - valueOid?: string; - _valueOid?: Element; + valueOid?: string|undefined; + _valueOid?: Element|undefined; /** * The value of the input parameter as a basic type. */ - valuePositiveInt?: number; + valuePositiveInt?: number|undefined; /** * The value of the input parameter as a basic type. */ - valueString?: string; - _valueString?: Element; + valueString?: string|undefined; + _valueString?: Element|undefined; /** * The value of the input parameter as a basic type. */ - valueTime?: string; - _valueTime?: Element; + valueTime?: string|undefined; + _valueTime?: Element|undefined; /** * The value of the input parameter as a basic type. */ - valueUnsignedInt?: number; + valueUnsignedInt?: number|undefined; /** * The value of the input parameter as a basic type. */ - valueUri?: string; - _valueUri?: Element; + valueUri?: string|undefined; + _valueUri?: Element|undefined; /** * The value of the input parameter as a basic type. */ - valueAddress?: Address; + valueAddress?: Address|undefined; /** * The value of the input parameter as a basic type. */ - valueAge?: Age; + valueAge?: Age|undefined; /** * The value of the input parameter as a basic type. */ - valueAnnotation?: Annotation; + valueAnnotation?: Annotation|undefined; /** * The value of the input parameter as a basic type. */ - valueAttachment?: Attachment; + valueAttachment?: Attachment|undefined; /** * The value of the input parameter as a basic type. */ - valueCodeableConcept?: CodeableConcept; + valueCodeableConcept?: CodeableConcept|undefined; /** * The value of the input parameter as a basic type. */ - valueCoding?: Coding; + valueCoding?: Coding|undefined; /** * The value of the input parameter as a basic type. */ - valueContactPoint?: ContactPoint; + valueContactPoint?: ContactPoint|undefined; /** * The value of the input parameter as a basic type. */ - valueCount?: Count; + valueCount?: Count|undefined; /** * The value of the input parameter as a basic type. */ - valueDistance?: Distance; + valueDistance?: Distance|undefined; /** * The value of the input parameter as a basic type. */ - valueDuration?: Duration; + valueDuration?: Duration|undefined; /** * The value of the input parameter as a basic type. */ - valueHumanName?: HumanName; + valueHumanName?: HumanName|undefined; /** * The value of the input parameter as a basic type. */ - valueIdentifier?: Identifier; + valueIdentifier?: Identifier|undefined; /** * The value of the input parameter as a basic type. */ - valueMoney?: Money; + valueMoney?: Money|undefined; /** * The value of the input parameter as a basic type. */ - valuePeriod?: Period; + valuePeriod?: Period|undefined; /** * The value of the input parameter as a basic type. */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; /** * The value of the input parameter as a basic type. */ - valueRange?: Range; + valueRange?: Range|undefined; /** * The value of the input parameter as a basic type. */ - valueRatio?: Ratio; + valueRatio?: Ratio|undefined; /** * The value of the input parameter as a basic type. */ - valueReference?: Reference; + valueReference?: Reference|undefined; /** * The value of the input parameter as a basic type. */ - valueSampledData?: SampledData; + valueSampledData?: SampledData|undefined; /** * The value of the input parameter as a basic type. */ - valueSignature?: Signature; + valueSignature?: Signature|undefined; /** * The value of the input parameter as a basic type. */ - valueTiming?: Timing; + valueTiming?: Timing|undefined; /** * The value of the input parameter as a basic type. */ - valueMeta?: Meta; + valueMeta?: Meta|undefined; } /** * Outputs produced by the Task. @@ -21355,167 +21355,167 @@ export interface TaskOutput extends BackboneElement { /** * The value of the Output parameter as a basic type. */ - valueBase64Binary?: string; - _valueBase64Binary?: Element; + valueBase64Binary?: string|undefined; + _valueBase64Binary?: Element|undefined; /** * The value of the Output parameter as a basic type. */ - valueBoolean?: boolean; - _valueBoolean?: Element; + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; /** * The value of the Output parameter as a basic type. */ - valueCode?: string; - _valueCode?: Element; + valueCode?: string|undefined; + _valueCode?: Element|undefined; /** * The value of the Output parameter as a basic type. */ - valueDate?: string; - _valueDate?: Element; + valueDate?: string|undefined; + _valueDate?: Element|undefined; /** * The value of the Output parameter as a basic type. */ - valueDateTime?: string; - _valueDateTime?: Element; + valueDateTime?: string|undefined; + _valueDateTime?: Element|undefined; /** * The value of the Output parameter as a basic type. */ - valueDecimal?: number; + valueDecimal?: number|undefined; /** * The value of the Output parameter as a basic type. */ - valueId?: string; - _valueId?: Element; + valueId?: string|undefined; + _valueId?: Element|undefined; /** * The value of the Output parameter as a basic type. */ - valueInstant?: string; - _valueInstant?: Element; + valueInstant?: string|undefined; + _valueInstant?: Element|undefined; /** * The value of the Output parameter as a basic type. */ - valueInteger?: number; + valueInteger?: number|undefined; /** * The value of the Output parameter as a basic type. */ - valueMarkdown?: string; - _valueMarkdown?: Element; + valueMarkdown?: string|undefined; + _valueMarkdown?: Element|undefined; /** * The value of the Output parameter as a basic type. */ - valueOid?: string; - _valueOid?: Element; + valueOid?: string|undefined; + _valueOid?: Element|undefined; /** * The value of the Output parameter as a basic type. */ - valuePositiveInt?: number; + valuePositiveInt?: number|undefined; /** * The value of the Output parameter as a basic type. */ - valueString?: string; - _valueString?: Element; + valueString?: string|undefined; + _valueString?: Element|undefined; /** * The value of the Output parameter as a basic type. */ - valueTime?: string; - _valueTime?: Element; + valueTime?: string|undefined; + _valueTime?: Element|undefined; /** * The value of the Output parameter as a basic type. */ - valueUnsignedInt?: number; + valueUnsignedInt?: number|undefined; /** * The value of the Output parameter as a basic type. */ - valueUri?: string; - _valueUri?: Element; + valueUri?: string|undefined; + _valueUri?: Element|undefined; /** * The value of the Output parameter as a basic type. */ - valueAddress?: Address; + valueAddress?: Address|undefined; /** * The value of the Output parameter as a basic type. */ - valueAge?: Age; + valueAge?: Age|undefined; /** * The value of the Output parameter as a basic type. */ - valueAnnotation?: Annotation; + valueAnnotation?: Annotation|undefined; /** * The value of the Output parameter as a basic type. */ - valueAttachment?: Attachment; + valueAttachment?: Attachment|undefined; /** * The value of the Output parameter as a basic type. */ - valueCodeableConcept?: CodeableConcept; + valueCodeableConcept?: CodeableConcept|undefined; /** * The value of the Output parameter as a basic type. */ - valueCoding?: Coding; + valueCoding?: Coding|undefined; /** * The value of the Output parameter as a basic type. */ - valueContactPoint?: ContactPoint; + valueContactPoint?: ContactPoint|undefined; /** * The value of the Output parameter as a basic type. */ - valueCount?: Count; + valueCount?: Count|undefined; /** * The value of the Output parameter as a basic type. */ - valueDistance?: Distance; + valueDistance?: Distance|undefined; /** * The value of the Output parameter as a basic type. */ - valueDuration?: Duration; + valueDuration?: Duration|undefined; /** * The value of the Output parameter as a basic type. */ - valueHumanName?: HumanName; + valueHumanName?: HumanName|undefined; /** * The value of the Output parameter as a basic type. */ - valueIdentifier?: Identifier; + valueIdentifier?: Identifier|undefined; /** * The value of the Output parameter as a basic type. */ - valueMoney?: Money; + valueMoney?: Money|undefined; /** * The value of the Output parameter as a basic type. */ - valuePeriod?: Period; + valuePeriod?: Period|undefined; /** * The value of the Output parameter as a basic type. */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; /** * The value of the Output parameter as a basic type. */ - valueRange?: Range; + valueRange?: Range|undefined; /** * The value of the Output parameter as a basic type. */ - valueRatio?: Ratio; + valueRatio?: Ratio|undefined; /** * The value of the Output parameter as a basic type. */ - valueReference?: Reference; + valueReference?: Reference|undefined; /** * The value of the Output parameter as a basic type. */ - valueSampledData?: SampledData; + valueSampledData?: SampledData|undefined; /** * The value of the Output parameter as a basic type. */ - valueSignature?: Signature; + valueSignature?: Signature|undefined; /** * The value of the Output parameter as a basic type. */ - valueTiming?: Timing; + valueTiming?: Timing|undefined; /** * The value of the Output parameter as a basic type. */ - valueMeta?: Meta; + valueMeta?: Meta|undefined; } /** * A task to be performed. @@ -21526,123 +21526,123 @@ export interface Task extends DomainResource { /** * The date and time this task was created. */ - authoredOn?: string; - _authoredOn?: Element; + authoredOn?: string|undefined; + _authoredOn?: Element|undefined; /** * BasedOn refers to a higher-level authorization that triggered the creation of the task. It references a "request" resource such as a ProcedureRequest, MedicationRequest, ProcedureRequest, CarePlan, etc. which is distinct from the "request" resource the task is seeking to fulfil. This latter resource is referenced by FocusOn. For example, based on a ProcedureRequest (= BasedOn), a task is created to fulfil a procedureRequest ( = FocusOn ) to collect a specimen from a patient. */ - basedOn?: Reference[]; + basedOn?: Reference[]|undefined; /** * Contains business-specific nuances of the business state. */ - businessStatus?: CodeableConcept; + businessStatus?: CodeableConcept|undefined; /** * The title (eg "My Tasks", "Outstanding Tasks for Patient X") should go into the code. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * The healthcare event (e.g. a patient and healthcare provider interaction) during which this task was created. */ - context?: Reference; + context?: Reference|undefined; /** * A reference to a formal or informal definition of the task. For example, a protocol, a step within a defined workflow definition, etc. */ - definitionUri?: string; - _definitionUri?: Element; + definitionUri?: string|undefined; + _definitionUri?: Element|undefined; /** * A reference to a formal or informal definition of the task. For example, a protocol, a step within a defined workflow definition, etc. */ - definitionReference?: Reference; + definitionReference?: Reference|undefined; /** * A free-text description of what is to be performed. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Identifies the time action was first taken against the task (start) and/or the time final action was taken against the task prior to marking it as completed (end). */ - executionPeriod?: Period; + executionPeriod?: Period|undefined; /** * If multiple resources need to be manipulated, use sub-tasks. (This ensures that status can be tracked independently for each referenced resource.). */ - focus?: Reference; + focus?: Reference|undefined; /** * The entity who benefits from the performance of the service specified in the task (e.g., the patient). */ - for?: Reference; + for?: Reference|undefined; /** * An identifier that links together multiple tasks and other requests that were created in the same context. */ - groupIdentifier?: Identifier; + groupIdentifier?: Identifier|undefined; /** * The business identifier for this task. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Additional information that may be needed in the execution of the task. */ - input?: TaskInput[]; + input?: TaskInput[]|undefined; /** * This element is immutable. Proposed tasks, planned tasks, etc. must be distinct instances. * In most cases, Tasks will have an intent of "order". */ intent: TaskIntentCodes; - _intent?: Element; + _intent?: Element|undefined; /** * The date and time of last modification to this task. */ - lastModified?: string; - _lastModified?: Element; + lastModified?: string|undefined; + _lastModified?: Element|undefined; /** * Free-text information captured about the task as it progresses. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * Outputs produced by the Task. */ - output?: TaskOutput[]; + output?: TaskOutput[]|undefined; /** * Tasks may be created with an owner not yet identified. */ - owner?: Reference; + owner?: Reference|undefined; /** * This should usually be 0..1. */ - partOf?: Reference[]; + partOf?: Reference[]|undefined; /** * The type of participant that can execute the task. */ - performerType?: CodeableConcept[]; + performerType?: CodeableConcept[]|undefined; /** * Indicates how quickly the Task should be addressed with respect to other requests. */ - priority?: TaskPriorityCodes; - _priority?: Element; + priority?: TaskPriorityCodes|undefined; + _priority?: Element|undefined; /** * This should only be included if there is no focus or if it differs from the reason indicated on the focus. */ - reason?: CodeableConcept; + reason?: CodeableConcept|undefined; /** * This element does not point to the Provenance associated with the *current* version of the resource - as it would be created after this version existed. The Provenance for the current version can be retrieved with a _revinclude. */ - relevantHistory?: Reference[]; + relevantHistory?: Reference[]|undefined; /** * The creator of the task. */ - requester?: TaskRequester; + requester?: TaskRequester|undefined; /** * If the Task.focus is a request resource and the task is seeking fulfillment (i.e is asking for the request to be actioned), this element identifies any limitations on what parts of the referenced request should be actioned. */ - restriction?: TaskRestriction; + restriction?: TaskRestriction|undefined; /** * The current status of the task. */ status: TaskStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * This applies to the current status. Look at the history of the task to see reasons for past statuses. */ - statusReason?: CodeableConcept; + statusReason?: CodeableConcept|undefined; } /** * Code Values for the Task.intent field @@ -21690,18 +21690,18 @@ export interface TestReportParticipant extends BackboneElement { /** * The display name of the participant. */ - display?: string; - _display?: Element; + display?: string|undefined; + _display?: Element|undefined; /** * The type of participant. */ type: TestReportParticipantTypeCodes; - _type?: Element; + _type?: Element|undefined; /** * The uri of the participant. An absolute URL is preferred. */ uri: string; - _uri?: Element; + _uri?: Element|undefined; } /** * Code Values for the TestReport.participant.type field @@ -21718,18 +21718,18 @@ export interface TestReportSetupActionOperation extends BackboneElement { /** * A link to further details on the result. */ - detail?: string; - _detail?: Element; + detail?: string|undefined; + _detail?: Element|undefined; /** * An explanatory message associated with the result. */ - message?: string; - _message?: Element; + message?: string|undefined; + _message?: Element|undefined; /** * The result of this operation. */ result: TestReportSetupActionOperationResultCodes; - _result?: Element; + _result?: Element|undefined; } /** * Code Values for the TestReport.setup.action.operation.result field @@ -21748,18 +21748,18 @@ export interface TestReportSetupActionAssert extends BackboneElement { /** * A link to further details on the result. */ - detail?: string; - _detail?: Element; + detail?: string|undefined; + _detail?: Element|undefined; /** * An explanatory message associated with the result. */ - message?: string; - _message?: Element; + message?: string|undefined; + _message?: Element|undefined; /** * The result of this assertion. */ result: TestReportSetupActionAssertResultCodes; - _result?: Element; + _result?: Element|undefined; } /** * Code Values for the TestReport.setup.action.assert.result field @@ -21778,11 +21778,11 @@ export interface TestReportSetupAction extends BackboneElement { /** * The results of the assertion performed on the previous operations. */ - assert?: TestReportSetupActionAssert; + assert?: TestReportSetupActionAssert|undefined; /** * The operation performed. */ - operation?: TestReportSetupActionOperation; + operation?: TestReportSetupActionOperation|undefined; } /** * The results of the series of required setup operations before the tests were executed. @@ -21800,11 +21800,11 @@ export interface TestReportTestAction extends BackboneElement { /** * The results of the assertion performed on the previous operations. */ - assert?: TestReportSetupActionAssert; + assert?: TestReportSetupActionAssert|undefined; /** * An operation would involve a REST request to a server. */ - operation?: TestReportSetupActionOperation; + operation?: TestReportSetupActionOperation|undefined; } /** * A test executed from the test script. @@ -21817,13 +21817,13 @@ export interface TestReportTest extends BackboneElement { /** * A short description of the test used by test engines for tracking and reporting purposes. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * The name of this test used for tracking/logging purposes by test engines. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; } /** * An action should contain either an operation or an assertion but not both. It can contain any number of variables. @@ -21852,53 +21852,53 @@ export interface TestReport extends DomainResource { /** * Identifier for the TestScript assigned for external purposes outside the context of FHIR. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * Additional specific dates may be added as extensions. */ - issued?: string; - _issued?: Element; + issued?: string|undefined; + _issued?: Element|undefined; /** * Not expected to be globally unique. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * A participant in the test execution, either the execution engine, a client, or a server. */ - participant?: TestReportParticipant[]; + participant?: TestReportParticipant[]|undefined; /** * The pass and fail result represents a completed test script execution. The pending result represents a test script execution that has not yet started or is currently in progress. */ result: TestReportResultCodes; - _result?: Element; + _result?: Element|undefined; /** * The final score (percentage of tests passed) resulting from the execution of the TestScript. */ - score?: number; + score?: number|undefined; /** * The results of the series of required setup operations before the tests were executed. */ - setup?: TestReportSetup; + setup?: TestReportSetup|undefined; /** * The status represents where the execution is currently within the test script execution life cycle. * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: TestReportStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * The results of the series of operations required to clean up after the all the tests were executed (successfully or otherwise). */ - teardown?: TestReportTeardown; + teardown?: TestReportTeardown|undefined; /** * A test executed from the test script. */ - test?: TestReportTest[]; + test?: TestReportTest[]|undefined; /** * Usually an organization, but may be an individual. This item SHOULD be populated unless the information is available from context. */ - tester?: string; - _tester?: Element; + tester?: string|undefined; + _tester?: Element|undefined; /** * Ideally this is an absolute URL that is used to identify the version-specific TestScript that was executed, matching the `TestScript.url`. */ @@ -21959,13 +21959,13 @@ export interface TestScriptMetadataLink extends BackboneElement { /** * Short description of the link. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * URL to a particular requirement or feature within the FHIR specification. */ url: string; - _url?: Element; + _url?: Element|undefined; } /** * When the metadata capabilities section is defined at TestScript.metadata or at TestScript.setup.metadata, and the server's conformance statement does not contain the elements defined in the minimal conformance statement, then all the tests in the TestScript are skipped. When the metadata capabilities section is defined at TestScript.test.metadata and the server's conformance statement does not contain the elements defined in the minimal conformance statement, then only that test is skipped. The "metadata.capabilities.required" and "metadata.capabilities.validated" elements only indicate whether the capabilities are the primary focus of the test script or not. They do not impact the skipping logic. Capabilities whose "metadata.capabilities.validated" flag is true are the primary focus of the test script. @@ -21978,31 +21978,31 @@ export interface TestScriptMetadataCapability extends BackboneElement { /** * Description of the capabilities that this test script is requiring the server to support. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Which server these requirements apply to. */ - destination?: number; + destination?: number|undefined; /** * Links to the FHIR specification that describes this interaction and the resources involved in more detail. */ - link?: string[]; - _link?: Element[]; + link?: string[]|undefined; + _link?: Element[]|undefined; /** * Which origin server these requirements apply to. */ - origin?: number[]; + origin?: number[]|undefined; /** * Whether or not the test execution will require the given capabilities of the server in order for this test script to execute. */ - required?: boolean; - _required?: Element; + required?: boolean|undefined; + _required?: Element|undefined; /** * Whether or not the test execution will validate the given capabilities of the server in order for this test script to execute. */ - validated?: boolean; - _validated?: Element; + validated?: boolean|undefined; + _validated?: Element|undefined; } /** * The required capability must exist and are assumed to function correctly on the FHIR server being tested. @@ -22015,7 +22015,7 @@ export interface TestScriptMetadata extends BackboneElement { /** * A link to the FHIR specification that this test is covering. */ - link?: TestScriptMetadataLink[]; + link?: TestScriptMetadataLink[]|undefined; } /** * Fixture in the test script - by reference (uri). All fixtures are required for the test script to execute. @@ -22024,17 +22024,17 @@ export interface TestScriptFixture extends BackboneElement { /** * Whether or not to implicitly create the fixture during setup. If true, the fixture is automatically created on each server being tested during setup, therefore no create operation is required for this fixture in the TestScript.setup section. */ - autocreate?: boolean; - _autocreate?: Element; + autocreate?: boolean|undefined; + _autocreate?: Element|undefined; /** * Whether or not to implicitly delete the fixture during teardown. If true, the fixture is automatically deleted on each server being tested during teardown, therefore no delete operation is required for this fixture in the TestScript.teardown section. */ - autodelete?: boolean; - _autodelete?: Element; + autodelete?: boolean|undefined; + _autodelete?: Element|undefined; /** * See http://hl7.org/fhir/STU3/resourcelist.html for complete list of resource types. */ - resource?: Reference; + resource?: Reference|undefined; } /** * Variables would be set based either on XPath/JSONPath expressions against fixtures (static and response), or headerField evaluations against response headers. If variable evaluates to nodelist or anything other than a primitive value, then test engine would report an error. Variables would be used to perform clean replacements in "operation.params", "operation.requestHeader.value", and "operation.url" element values during operation calls and in "assert.value" during assertion evaluations. This limits the places that test engines would need to look for placeholders "${}". Variables are scoped to the whole script. They are NOT evaluated at declaration. They are evaluated by test engine when used for substitutions in "operation.params", "operation.requestHeader.value", and "operation.url" element values during operation calls and in "assert.value" during assertion evaluations. See example testscript-search.xml. @@ -22043,43 +22043,43 @@ export interface TestScriptVariable extends BackboneElement { /** * The purpose of this element is to allow for a pre-defined value that can be used as a default or as an override value. Test engines can optionally use this as a placeholder for user-defined execution time values. */ - defaultValue?: string; - _defaultValue?: Element; + defaultValue?: string|undefined; + _defaultValue?: Element|undefined; /** * A free text natural language description of the variable and its purpose. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * If headerField is defined, then the variable will be evaluated against the headers that sourceId is pointing to. If expression or path is defined, then the variable will be evaluated against the fixture body that sourceId is pointing to. It is an error to define any combination of expression, headerField and path. */ - expression?: string; - _expression?: Element; + expression?: string|undefined; + _expression?: Element|undefined; /** * If headerField is defined, then the variable will be evaluated against the headers that sourceId is pointing to. If path is defined, then the variable will be evaluated against the fixture body that sourceId is pointing to. It is an error to define both headerField and path. */ - headerField?: string; - _headerField?: Element; + headerField?: string|undefined; + _headerField?: Element|undefined; /** * Displayable text string with hint help information to the user when entering a default value. */ - hint?: string; - _hint?: Element; + hint?: string|undefined; + _hint?: Element|undefined; /** * Placeholders would contain the variable name wrapped in ${} in "operation.params", "operation.requestHeader.value", and "operation.url" elements. These placeholders would need to be replaced by the variable value before the operation is executed. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * If headerField is defined, then the variable will be evaluated against the headers that sourceId is pointing to. If expression or path is defined, then the variable will be evaluated against the fixture body that sourceId is pointing to. It is an error to define any combination of expression, headerField and path. */ - path?: string; - _path?: Element; + path?: string|undefined; + _path?: Element|undefined; /** * This can be a statically defined fixture (at the top of the TestScript) or a dynamically set fixture created by responseId of the `action.operation` element. */ - sourceId?: string; - _sourceId?: Element; + sourceId?: string|undefined; + _sourceId?: Element|undefined; } /** * The parameter value can be dynamic at runtime. @@ -22089,12 +22089,12 @@ export interface TestScriptRuleParam extends BackboneElement { * The external rule template would be looking for the parameter by this name. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * This value can be overwritten by the assert.rule.param.value i.e. TestScript.rule.param.value will be used if assert.rule.param.value is not specified. The param value can be a string-representation of a number, string, or boolean that is expected. Test engines do have to look for placeholders (${}) and replace the variable placeholders with the variable values at runtime before supplying this value to the external rule template. */ - value?: string; - _value?: Element; + value?: string|undefined; + _value?: Element|undefined; } /** * Each rule should be treated by test engines as one assertion regardless of how many assertions are contained within the external rule template. The impact of negative rule evaluation on test script execution is the same as an assertion failure which is described elsewhere in the TestScript resource. @@ -22103,7 +22103,7 @@ export interface TestScriptRule extends BackboneElement { /** * The parameter value can be dynamic at runtime. */ - param?: TestScriptRuleParam[]; + param?: TestScriptRuleParam[]|undefined; /** * Reference to the resource (containing the contents of the rule needed for assertions). */ @@ -22117,12 +22117,12 @@ export interface TestScriptRulesetRuleParam extends BackboneElement { * The external rule template would be looking for the parameter by this name. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * This value can be overwritten by the assert.ruleset.rule.param.value i.e. TestScript.ruleset.rule.param.value will be used if assert.ruleset.rule.param.value is not specified. The param value can be a string-representation of a number, string, or boolean that is expected. Test engines do have to look for placeholders (${}) and replace the variable placeholders with the variable values at runtime before supplying this value to the external rule template. */ - value?: string; - _value?: Element; + value?: string|undefined; + _value?: Element|undefined; } /** * This qualifies each param name so that a parameter with the same name can be used differently by the different rules with the ruleset. @@ -22131,12 +22131,12 @@ export interface TestScriptRulesetRule extends BackboneElement { /** * The parameter value can be dynamic at runtime. */ - param?: TestScriptRulesetRuleParam[]; + param?: TestScriptRulesetRuleParam[]|undefined; /** * Id of the referenced rule within the external ruleset template. */ ruleId: string; - _ruleId?: Element; + _ruleId?: Element|undefined; } /** * Each rule within a ruleset should be treated by test engines as one assertion regardless of how many assertions are contained within the external rule template. The impact of negative rule evaluation on test script execution is the same as an assertion failure which is described elsewhere in the TestScript resource. @@ -22159,12 +22159,12 @@ export interface TestScriptSetupActionOperationRequestHeader extends BackboneEle * If header element is specified, then field is required. */ field: string; - _field?: Element; + _field?: Element|undefined; /** * If header element is specified, then value is required. No conversions will be done by the test engine e.g. "xml" to "application/fhir+xml". The values will be set in HTTP headers "as-is". Test engines do have to look for placeholders (${}) and replace the variable placeholders with the variable values at runtime before sending the request. */ value: string; - _value?: Element; + _value?: Element|undefined; } /** * The operation to perform. @@ -22173,79 +22173,79 @@ export interface TestScriptSetupActionOperation extends BackboneElement { /** * If this is specified, then test engine shall set the 'Accept' header to the corresponding value. If 'xml' is specified, then 'Accept' header of 'application/fhir+xml' will be set. If 'json' is specified, then 'application/fhir+json' will be used. If you'd like to explicitly set the 'Accept' to some other value then use the 'requestHeader' element. */ - accept?: TestScriptSetupActionOperationAcceptCodes; - _accept?: Element; + accept?: TestScriptSetupActionOperationAcceptCodes|undefined; + _accept?: Element|undefined; /** * If this is specified, then test engine shall set the 'Content-Type' header to the corresponding value. If 'xml' is specified, then 'Content-Type' header of 'application/fhir+xml' will be set. If 'json' is specified, then 'application/fhir+json' will be used. If you'd like to explicitly set the 'Content-Type' to some other value then use the 'requestHeader' element. */ - contentType?: TestScriptSetupActionOperationContentTypeCodes; - _contentType?: Element; + contentType?: TestScriptSetupActionOperationContentTypeCodes|undefined; + _contentType?: Element|undefined; /** * This has no impact on the verification itself. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * If multiple TestScript.destination elements are defined and operation.destination is undefined, test engine will report an error as it cannot determine what destination to use for the exchange. */ - destination?: number; + destination?: number|undefined; /** * Whether or not to implicitly send the request url in encoded format. The default is true to match the standard RESTful client behavior. Set to false when communicating with a server that does not support encoded url paths. */ - encodeRequestUrl?: boolean; - _encodeRequestUrl?: Element; + encodeRequestUrl?: boolean|undefined; + _encodeRequestUrl?: Element|undefined; /** * This has no impact on the verification itself. */ - label?: string; - _label?: Element; + label?: string|undefined; + _label?: Element|undefined; /** * If absent, test engine will send the message. When present, test engine will not send the request message but will wait for the request message to be sent from this origin server. */ - origin?: number; + origin?: number|undefined; /** * If "url" element is specified, then "targetId", "params", and "resource" elements will be ignored as "url" element will have everything needed for constructing the request url. If "params" element is specified, then "targetId" element is ignored. For FHIR operations that require a resource (e.g. "read" and "vread" operations), the "resource" element must be specified when "params" element is specified. If "url" and "params" elements are absent, then the request url will be constructed from "targetId" fixture if present. For "read" operation, the resource and id values will be extracted from "targetId" fixture and used to construct the url. For "vread" and "history" operations, the versionId value will also be used. Test engines would append whatever is specified for "params" to the URL after the resource type without tampering with the string (beyond encoding the URL for HTTP). The "params" element does not correspond exactly to "search parameters". Nor is it the "path". It corresponds to the part of the URL that comes after the [type] (when "resource" element is specified); e.g. It corresponds to "/[id]/_history/[vid] {?_format=[mime-type]}" in the following operation: GET [base]/[type]/[id]/_history/[vid] {?_format=[mime-type]} Test engines do have to look for placeholders (${}) and replace the variable placeholders with the variable values at runtime before sending the request. */ - params?: string; - _params?: Element; + params?: string|undefined; + _params?: Element|undefined; /** * This gives control to test-script writers to set headers explicitly based on test requirements. It will allow for testing using: - "If-Modified-Since" and "If-None-Match" headers. See http://hl7.org/fhir/STU3/http.html#2.1.0.5.1 - "If-Match" header. See http://hl7.org/fhir/STU3/http.html#2.1.0.11 - Conditional Create using "If-None-Exist". See http://hl7.org/fhir/STU3/http.html#2.1.0.13.1 - Invalid "Content-Type" header for negative testing. - etc. */ - requestHeader?: TestScriptSetupActionOperationRequestHeader[]; + requestHeader?: TestScriptSetupActionOperationRequestHeader[]|undefined; /** * If a requestId is supplied, then the resulting request (both headers and body) is mapped to the fixture ID (which may be entirely new and previously undeclared) designated by "requestId". If requestId is not specified, it is the test engine's responsibility to store the request and use it as the requestId in subsequent assertions when assertion path and/or headerField is specified, direction is equal to request, and the requestId in not specified. */ - requestId?: string; - _requestId?: Element; + requestId?: string|undefined; + _requestId?: Element|undefined; /** * If "url" element is specified, then "targetId", "params", and "resource" elements will be ignored as "url" element will have everything needed for constructing the request url. If "params" element is specified, then "targetId" element is ignored. For FHIR operations that require a resource (e.g. "read" and "vread" operations), the "resource" element must be specified when "params" element is specified. If "url" and "params" elements are absent, then the request url will be constructed from "targetId" fixture if present. For "read" operation, the resource and id values will be extracted from "targetId" fixture and used to construct the url. For "vread" and "history" operations, the versionId value will also be used. */ - resource?: string; - _resource?: Element; + resource?: string|undefined; + _resource?: Element|undefined; /** * If a responseId is supplied, and the server responds, then the resulting response (both headers and body) is mapped to the fixture ID (which may be entirely new and previously undeclared) designated by "responseId". If responseId is not specified, it is the test engine's responsibility to store the response and use it as the responseId in subsequent assertions when assertion path and/or headerField is specified and the responseId is not specified. */ - responseId?: string; - _responseId?: Element; + responseId?: string|undefined; + _responseId?: Element|undefined; /** * The id of the fixture used as the body of a PUT or POST request. */ - sourceId?: string; - _sourceId?: Element; + sourceId?: string|undefined; + _sourceId?: Element|undefined; /** * If "url" element is specified, then "targetId", "params", and "resource" elements will be ignored as "url" element will have everything needed for constructing the request url. If "params" element is specified, then "targetId" element is ignored. For FHIR operations that require a resource (e.g. "read" and "vread" operations), the "resource" element must be specified when "params" element is specified. If "url" and "params" elements are absent, then the request url will be constructed from "targetId" fixture if present. For "read" operation, the resource and id values will be extracted from "targetId" fixture and used to construct the url. For "vread" and "history" operations, the versionId value will also be used. */ - targetId?: string; - _targetId?: Element; + targetId?: string|undefined; + _targetId?: Element|undefined; /** * See http://hl7.org/fhir/STU3/http.html for list of server interactions. */ - type?: Coding; + type?: Coding|undefined; /** * Used to set the request URL explicitly. If "url" element is defined, then "targetId", "resource", and "params" elements will be ignored. Test engines would use whatever is specified in "url" without tampering with the string (beyond encoding the URL for HTTP). Test engines do have to look for placeholders (${}) and replace the variable placeholders with the variable values at runtime before sending the request. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; } /** * Code Values for the TestScript.setup.action.operation.accept field @@ -22273,12 +22273,12 @@ export interface TestScriptSetupActionAssertRuleParam extends BackboneElement { * The external rule template would be looking for the parameter by this name. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * This value overwrites the value (if any) specified in TestScript.rule.param.value. The param value can be a string-representation of a number, string, or boolean that is expected. Test engines do have to look for placeholders (${}) and replace the variable placeholders with the variable values at runtime before supplying this value to the external rule template. */ value: string; - _value?: Element; + _value?: Element|undefined; } /** * Each rule should get evaluated by test engines as one assertion regardless of how many assertions are contained within the external rule template. The impact of negative rule evaluation on test script execution is the same as an assertion failure which is descibed elsewhere in the TestScript resource. @@ -22287,12 +22287,12 @@ export interface TestScriptSetupActionAssertRule extends BackboneElement { /** * The parameter value can be dynamic at runtime. */ - param?: TestScriptSetupActionAssertRuleParam[]; + param?: TestScriptSetupActionAssertRuleParam[]|undefined; /** * The TestScript.rule id value this assert will evaluate. */ ruleId: string; - _ruleId?: Element; + _ruleId?: Element|undefined; } /** * The parameter value can be dynamic at runtime. @@ -22302,12 +22302,12 @@ export interface TestScriptSetupActionAssertRulesetRuleParam extends BackboneEle * The external rule template would be looking for the parameter by this name. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * This value overwrites the value (if any) specified in TestScript.ruleset.rule.param.value. The param value can be a string-representation of a number, string, or boolean that is expected. Test engines do have to look for placeholders (${}) and replace the variable placeholders with the variable values at runtime before supplying this value to the external rule template. */ value: string; - _value?: Element; + _value?: Element|undefined; } /** * This qualifies each param name so that a parameter with the same name can be used differently by the different rules with the ruleset. @@ -22316,12 +22316,12 @@ export interface TestScriptSetupActionAssertRulesetRule extends BackboneElement /** * The parameter value can be dynamic at runtime. */ - param?: TestScriptSetupActionAssertRulesetRuleParam[]; + param?: TestScriptSetupActionAssertRulesetRuleParam[]|undefined; /** * Id of the referenced rule within the external ruleset template. */ ruleId: string; - _ruleId?: Element; + _ruleId?: Element|undefined; } /** * Each rule within a ruleset should get evaluated by test engines as a separate assertion. The impact of negative rule evaluation on test script execution is the same as an assertion failure which is descibed elsewhere in the TestScript resource. If the first rule within the ruleset results in a failed assertion, then test engines do not have to evaluate the rest of the rules within the ruleset. @@ -22330,12 +22330,12 @@ export interface TestScriptSetupActionAssertRuleset extends BackboneElement { /** * This qualifies each param name so that a parameter with the same name can be used differently by the different rules with the ruleset. */ - rule?: TestScriptSetupActionAssertRulesetRule[]; + rule?: TestScriptSetupActionAssertRulesetRule[]|undefined; /** * The TestScript.ruleset id value this assert will evaluate. */ rulesetId: string; - _rulesetId?: Element; + _rulesetId?: Element|undefined; } /** * In order to evaluate an assertion, the request, response, and results of the most recently executed operation must always be maintained by the test engine. @@ -22344,121 +22344,121 @@ export interface TestScriptSetupActionAssert extends BackboneElement { /** * Thefhirpath expression to be evaluated against the expected fixture to compare to. Ignored if "assert.value" is used. The evaluation will be done before the assertion is evaluated. */ - compareToSourceExpression?: string; - _compareToSourceExpression?: Element; + compareToSourceExpression?: string|undefined; + _compareToSourceExpression?: Element|undefined; /** * Id of the source fixture used as the contents to be evaluated by either the "source/expression" or "sourceId/path" definition. */ - compareToSourceId?: string; - _compareToSourceId?: Element; + compareToSourceId?: string|undefined; + _compareToSourceId?: Element|undefined; /** * The XPath or JSONPath expression to be evaluated against the expected fixture to compare to. Ignored if "assert.value" is used. The evaluation will be done before the assertion is evaluated. */ - compareToSourcePath?: string; - _compareToSourcePath?: Element; + compareToSourcePath?: string|undefined; + _compareToSourcePath?: Element|undefined; /** * If this is specified, then test engine shall confirm that the content-type of the last operation's headers is set to this value. If "assert.sourceId" element is specified, then the evaluation will be done against the headers mapped to that sourceId (and not the last operation's headers). If 'xml' is specified, then 'Content-Type' header of 'application/fhir+xml' will be confirmed. If 'json' is specified, then 'application/fhir+json' will be used. If you'd like to have more control over the string, then use 'assert.headerField' instead. */ - contentType?: TestScriptSetupActionAssertContentTypeCodes; - _contentType?: Element; + contentType?: TestScriptSetupActionAssertContentTypeCodes|undefined; + _contentType?: Element|undefined; /** * This has no impact on the verification itself. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * If the direction is specified as "response" (the default), then the processing of this assert is against the received response message. If the direction is specified as "request", then the processing of this assert is against the sent request message. */ - direction?: TestScriptSetupActionAssertDirectionCodes; - _direction?: Element; + direction?: TestScriptSetupActionAssertDirectionCodes|undefined; + _direction?: Element|undefined; /** * If both "expression" and a "fixtureId" are specified, then the expression will be evaluated against the request or response body mapped to the fixtureId. If "expression" is specified and a "fixtureId" is not, then the expression will be evaluated against the response body of the last operation. Test engines are to store the request and response body and headers of the last operation at all times for subsequent assertions. */ - expression?: string; - _expression?: Element; + expression?: string|undefined; + _expression?: Element|undefined; /** * If "headerField" is specified then "value" must be specified. If "sourceId" is not specified, then "headerField" will be evaluated against the last operation's response headers. Test engines are to keep track of the last operation's response body and response headers. */ - headerField?: string; - _headerField?: Element; + headerField?: string|undefined; + _headerField?: Element|undefined; /** * This has no impact on the verification itself. */ - label?: string; - _label?: Element; + label?: string|undefined; + _label?: Element|undefined; /** * Asserts that the response contains all the element/content in another fixture pointed to by minimumId. This can be a statically defined fixture or one that is dynamically set via responseId. */ - minimumId?: string; - _minimumId?: Element; + minimumId?: string|undefined; + _minimumId?: Element|undefined; /** * Asserts that the Bundle contains first, last, and next links. */ - navigationLinks?: boolean; - _navigationLinks?: Element; + navigationLinks?: boolean|undefined; + _navigationLinks?: Element|undefined; /** * Operators are useful especially for negative testing. If operator is not specified, then the "equals" operator is assumed; e.g. . */ - operator?: TestScriptSetupActionAssertOperatorCodes; - _operator?: Element; + operator?: TestScriptSetupActionAssertOperatorCodes|undefined; + _operator?: Element|undefined; /** * If both "path" and a "fixtureId" are specified, then the path will be evaluated against the request or response body mapped to the fixtureId. If "path" is specified and a "fixtureId" is not, then the path will be evaluated against the response body of the last operation. Test engines are to store the request and response body and headers of the last operation at all times for subsequent assertions. */ - path?: string; - _path?: Element; + path?: string|undefined; + _path?: Element|undefined; /** * If "requestMethod" is specified then it will be used in place of "value". The "requestMethod" will evaluate against the last operation's request HTTP operation. */ - requestMethod?: TestScriptSetupActionAssertRequestMethodCodes; - _requestMethod?: Element; + requestMethod?: TestScriptSetupActionAssertRequestMethodCodes|undefined; + _requestMethod?: Element|undefined; /** * If "requestURL" is specified then it will be used in place of "value". The "requestURL" will evaluate against the last operation's full request URL path string. */ - requestURL?: string; - _requestURL?: Element; + requestURL?: string|undefined; + _requestURL?: Element|undefined; /** * This will be expected resource type in response body e.g. in read, vread, search, etc. See http://hl7.org/fhir/STU3/resourcelist.html for complete list of resource types; e.g. . */ - resource?: string; - _resource?: Element; + resource?: string|undefined; + _resource?: Element|undefined; /** * This is a shorter way of achieving similar verifications via "assert.responseCode". If you need more control, then use "assert.responseCode" e.g. . */ - response?: TestScriptSetupActionAssertResponseCodes; - _response?: Element; + response?: TestScriptSetupActionAssertResponseCodes|undefined; + _response?: Element|undefined; /** * To be used with "operator" attribute value. Asserts that the response code equals this value if "operator" is not specified. If the operator is "in" or "notIn" then the responseCode would be a comma-separated list of values e.g. "200,201". Otherwise, it's expected to be a numeric value. If "fixture" is not specified, then the "responseBodyId" value of the last operation is assumed. */ - responseCode?: string; - _responseCode?: Element; + responseCode?: string|undefined; + _responseCode?: Element|undefined; /** * Each rule should get evaluated by test engines as one assertion regardless of how many assertions are contained within the external rule template. The impact of negative rule evaluation on test script execution is the same as an assertion failure which is descibed elsewhere in the TestScript resource. */ - rule?: TestScriptSetupActionAssertRule; + rule?: TestScriptSetupActionAssertRule|undefined; /** * Each rule within a ruleset should get evaluated by test engines as a separate assertion. The impact of negative rule evaluation on test script execution is the same as an assertion failure which is descibed elsewhere in the TestScript resource. If the first rule within the ruleset results in a failed assertion, then test engines do not have to evaluate the rest of the rules within the ruleset. */ - ruleset?: TestScriptSetupActionAssertRuleset; + ruleset?: TestScriptSetupActionAssertRuleset|undefined; /** * This can be a statically defined fixture (at the top of the testscript) or a dynamically set fixture created by responseId of the action.operation element. */ - sourceId?: string; - _sourceId?: Element; + sourceId?: string|undefined; + _sourceId?: Element|undefined; /** * The ID of a Profile fixture. Asserts that the response is valid according to the Profile specified by validateProfileId. */ - validateProfileId?: string; - _validateProfileId?: Element; + validateProfileId?: string|undefined; + _validateProfileId?: Element|undefined; /** * The string-representation of a number, string, or boolean that is expected. Test engines do have to look for placeholders (${}) and replace the variable placeholders with the variable values at runtime before comparing this value to the actual value. */ - value?: string; - _value?: Element; + value?: string|undefined; + _value?: Element|undefined; /** * If this element is specified and it is true, then assertion failures can be logged by test engine but should not stop the test script execution from proceeding. There are likely cases where the spec is not clear on what should happen. If the spec says something is optional (maybe a response header for example), but a server doesn’t do it, we could choose to issue a warning. */ - warningOnly?: boolean; - _warningOnly?: Element; + warningOnly?: boolean|undefined; + _warningOnly?: Element|undefined; } /** * Code Values for the TestScript.setup.action.assert.contentType field @@ -22527,11 +22527,11 @@ export interface TestScriptSetupAction extends BackboneElement { /** * In order to evaluate an assertion, the request, response, and results of the most recently executed operation must always be maintained by the test engine. */ - assert?: TestScriptSetupActionAssert; + assert?: TestScriptSetupActionAssert|undefined; /** * The operation to perform. */ - operation?: TestScriptSetupActionOperation; + operation?: TestScriptSetupActionOperation|undefined; } /** * A series of required setup operations before tests are executed. @@ -22549,11 +22549,11 @@ export interface TestScriptTestAction extends BackboneElement { /** * In order to evaluate an assertion, the request, response, and results of the most recently executed operation must always be maintained by the test engine. */ - assert?: TestScriptSetupActionAssert; + assert?: TestScriptSetupActionAssert|undefined; /** * An operation would involve a REST request to a server. */ - operation?: TestScriptSetupActionOperation; + operation?: TestScriptSetupActionOperation|undefined; } /** * A test in this script. @@ -22566,13 +22566,13 @@ export interface TestScriptTest extends BackboneElement { /** * A short description of the test used by test engines for tracking and reporting purposes. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * The name of this test used for tracking/logging purposes by test engines. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; } /** * An action should contain either an operation or an assertion but not both. It can contain any number of variables. @@ -22601,119 +22601,119 @@ export interface TestScript extends DomainResource { /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * A copyright statement relating to the test script and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the test script. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the test script. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * This description can be used to capture details such as why the test script was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the test script as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * The purpose of this element is to define the profile of a destination element used elsewhere in the script. Test engines could then use the destination-profile mapping to offer a filtered list of test systems that can serve as the receiver for the interaction. */ - destination?: TestScriptDestination[]; + destination?: TestScriptDestination[]|undefined; /** * Allows filtering of test script that are appropriate for use vs. not. This is labeled as "Is Modifier" because applications should not use an experimental test script in production. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * Fixture in the test script - by reference (uri). All fixtures are required for the test script to execute. */ - fixture?: TestScriptFixture[]; + fixture?: TestScriptFixture[]|undefined; /** * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, e.g., to identify this test script outside of FHIR, where it is not possible to use the logical URI. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * It may be possible for the test script to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * The required capability must exist and are assumed to function correctly on the FHIR server being tested. */ - metadata?: TestScriptMetadata; + metadata?: TestScriptMetadata|undefined; /** * The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * The purpose of this element is to define the profile of an origin element used elsewhere in the script. Test engines could then use the origin-profile mapping to offer a filtered list of test systems that can serve as the sender for the interaction. */ - origin?: TestScriptOrigin[]; + origin?: TestScriptOrigin[]|undefined; /** * See http://hl7.org/fhir/STU3/resourcelist.html for complete list of resource types. */ - profile?: Reference[]; + profile?: Reference[]|undefined; /** * Usually an organization, but may be an individual. The publisher (or steward) of the test script is the organization or individual primarily responsible for the maintenance and upkeep of the test script. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the test script. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * This element does not describe the usage of the test script Instead it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this test script. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * Each rule should be treated by test engines as one assertion regardless of how many assertions are contained within the external rule template. The impact of negative rule evaluation on test script execution is the same as an assertion failure which is described elsewhere in the TestScript resource. */ - rule?: TestScriptRule[]; + rule?: TestScriptRule[]|undefined; /** * Each rule within a ruleset should be treated by test engines as one assertion regardless of how many assertions are contained within the external rule template. The impact of negative rule evaluation on test script execution is the same as an assertion failure which is described elsewhere in the TestScript resource. */ - ruleset?: TestScriptRuleset[]; + ruleset?: TestScriptRuleset[]|undefined; /** * A series of required setup operations before tests are executed. */ - setup?: TestScriptSetup; + setup?: TestScriptSetup|undefined; /** * Allows filtering of test scripts that are appropriate for use vs. not. * This is labeled as "Is Modifier" because applications should not use a retired test script without due consideration. */ status: TestScriptStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * A series of operations required to clean up after the all the tests are executed (successfully or otherwise). */ - teardown?: TestScriptTeardown; + teardown?: TestScriptTeardown|undefined; /** * A test in this script. */ - test?: TestScriptTest[]; + test?: TestScriptTest[]|undefined; /** * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred. Multiple instances may share the same url if they have a distinct version. */ url: string; - _url?: Element; + _url?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * Variables would be set based either on XPath/JSONPath expressions against fixtures (static and response), or headerField evaluations against response headers. If variable evaluates to nodelist or anything other than a primitive value, then test engine would report an error. Variables would be used to perform clean replacements in "operation.params", "operation.requestHeader.value", and "operation.url" element values during operation calls and in "assert.value" during assertion evaluations. This limits the places that test engines would need to look for placeholders "${}". Variables are scoped to the whole script. They are NOT evaluated at declaration. They are evaluated by test engine when used for substitutions in "operation.params", "operation.requestHeader.value", and "operation.url" element values during operation calls and in "assert.value" during assertion evaluations. See example testscript-search.xml. */ - variable?: TestScriptVariable[]; + variable?: TestScriptVariable[]|undefined; /** * There may be different test script instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a refrence to a particular business version of the test script with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the TestScript.status field @@ -22731,17 +22731,17 @@ export interface ValueSetComposeIncludeConceptDesignation extends BackboneElemen /** * In the absence of a language, the resource language applies. */ - language?: string; - _language?: Element; + language?: string|undefined; + _language?: Element|undefined; /** * If no use is provided, the designation can be assumed to be suitable for general display to a human user. */ - use?: Coding; + use?: Coding|undefined; /** * The text value for this designation. */ value: string; - _value?: Element; + _value?: Element|undefined; } /** * The list of concepts is considered ordered, though the order may not have any particular significance. Typically, the order of an expansion follows that defined in the compose element. @@ -22751,16 +22751,16 @@ export interface ValueSetComposeIncludeConcept extends BackboneElement { * Expressions are allowed if defined by the underlying code system. */ code: string; - _code?: Element; + _code?: Element|undefined; /** * Additional representations for this concept when used in this value set - other languages, aliases, specialized purposes, used for particular purposes, etc. */ - designation?: ValueSetComposeIncludeConceptDesignation[]; + designation?: ValueSetComposeIncludeConceptDesignation[]|undefined; /** * The value set resource allows for an alternative display to be specified for when this concept is used in this particular value set. See notes in the value set narrative about the correct use of this element. */ - display?: string; - _display?: Element; + display?: string|undefined; + _display?: Element|undefined; } /** * Selecting codes by specifying filters based on properties is only possible where the underlying code system defines appropriate properties. Note that in some cases, the underlying code system defines the logical concepts but not the literal codes for the concepts. In such cases, the literal definitions may be provided by a third party. @@ -22770,17 +22770,17 @@ export interface ValueSetComposeIncludeFilter extends BackboneElement { * The kind of operation to perform as a part of the filter criteria. */ op: ValueSetComposeIncludeFilterOpCodes; - _op?: Element; + _op?: Element|undefined; /** * A code that identifies a property defined in the code system. */ property: string; - _property?: Element; + _property?: Element|undefined; /** * Use regex matching with care - full regex matching on every SNOMED CT term is prohibitive, for example. */ value: string; - _value?: Element; + _value?: Element|undefined; } /** * Code Values for the ValueSet.compose.include.filter.op field @@ -22803,26 +22803,26 @@ export interface ValueSetComposeInclude extends BackboneElement { /** * The list of concepts is considered ordered, though the order may not have any particular significance. Typically, the order of an expansion follows that defined in the compose element. */ - concept?: ValueSetComposeIncludeConcept[]; + concept?: ValueSetComposeIncludeConcept[]|undefined; /** * Selecting codes by specifying filters based on properties is only possible where the underlying code system defines appropriate properties. Note that in some cases, the underlying code system defines the logical concepts but not the literal codes for the concepts. In such cases, the literal definitions may be provided by a third party. */ - filter?: ValueSetComposeIncludeFilter[]; + filter?: ValueSetComposeIncludeFilter[]|undefined; /** * If there are no codes or filters, the entire code system is included. Note that the set of codes that are included may contain abstract codes. See ''Coding.system'' for further documentation about the correct value for the system element. */ - system?: string; - _system?: Element; + system?: string|undefined; + _system?: Element|undefined; /** * The value set URI is either a logical reference to a defined value set such as a [SNOMED CT reference set]{snomedct.html#implicit}, or a direct reference to a value set definition using ValueSet.url. The reference may not refer to an actual FHIR ValueSet resource; in this case, whatever is referred to is an implicit definition of a value set that needs to be clear about how versions are resolved. */ - valueSet?: string[]; - _valueSet?: Element[]; + valueSet?: string[]|undefined; + _valueSet?: Element[]|undefined; /** * This is used when selecting the descendants of a concept - they may change between versions. If no version is specified, then the exact contents of the value set may not be known until a context of use binds it to a particular version. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * A set of criteria that define the content logical definition of the value set by including or excluding codes from outside this value set. This I also known as the "Content Logical Definition" (CLD). @@ -22831,12 +22831,12 @@ export interface ValueSetCompose extends BackboneElement { /** * Usually this is used to selectively exclude codes that were included by subsumption in the inclusions. Any display names specified for the codes are ignored. */ - exclude?: ValueSetComposeInclude[]; + exclude?: ValueSetComposeInclude[]|undefined; /** * Note that in the FHIR terminology framework, "deprecated" does not mean inactive, but in some code systems (e.g. LOINC, deprecated means inactive). Code systems should define what codes are considered to be inactive. If this is not clearly defined (including in the FHIR code system resource), then all codes are assumed to be active. */ - inactive?: boolean; - _inactive?: Element; + inactive?: boolean|undefined; + _inactive?: Element|undefined; /** * All the conditions in an include must be true. If a system is listed, all the codes from the system are listed. If one or more filters are listed, all of the filters must apply. If one or more value sets are listed, the codes must be in all the value sets. E.g. each include is 'include all the codes that meet all these conditions'. */ @@ -22844,8 +22844,8 @@ export interface ValueSetCompose extends BackboneElement { /** * With a defined lockedDate the value set is considered "Locked". Otherwise, the value set may have different expansions as underlying code systems and/or value sets evolve. The interpretation of lockedDate is often dependent on the context - e.g. a SNOMED CT derived value set with a lockedDate will have a different expansion in USA than in UK. If a value set specifies a version for include and exclude statements, and also specifies a locked date, the specified versions need to be available that date, or the value set will not be usable. */ - lockedDate?: string; - _lockedDate?: Element; + lockedDate?: string|undefined; + _lockedDate?: Element|undefined; } /** * The server decides which parameters to include here, but at a minimum, the list SHOULD include the date, filter, and profile parameters passed to the $expand operation (if any). @@ -22855,35 +22855,35 @@ export interface ValueSetExpansionParameter extends BackboneElement { * The names are assigned at the discretion of the server. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * The value of the parameter. */ - valueString?: string; - _valueString?: Element; + valueString?: string|undefined; + _valueString?: Element|undefined; /** * The value of the parameter. */ - valueBoolean?: boolean; - _valueBoolean?: Element; + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; /** * The value of the parameter. */ - valueInteger?: number; + valueInteger?: number|undefined; /** * The value of the parameter. */ - valueDecimal?: number; + valueDecimal?: number|undefined; /** * The value of the parameter. */ - valueUri?: string; - _valueUri?: Element; + valueUri?: string|undefined; + _valueUri?: Element|undefined; /** * The value of the parameter. */ - valueCode?: string; - _valueCode?: Element; + valueCode?: string|undefined; + _valueCode?: Element|undefined; } /** * The codes that are contained in the value set expansion. @@ -22892,41 +22892,41 @@ export interface ValueSetExpansionContains extends BackboneElement { /** * This should not be understood to exclude its use for searching (e.g. by subsumption testing). The client should know whether it is appropriate for the user to select an abstract code or not. */ - abstract?: boolean; - _abstract?: Element; + abstract?: boolean|undefined; + _abstract?: Element|undefined; /** * The code for this item in the expansion hierarchy. If this code is missing the entry in the hierarchy is a place holder (abstract) and does not represent a valid code in the value set. */ - code?: string; - _code?: Element; + code?: string|undefined; + _code?: Element|undefined; /** * If the expansion uses this element, there is no implication about the logical relationship between them, and the structure cannot be used for logical inferencing. The structure exists to provide navigational assistance for helping human users to locate codes in the expansion. */ - contains?: ValueSetExpansionContains[]; + contains?: ValueSetExpansionContains[]|undefined; /** * The designations provided must be based on the value set and code system definitions. */ - designation?: ValueSetComposeIncludeConceptDesignation[]; + designation?: ValueSetComposeIncludeConceptDesignation[]|undefined; /** * The recommended display for this item in the expansion. */ - display?: string; - _display?: Element; + display?: string|undefined; + _display?: Element|undefined; /** * This should only have a value if the concept is inactive. */ - inactive?: boolean; - _inactive?: Element; + inactive?: boolean|undefined; + _inactive?: Element|undefined; /** * An absolute URI which is the code system in which the code for this item in the expansion is defined. */ - system?: string; - _system?: Element; + system?: string|undefined; + _system?: Element|undefined; /** * The exact value of the version string is specified by the system from which the code is derived. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Expansion is performed to produce a collection of codes that are ready to use for data entry or validation. @@ -22935,29 +22935,29 @@ export interface ValueSetExpansion extends BackboneElement { /** * The codes that are contained in the value set expansion. */ - contains?: ValueSetExpansionContains[]; + contains?: ValueSetExpansionContains[]|undefined; /** * Typically, this uri is a UUID (e.g. urn:uuid:8230ff20-c97a-4167-a59d-dc2cb9df16dd). */ identifier: string; - _identifier?: Element; + _identifier?: Element|undefined; /** * Paging only applies to flat expansions. If a filter is applied, the count is the number of concepts that matched the filter, not the number of concepts in an unfiltered view of the expansion. */ - offset?: number; + offset?: number|undefined; /** * The server decides which parameters to include here, but at a minimum, the list SHOULD include the date, filter, and profile parameters passed to the $expand operation (if any). */ - parameter?: ValueSetExpansionParameter[]; + parameter?: ValueSetExpansionParameter[]|undefined; /** * This SHOULD be a fully populated instant, but in some circumstances, value sets are expanded by hand, and the expansion is published without that precision. */ timestamp: string; - _timestamp?: Element; + _timestamp?: Element|undefined; /** * Paging only applies to flat expansions. */ - total?: number; + total?: number|undefined; } /** * A value set specifies a set of codes drawn from one or more code systems. @@ -22968,93 +22968,93 @@ export interface ValueSet extends DomainResource { /** * A set of criteria that define the content logical definition of the value set by including or excluding codes from outside this value set. This I also known as the "Content Logical Definition" (CLD). */ - compose?: ValueSetCompose; + compose?: ValueSetCompose|undefined; /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * null Frequently, the copyright differs between the value set and the codes that are included. The copyright statement should clearly differentiate between these when required. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the value set. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * This description can be used to capture details such as why the value set was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the value set as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created). The description is not intended to describe the semantics of the Value Set - there are no intrinsic semantics separate from the codes contained in its expansion. The description should capture its intended use, which is needed for ensuring integrity for its use in models across future changes. A description should be provided unless the value set is a contained resource (e.g. an anonymous value set in a profile). Most registries will require a description. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Expansion is performed to produce a collection of codes that are ready to use for data entry or validation. */ - expansion?: ValueSetExpansion; + expansion?: ValueSetExpansion|undefined; /** * Allows filtering of value set that are appropriate for use vs. not. This is labeled as "Is Modifier" because applications should not use an experimental value set in production. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * Whether this is intended to be used with an extensible binding or not. */ - extensible?: boolean; - _extensible?: Element; + extensible?: boolean|undefined; + _extensible?: Element|undefined; /** * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, e.g., to identify this value set outside of FHIR, where it is not possible to use the logical URI. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Normally immutability is set to 'false', which is the default assumption if it is not populated. Note that the implication is that if this is set to 'true', there may be only one ValueSet version for this definition. Immutability tends to be set to 'true' in one of two cases: - Where the value set, by the nature of its usage, cannot change. For example "All specializations of ACT in ActClassCode" - Where there's no safe way to express the "Purpose" such that someone else could safely make changes to the value set definition. Source workflow control must guarantee that the same URI always yields the same definition. */ - immutable?: boolean; - _immutable?: Element; + immutable?: boolean|undefined; + _immutable?: Element|undefined; /** * It may be possible for the value set to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly. A name should be provided unless the value set is a contained resource (e.g. an anonymous value set in a profile). Most registries will require a name. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Usually an organization, but may be an individual. The publisher (or steward) of the value set is the organization or individual primarily responsible for the maintenance and upkeep of the value set. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the value set. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * This element does not describe the usage of the value set Instead it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this value set. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * Allows filtering of value sets that are appropriate for use vs. not. * This is labeled as "Is Modifier" because applications should not use a retired value set without due consideration. */ status: ValueSetStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred. Multiple instances may share the same url if they have a distinct version. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different value set instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a refrence to a particular business version of the value set with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the ValueSet.status field @@ -23072,67 +23072,67 @@ export interface VisionPrescriptionDispense extends BackboneElement { /** * Power adjustment for multifocal lenses measured in diopters (0.25 units). */ - add?: number; + add?: number|undefined; /** * Adjustment for astigmatism measured in integer degrees. */ - axis?: number; + axis?: number|undefined; /** * Back curvature measured in millimeters. */ - backCurve?: number; + backCurve?: number|undefined; /** * The relative base, or reference lens edge, for the prism. */ - base?: VisionPrescriptionDispenseBaseCodes; - _base?: Element; + base?: VisionPrescriptionDispenseBaseCodes|undefined; + _base?: Element|undefined; /** * Brand recommendations or restrictions. */ - brand?: string; - _brand?: Element; + brand?: string|undefined; + _brand?: Element|undefined; /** * Special color or pattern. */ - color?: string; - _color?: Element; + color?: string|undefined; + _color?: Element|undefined; /** * Power adjustment for astigmatism measured in diopters (0.25 units). */ - cylinder?: number; + cylinder?: number|undefined; /** * Contact lens diameter measured in millimeters. */ - diameter?: number; + diameter?: number|undefined; /** * The recommended maximum wear period for the lens. */ - duration?: Quantity; + duration?: Quantity|undefined; /** * The eye for which the lens applies. */ - eye?: VisionPrescriptionDispenseEyeCodes; - _eye?: Element; + eye?: VisionPrescriptionDispenseEyeCodes|undefined; + _eye?: Element|undefined; /** * Notes for special requirements such as coatings and lens materials. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * Contact lens power measured in diopters (0.25 units). */ - power?: number; + power?: number|undefined; /** * Amount of prism to compensate for eye alignment in fractional units. */ - prism?: number; + prism?: number|undefined; /** * Identifies the type of vision correction product which is required for the patient. */ - product?: CodeableConcept; + product?: CodeableConcept|undefined; /** * Lens power measured in diopters (0.25 units). */ - sphere?: number; + sphere?: number|undefined; } /** * Code Values for the VisionPrescription.dispense.base field @@ -23159,41 +23159,41 @@ export interface VisionPrescription extends DomainResource { /** * The date (and perhaps time) when the prescription was written. */ - dateWritten?: string; - _dateWritten?: Element; + dateWritten?: string|undefined; + _dateWritten?: Element|undefined; /** * Deals with details of the dispense part of the supply specification. */ - dispense?: VisionPrescriptionDispense[]; + dispense?: VisionPrescriptionDispense[]|undefined; /** * A link to a resource that identifies the particular occurrence of contact between patient and health care provider. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * Business identifier which may be used by other parties to reference or identify the prescription. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * A link to a resource representing the person to whom the vision products will be supplied. */ - patient?: Reference; + patient?: Reference|undefined; /** * The healthcare professional responsible for authorizing the prescription. */ - prescriber?: Reference; + prescriber?: Reference|undefined; /** * Can be the reason or the indication for writing the prescription. */ - reasonCodeableConcept?: CodeableConcept; + reasonCodeableConcept?: CodeableConcept|undefined; /** * Can be the reason or the indication for writing the prescription. */ - reasonReference?: Reference; + reasonReference?: Reference|undefined; /** * The status of the resource instance. */ - status?: VisionPrescriptionStatusCodes; - _status?: Element; + status?: VisionPrescriptionStatusCodes|undefined; + _status?: Element|undefined; } /** * Code Values for the VisionPrescription.status field @@ -362241,3 +362241,124 @@ export type FhirResource = |TestScript |ValueSet |VisionPrescription; +/** + * String enum/union covering all known resource types. + */ +export type FhirResourceType = + 'Account' + | 'ActivityDefinition' + | 'AdverseEvent' + | 'AllergyIntolerance' + | 'Appointment' + | 'AppointmentResponse' + | 'AuditEvent' + | 'Basic' + | 'Binary' + | 'BodySite' + | 'Bundle' + | 'CapabilityStatement' + | 'CarePlan' + | 'CareTeam' + | 'ChargeItem' + | 'Claim' + | 'ClaimResponse' + | 'ClinicalImpression' + | 'CodeSystem' + | 'Communication' + | 'CommunicationRequest' + | 'CompartmentDefinition' + | 'Composition' + | 'ConceptMap' + | 'Condition' + | 'Consent' + | 'Contract' + | 'Coverage' + | 'DataElement' + | 'DetectedIssue' + | 'Device' + | 'DeviceComponent' + | 'DeviceMetric' + | 'DeviceRequest' + | 'DeviceUseStatement' + | 'DiagnosticReport' + | 'DocumentManifest' + | 'DocumentReference' + | 'EligibilityRequest' + | 'EligibilityResponse' + | 'Encounter' + | 'Endpoint' + | 'EnrollmentRequest' + | 'EnrollmentResponse' + | 'EpisodeOfCare' + | 'ExpansionProfile' + | 'ExplanationOfBenefit' + | 'FamilyMemberHistory' + | 'Flag' + | 'Goal' + | 'GraphDefinition' + | 'Group' + | 'GuidanceResponse' + | 'HealthcareService' + | 'ImagingManifest' + | 'ImagingStudy' + | 'Immunization' + | 'ImmunizationRecommendation' + | 'ImplementationGuide' + | 'Library' + | 'Linkage' + | 'List' + | 'Location' + | 'Measure' + | 'MeasureReport' + | 'Media' + | 'Medication' + | 'MedicationAdministration' + | 'MedicationDispense' + | 'MedicationRequest' + | 'MedicationStatement' + | 'MessageDefinition' + | 'MessageHeader' + | 'NamingSystem' + | 'NutritionOrder' + | 'Observation' + | 'OperationDefinition' + | 'OperationOutcome' + | 'Organization' + | 'Parameters' + | 'Patient' + | 'PaymentNotice' + | 'PaymentReconciliation' + | 'Person' + | 'PlanDefinition' + | 'Practitioner' + | 'PractitionerRole' + | 'Procedure' + | 'ProcedureRequest' + | 'ProcessRequest' + | 'ProcessResponse' + | 'Provenance' + | 'Questionnaire' + | 'QuestionnaireResponse' + | 'ReferralRequest' + | 'RelatedPerson' + | 'RequestGroup' + | 'ResearchStudy' + | 'ResearchSubject' + | 'RiskAssessment' + | 'Schedule' + | 'SearchParameter' + | 'Sequence' + | 'ServiceDefinition' + | 'Slot' + | 'Specimen' + | 'StructureDefinition' + | 'StructureMap' + | 'Subscription' + | 'Substance' + | 'SupplyDelivery' + | 'SupplyRequest' + | 'Task' + | 'TestReport' + | 'TestScript' + | 'ValueSet' + | 'VisionPrescription'; diff --git a/generated/TypeScript_R4.d.ts b/generated/TypeScript_R4.d.ts new file mode 100644 index 000000000..177eb7efa --- /dev/null +++ b/generated/TypeScript_R4.d.ts @@ -0,0 +1,28262 @@ +// +// Contents of: hl7.fhir.r4.core version: 4.0.1 + // Primitive Naming Style: None + // Complex Type / Resource Naming Style: PascalCase + // Interaction Naming Style: None + // Extension Support: NonPrimitive +// Minimum TypeScript Version: 3.7 + +export as namespace fhir4; + +/** + * 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. + */ +export interface Address extends Element { + /** + * The name of the city, town, suburb, village or other community or delivery center. + */ + city?: string|undefined; + _city?: Element|undefined; + /** + * ISO 3166 3 letter codes can be used in place of a human readable country name. + */ + country?: string|undefined; + _country?: Element|undefined; + /** + * District is sometimes known as county, but in some regions 'county' is used in place of city (municipality), so county name should be conveyed in city instead. + */ + district?: string|undefined; + _district?: Element|undefined; + /** + * This component contains the house number, apartment number, street name, street direction, P.O. Box number, delivery hints, and similar address information. + */ + line?: string[]|undefined; + _line?: Element[]|undefined; + /** + * Time period when address was/is in use. + */ + period?: Period|undefined; + /** + * A postal code designating a region defined by the postal service. + */ + postalCode?: string|undefined; + _postalCode?: Element|undefined; + /** + * Sub-unit of a country with limited sovereignty in a federally organized country. A code may be used if codes are in common use (e.g. US 2 letter state codes). + */ + state?: string|undefined; + _state?: Element|undefined; + /** + * Can provide both a text representation and parts. Applications updating an address SHALL ensure that when both text and parts are present, no content is included in the text that isn't found in a part. + */ + text?: string|undefined; + _text?: Element|undefined; + /** + * The definition of Address states that "address is intended to describe postal addresses, not physical locations". However, many applications track whether an address has a dual purpose of being a location that can be visited as well as being a valid delivery destination, and Postal addresses are often used as proxies for physical locations (also see the [Location](location.html#) resource). + */ + type?: ('postal'|'physical'|'both')|undefined; + _type?: Element|undefined; + /** + * Applications can assume that an address is current unless it explicitly says that it is temporary or old. + */ + use?: ('home'|'work'|'temp'|'old'|'billing')|undefined; + _use?: Element|undefined; +} +/** + * A duration of time during which an organism (or a process) has existed. + */ +export interface Age extends Quantity { +} +/** + * A text note which also contains information about who made the statement and when. + */ +export interface Annotation extends Element { + /** + * Organization is used when there's no need for specific attribution as to who made the comment. + */ + authorReference?: Reference|undefined; + /** + * Organization is used when there's no need for specific attribution as to who made the comment. + */ + authorString?: string|undefined; + _authorString?: Element|undefined; + /** + * The text of the annotation in markdown format. + */ + text: string; + _text?: Element|undefined; + /** + * Indicates when this particular annotation was made. + */ + time?: string|undefined; + _time?: Element|undefined; +} +/** + * For referring to data content defined in other formats. + */ +export interface Attachment extends Element { + /** + * Identifies the type of the data in the attachment and allows a method to be chosen to interpret or render the data. Includes mime type parameters such as charset where appropriate. + */ + contentType?: string|undefined; + _contentType?: Element|undefined; + /** + * The date that the attachment was first created. + */ + creation?: string|undefined; + _creation?: Element|undefined; + /** + * The base64-encoded data SHALL be expressed in the same character set as the base resource XML or JSON. + */ + data?: string|undefined; + _data?: Element|undefined; + /** + * The hash is calculated on the data prior to base64 encoding, if the data is based64 encoded. The hash is not intended to support digital signatures. Where protection against malicious threats a digital signature should be considered, see [Provenance.signature](provenance-definitions.html#Provenance.signature) for mechanism to protect a resource with a digital signature. + */ + hash?: string|undefined; + _hash?: Element|undefined; + /** + * The human language of the content. The value can be any valid value according to BCP 47. + */ + language?: string|undefined; + _language?: Element|undefined; + /** + * The number of bytes is redundant if the data is provided as a base64binary, but is useful if the data is provided as a url reference. + */ + size?: number|undefined; + /** + * A label or set of text to display in place of the data. + */ + title?: string|undefined; + _title?: Element|undefined; + /** + * If both data and url are provided, the url SHALL point to the same content as the data contains. Urls may be relative references or may reference transient locations such as a wrapping envelope using cid: though this has ramifications for using signatures. Relative URLs are interpreted relative to the service url, like a resource reference, rather than relative to the resource itself. If a URL is provided, it SHALL resolve to actual data. + */ + url?: string|undefined; + _url?: Element|undefined; +} +/** + * Base definition for all elements that are defined inside a resource - but not those in a data type. + */ +export interface BackboneElement extends Element { + /** + * There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. + */ + modifierExtension?: Extension[]|undefined; +} +/** + * A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text. + */ +export interface CodeableConcept extends Element { + /** + * Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true. + */ + coding?: Coding[]|undefined; + /** + * Very often the text is the same as a displayName of one of the codings. + */ + text?: string|undefined; + _text?: Element|undefined; +} +/** + * A reference to a code defined by a terminology system. + */ +export interface Coding extends Element { + /** + * A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination). + */ + code?: string|undefined; + _code?: Element|undefined; + /** + * A representation of the meaning of the code in the system, following the rules of the system. + */ + display?: string|undefined; + _display?: Element|undefined; + /** + * The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should reference to some definition that establishes the system clearly and unambiguously. + */ + system?: string|undefined; + _system?: Element|undefined; + /** + * Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely. + */ + userSelected?: boolean|undefined; + _userSelected?: Element|undefined; + /** + * Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date. + */ + version?: string|undefined; + _version?: Element|undefined; +} +/** + * Specifies contact information for a person or organization. + */ +export interface ContactDetail extends Element { + /** + * If there is no named individual, the telecom information is for the organization as a whole. + */ + name?: string|undefined; + _name?: Element|undefined; + /** + * The contact details for the individual (if a name was provided) or the organization. + */ + telecom?: ContactPoint[]|undefined; +} +/** + * Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc. + */ +export interface ContactPoint extends Element { + /** + * Time period when the contact point was/is in use. + */ + period?: Period|undefined; + /** + * Note that rank does not necessarily follow the order in which the contacts are represented in the instance. + */ + rank?: number|undefined; + /** + * Telecommunications form for contact point - what communications system is required to make use of the contact. + */ + system?: ('phone'|'fax'|'email'|'pager'|'url'|'sms'|'other')|undefined; + _system?: Element|undefined; + /** + * Applications can assume that a contact is current unless it explicitly says that it is temporary or old. + */ + use?: ('home'|'work'|'temp'|'old'|'mobile')|undefined; + _use?: Element|undefined; + /** + * Additional text data such as phone extension numbers, or notes about use of the contact are sometimes included in the value. + */ + value?: string|undefined; + _value?: Element|undefined; +} +/** + * A contributor to the content of a knowledge asset, including authors, editors, reviewers, and endorsers. + */ +export interface Contributor extends Element { + /** + * Contact details to assist a user in finding and communicating with the contributor. + */ + contact?: ContactDetail[]|undefined; + /** + * The name of the individual or organization responsible for the contribution. + */ + name: string; + _name?: Element|undefined; + /** + * The type of contributor. + */ + type: ('author'|'editor'|'reviewer'|'endorser'); + _type?: Element|undefined; +} +/** + * 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. + */ +export interface Count extends Quantity { +} +/** + * Code filters specify additional constraints on the data, specifying the value set of interest for a particular element of the data. Each code filter defines an additional constraint on the data, i.e. code filters are AND'ed, not OR'ed. + */ +export interface DataRequirementCodeFilter extends Element { + /** + * The codes for the code filter. If values are given, the filter will return only those data items for which the code-valued attribute specified by the path has a value that is one of the specified codes. If codes are specified in addition to a value set, the filter returns items matching a code in the value set or one of the specified codes. + */ + code?: Coding[]|undefined; + /** + * The path attribute contains a [Simple FHIRPath Subset](fhirpath.html#simple) that allows path traversal, but not calculation. + */ + path?: string|undefined; + _path?: Element|undefined; + /** + * A token parameter that refers to a search parameter defined on the specified type of the DataRequirement, and which searches on elements of type code, Coding, or CodeableConcept. + */ + searchParam?: string|undefined; + _searchParam?: Element|undefined; + /** + * The valueset for the code filter. The valueSet and code elements are additive. If valueSet is specified, the filter will return only those data items for which the value of the code-valued element specified in the path is a member of the specified valueset. + */ + valueSet?: string|undefined; + _valueSet?: Element|undefined; +} +/** + * Date filters specify additional constraints on the data in terms of the applicable date range for specific elements. Each date filter specifies an additional constraint on the data, i.e. date filters are AND'ed, not OR'ed. + */ +export interface DataRequirementDateFilter extends Element { + /** + * The path attribute contains a [Simple FHIR Subset](fhirpath.html#simple) that allows path traversal, but not calculation. + */ + path?: string|undefined; + _path?: Element|undefined; + /** + * A date parameter that refers to a search parameter defined on the specified type of the DataRequirement, and which searches on elements of type date, dateTime, Period, Schedule, or Timing. + */ + searchParam?: string|undefined; + _searchParam?: Element|undefined; + /** + * The value of the filter. If period is specified, the filter will return only those data items that fall within the bounds determined by the Period, inclusive of the period boundaries. If dateTime is specified, the filter will return only those data items that are equal to the specified dateTime. If a Duration is specified, the filter will return only those data items that fall within Duration before now. + */ + valueDateTime?: string|undefined; + _valueDateTime?: Element|undefined; + /** + * The value of the filter. If period is specified, the filter will return only those data items that fall within the bounds determined by the Period, inclusive of the period boundaries. If dateTime is specified, the filter will return only those data items that are equal to the specified dateTime. If a Duration is specified, the filter will return only those data items that fall within Duration before now. + */ + valuePeriod?: Period|undefined; + /** + * The value of the filter. If period is specified, the filter will return only those data items that fall within the bounds determined by the Period, inclusive of the period boundaries. If dateTime is specified, the filter will return only those data items that are equal to the specified dateTime. If a Duration is specified, the filter will return only those data items that fall within Duration before now. + */ + valueDuration?: Duration|undefined; +} +/** + * This element can be used in combination with the sort element to specify quota requirements such as "the most recent 5" or "the highest 5". When multiple sorts are specified, they are applied in the order they appear in the resource. + */ +export interface DataRequirementSort extends Element { + /** + * The direction of the sort, ascending or descending. + */ + direction: ('ascending'|'descending'); + _direction?: Element|undefined; + /** + * The attribute of the sort. The specified path must be resolvable from the type of the required data. The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements. Note that the index must be an integer constant. + */ + path: string; + _path?: Element|undefined; +} +/** + * Describes a required data item for evaluation in terms of the type of data, and optional code or date-based filters of the data. + */ +export interface DataRequirement extends Element { + /** + * Code filters specify additional constraints on the data, specifying the value set of interest for a particular element of the data. Each code filter defines an additional constraint on the data, i.e. code filters are AND'ed, not OR'ed. + */ + codeFilter?: DataRequirementCodeFilter[]|undefined; + /** + * Date filters specify additional constraints on the data in terms of the applicable date range for specific elements. Each date filter specifies an additional constraint on the data, i.e. date filters are AND'ed, not OR'ed. + */ + dateFilter?: DataRequirementDateFilter[]|undefined; + /** + * This element can be used in combination with the sort element to specify quota requirements such as "the most recent 5" or "the highest 5". + */ + limit?: number|undefined; + /** + * Indicates that specific elements of the type are referenced by the knowledge module and must be supported by the consumer in order to obtain an effective evaluation. This does not mean that a value is required for this element, only that the consuming system must understand the element and be able to provide values for it if they are available. + * The value of mustSupport SHALL be a FHIRPath resolveable on the type of the DataRequirement. The path SHALL consist only of identifiers, constant indexers, and .resolve() (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details). + */ + mustSupport?: string[]|undefined; + _mustSupport?: Element[]|undefined; + /** + * The profile of the required data, specified as the uri of the profile definition. + */ + profile?: string[]|undefined; + _profile?: Element[]|undefined; + /** + * This element can be used in combination with the sort element to specify quota requirements such as "the most recent 5" or "the highest 5". When multiple sorts are specified, they are applied in the order they appear in the resource. + */ + sort?: DataRequirementSort[]|undefined; + /** + * The subject of a data requirement is critical, as the data being specified is determined with respect to a particular subject. This corresponds roughly to the notion of a Compartment in that it limits what data is available based on its relationship to the subject. In CQL, this corresponds to the context declaration. + */ + subjectCodeableConcept?: CodeableConcept|undefined; + /** + * The subject of a data requirement is critical, as the data being specified is determined with respect to a particular subject. This corresponds roughly to the notion of a Compartment in that it limits what data is available based on its relationship to the subject. In CQL, this corresponds to the context declaration. + */ + subjectReference?: Reference|undefined; + /** + * The type of the required data, specified as the type name of a resource. For profiles, this value is set to the type of the base resource of the profile. + */ + type: string; + _type?: Element|undefined; +} +/** + * A length - a value with a unit that is a physical distance. + */ +export interface Distance extends Quantity { +} +/** + * The amount of medication administered. + */ +export interface DosageDoseAndRate extends Element { + /** + * Note that this specifies the quantity of the specified medication, not the quantity for each active ingredient(s). Each ingredient amount can be communicated in the Medication resource. For example, if one wants to communicate that a tablet was 375 mg, where the dose was one tablet, you can use the Medication resource to document that the tablet was comprised of 375 mg of drug XYZ. Alternatively if the dose was 375 mg, then you may only need to use the Medication resource to indicate this was a tablet. If the example were an IV such as dopamine and you wanted to communicate that 400mg of dopamine was mixed in 500 ml of some IV solution, then this would all be communicated in the Medication resource. If the administration is not intended to be instantaneous (rate is present or timing has a duration), this can be specified to convey the total amount to be administered over the period of time as indicated by the schedule e.g. 500 ml in dose, with timing used to convey that this should be done over 4 hours. + */ + doseRange?: Range|undefined; + /** + * Note that this specifies the quantity of the specified medication, not the quantity for each active ingredient(s). Each ingredient amount can be communicated in the Medication resource. For example, if one wants to communicate that a tablet was 375 mg, where the dose was one tablet, you can use the Medication resource to document that the tablet was comprised of 375 mg of drug XYZ. Alternatively if the dose was 375 mg, then you may only need to use the Medication resource to indicate this was a tablet. If the example were an IV such as dopamine and you wanted to communicate that 400mg of dopamine was mixed in 500 ml of some IV solution, then this would all be communicated in the Medication resource. If the administration is not intended to be instantaneous (rate is present or timing has a duration), this can be specified to convey the total amount to be administered over the period of time as indicated by the schedule e.g. 500 ml in dose, with timing used to convey that this should be done over 4 hours. + */ + doseQuantity?: Quantity|undefined; + /** + * It is possible to supply both a rate and a doseQuantity to provide full details about how the medication is to be administered and supplied. If the rate is intended to change over time, depending on local rules/regulations, each change should be captured as a new version of the MedicationRequest with an updated rate, or captured with a new MedicationRequest with the new rate. + * It is possible to specify a rate over time (for example, 100 ml/hour) using either the rateRatio and rateQuantity. The rateQuantity approach requires systems to have the capability to parse UCUM grammer where ml/hour is included rather than a specific ratio where the time is specified as the denominator. Where a rate such as 500ml over 2 hours is specified, the use of rateRatio may be more semantically correct than specifying using a rateQuantity of 250 mg/hour. + */ + rateRatio?: Ratio|undefined; + /** + * It is possible to supply both a rate and a doseQuantity to provide full details about how the medication is to be administered and supplied. If the rate is intended to change over time, depending on local rules/regulations, each change should be captured as a new version of the MedicationRequest with an updated rate, or captured with a new MedicationRequest with the new rate. + * It is possible to specify a rate over time (for example, 100 ml/hour) using either the rateRatio and rateQuantity. The rateQuantity approach requires systems to have the capability to parse UCUM grammer where ml/hour is included rather than a specific ratio where the time is specified as the denominator. Where a rate such as 500ml over 2 hours is specified, the use of rateRatio may be more semantically correct than specifying using a rateQuantity of 250 mg/hour. + */ + rateRange?: Range|undefined; + /** + * It is possible to supply both a rate and a doseQuantity to provide full details about how the medication is to be administered and supplied. If the rate is intended to change over time, depending on local rules/regulations, each change should be captured as a new version of the MedicationRequest with an updated rate, or captured with a new MedicationRequest with the new rate. + * It is possible to specify a rate over time (for example, 100 ml/hour) using either the rateRatio and rateQuantity. The rateQuantity approach requires systems to have the capability to parse UCUM grammer where ml/hour is included rather than a specific ratio where the time is specified as the denominator. Where a rate such as 500ml over 2 hours is specified, the use of rateRatio may be more semantically correct than specifying using a rateQuantity of 250 mg/hour. + */ + rateQuantity?: Quantity|undefined; + /** + * The kind of dose or rate specified, for example, ordered or calculated. + */ + type?: CodeableConcept|undefined; +} +/** + * Indicates how the medication is/was taken or should be taken by the patient. + */ +export interface Dosage extends BackboneElement { + /** + * Information about administration or preparation of the medication (e.g. "infuse as rapidly as possibly via intraperitoneal port" or "immediately following drug x") should be populated in dosage.text. + */ + additionalInstruction?: CodeableConcept[]|undefined; + /** + * Can express "as needed" without a reason by setting the Boolean = True. In this case the CodeableConcept is not populated. Or you can express "as needed" with a reason by including the CodeableConcept. In this case the Boolean is assumed to be True. If you set the Boolean to False, then the dose is given according to the schedule and is not "prn" or "as needed". + */ + asNeededBoolean?: boolean|undefined; + _asNeededBoolean?: Element|undefined; + /** + * Can express "as needed" without a reason by setting the Boolean = True. In this case the CodeableConcept is not populated. Or you can express "as needed" with a reason by including the CodeableConcept. In this case the Boolean is assumed to be True. If you set the Boolean to False, then the dose is given according to the schedule and is not "prn" or "as needed". + */ + asNeededCodeableConcept?: CodeableConcept|undefined; + /** + * The amount of medication administered. + */ + doseAndRate?: DosageDoseAndRate[]|undefined; + /** + * This is intended for use as an adjunct to the dosage when there is an upper cap. For example, a body surface area related dose with a maximum amount, such as 1.5 mg/m2 (maximum 2 mg) IV over 5 – 10 minutes would have doseQuantity of 1.5 mg/m2 and maxDosePerAdministration of 2 mg. + */ + maxDosePerAdministration?: Quantity|undefined; + /** + * Upper limit on medication per lifetime of the patient. + */ + maxDosePerLifetime?: Quantity|undefined; + /** + * This is intended for use as an adjunct to the dosage when there is an upper cap. For example "2 tablets every 4 hours to a maximum of 8/day". + */ + maxDosePerPeriod?: Ratio|undefined; + /** + * Terminologies used often pre-coordinate this term with the route and or form of administration. + */ + method?: CodeableConcept|undefined; + /** + * Instructions in terms that are understood by the patient or consumer. + */ + patientInstruction?: string|undefined; + _patientInstruction?: Element|undefined; + /** + * How drug should enter body. + */ + route?: CodeableConcept|undefined; + /** + * Indicates the order in which the dosage instructions should be applied or interpreted. + */ + sequence?: number|undefined; + /** + * If the use case requires attributes from the BodySite resource (e.g. to identify and track separately) then use the standard extension [bodySite](extension-bodysite.html). May be a summary code, or a reference to a very precise definition of the location, or both. + */ + site?: CodeableConcept|undefined; + /** + * Free text dosage instructions e.g. SIG. + */ + text?: string|undefined; + _text?: Element|undefined; + /** + * This attribute might not always be populated while the Dosage.text is expected to be populated. If both are populated, then the Dosage.text should reflect the content of the Dosage.timing. + */ + timing?: Timing|undefined; +} +/** + * A length of time. + */ +export interface Duration extends Quantity { +} +/** + * Base definition for all elements in a resource. + */ +export interface Element { + /** + * There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. + */ + extension?: Extension[]|undefined; + /** + * Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. + */ + id?: string|undefined; + _id?: Element|undefined; +} +/** + * If there is no discriminator, the content is hard to process, so this should be avoided. + */ +export interface ElementDefinitionSlicingDiscriminator extends Element { + /** + * The only FHIRPath functions that are allowed are as(type), resolve(), and extension(url). + */ + path: string; + _path?: Element|undefined; + /** + * How the element value is interpreted when discrimination is evaluated. + */ + type: ('value'|'exists'|'pattern'|'type'|'profile'); + _type?: Element|undefined; +} +/** + * The first element in the sequence, the one that carries the slicing, is the definition that applies to all the slices. This is based on the unconstrained element, but can apply any constraints as appropriate. This may include the common constraints on the children of the element. + */ +export interface ElementDefinitionSlicing extends Element { + /** + * If it's really not possible to differentiate them, the design should be re-evaluated to make the content usable. + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * If there is no discriminator, the content is hard to process, so this should be avoided. + */ + discriminator?: ElementDefinitionSlicingDiscriminator[]|undefined; + /** + * Order should only be required when it is a pressing concern for presentation. Profile authors should consider making the order a feature of the rules about the narrative, not the rules about the data - requiring ordered data makes the profile much less re-usable. + */ + ordered?: boolean|undefined; + _ordered?: Element|undefined; + /** + * Allowing additional elements makes for a much for flexible template - it's open for use in wider contexts, but also means that the content of the resource is not closed, and applications have to decide how to handle content not described by the profile. + */ + rules: ('closed'|'open'|'openAtEnd'); + _rules?: Element|undefined; +} +/** + * The base information does not carry any information that could not be determined from the path and related profiles, but making this determination requires both that the related profiles are available, and that the algorithm to determine them be available. For tooling simplicity, the base information must always be populated in element definitions in snap shots, even if it is the same. + */ +export interface ElementDefinitionBase extends Element { + /** + * This is provided to code generation, since the serialization representation in JSON differs depending on whether the base element has max > 1. Also, some forms of code generation may differ. + */ + max: string; + _max?: Element|undefined; + /** + * This is provided for consistency with max, and may affect code generation of mandatory elements of the base resource are generated differently (some reference implementations have done this). + */ + min: number; + /** + * The Path that identifies the base element - this matches the ElementDefinition.path for that element. Across FHIR, there is only one base definition of any element - that is, an element definition on a [StructureDefinition](structuredefinition.html#) without a StructureDefinition.base. + */ + path: string; + _path?: Element|undefined; +} +/** + * The Type of the element can be left blank in a differential constraint, in which case the type is inherited from the resource. Abstract types are not permitted to appear as a type when multiple types are listed. (I.e. Abstract types cannot be part of a choice). + */ +export interface ElementDefinitionType extends Element { + /** + * See [Aggregation Rules](elementdefinition.html#aggregation) for further clarification. + */ + aggregation?: ('contained'|'referenced'|'bundled')[]|undefined; + _aggregation?: Element[]|undefined; + /** + * If the element is a reference to another resource, this element contains "Reference", and the targetProfile element defines what resources can be referenced. The targetProfile may be a reference to the general definition of a resource (e.g. http://hl7.org/fhir/StructureDefinition/Patient). + */ + code: string; + _code?: Element|undefined; + /** + * It is possible to profile backbone element (e.g. part of a resource), using the [profile-element](extension-elementdefinition-profile-element.html) extension. + */ + profile?: string[]|undefined; + _profile?: Element[]|undefined; + /** + * Used when the type is "Reference" or "canonical", and identifies a profile structure or implementation Guide that applies to the target of the reference this element refers to. If any profiles are specified, then the content must conform to at least one of them. The URL can be a local reference - to a contained StructureDefinition, or a reference to another StructureDefinition or Implementation Guide by a canonical URL. When an implementation guide is specified, the target resource SHALL conform to at least one profile defined in the implementation guide. + */ + targetProfile?: string[]|undefined; + _targetProfile?: Element[]|undefined; + /** + * The base specification never makes a rule as to which form is allowed, but implementation guides may do this. See [Aggregation Rules](elementdefinition.html#aggregation) for further clarification. + */ + versioning?: ('either'|'independent'|'specific')|undefined; + _versioning?: Element|undefined; +} +/** + * Examples will most commonly be present for data where it's not implicitly obvious from either the data type or value set what the values might be. (I.e. Example values for dates or quantities would generally be unnecessary.) If the example value is fully populated, the publication tool can generate an instance automatically. + */ +export interface ElementDefinitionExample extends Element { + /** + * Describes the purpose of this example amoung the set of examples. + */ + label: string; + _label?: Element|undefined; + /** + * The actual value for the element, which must be one of the types allowed for this element. + */ + valueBase64Binary?: string|undefined; + _valueBase64Binary?: Element|undefined; + /** + * The actual value for the element, which must be one of the types allowed for this element. + */ + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; + /** + * The actual value for the element, which must be one of the types allowed for this element. + */ + valueCanonical?: string|undefined; + _valueCanonical?: Element|undefined; + /** + * The actual value for the element, which must be one of the types allowed for this element. + */ + valueCode?: string|undefined; + _valueCode?: Element|undefined; + /** + * The actual value for the element, which must be one of the types allowed for this element. + */ + valueDate?: string|undefined; + _valueDate?: Element|undefined; + /** + * The actual value for the element, which must be one of the types allowed for this element. + */ + valueDateTime?: string|undefined; + _valueDateTime?: Element|undefined; + /** + * The actual value for the element, which must be one of the types allowed for this element. + */ + valueDecimal?: number|undefined; + /** + * The actual value for the element, which must be one of the types allowed for this element. + */ + valueId?: string|undefined; + _valueId?: Element|undefined; + /** + * The actual value for the element, which must be one of the types allowed for this element. + */ + valueInstant?: string|undefined; + _valueInstant?: Element|undefined; + /** + * The actual value for the element, which must be one of the types allowed for this element. + */ + valueInteger?: number|undefined; + /** + * The actual value for the element, which must be one of the types allowed for this element. + */ + valueMarkdown?: string|undefined; + _valueMarkdown?: Element|undefined; + /** + * The actual value for the element, which must be one of the types allowed for this element. + */ + valueOid?: string|undefined; + _valueOid?: Element|undefined; + /** + * The actual value for the element, which must be one of the types allowed for this element. + */ + valuePositiveInt?: number|undefined; + /** + * The actual value for the element, which must be one of the types allowed for this element. + */ + valueString?: string|undefined; + _valueString?: Element|undefined; + /** + * The actual value for the element, which must be one of the types allowed for this element. + */ + valueTime?: string|undefined; + _valueTime?: Element|undefined; + /** + * The actual value for the element, which must be one of the types allowed for this element. + */ + valueUnsignedInt?: number|undefined; + /** + * The actual value for the element, which must be one of the types allowed for this element. + */ + valueUri?: string|undefined; + _valueUri?: Element|undefined; + /** + * The actual value for the element, which must be one of the types allowed for this element. + */ + valueUrl?: string|undefined; + _valueUrl?: Element|undefined; + /** + * The actual value for the element, which must be one of the types allowed for this element. + */ + valueUuid?: string|undefined; + _valueUuid?: Element|undefined; + /** + * The actual value for the element, which must be one of the types allowed for this element. + */ + valueAddress?: Address|undefined; + /** + * The actual value for the element, which must be one of the types allowed for this element. + */ + valueAge?: Age|undefined; + /** + * The actual value for the element, which must be one of the types allowed for this element. + */ + valueAnnotation?: Annotation|undefined; + /** + * The actual value for the element, which must be one of the types allowed for this element. + */ + valueAttachment?: Attachment|undefined; + /** + * The actual value for the element, which must be one of the types allowed for this element. + */ + valueCodeableConcept?: CodeableConcept|undefined; + /** + * The actual value for the element, which must be one of the types allowed for this element. + */ + valueCoding?: Coding|undefined; + /** + * The actual value for the element, which must be one of the types allowed for this element. + */ + valueContactPoint?: ContactPoint|undefined; + /** + * The actual value for the element, which must be one of the types allowed for this element. + */ + valueCount?: Count|undefined; + /** + * The actual value for the element, which must be one of the types allowed for this element. + */ + valueDistance?: Distance|undefined; + /** + * The actual value for the element, which must be one of the types allowed for this element. + */ + valueDuration?: Duration|undefined; + /** + * The actual value for the element, which must be one of the types allowed for this element. + */ + valueHumanName?: HumanName|undefined; + /** + * The actual value for the element, which must be one of the types allowed for this element. + */ + valueIdentifier?: Identifier|undefined; + /** + * The actual value for the element, which must be one of the types allowed for this element. + */ + valueMoney?: Money|undefined; + /** + * The actual value for the element, which must be one of the types allowed for this element. + */ + valuePeriod?: Period|undefined; + /** + * The actual value for the element, which must be one of the types allowed for this element. + */ + valueQuantity?: Quantity|undefined; + /** + * The actual value for the element, which must be one of the types allowed for this element. + */ + valueRange?: Range|undefined; + /** + * The actual value for the element, which must be one of the types allowed for this element. + */ + valueRatio?: Ratio|undefined; + /** + * The actual value for the element, which must be one of the types allowed for this element. + */ + valueReference?: Reference|undefined; + /** + * The actual value for the element, which must be one of the types allowed for this element. + */ + valueSampledData?: SampledData|undefined; + /** + * The actual value for the element, which must be one of the types allowed for this element. + */ + valueSignature?: Signature|undefined; + /** + * The actual value for the element, which must be one of the types allowed for this element. + */ + valueTiming?: Timing|undefined; + /** + * The actual value for the element, which must be one of the types allowed for this element. + */ + valueContactDetail?: ContactDetail|undefined; + /** + * The actual value for the element, which must be one of the types allowed for this element. + */ + valueContributor?: Contributor|undefined; + /** + * The actual value for the element, which must be one of the types allowed for this element. + */ + valueDataRequirement?: DataRequirement|undefined; + /** + * The actual value for the element, which must be one of the types allowed for this element. + */ + valueExpression?: Expression|undefined; + /** + * The actual value for the element, which must be one of the types allowed for this element. + */ + valueParameterDefinition?: ParameterDefinition|undefined; + /** + * The actual value for the element, which must be one of the types allowed for this element. + */ + valueRelatedArtifact?: RelatedArtifact|undefined; + /** + * The actual value for the element, which must be one of the types allowed for this element. + */ + valueTriggerDefinition?: TriggerDefinition|undefined; + /** + * The actual value for the element, which must be one of the types allowed for this element. + */ + valueUsageContext?: UsageContext|undefined; + /** + * The actual value for the element, which must be one of the types allowed for this element. + */ + valueDosage?: Dosage|undefined; + /** + * The actual value for the element, which must be one of the types allowed for this element. + */ + valueMeta?: Meta|undefined; +} +/** + * Constraints should be declared on the "context" element - the lowest element in the hierarchy that is common to all nodes referenced by the constraint. + */ +export interface ElementDefinitionConstraint extends Element { + /** + * In the absense of an expression, the expression is likely not enforceable by validators, and might be missed by many systems. + */ + expression?: string|undefined; + _expression?: Element|undefined; + /** + * Should be expressed in business terms as much as possible. + */ + human: string; + _human?: Element|undefined; + /** + * Allows identification of which elements have their cardinalities impacted by the constraint. Will not be referenced for constraints that do not affect cardinality. + */ + key: string; + _key?: Element|undefined; + /** + * To be used if the reason for the constraint might not be intuitive to all implementers. + */ + requirements?: string|undefined; + _requirements?: Element|undefined; + /** + * This allows constraints to be asserted as "shall" (error) and "should" (warning). + */ + severity: ('error'|'warning'); + _severity?: Element|undefined; + /** + * This is used when, e.g. rendering, where it is not useful to present inherited constraints when rendering the snapshot. + */ + source?: string|undefined; + _source?: Element|undefined; + /** + * Elements SHALL use "f" as the namespace prefix for the FHIR namespace, and "x" for the xhtml namespace, and SHALL NOT use any other prefixes. Note: XPath is generally considered not useful because it does not apply to JSON and other formats and because of XSLT implementation issues, and may be removed in the future. + */ + xpath?: string|undefined; + _xpath?: Element|undefined; +} +/** + * For a CodeableConcept, when no codes are allowed - only text, use a binding of strength "required" with a description explaining that no coded values are allowed and what sort of information to put in the "text" element. + */ +export interface ElementDefinitionBinding extends Element { + /** + * Describes the intended use of this particular set of codes. + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * For further discussion, see [Using Terminologies](terminologies.html). + */ + strength: ('required'|'extensible'|'preferred'|'example'); + _strength?: Element|undefined; + /** + * The reference may be version-specific or not (e.g. have a |[version] at the end of the canonical URL). + */ + valueSet?: string|undefined; + _valueSet?: Element|undefined; +} +/** + * Mappings are not necessarily specific enough for safe translation. + */ +export interface ElementDefinitionMapping extends Element { + /** + * Comments that provide information about the mapping or its use. + */ + comment?: string|undefined; + _comment?: Element|undefined; + /** + * An internal reference to the definition of a mapping. + */ + identity: string; + _identity?: Element|undefined; + /** + * If omitted, then there can be no expectation of computational interpretation of the mapping. + */ + language?: string|undefined; + _language?: Element|undefined; + /** + * For most mappings, the syntax is undefined. Syntax will be provided for mappings to the RIM. Multiple mappings may be possible and may include constraints on other resource elements that identify when a particular mapping applies. + */ + map: string; + _map?: Element|undefined; +} +/** + * Captures constraints on each element within the resource, profile, or extension. + */ +export interface ElementDefinition extends BackboneElement { + /** + * Identifies additional names by which this element might also be known. + */ + alias?: string[]|undefined; + _alias?: Element[]|undefined; + /** + * The base information does not carry any information that could not be determined from the path and related profiles, but making this determination requires both that the related profiles are available, and that the algorithm to determine them be available. For tooling simplicity, the base information must always be populated in element definitions in snap shots, even if it is the same. + */ + base?: ElementDefinitionBase|undefined; + /** + * For a CodeableConcept, when no codes are allowed - only text, use a binding of strength "required" with a description explaining that no coded values are allowed and what sort of information to put in the "text" element. + */ + binding?: ElementDefinitionBinding|undefined; + /** + * The concept SHALL be properly aligned with the data element definition and other constraints, as defined in the code system, including relationships, of any code listed here. Where multiple codes exist in a terminology that could correspond to the data element, the most granular code(s) should be selected, so long as they are not more restrictive than the data element itself. The mappings may be used to provide more or less granular or structured equivalences in the code system. + */ + code?: Coding[]|undefined; + /** + * If it is possible to capture usage rules using constraints, that mechanism should be used in preference to this element. + */ + comment?: string|undefined; + _comment?: Element|undefined; + /** + * A reference to an invariant that may make additional statements about the cardinality or value in the instance. + */ + condition?: string[]|undefined; + _condition?: Element[]|undefined; + /** + * Constraints should be declared on the "context" element - the lowest element in the hierarchy that is common to all nodes referenced by the constraint. + */ + constraint?: ElementDefinitionConstraint[]|undefined; + /** + * ContentReferences can only be defined in specializations, not constrained types, and they cannot be changed and always reference the non-constrained definition. + */ + contentReference?: string|undefined; + _contentReference?: Element|undefined; + /** + * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. + * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. + */ + defaultValueBase64Binary?: string|undefined; + _defaultValueBase64Binary?: Element|undefined; + /** + * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. + * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. + */ + defaultValueBoolean?: boolean|undefined; + _defaultValueBoolean?: Element|undefined; + /** + * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. + * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. + */ + defaultValueCanonical?: string|undefined; + _defaultValueCanonical?: Element|undefined; + /** + * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. + * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. + */ + defaultValueCode?: string|undefined; + _defaultValueCode?: Element|undefined; + /** + * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. + * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. + */ + defaultValueDate?: string|undefined; + _defaultValueDate?: Element|undefined; + /** + * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. + * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. + */ + defaultValueDateTime?: string|undefined; + _defaultValueDateTime?: Element|undefined; + /** + * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. + * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. + */ + defaultValueDecimal?: number|undefined; + /** + * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. + * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. + */ + defaultValueId?: string|undefined; + _defaultValueId?: Element|undefined; + /** + * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. + * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. + */ + defaultValueInstant?: string|undefined; + _defaultValueInstant?: Element|undefined; + /** + * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. + * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. + */ + defaultValueInteger?: number|undefined; + /** + * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. + * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. + */ + defaultValueMarkdown?: string|undefined; + _defaultValueMarkdown?: Element|undefined; + /** + * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. + * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. + */ + defaultValueOid?: string|undefined; + _defaultValueOid?: Element|undefined; + /** + * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. + * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. + */ + defaultValuePositiveInt?: number|undefined; + /** + * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. + * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. + */ + defaultValueString?: string|undefined; + _defaultValueString?: Element|undefined; + /** + * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. + * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. + */ + defaultValueTime?: string|undefined; + _defaultValueTime?: Element|undefined; + /** + * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. + * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. + */ + defaultValueUnsignedInt?: number|undefined; + /** + * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. + * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. + */ + defaultValueUri?: string|undefined; + _defaultValueUri?: Element|undefined; + /** + * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. + * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. + */ + defaultValueUrl?: string|undefined; + _defaultValueUrl?: Element|undefined; + /** + * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. + * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. + */ + defaultValueUuid?: string|undefined; + _defaultValueUuid?: Element|undefined; + /** + * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. + * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. + */ + defaultValueAddress?: Address|undefined; + /** + * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. + * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. + */ + defaultValueAge?: Age|undefined; + /** + * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. + * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. + */ + defaultValueAnnotation?: Annotation|undefined; + /** + * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. + * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. + */ + defaultValueAttachment?: Attachment|undefined; + /** + * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. + * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. + */ + defaultValueCodeableConcept?: CodeableConcept|undefined; + /** + * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. + * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. + */ + defaultValueCoding?: Coding|undefined; + /** + * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. + * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. + */ + defaultValueContactPoint?: ContactPoint|undefined; + /** + * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. + * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. + */ + defaultValueCount?: Count|undefined; + /** + * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. + * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. + */ + defaultValueDistance?: Distance|undefined; + /** + * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. + * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. + */ + defaultValueDuration?: Duration|undefined; + /** + * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. + * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. + */ + defaultValueHumanName?: HumanName|undefined; + /** + * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. + * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. + */ + defaultValueIdentifier?: Identifier|undefined; + /** + * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. + * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. + */ + defaultValueMoney?: Money|undefined; + /** + * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. + * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. + */ + defaultValuePeriod?: Period|undefined; + /** + * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. + * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. + */ + defaultValueQuantity?: Quantity|undefined; + /** + * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. + * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. + */ + defaultValueRange?: Range|undefined; + /** + * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. + * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. + */ + defaultValueRatio?: Ratio|undefined; + /** + * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. + * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. + */ + defaultValueReference?: Reference|undefined; + /** + * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. + * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. + */ + defaultValueSampledData?: SampledData|undefined; + /** + * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. + * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. + */ + defaultValueSignature?: Signature|undefined; + /** + * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. + * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. + */ + defaultValueTiming?: Timing|undefined; + /** + * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. + * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. + */ + defaultValueContactDetail?: ContactDetail|undefined; + /** + * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. + * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. + */ + defaultValueContributor?: Contributor|undefined; + /** + * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. + * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. + */ + defaultValueDataRequirement?: DataRequirement|undefined; + /** + * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. + * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. + */ + defaultValueExpression?: Expression|undefined; + /** + * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. + * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. + */ + defaultValueParameterDefinition?: ParameterDefinition|undefined; + /** + * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. + * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. + */ + defaultValueRelatedArtifact?: RelatedArtifact|undefined; + /** + * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. + * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. + */ + defaultValueTriggerDefinition?: TriggerDefinition|undefined; + /** + * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. + * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. + */ + defaultValueUsageContext?: UsageContext|undefined; + /** + * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. + * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. + */ + defaultValueDosage?: Dosage|undefined; + /** + * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. + * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. + */ + defaultValueMeta?: Meta|undefined; + /** + * It is easy for a different definition to change the meaning of an element and this can have nasty downstream consequences. Please be careful when providing definitions in a profile. + */ + definition?: string|undefined; + _definition?: Element|undefined; + /** + * Examples will most commonly be present for data where it's not implicitly obvious from either the data type or value set what the values might be. (I.e. Example values for dates or quantities would generally be unnecessary.) If the example value is fully populated, the publication tool can generate an instance automatically. + */ + example?: ElementDefinitionExample[]|undefined; + /** + * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. + */ + fixedBase64Binary?: string|undefined; + _fixedBase64Binary?: Element|undefined; + /** + * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. + */ + fixedBoolean?: boolean|undefined; + _fixedBoolean?: Element|undefined; + /** + * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. + */ + fixedCanonical?: string|undefined; + _fixedCanonical?: Element|undefined; + /** + * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. + */ + fixedCode?: string|undefined; + _fixedCode?: Element|undefined; + /** + * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. + */ + fixedDate?: string|undefined; + _fixedDate?: Element|undefined; + /** + * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. + */ + fixedDateTime?: string|undefined; + _fixedDateTime?: Element|undefined; + /** + * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. + */ + fixedDecimal?: number|undefined; + /** + * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. + */ + fixedId?: string|undefined; + _fixedId?: Element|undefined; + /** + * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. + */ + fixedInstant?: string|undefined; + _fixedInstant?: Element|undefined; + /** + * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. + */ + fixedInteger?: number|undefined; + /** + * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. + */ + fixedMarkdown?: string|undefined; + _fixedMarkdown?: Element|undefined; + /** + * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. + */ + fixedOid?: string|undefined; + _fixedOid?: Element|undefined; + /** + * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. + */ + fixedPositiveInt?: number|undefined; + /** + * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. + */ + fixedString?: string|undefined; + _fixedString?: Element|undefined; + /** + * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. + */ + fixedTime?: string|undefined; + _fixedTime?: Element|undefined; + /** + * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. + */ + fixedUnsignedInt?: number|undefined; + /** + * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. + */ + fixedUri?: string|undefined; + _fixedUri?: Element|undefined; + /** + * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. + */ + fixedUrl?: string|undefined; + _fixedUrl?: Element|undefined; + /** + * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. + */ + fixedUuid?: string|undefined; + _fixedUuid?: Element|undefined; + /** + * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. + */ + fixedAddress?: Address|undefined; + /** + * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. + */ + fixedAge?: Age|undefined; + /** + * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. + */ + fixedAnnotation?: Annotation|undefined; + /** + * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. + */ + fixedAttachment?: Attachment|undefined; + /** + * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. + */ + fixedCodeableConcept?: CodeableConcept|undefined; + /** + * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. + */ + fixedCoding?: Coding|undefined; + /** + * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. + */ + fixedContactPoint?: ContactPoint|undefined; + /** + * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. + */ + fixedCount?: Count|undefined; + /** + * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. + */ + fixedDistance?: Distance|undefined; + /** + * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. + */ + fixedDuration?: Duration|undefined; + /** + * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. + */ + fixedHumanName?: HumanName|undefined; + /** + * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. + */ + fixedIdentifier?: Identifier|undefined; + /** + * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. + */ + fixedMoney?: Money|undefined; + /** + * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. + */ + fixedPeriod?: Period|undefined; + /** + * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. + */ + fixedQuantity?: Quantity|undefined; + /** + * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. + */ + fixedRange?: Range|undefined; + /** + * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. + */ + fixedRatio?: Ratio|undefined; + /** + * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. + */ + fixedReference?: Reference|undefined; + /** + * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. + */ + fixedSampledData?: SampledData|undefined; + /** + * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. + */ + fixedSignature?: Signature|undefined; + /** + * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. + */ + fixedTiming?: Timing|undefined; + /** + * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. + */ + fixedContactDetail?: ContactDetail|undefined; + /** + * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. + */ + fixedContributor?: Contributor|undefined; + /** + * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. + */ + fixedDataRequirement?: DataRequirement|undefined; + /** + * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. + */ + fixedExpression?: Expression|undefined; + /** + * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. + */ + fixedParameterDefinition?: ParameterDefinition|undefined; + /** + * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. + */ + fixedRelatedArtifact?: RelatedArtifact|undefined; + /** + * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. + */ + fixedTriggerDefinition?: TriggerDefinition|undefined; + /** + * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. + */ + fixedUsageContext?: UsageContext|undefined; + /** + * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. + */ + fixedDosage?: Dosage|undefined; + /** + * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. + */ + fixedMeta?: Meta|undefined; + /** + * Only the definition of an element can set IsModifier true - either the specification itself or where an extension is originally defined. Once set, it cannot be changed in derived profiles. An element/extension that has isModifier=true SHOULD also have a minimum cardinality of 1, so that there is no lack of clarity about what to do if it is missing. If it can be missing, the definition SHALL make the meaning of a missing element clear. + */ + isModifier?: boolean|undefined; + _isModifier?: Element|undefined; + /** + * Explains how that element affects the interpretation of the resource or element that contains it. + */ + isModifierReason?: string|undefined; + _isModifierReason?: Element|undefined; + /** + * Some resources include a set of simple metadata, and some very large data. This element is used to reduce the quantity of data returned in searches. Note that servers may pre-cache summarized resources for optimal performance, so servers might not support per-profile use of the isSummary flag. When a request is made with _summary=true, serailisers only include elements marked as 'isSummary = true'. Other than Attachment.data, all data type properties are included in the summary form. In resource and data type definitions, if an element is at the root or has a parent that is 'mustSupport' and the minimum cardinality is 1 or the element is a modifier, it must be marked as isSummary=true. + */ + isSummary?: boolean|undefined; + _isSummary?: Element|undefined; + /** + * See also the extension (http://hl7.org/fhir/StructureDefinition/elementdefinition-question)[extension-elementdefinition-question.html]. + */ + label?: string|undefined; + _label?: Element|undefined; + /** + * Mappings are not necessarily specific enough for safe translation. + */ + mapping?: ElementDefinitionMapping[]|undefined; + /** + * The maximum number of times this element is permitted to appear in the instance. + */ + max?: string|undefined; + _max?: Element|undefined; + /** + * Receivers are not required to reject instances that exceed the maximum length. The full length could be stored. In some cases, data might be truncated, though truncation should be undertaken with care and an understanding of the consequences of doing so. If not specified, there is no conformance expectation for length support. + */ + maxLength?: number|undefined; + /** + * Except for date/date/instant, the type of the maxValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of maxValue[x] SHALL be either the same, or a [Duration](datatypes.html#Duration) which specifies a relative time limit to the current time. The duration value is positive, and is added to the current clock to determine the maximum allowable value. A maximum value for a Quantity is interpreted as an canonical maximum - e.g. you cannot provide 10g if the maximum value is 50mg. + */ + maxValueDate?: string|undefined; + _maxValueDate?: Element|undefined; + /** + * Except for date/date/instant, the type of the maxValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of maxValue[x] SHALL be either the same, or a [Duration](datatypes.html#Duration) which specifies a relative time limit to the current time. The duration value is positive, and is added to the current clock to determine the maximum allowable value. A maximum value for a Quantity is interpreted as an canonical maximum - e.g. you cannot provide 10g if the maximum value is 50mg. + */ + maxValueDateTime?: string|undefined; + _maxValueDateTime?: Element|undefined; + /** + * Except for date/date/instant, the type of the maxValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of maxValue[x] SHALL be either the same, or a [Duration](datatypes.html#Duration) which specifies a relative time limit to the current time. The duration value is positive, and is added to the current clock to determine the maximum allowable value. A maximum value for a Quantity is interpreted as an canonical maximum - e.g. you cannot provide 10g if the maximum value is 50mg. + */ + maxValueInstant?: string|undefined; + _maxValueInstant?: Element|undefined; + /** + * Except for date/date/instant, the type of the maxValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of maxValue[x] SHALL be either the same, or a [Duration](datatypes.html#Duration) which specifies a relative time limit to the current time. The duration value is positive, and is added to the current clock to determine the maximum allowable value. A maximum value for a Quantity is interpreted as an canonical maximum - e.g. you cannot provide 10g if the maximum value is 50mg. + */ + maxValueTime?: string|undefined; + _maxValueTime?: Element|undefined; + /** + * Except for date/date/instant, the type of the maxValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of maxValue[x] SHALL be either the same, or a [Duration](datatypes.html#Duration) which specifies a relative time limit to the current time. The duration value is positive, and is added to the current clock to determine the maximum allowable value. A maximum value for a Quantity is interpreted as an canonical maximum - e.g. you cannot provide 10g if the maximum value is 50mg. + */ + maxValueDecimal?: number|undefined; + /** + * Except for date/date/instant, the type of the maxValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of maxValue[x] SHALL be either the same, or a [Duration](datatypes.html#Duration) which specifies a relative time limit to the current time. The duration value is positive, and is added to the current clock to determine the maximum allowable value. A maximum value for a Quantity is interpreted as an canonical maximum - e.g. you cannot provide 10g if the maximum value is 50mg. + */ + maxValueInteger?: number|undefined; + /** + * Except for date/date/instant, the type of the maxValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of maxValue[x] SHALL be either the same, or a [Duration](datatypes.html#Duration) which specifies a relative time limit to the current time. The duration value is positive, and is added to the current clock to determine the maximum allowable value. A maximum value for a Quantity is interpreted as an canonical maximum - e.g. you cannot provide 10g if the maximum value is 50mg. + */ + maxValuePositiveInt?: number|undefined; + /** + * Except for date/date/instant, the type of the maxValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of maxValue[x] SHALL be either the same, or a [Duration](datatypes.html#Duration) which specifies a relative time limit to the current time. The duration value is positive, and is added to the current clock to determine the maximum allowable value. A maximum value for a Quantity is interpreted as an canonical maximum - e.g. you cannot provide 10g if the maximum value is 50mg. + */ + maxValueUnsignedInt?: number|undefined; + /** + * Except for date/date/instant, the type of the maxValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of maxValue[x] SHALL be either the same, or a [Duration](datatypes.html#Duration) which specifies a relative time limit to the current time. The duration value is positive, and is added to the current clock to determine the maximum allowable value. A maximum value for a Quantity is interpreted as an canonical maximum - e.g. you cannot provide 10g if the maximum value is 50mg. + */ + maxValueQuantity?: Quantity|undefined; + /** + * Implicit meanings for missing values can only be specified on a resource, data type, or extension definition, and never in a profile that applies to one of these. An implicit meaning for a missing value can never be changed, and specifying one has the consequence that constraining its use in profiles eliminates use cases as possibilities, not merely moving them out of scope. + */ + meaningWhenMissing?: string|undefined; + _meaningWhenMissing?: Element|undefined; + /** + * The minimum number of times this element SHALL appear in the instance. + */ + min?: number|undefined; + /** + * Except for date/date/instant, the type of the minValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of minValue[x] SHALL be either the same, or a [Duration](datatypes.html#Duration) which specifies a relative time limit to the current time. The duration value is positive, and is subtracted from the current clock to determine the minimum allowable value. A minimum value for a Quantity is interpreted as an canonical minimum - e.g. you cannot provide 100mg if the minimum value is 10g. + */ + minValueDate?: string|undefined; + _minValueDate?: Element|undefined; + /** + * Except for date/date/instant, the type of the minValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of minValue[x] SHALL be either the same, or a [Duration](datatypes.html#Duration) which specifies a relative time limit to the current time. The duration value is positive, and is subtracted from the current clock to determine the minimum allowable value. A minimum value for a Quantity is interpreted as an canonical minimum - e.g. you cannot provide 100mg if the minimum value is 10g. + */ + minValueDateTime?: string|undefined; + _minValueDateTime?: Element|undefined; + /** + * Except for date/date/instant, the type of the minValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of minValue[x] SHALL be either the same, or a [Duration](datatypes.html#Duration) which specifies a relative time limit to the current time. The duration value is positive, and is subtracted from the current clock to determine the minimum allowable value. A minimum value for a Quantity is interpreted as an canonical minimum - e.g. you cannot provide 100mg if the minimum value is 10g. + */ + minValueInstant?: string|undefined; + _minValueInstant?: Element|undefined; + /** + * Except for date/date/instant, the type of the minValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of minValue[x] SHALL be either the same, or a [Duration](datatypes.html#Duration) which specifies a relative time limit to the current time. The duration value is positive, and is subtracted from the current clock to determine the minimum allowable value. A minimum value for a Quantity is interpreted as an canonical minimum - e.g. you cannot provide 100mg if the minimum value is 10g. + */ + minValueTime?: string|undefined; + _minValueTime?: Element|undefined; + /** + * Except for date/date/instant, the type of the minValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of minValue[x] SHALL be either the same, or a [Duration](datatypes.html#Duration) which specifies a relative time limit to the current time. The duration value is positive, and is subtracted from the current clock to determine the minimum allowable value. A minimum value for a Quantity is interpreted as an canonical minimum - e.g. you cannot provide 100mg if the minimum value is 10g. + */ + minValueDecimal?: number|undefined; + /** + * Except for date/date/instant, the type of the minValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of minValue[x] SHALL be either the same, or a [Duration](datatypes.html#Duration) which specifies a relative time limit to the current time. The duration value is positive, and is subtracted from the current clock to determine the minimum allowable value. A minimum value for a Quantity is interpreted as an canonical minimum - e.g. you cannot provide 100mg if the minimum value is 10g. + */ + minValueInteger?: number|undefined; + /** + * Except for date/date/instant, the type of the minValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of minValue[x] SHALL be either the same, or a [Duration](datatypes.html#Duration) which specifies a relative time limit to the current time. The duration value is positive, and is subtracted from the current clock to determine the minimum allowable value. A minimum value for a Quantity is interpreted as an canonical minimum - e.g. you cannot provide 100mg if the minimum value is 10g. + */ + minValuePositiveInt?: number|undefined; + /** + * Except for date/date/instant, the type of the minValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of minValue[x] SHALL be either the same, or a [Duration](datatypes.html#Duration) which specifies a relative time limit to the current time. The duration value is positive, and is subtracted from the current clock to determine the minimum allowable value. A minimum value for a Quantity is interpreted as an canonical minimum - e.g. you cannot provide 100mg if the minimum value is 10g. + */ + minValueUnsignedInt?: number|undefined; + /** + * Except for date/date/instant, the type of the minValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of minValue[x] SHALL be either the same, or a [Duration](datatypes.html#Duration) which specifies a relative time limit to the current time. The duration value is positive, and is subtracted from the current clock to determine the minimum allowable value. A minimum value for a Quantity is interpreted as an canonical minimum - e.g. you cannot provide 100mg if the minimum value is 10g. + */ + minValueQuantity?: Quantity|undefined; + /** + * "Something useful" is context dependent and impossible to describe in the base FHIR specification. For this reason, tue mustSupport flag is never set to true by the FHIR specification itself - it is only set to true in profiles. A profile on a type can always make musSupport = true if it is false in the base type but cannot make mustSupport = false if it is true in the base type. This is done in [Resource Profiles](profiling.html#mustsupport), where the profile labels an element as mustSupport=true. When a profile does this, it SHALL also make clear exactly what kind of "support" is required, as this can mean many things. Note that an element that has the property IsModifier is not necessarily a "key" element (e.g. one of the important elements to make use of the resource), nor is it automatically mustSupport - however both of these things are more likely to be true for IsModifier elements than for other elements. + */ + mustSupport?: boolean|undefined; + _mustSupport?: Element|undefined; + /** + * This element can only be asserted on repeating elements and can only be introduced when defining resources or data types. It can be further refined profiled elements but if absent in the base type, a profile cannot assert meaning. + */ + orderMeaning?: string|undefined; + _orderMeaning?: Element|undefined; + /** + * 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; + _path?: Element|undefined; + /** + * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. + */ + patternBase64Binary?: string|undefined; + _patternBase64Binary?: Element|undefined; + /** + * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. + */ + patternBoolean?: boolean|undefined; + _patternBoolean?: Element|undefined; + /** + * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. + */ + patternCanonical?: string|undefined; + _patternCanonical?: Element|undefined; + /** + * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. + */ + patternCode?: string|undefined; + _patternCode?: Element|undefined; + /** + * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. + */ + patternDate?: string|undefined; + _patternDate?: Element|undefined; + /** + * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. + */ + patternDateTime?: string|undefined; + _patternDateTime?: Element|undefined; + /** + * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. + */ + patternDecimal?: number|undefined; + /** + * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. + */ + patternId?: string|undefined; + _patternId?: Element|undefined; + /** + * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. + */ + patternInstant?: string|undefined; + _patternInstant?: Element|undefined; + /** + * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. + */ + patternInteger?: number|undefined; + /** + * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. + */ + patternMarkdown?: string|undefined; + _patternMarkdown?: Element|undefined; + /** + * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. + */ + patternOid?: string|undefined; + _patternOid?: Element|undefined; + /** + * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. + */ + patternPositiveInt?: number|undefined; + /** + * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. + */ + patternString?: string|undefined; + _patternString?: Element|undefined; + /** + * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. + */ + patternTime?: string|undefined; + _patternTime?: Element|undefined; + /** + * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. + */ + patternUnsignedInt?: number|undefined; + /** + * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. + */ + patternUri?: string|undefined; + _patternUri?: Element|undefined; + /** + * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. + */ + patternUrl?: string|undefined; + _patternUrl?: Element|undefined; + /** + * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. + */ + patternUuid?: string|undefined; + _patternUuid?: Element|undefined; + /** + * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. + */ + patternAddress?: Address|undefined; + /** + * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. + */ + patternAge?: Age|undefined; + /** + * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. + */ + patternAnnotation?: Annotation|undefined; + /** + * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. + */ + patternAttachment?: Attachment|undefined; + /** + * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. + */ + patternCodeableConcept?: CodeableConcept|undefined; + /** + * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. + */ + patternCoding?: Coding|undefined; + /** + * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. + */ + patternContactPoint?: ContactPoint|undefined; + /** + * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. + */ + patternCount?: Count|undefined; + /** + * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. + */ + patternDistance?: Distance|undefined; + /** + * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. + */ + patternDuration?: Duration|undefined; + /** + * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. + */ + patternHumanName?: HumanName|undefined; + /** + * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. + */ + patternIdentifier?: Identifier|undefined; + /** + * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. + */ + patternMoney?: Money|undefined; + /** + * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. + */ + patternPeriod?: Period|undefined; + /** + * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. + */ + patternQuantity?: Quantity|undefined; + /** + * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. + */ + patternRange?: Range|undefined; + /** + * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. + */ + patternRatio?: Ratio|undefined; + /** + * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. + */ + patternReference?: Reference|undefined; + /** + * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. + */ + patternSampledData?: SampledData|undefined; + /** + * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. + */ + patternSignature?: Signature|undefined; + /** + * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. + */ + patternTiming?: Timing|undefined; + /** + * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. + */ + patternContactDetail?: ContactDetail|undefined; + /** + * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. + */ + patternContributor?: Contributor|undefined; + /** + * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. + */ + patternDataRequirement?: DataRequirement|undefined; + /** + * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. + */ + patternExpression?: Expression|undefined; + /** + * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. + */ + patternParameterDefinition?: ParameterDefinition|undefined; + /** + * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. + */ + patternRelatedArtifact?: RelatedArtifact|undefined; + /** + * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. + */ + patternTriggerDefinition?: TriggerDefinition|undefined; + /** + * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. + */ + patternUsageContext?: UsageContext|undefined; + /** + * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. + */ + patternDosage?: Dosage|undefined; + /** + * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. + */ + patternMeta?: Meta|undefined; + /** + * In resources, this is rarely used except for special cases where the representation deviates from the normal, and can only be done in the base standard (and profiles must reproduce what the base standard does). This element is used quite commonly in Logical models when the logical models represent a specific serialization format (e.g. CDA, v2 etc.). + */ + representation?: ('xmlAttr'|'xmlText'|'typeAttr'|'cdaText'|'xhtml')[]|undefined; + _representation?: Element[]|undefined; + /** + * This element does not describe the usage of the element (that's done in comments), rather it's for traceability of *why* the element is either needed or why the constraints exist as they do. This may be used to point to source materials or specifications that drove the structure of this data element. + */ + requirements?: string|undefined; + _requirements?: Element|undefined; + /** + * It is easy for a different short definition to change the meaning of an element and this can have nasty downstream consequences. Please be careful when providing short definitions in a profile. + */ + short?: string|undefined; + _short?: Element|undefined; + /** + * If set to true, an ancestor profile SHALL have a slicing definition with this name. If set to false, no ancestor profile is permitted to have a slicing definition with this name. + */ + sliceIsConstraining?: boolean|undefined; + _sliceIsConstraining?: Element|undefined; + /** + * The name SHALL be unique within the structure within the context of the constrained resource element. (Though to avoid confusion, uniqueness across all elements is recommended.). + */ + sliceName?: string|undefined; + _sliceName?: Element|undefined; + /** + * The first element in the sequence, the one that carries the slicing, is the definition that applies to all the slices. This is based on the unconstrained element, but can apply any constraints as appropriate. This may include the common constraints on the children of the element. + */ + slicing?: ElementDefinitionSlicing|undefined; + /** + * The Type of the element can be left blank in a differential constraint, in which case the type is inherited from the resource. Abstract types are not permitted to appear as a type when multiple types are listed. (I.e. Abstract types cannot be part of a choice). + */ + type?: ElementDefinitionType[]|undefined; +} +/** + * 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. + */ +export interface Expression extends Element { + /** + * A brief, natural language description of the condition that effectively communicates the intended semantics. + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * An expression in the specified language that returns a value. + */ + expression?: string|undefined; + _expression?: Element|undefined; + /** + * The media type of the language for the expression. + */ + language: string; + _language?: Element|undefined; + /** + * A short name assigned to the expression to allow for multiple reuse of the expression in the context where it is defined. + */ + name?: string|undefined; + _name?: Element|undefined; + /** + * If both a reference and an expression is found, the reference SHALL point to the same expression. + */ + reference?: string|undefined; + _reference?: Element|undefined; +} +/** + * Optional Extension Element - found in all resources. + */ +export interface Extension extends Element { + /** + * The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. + */ + url: string; + _url?: Element|undefined; + /** + * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). + */ + valueBase64Binary?: string|undefined; + _valueBase64Binary?: Element|undefined; + /** + * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). + */ + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; + /** + * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). + */ + valueCanonical?: string|undefined; + _valueCanonical?: Element|undefined; + /** + * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). + */ + valueCode?: string|undefined; + _valueCode?: Element|undefined; + /** + * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). + */ + valueDate?: string|undefined; + _valueDate?: Element|undefined; + /** + * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). + */ + valueDateTime?: string|undefined; + _valueDateTime?: Element|undefined; + /** + * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). + */ + valueDecimal?: number|undefined; + /** + * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). + */ + valueId?: string|undefined; + _valueId?: Element|undefined; + /** + * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). + */ + valueInstant?: string|undefined; + _valueInstant?: Element|undefined; + /** + * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). + */ + valueInteger?: number|undefined; + /** + * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). + */ + valueMarkdown?: string|undefined; + _valueMarkdown?: Element|undefined; + /** + * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). + */ + valueOid?: string|undefined; + _valueOid?: Element|undefined; + /** + * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). + */ + valuePositiveInt?: number|undefined; + /** + * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). + */ + valueString?: string|undefined; + _valueString?: Element|undefined; + /** + * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). + */ + valueTime?: string|undefined; + _valueTime?: Element|undefined; + /** + * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). + */ + valueUnsignedInt?: number|undefined; + /** + * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). + */ + valueUri?: string|undefined; + _valueUri?: Element|undefined; + /** + * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). + */ + valueUrl?: string|undefined; + _valueUrl?: Element|undefined; + /** + * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). + */ + valueUuid?: string|undefined; + _valueUuid?: Element|undefined; + /** + * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). + */ + valueAddress?: Address|undefined; + /** + * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). + */ + valueAge?: Age|undefined; + /** + * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). + */ + valueAnnotation?: Annotation|undefined; + /** + * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). + */ + valueAttachment?: Attachment|undefined; + /** + * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). + */ + valueCodeableConcept?: CodeableConcept|undefined; + /** + * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). + */ + valueCoding?: Coding|undefined; + /** + * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). + */ + valueContactPoint?: ContactPoint|undefined; + /** + * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). + */ + valueCount?: Count|undefined; + /** + * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). + */ + valueDistance?: Distance|undefined; + /** + * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). + */ + valueDuration?: Duration|undefined; + /** + * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). + */ + valueHumanName?: HumanName|undefined; + /** + * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). + */ + valueIdentifier?: Identifier|undefined; + /** + * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). + */ + valueMoney?: Money|undefined; + /** + * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). + */ + valuePeriod?: Period|undefined; + /** + * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). + */ + valueQuantity?: Quantity|undefined; + /** + * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). + */ + valueRange?: Range|undefined; + /** + * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). + */ + valueRatio?: Ratio|undefined; + /** + * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). + */ + valueReference?: Reference|undefined; + /** + * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). + */ + valueSampledData?: SampledData|undefined; + /** + * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). + */ + valueSignature?: Signature|undefined; + /** + * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). + */ + valueTiming?: Timing|undefined; + /** + * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). + */ + valueContactDetail?: ContactDetail|undefined; + /** + * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). + */ + valueContributor?: Contributor|undefined; + /** + * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). + */ + valueDataRequirement?: DataRequirement|undefined; + /** + * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). + */ + valueExpression?: Expression|undefined; + /** + * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). + */ + valueParameterDefinition?: ParameterDefinition|undefined; + /** + * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). + */ + valueRelatedArtifact?: RelatedArtifact|undefined; + /** + * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). + */ + valueTriggerDefinition?: TriggerDefinition|undefined; + /** + * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). + */ + valueUsageContext?: UsageContext|undefined; + /** + * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). + */ + valueDosage?: Dosage|undefined; + /** + * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). + */ + valueMeta?: Meta|undefined; +} +/** + * A human's name with the ability to identify parts and usage. + */ +export interface HumanName extends Element { + /** + * Family Name may be decomposed into specific parts using extensions (de, nl, es related cultures). + */ + family?: string|undefined; + _family?: Element|undefined; + /** + * If only initials are recorded, they may be used in place of the full name parts. Initials may be separated into multiple given names but often aren't due to paractical limitations. This element is not called "first name" since given names do not always come first. + */ + given?: string[]|undefined; + _given?: Element[]|undefined; + /** + * Indicates the period of time when this name was valid for the named person. + */ + period?: Period|undefined; + /** + * Part of the name that is acquired as a title due to academic, legal, employment or nobility status, etc. and that appears at the start of the name. + */ + prefix?: string[]|undefined; + _prefix?: Element[]|undefined; + /** + * Part of the name that is acquired as a title due to academic, legal, employment or nobility status, etc. and that appears at the end of the name. + */ + suffix?: string[]|undefined; + _suffix?: Element[]|undefined; + /** + * Can provide both a text representation and parts. Applications updating a name SHALL ensure that when both text and parts are present, no content is included in the text that isn't found in a part. + */ + text?: string|undefined; + _text?: Element|undefined; + /** + * Applications can assume that a name is current unless it explicitly says that it is temporary or old. + */ + use?: ('usual'|'official'|'temp'|'nickname'|'anonymous'|'old'|'maiden')|undefined; + _use?: Element|undefined; +} +/** + * An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers. + */ +export interface Identifier extends Element { + /** + * The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization. + */ + assigner?: Reference|undefined; + /** + * Time period during which identifier is/was valid for use. + */ + period?: Period|undefined; + /** + * Identifier.system is always case sensitive. + */ + system?: string|undefined; + _system?: Element|undefined; + /** + * This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage. Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type. + */ + type?: CodeableConcept|undefined; + /** + * Applications can assume that an identifier is permanent unless it explicitly says that it is temporary. + */ + use?: ('usual'|'official'|'temp'|'secondary'|'old')|undefined; + _use?: Element|undefined; + /** + * If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the [Rendered Value extension](extension-rendered-value.html). Identifier.value is to be treated as case sensitive unless knowledge of the Identifier.system allows the processer to be confident that non-case-sensitive processing is safe. + */ + value?: string|undefined; + _value?: Element|undefined; +} +/** + * 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. + */ +export interface MarketingStatus extends BackboneElement { + /** + * The country in which the marketing authorisation has been granted shall be specified It should be specified using the ISO 3166 ‑ 1 alpha-2 code elements. + */ + country: CodeableConcept; + /** + * The date when the Medicinal Product is placed on the market by the Marketing Authorisation Holder (or where applicable, the manufacturer/distributor) in a country and/or jurisdiction shall be provided A complete date consisting of day, month and year shall be specified using the ISO 8601 date format NOTE “Placed on the market” refers to the release of the Medicinal Product into the distribution chain. + */ + dateRange: Period; + /** + * Where a Medicines Regulatory Agency has granted a marketing authorisation for which specific provisions within a jurisdiction apply, the jurisdiction can be specified using an appropriate controlled terminology The controlled term and the controlled term identifier shall be specified. + */ + jurisdiction?: CodeableConcept|undefined; + /** + * The date when the Medicinal Product is placed on the market by the Marketing Authorisation Holder (or where applicable, the manufacturer/distributor) in a country and/or jurisdiction shall be provided A complete date consisting of day, month and year shall be specified using the ISO 8601 date format NOTE “Placed on the market” refers to the release of the Medicinal Product into the distribution chain. + */ + restoreDate?: string|undefined; + _restoreDate?: Element|undefined; + /** + * This attribute provides information on the status of the marketing of the medicinal product See ISO/TS 20443 for more information and examples. + */ + status: CodeableConcept; +} +/** + * 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. + */ +export interface Meta extends Element { + /** + * This value is always populated except when the resource is first being created. The server / resource manager sets this value; what a client provides is irrelevant. This is equivalent to the HTTP Last-Modified and SHOULD have the same value on a [read](http.html#read) interaction. + */ + lastUpdated?: string|undefined; + _lastUpdated?: Element|undefined; + /** + * It is up to the server and/or other infrastructure of policy to determine whether/how these claims are verified and/or updated over time. The list of profile URLs is a set. + */ + profile?: string[]|undefined; + _profile?: Element[]|undefined; + /** + * The security labels can be updated without changing the stated version of the resource. The list of security labels is a set. Uniqueness is based the system/code, and version and display are ignored. + */ + security?: Coding[]|undefined; + /** + * In the provenance resource, this corresponds to Provenance.entity.what[x]. The exact use of the source (and the implied Provenance.entity.role) is left to implementer discretion. Only one nominated source is allowed; for additional provenance details, a full Provenance resource should be used. + * This element can be used to indicate where the current master source of a resource that has a canonical URL if the resource is no longer hosted at the canonical URL. + */ + source?: string|undefined; + _source?: Element|undefined; + /** + * The tags can be updated without changing the stated version of the resource. The list of tags is a set. Uniqueness is based the system/code, and version and display are ignored. + */ + tag?: Coding[]|undefined; + /** + * The server assigns this value, and ignores what the client specifies, except in the case that the server is imposing version integrity on updates/deletes. + */ + versionId?: string|undefined; + _versionId?: Element|undefined; +} +/** + * An amount of economic utility in some recognized currency. + */ +export interface Money extends Element { + /** + * ISO 4217 Currency Code. + */ + currency?: string|undefined; + _currency?: Element|undefined; + /** + * Monetary values have their own rules for handling precision (refer to standard accounting text books). + */ + value?: number|undefined; +} +/** + * A human-readable summary of the resource conveying the essential clinical and business information for the resource. + */ +export interface Narrative extends Element { + /** + * The contents of the html element are an XHTML fragment containing only the basic html formatting elements described in chapters 7-11 and 15 of the HTML 4.0 standard, elements (either name or href), images and internally contained stylesheets. The XHTML content SHALL NOT contain a head, a body, external stylesheet references, scripts, forms, base/link/xlink, frames, iframes and objects. + */ + div: string; + _div?: Element|undefined; + /** + * The status of the narrative - whether it's entirely generated (from just the defined data or the extensions too), or whether a human authored it and it may contain additional data. + */ + status: ('generated'|'extensions'|'additional'|'empty'); + _status?: Element|undefined; +} +/** + * 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. + */ +export interface ParameterDefinition extends Element { + /** + * A brief discussion of what the parameter is for and how it is used by the module. + */ + documentation?: string|undefined; + _documentation?: Element|undefined; + /** + * The maximum number of times this element is permitted to appear in the request or response. + */ + max?: string|undefined; + _max?: Element|undefined; + /** + * The minimum number of times this parameter SHALL appear in the request or response. + */ + min?: number|undefined; + /** + * The name of the parameter used to allow access to the value of the parameter in evaluation contexts. + */ + name?: string|undefined; + _name?: Element|undefined; + /** + * If specified, this indicates a profile that the input data must conform to, or that the output data will conform to. + */ + profile?: string|undefined; + _profile?: Element|undefined; + /** + * The type of the parameter. + */ + type: string; + _type?: Element|undefined; + /** + * Whether the parameter is input or output for the module. + */ + use: ('in'|'out'); + _use?: Element|undefined; +} +/** + * A time period defined by a start and end date and optionally time. + */ +export interface Period extends Element { + /** + * The high value includes any matching date/time. i.e. 2012-02-03T10:00:00 is in a period that has an end value of 2012-02-03. + */ + end?: string|undefined; + _end?: Element|undefined; + /** + * If the low element is missing, the meaning is that the low boundary is not known. + */ + start?: string|undefined; + _start?: Element|undefined; +} +/** + * A populatioof people with some set of grouping criteria. + */ +export interface Population extends BackboneElement { + /** + * The age of the specific population. + */ + ageRange?: Range|undefined; + /** + * The age of the specific population. + */ + ageCodeableConcept?: CodeableConcept|undefined; + /** + * The gender of the specific population. + */ + gender?: CodeableConcept|undefined; + /** + * The existing physiological conditions of the specific population to which this applies. + */ + physiologicalCondition?: CodeableConcept|undefined; + /** + * Race of the specific population. + */ + race?: CodeableConcept|undefined; +} +/** + * 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. + */ +export interface ProdCharacteristic extends BackboneElement { + /** + * Where applicable, the color can be specified An appropriate controlled vocabulary shall be used The term and the term identifier shall be used. + */ + color?: string[]|undefined; + _color?: Element[]|undefined; + /** + * Where applicable, the depth can be specified using a numerical value and its unit of measurement The unit of measurement shall be specified in accordance with ISO 11240 and the resulting terminology The symbol and the symbol identifier shall be used. + */ + depth?: Quantity|undefined; + /** + * Where applicable, the external diameter can be specified using a numerical value and its unit of measurement The unit of measurement shall be specified in accordance with ISO 11240 and the resulting terminology The symbol and the symbol identifier shall be used. + */ + externalDiameter?: Quantity|undefined; + /** + * Where applicable, the height can be specified using a numerical value and its unit of measurement The unit of measurement shall be specified in accordance with ISO 11240 and the resulting terminology The symbol and the symbol identifier shall be used. + */ + height?: Quantity|undefined; + /** + * Where applicable, the image can be provided The format of the image attachment shall be specified by regional implementations. + */ + image?: Attachment[]|undefined; + /** + * Where applicable, the imprint can be specified as text. + */ + imprint?: string[]|undefined; + _imprint?: Element[]|undefined; + /** + * Where applicable, the nominal volume can be specified using a numerical value and its unit of measurement The unit of measurement shall be specified in accordance with ISO 11240 and the resulting terminology The symbol and the symbol identifier shall be used. + */ + nominalVolume?: Quantity|undefined; + /** + * Where applicable, the scoring can be specified An appropriate controlled vocabulary shall be used The term and the term identifier shall be used. + */ + scoring?: CodeableConcept|undefined; + /** + * Where applicable, the shape can be specified An appropriate controlled vocabulary shall be used The term and the term identifier shall be used. + */ + shape?: string|undefined; + _shape?: Element|undefined; + /** + * Where applicable, the weight can be specified using a numerical value and its unit of measurement The unit of measurement shall be specified in accordance with ISO 11240 and the resulting terminology The symbol and the symbol identifier shall be used. + */ + weight?: Quantity|undefined; + /** + * Where applicable, the width can be specified using a numerical value and its unit of measurement The unit of measurement shall be specified in accordance with ISO 11240 and the resulting terminology The symbol and the symbol identifier shall be used. + */ + width?: Quantity|undefined; +} +/** + * The shelf-life and storage information for a medicinal product item or container can be described using this class. + */ +export interface ProductShelfLife extends BackboneElement { + /** + * Unique identifier for the packaged Medicinal Product. + */ + identifier?: Identifier|undefined; + /** + * The shelf life time period can be specified using a numerical value for the period of time and its unit of time measurement The unit of measurement shall be specified in accordance with ISO 11240 and the resulting terminology The symbol and the symbol identifier shall be used. + */ + period: Quantity; + /** + * Special precautions for storage, if any, can be specified using an appropriate controlled vocabulary The controlled term and the controlled term identifier shall be specified. + */ + specialPrecautionsForStorage?: CodeableConcept[]|undefined; + /** + * This describes the shelf life, taking into account various scenarios such as shelf life of the packaged Medicinal Product itself, shelf life after transformation where necessary and shelf life after the first opening of a bottle, etc. The shelf life type shall be specified using an appropriate controlled vocabulary The controlled term and the controlled term identifier shall be specified. + */ + type: CodeableConcept; +} +/** + * 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. + */ +export interface Quantity extends Element { + /** + * The preferred system is UCUM, but SNOMED CT can also be used (for customary units) or ISO 4217 for currency. The context of use may additionally require a code from a particular system. + */ + code?: string|undefined; + _code?: Element|undefined; + /** + * How the value should be understood and represented - whether the actual value is greater or less than the stated value due to measurement issues; e.g. if the comparator is "<" , then the real value is < stated value. + */ + comparator?: ('<'|'<='|'>='|'>')|undefined; + _comparator?: Element|undefined; + /** + * The identification of the system that provides the coded form of the unit. + */ + system?: string|undefined; + _system?: Element|undefined; + /** + * A human-readable form of the unit. + */ + unit?: string|undefined; + _unit?: Element|undefined; + /** + * The implicit precision in the value should always be honored. Monetary values have their own rules for handling precision (refer to standard accounting text books). + */ + value?: number|undefined; +} +/** + * A set of ordered Quantities defined by a low and high limit. + */ +export interface Range extends Element { + /** + * If the high element is missing, the high boundary is not known. + */ + high?: Quantity|undefined; + /** + * If the low element is missing, the low boundary is not known. + */ + low?: Quantity|undefined; +} +/** + * A relationship of two Quantity values - expressed as a numerator and a denominator. + */ +export interface Ratio extends Element { + /** + * The value of the denominator. + */ + denominator?: Quantity|undefined; + /** + * The value of the numerator. + */ + numerator?: Quantity|undefined; +} +/** + * A reference from one resource to another. + */ +export interface Reference extends Element { + /** + * This is generally not the same as the Resource.text of the referenced resource. The purpose is to identify what's being referenced, not to fully describe it. + */ + display?: string|undefined; + _display?: Element|undefined; + /** + * When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy. + * When both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference + * Applications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it. + * Reference is intended to point to a structure that can potentially be expressed as a FHIR resource, though there is no need for it to exist as an actual FHIR resource instance - except in as much as an application wishes to actual find the target of the reference. The content referred to be the identifier must meet the logical constraints implied by any limitations on what resource types are permitted for the reference. For example, it would not be legitimate to send the identifier for a drug prescription if the type were Reference(Observation|DiagnosticReport). One of the use-cases for Reference.identifier is the situation where no FHIR representation exists (where the type is Reference (Any). + */ + identifier?: Identifier|undefined; + /** + * Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries. Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure "/[type]/[id]" then it should be assumed that the reference is to a FHIR RESTful server. + */ + reference?: string|undefined; + _reference?: Element|undefined; + /** + * This element is used to indicate the type of the target of the reference. This may be used which ever of the other elements are populated (or not). In some cases, the type of the target may be determined by inspection of the reference (e.g. a RESTful URL) or by resolving the target of the reference; if both the type and a reference is provided, the reference SHALL resolve to a resource of the same type as that specified. + */ + type?: string|undefined; + _type?: Element|undefined; +} +/** + * Related artifacts such as additional documentation, justification, or bibliographic references. + */ +export interface RelatedArtifact extends Element { + /** + * Additional structured information about citations should be captured as extensions. + */ + citation?: string|undefined; + _citation?: Element|undefined; + /** + * A brief description of the document or knowledge resource being referenced, suitable for display to a consumer. + */ + display?: string|undefined; + _display?: Element|undefined; + /** + * The document being referenced, represented as an attachment. This is exclusive with the resource element. + */ + document?: Attachment|undefined; + /** + * A short label that can be used to reference the citation from elsewhere in the containing artifact, such as a footnote index. + */ + label?: string|undefined; + _label?: Element|undefined; + /** + * If the type is predecessor, this is a reference to the succeeding knowledge resource. If the type is successor, this is a reference to the prior knowledge resource. + */ + resource?: string|undefined; + _resource?: Element|undefined; + /** + * The type of relationship to the related artifact. + */ + type: ('documentation'|'justification'|'citation'|'predecessor'|'successor'|'derived-from'|'depends-on'|'composed-of'); + _type?: Element|undefined; + /** + * If a document or resource element is present, this element SHALL NOT be provided (use the url or reference in the Attachment or resource reference). + */ + url?: string|undefined; + _url?: Element|undefined; +} +/** + * A series of measurements taken by a device, with upper and lower limits. There may be more than one dimension in the data. + */ +export interface SampledData extends Element { + /** + * Data may be missing if it is omitted for summarization purposes. In general, data is required for any actual use of a SampledData. + */ + data?: string|undefined; + _data?: Element|undefined; + /** + * If there is more than one dimension, the code for the type of data will define the meaning of the dimensions (typically ECG data). + */ + dimensions: number; + /** + * A correction factor that is applied to the sampled data points before they are added to the origin. + */ + factor?: number|undefined; + /** + * The lower limit of detection of the measured points. This is needed if any of the data points have the value "L" (lower than detection limit). + */ + lowerLimit?: number|undefined; + /** + * The base quantity that a measured value of zero represents. In addition, this provides the units of the entire measurement series. + */ + origin: Quantity; + /** + * This is usually a whole number. + */ + period: number; + /** + * The upper limit of detection of the measured points. This is needed if any of the data points have the value "U" (higher than detection limit). + */ + upperLimit?: number|undefined; +} +/** + * 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. + */ +export interface Signature extends Element { + /** + * Where the signature type is an XML DigSig, the signed content is a FHIR Resource(s), the signature is of the XML form of the Resource(s) using XML-Signature (XMLDIG) "Detached Signature" form. + */ + data?: string|undefined; + _data?: Element|undefined; + /** + * The party that can't sign. For example a child. + */ + onBehalfOf?: Reference|undefined; + /** + * A mime type that indicates the technical format of the signature. Important mime types are application/signature+xml for X ML DigSig, application/jose for JWS, and image/* for a graphical image of a signature, etc. + */ + sigFormat?: string|undefined; + _sigFormat?: Element|undefined; + /** + * "xml", "json" and "ttl" are allowed, which describe the simple encodings described in the specification (and imply appropriate bundle support). Otherwise, mime types are legal here. + */ + targetFormat?: string|undefined; + _targetFormat?: Element|undefined; + /** + * Examples include attesting to: authorship, correct transcription, and witness of specific event. Also known as a "Commitment Type Indication". + */ + type: Coding[]; + /** + * This should agree with the information in the signature. + */ + when: string; + _when?: Element|undefined; + /** + * This should agree with the information in the signature. + */ + who: Reference; +} +/** + * Reference range of possible or expected values. + */ +export interface SubstanceAmountReferenceRange extends Element { + /** + * Upper limit possible or expected. + */ + highLimit?: Quantity|undefined; + /** + * Lower limit possible or expected. + */ + lowLimit?: Quantity|undefined; +} +/** + * 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. + */ +export interface SubstanceAmount extends BackboneElement { + /** + * Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field. + */ + amountQuantity?: Quantity|undefined; + /** + * Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field. + */ + amountRange?: Range|undefined; + /** + * Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field. + */ + amountString?: string|undefined; + _amountString?: Element|undefined; + /** + * A textual comment on a numeric value. + */ + amountText?: string|undefined; + _amountText?: Element|undefined; + /** + * Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements. + */ + amountType?: CodeableConcept|undefined; + /** + * Reference range of possible or expected values. + */ + referenceRange?: SubstanceAmountReferenceRange|undefined; +} +/** + * A set of rules that describe when the event is scheduled. + */ +export interface TimingRepeat extends Element { + /** + * Either a duration for the length of the timing schedule, a range of possible length, or outer bounds for start and/or end limits of the timing schedule. + */ + boundsDuration?: Duration|undefined; + /** + * Either a duration for the length of the timing schedule, a range of possible length, or outer bounds for start and/or end limits of the timing schedule. + */ + boundsRange?: Range|undefined; + /** + * Either a duration for the length of the timing schedule, a range of possible length, or outer bounds for start and/or end limits of the timing schedule. + */ + boundsPeriod?: Period|undefined; + /** + * If you have both bounds and count, then this should be understood as within the bounds period, until count times happens. + */ + count?: number|undefined; + /** + * If present, indicates that the count is a range - so to perform the action between [count] and [countMax] times. + */ + countMax?: number|undefined; + /** + * If no days are specified, the action is assumed to happen every day as otherwise specified. The elements frequency and period cannot be used as well as dayOfWeek. + */ + dayOfWeek?: ('mon'|'tue'|'wed'|'thu'|'fri'|'sat'|'sun')[]|undefined; + _dayOfWeek?: Element[]|undefined; + /** + * For some events the duration is part of the definition of the event (e.g. IV infusions, where the duration is implicit in the specified quantity and rate). For others, it's part of the timing specification (e.g. exercise). + */ + duration?: number|undefined; + /** + * For some events the duration is part of the definition of the event (e.g. IV infusions, where the duration is implicit in the specified quantity and rate). For others, it's part of the timing specification (e.g. exercise). + */ + durationMax?: number|undefined; + /** + * The units of time for the duration, in UCUM units. + */ + durationUnit?: ('s'|'min'|'h'|'d'|'wk'|'mo'|'a')|undefined; + _durationUnit?: Element|undefined; + /** + * The number of times to repeat the action within the specified period. If frequencyMax is present, this element indicates the lower bound of the allowed range of the frequency. + */ + frequency?: number|undefined; + /** + * If present, indicates that the frequency is a range - so to repeat between [frequency] and [frequencyMax] times within the period or period range. + */ + frequencyMax?: number|undefined; + /** + * The number of minutes from the event. If the event code does not indicate whether the minutes is before or after the event, then the offset is assumed to be after the event. + */ + offset?: number|undefined; + /** + * Indicates the duration of time over which repetitions are to occur; e.g. to express "3 times per day", 3 would be the frequency and "1 day" would be the period. If periodMax is present, this element indicates the lower bound of the allowed range of the period length. + */ + period?: number|undefined; + /** + * If present, indicates that the period is a range from [period] to [periodMax], allowing expressing concepts such as "do this once every 3-5 days. + */ + periodMax?: number|undefined; + /** + * The units of time for the period in UCUM units. + */ + periodUnit?: ('s'|'min'|'h'|'d'|'wk'|'mo'|'a')|undefined; + _periodUnit?: Element|undefined; + /** + * When time of day is specified, it is inferred that the action happens every day (as filtered by dayofWeek) on the specified times. The elements when, frequency and period cannot be used as well as timeOfDay. + */ + timeOfDay?: string[]|undefined; + _timeOfDay?: Element[]|undefined; + /** + * When more than one event is listed, the event is tied to the union of the specified events. + */ + when?: string[]|undefined; + _when?: Element[]|undefined; +} +/** + * 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. + */ +export interface Timing extends BackboneElement { + /** + * BID etc. are defined as 'at institutionally specified times'. For example, an institution may choose that BID is "always at 7am and 6pm". If it is inappropriate for this choice to be made, the code BID should not be used. Instead, a distinct organization-specific code should be used in place of the HL7-defined BID code and/or a structured representation should be used (in this case, specifying the two event times). + */ + code?: CodeableConcept|undefined; + /** + * Identifies specific times when the event occurs. + */ + event?: string[]|undefined; + _event?: Element[]|undefined; + /** + * A set of rules that describe when the event is scheduled. + */ + repeat?: TimingRepeat|undefined; +} +/** + * A description of a triggering event. Triggering events can be named events, data events, or periodic, as determined by the type element. + */ +export interface TriggerDefinition extends Element { + /** + * This element can be only be specified for data type triggers and provides additional semantics for the trigger. The context available within the condition is based on the type of data event. For all events, the current resource will be available as context. In addition, for modification events, the previous resource will also be available. The expression may be inlined, or may be a simple absolute URI, which is a reference to a named expression within a logic library referenced by a library element or extension within the containing resource. If the expression is a FHIR Path expression, it evaluates in the context of a resource of one of the type identified in the data requirement, and may also refer to the variable %previous for delta comparisons on events of type data-changed, data-modified, and data-deleted which will always have the same type. + */ + condition?: Expression|undefined; + /** + * This element shall be present for any data type trigger. + */ + data?: DataRequirement[]|undefined; + /** + * An event name can be provided for all event types, but is required for named events. If a name is provided for a type other than named events, it is considered to be a shorthand for the semantics described by the formal description of the event. + */ + name?: string|undefined; + _name?: Element|undefined; + /** + * The timing of the event (if this is a periodic trigger). + */ + timingTiming?: Timing|undefined; + /** + * The timing of the event (if this is a periodic trigger). + */ + timingReference?: Reference|undefined; + /** + * The timing of the event (if this is a periodic trigger). + */ + timingDate?: string|undefined; + _timingDate?: Element|undefined; + /** + * The timing of the event (if this is a periodic trigger). + */ + timingDateTime?: string|undefined; + _timingDateTime?: Element|undefined; + /** + * The type of triggering event. + */ + type: ('named-event'|'periodic'|'data-changed'|'data-added'|'data-modified'|'data-removed'|'data-accessed'|'data-access-ended'); + _type?: Element|undefined; +} +/** + * 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). + */ +export interface UsageContext extends Element { + /** + * A code that identifies the type of context being specified by this usage context. + */ + code: Coding; + /** + * A value that defines the context specified in this context of use. The interpretation of the value is defined by the code. + */ + valueCodeableConcept?: CodeableConcept|undefined; + /** + * A value that defines the context specified in this context of use. The interpretation of the value is defined by the code. + */ + valueQuantity?: Quantity|undefined; + /** + * A value that defines the context specified in this context of use. The interpretation of the value is defined by the code. + */ + valueRange?: Range|undefined; + /** + * A value that defines the context specified in this context of use. The interpretation of the value is defined by the code. + */ + valueReference?: Reference|undefined; +} +/** + * Typically. this may be some form of insurance, internal charges, or self-pay. + * Local or jurisdictional business rules may determine which coverage covers which types of billable items charged to the account, and in which order. + * Where the order is important, a local/jurisdictional extension may be defined to specify the order for the type of charge. + */ +export interface AccountCoverage extends BackboneElement { + /** + * The party(s) that contribute to payment (or part of) of the charges applied to this account (including self-pay). + * A coverage may only be responsible for specific types of charges, and the sequence of the coverages in the account could be important when processing billing. + */ + coverage: Reference; + /** + * It is common in some jurisdictions for there to be multiple coverages allocated to an account, and a sequence is required to order the settling of the account (often with insurance claiming). + */ + priority?: number|undefined; +} +/** + * The parties responsible for balancing the account if other payment options fall short. + */ +export interface AccountGuarantor extends BackboneElement { + /** + * A guarantor may be placed on credit hold or otherwise have their role temporarily suspended. + */ + onHold?: boolean|undefined; + _onHold?: Element|undefined; + /** + * The entity who is responsible. + */ + party: Reference; + /** + * The timeframe during which the guarantor accepts responsibility for the account. + */ + period?: Period|undefined; +} +/** + * A financial tool for tracking value accrued for a particular purpose. In the healthcare field, used to track charges for a patient, cost centers, etc. + */ +export interface Account extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'Account'; + /** + * Typically. this may be some form of insurance, internal charges, or self-pay. + * Local or jurisdictional business rules may determine which coverage covers which types of billable items charged to the account, and in which order. + * Where the order is important, a local/jurisdictional extension may be defined to specify the order for the type of charge. + */ + coverage?: AccountCoverage[]|undefined; + /** + * Provides additional information about what the account tracks and how it is used. + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * The parties responsible for balancing the account if other payment options fall short. + */ + guarantor?: AccountGuarantor[]|undefined; + /** + * Unique identifier used to reference the account. Might or might not be intended for human use (e.g. credit card number). + */ + identifier?: Identifier[]|undefined; + /** + * Name used for the account when displaying it to humans in reports, etc. + */ + name?: string|undefined; + _name?: Element|undefined; + /** + * Indicates the service area, hospital, department, etc. with responsibility for managing the Account. + */ + owner?: Reference|undefined; + /** + * Reference to a parent Account. + */ + partOf?: Reference|undefined; + /** + * It is possible for transactions to be posted outside the service period, as long as the service was provided within the defined service period. + */ + servicePeriod?: Period|undefined; + /** + * This element is labeled as a modifier because the status contains the codes inactive and entered-in-error that mark the Account as not currently valid. + */ + status: ('active'|'inactive'|'entered-in-error'|'on-hold'|'unknown'); + _status?: Element|undefined; + /** + * Accounts can be applied to non-patients for tracking other non-patient related activities, such as group services (patients not tracked, and costs charged to another body), or might not be allocated. + */ + subject?: Reference[]|undefined; + /** + * Categorizes the account for reporting and searching purposes. + */ + type?: CodeableConcept|undefined; +} +/** + * Indicates who should participate in performing the action described. + */ +export interface ActivityDefinitionParticipant extends BackboneElement { + /** + * The role the participant should play in performing the described action. + */ + role?: CodeableConcept|undefined; + /** + * The type of participant in the action. + */ + type: ('patient'|'practitioner'|'related-person'|'device'); + _type?: Element|undefined; +} +/** + * Dynamic values are applied in the order in which they are defined in the ActivityDefinition. Note that if both a transform and dynamic values are specified, the dynamic values will be applied to the result of the transform. + */ +export interface ActivityDefinitionDynamicValue extends BackboneElement { + /** + * The expression may be inlined, or may be a reference to a named expression within a logic library referenced by the library element. + */ + expression: Expression; + /** + * The path attribute contains a [Simple FHIRPath Subset](fhirpath.html#simple) that allows path traversal, but not calculation. + */ + path: string; + _path?: Element|undefined; +} +/** + * This resource allows for the definition of some activity to be performed, independent of a particular patient, practitioner, or other performance context. + */ +export interface ActivityDefinition extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'ActivityDefinition'; + /** + * The 'date' element may be more recent than the approval date because of minor changes or editorial corrections. + */ + approvalDate?: string|undefined; + _approvalDate?: Element|undefined; + /** + * An individiual or organization primarily involved in the creation and maintenance of the content. + */ + author?: ContactDetail[]|undefined; + /** + * Only used if not implicit in the code found in ServiceRequest.type. + */ + bodySite?: CodeableConcept[]|undefined; + /** + * Tends to be less relevant for activities involving particular products. + */ + code?: CodeableConcept|undefined; + /** + * May be a web site, an email address, a telephone number, etc. + */ + contact?: ContactDetail[]|undefined; + /** + * A copyright statement relating to the activity definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the activity definition. + */ + copyright?: string|undefined; + _copyright?: Element|undefined; + /** + * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the activity definition. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. + */ + date?: string|undefined; + _date?: Element|undefined; + /** + * This description can be used to capture details such as why the activity definition was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the activity definition as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the activity definition is presumed to be the predominant language in the place the activity definition was created). + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * This element is not intended to be used to communicate a decision support response to cancel an order in progress. That should be done with the "remove" type of a PlanDefinition or RequestGroup. + */ + doNotPerform?: boolean|undefined; + _doNotPerform?: Element|undefined; + /** + * If a dosage instruction is used, the definition should not specify timing or quantity. + */ + dosage?: Dosage[]|undefined; + /** + * Dynamic values are applied in the order in which they are defined in the ActivityDefinition. Note that if both a transform and dynamic values are specified, the dynamic values will be applied to the result of the transform. + */ + dynamicValue?: ActivityDefinitionDynamicValue[]|undefined; + /** + * An individual or organization primarily responsible for internal coherence of the content. + */ + editor?: ContactDetail[]|undefined; + /** + * The effective period for a activity definition determines when the content is applicable for usage and is independent of publication and review dates. For example, a measure intended to be used for the year 2016 might be published in 2015. + */ + effectivePeriod?: Period|undefined; + /** + * An individual or organization responsible for officially endorsing the content for use in some setting. + */ + endorser?: ContactDetail[]|undefined; + /** + * Allows filtering of activity definitions that are appropriate for use versus not. + */ + experimental?: boolean|undefined; + _experimental?: Element|undefined; + /** + * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this activity definition outside of FHIR, where it is not possible to use the logical URI. + */ + identifier?: Identifier[]|undefined; + /** + * Indicates the level of authority/intentionality associated with the activity and where the request should fit into the workflow chain. + */ + intent?: ('proposal'|'plan'|'directive'|'order'|'original-order'|'reflex-order'|'filler-order'|'instance-order'|'option')|undefined; + _intent?: Element|undefined; + /** + * It may be possible for the activity definition to be used in jurisdictions other than those for which it was originally designed or intended. + */ + jurisdiction?: CodeableConcept[]|undefined; + /** + * May determine what types of extensions are permitted. + */ + kind?: string|undefined; + _kind?: Element|undefined; + /** + * If specified, this date follows the original approval date. + */ + lastReviewDate?: string|undefined; + _lastReviewDate?: Element|undefined; + /** + * A reference to a Library resource containing any formal logic used by the activity definition. + */ + library?: string[]|undefined; + _library?: Element[]|undefined; + /** + * May reference a specific clinical location or may just identify a type of location. + */ + location?: Reference|undefined; + /** + * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. + */ + name?: string|undefined; + _name?: Element|undefined; + /** + * Defines observation requirements for the action to be performed, such as body weight or surface area. + */ + observationRequirement?: Reference[]|undefined; + /** + * Defines the observations that are expected to be produced by the action. + */ + observationResultRequirement?: Reference[]|undefined; + /** + * Indicates who should participate in performing the action described. + */ + participant?: ActivityDefinitionParticipant[]|undefined; + /** + * Indicates how quickly the activity should be addressed with respect to other requests. + */ + priority?: ('routine'|'urgent'|'asap'|'stat')|undefined; + _priority?: Element|undefined; + /** + * Identifies the food, drug or other product being consumed or supplied in the activity. + */ + productReference?: Reference|undefined; + /** + * Identifies the food, drug or other product being consumed or supplied in the activity. + */ + productCodeableConcept?: CodeableConcept|undefined; + /** + * A profile to which the target of the activity definition is expected to conform. + */ + profile?: string|undefined; + _profile?: Element|undefined; + /** + * Usually an organization but may be an individual. The publisher (or steward) of the activity definition is the organization or individual primarily responsible for the maintenance and upkeep of the activity definition. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the activity definition. This item SHOULD be populated unless the information is available from context. + */ + publisher?: string|undefined; + _publisher?: Element|undefined; + /** + * This element does not describe the usage of the activity definition. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this activity definition. + */ + purpose?: string|undefined; + _purpose?: Element|undefined; + /** + * Identifies the quantity expected to be consumed at once (per dose, per meal, etc.). + */ + quantity?: Quantity|undefined; + /** + * Each related artifact is either an attachment, or a reference to another resource, but not both. + */ + relatedArtifact?: RelatedArtifact[]|undefined; + /** + * An individual or organization primarily responsible for review of some aspect of the content. + */ + reviewer?: ContactDetail[]|undefined; + /** + * Defines specimen requirements for the action to be performed, such as required specimens for a lab test. + */ + specimenRequirement?: Reference[]|undefined; + /** + * Allows filtering of activity definitions that are appropriate for use versus not. + */ + status: ('draft'|'active'|'retired'|'unknown'); + _status?: Element|undefined; + /** + * A code or group definition that describes the intended subject of the activity being defined. + */ + subjectCodeableConcept?: CodeableConcept|undefined; + /** + * A code or group definition that describes the intended subject of the activity being defined. + */ + subjectReference?: Reference|undefined; + /** + * An explanatory or alternate title for the activity definition giving additional information about its content. + */ + subtitle?: string|undefined; + _subtitle?: Element|undefined; + /** + * The period, timing or frequency upon which the described activity is to occur. + */ + timingTiming?: Timing|undefined; + /** + * The period, timing or frequency upon which the described activity is to occur. + */ + timingDateTime?: string|undefined; + _timingDateTime?: Element|undefined; + /** + * The period, timing or frequency upon which the described activity is to occur. + */ + timingAge?: Age|undefined; + /** + * The period, timing or frequency upon which the described activity is to occur. + */ + timingPeriod?: Period|undefined; + /** + * The period, timing or frequency upon which the described activity is to occur. + */ + timingRange?: Range|undefined; + /** + * The period, timing or frequency upon which the described activity is to occur. + */ + timingDuration?: Duration|undefined; + /** + * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. + */ + title?: string|undefined; + _title?: Element|undefined; + /** + * Descriptive topics related to the content of the activity. Topics provide a high-level categorization of the activity that can be useful for filtering and searching. + */ + topic?: CodeableConcept[]|undefined; + /** + * Note that if both a transform and dynamic values are specified, the dynamic values will be applied to the result of the transform. + */ + transform?: string|undefined; + _transform?: Element|undefined; + /** + * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. + * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). + * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. + */ + url?: string|undefined; + _url?: Element|undefined; + /** + * A detailed description of how the activity definition is used from a clinical perspective. + */ + usage?: string|undefined; + _usage?: Element|undefined; + /** + * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. + */ + useContext?: UsageContext[]|undefined; + /** + * There may be different activity definition instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the activity definition with the format [url]|[version]. + */ + version?: string|undefined; + _version?: Element|undefined; +} +/** + * Information on the possible cause of the event. + */ +export interface AdverseEventSuspectEntityCausality extends BackboneElement { + /** + * Assessment of if the entity caused the event. + */ + assessment?: CodeableConcept|undefined; + /** + * AdverseEvent.suspectEntity.causalityAuthor. + */ + author?: Reference|undefined; + /** + * ProbabilityScale | Bayesian | Checklist. + */ + method?: CodeableConcept|undefined; + /** + * AdverseEvent.suspectEntity.causalityProductRelatedness. + */ + productRelatedness?: string|undefined; + _productRelatedness?: Element|undefined; +} +/** + * Describes the entity that is suspected to have caused the adverse event. + */ +export interface AdverseEventSuspectEntity extends BackboneElement { + /** + * Information on the possible cause of the event. + */ + causality?: AdverseEventSuspectEntityCausality[]|undefined; + /** + * Identifies the actual instance of what caused the adverse event. May be a substance, medication, medication administration, medication statement or a device. + */ + instance: Reference; +} +/** + * Actual or potential/avoided event causing unintended physical injury resulting from or contributed to by medical care, a research study or other healthcare setting factors that requires additional monitoring, treatment, or hospitalization, or that results in death. + */ +export interface AdverseEvent extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'AdverseEvent'; + /** + * Whether the event actually happened, or just had the potential to. Note that this is independent of whether anyone was affected or harmed or how severely. + */ + actuality: ('actual'|'potential'); + _actuality?: Element|undefined; + /** + * The overall type of event, intended for search and filtering purposes. + */ + category?: CodeableConcept[]|undefined; + /** + * Parties that may or should contribute or have contributed information to the adverse event, which can consist of one or more activities. Such information includes information leading to the decision to perform the activity and how to perform the activity (e.g. consultant), information that the activity itself seeks to reveal (e.g. informant of clinical history), or information about what activity was performed (e.g. informant witness). + */ + contributor?: Reference[]|undefined; + /** + * The date (and perhaps time) when the adverse event occurred. + */ + date?: string|undefined; + _date?: Element|undefined; + /** + * Estimated or actual date the AdverseEvent began, in the opinion of the reporter. + */ + detected?: string|undefined; + _detected?: Element|undefined; + /** + * This will typically be the encounter the event occurred within, but some activities may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter. For example, if a medication administration was considered an adverse event because it resulted in a rash, then the encounter when the medication administration was given is the context. If the patient reports the AdverseEvent during a second encounter, that second encounter is not the context. + */ + encounter?: Reference|undefined; + /** + * This element defines the specific type of event that occurred or that was prevented from occurring. + */ + event?: CodeableConcept|undefined; + /** + * This is a business identifier, not a resource identifier (see [discussion](resource.html#identifiers)). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and a Person resource instance might share the same social insurance number. + */ + identifier?: Identifier|undefined; + /** + * The information about where the adverse event occurred. + */ + location?: Reference|undefined; + /** + * Describes the type of outcome from the adverse event. + */ + outcome?: CodeableConcept|undefined; + /** + * The recordedDate represents the date when this particular AdverseEvent record was created in the system, not the date of the most recent update. The date of the last record modification can be retrieved from the resource metadata. + */ + recordedDate?: string|undefined; + _recordedDate?: Element|undefined; + /** + * Information on who recorded the adverse event. May be the patient or a practitioner. + */ + recorder?: Reference|undefined; + /** + * AdverseEvent.referenceDocument. + */ + referenceDocument?: Reference[]|undefined; + /** + * Includes information about the reaction that occurred as a result of exposure to a substance (for example, a drug or a chemical). + */ + resultingCondition?: Reference[]|undefined; + /** + * Assessment whether this event was of real importance. + */ + seriousness?: CodeableConcept|undefined; + /** + * Describes the severity of the adverse event, in relation to the subject. Contrast to AdverseEvent.seriousness - a severe rash might not be serious, but a mild heart problem is. + */ + severity?: CodeableConcept|undefined; + /** + * AdverseEvent.study. + */ + study?: Reference[]|undefined; + /** + * If AdverseEvent.resultingCondition differs among members of the group, then use Patient as the subject. + */ + subject: Reference; + /** + * AdverseEvent.subjectMedicalHistory. + */ + subjectMedicalHistory?: Reference[]|undefined; + /** + * Describes the entity that is suspected to have caused the adverse event. + */ + suspectEntity?: AdverseEventSuspectEntity[]|undefined; +} +/** + * Details about each adverse reaction event linked to exposure to the identified substance. + */ +export interface AllergyIntoleranceReaction extends BackboneElement { + /** + * Use the description to provide any details of a particular event of the occurred reaction such as circumstances, reaction specifics, what happened before/after. Information, related to the event, but not describing a particular care should be captured in the comment field. For example: at the age of four, the patient was given penicillin for strep throat and subsequently developed severe hives. + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * Coding of the route of exposure with a terminology should be used wherever possible. + */ + exposureRoute?: CodeableConcept|undefined; + /** + * Manifestation can be expressed as a single word, phrase or brief description. For example: nausea, rash or no reaction. It is preferable that manifestation should be coded with a terminology, where possible. The values entered here may be used to display on an application screen as part of a list of adverse reactions, as recommended in the UK NHS CUI guidelines. Terminologies commonly used include, but are not limited to, SNOMED CT or ICD10. + */ + manifestation: CodeableConcept[]; + /** + * Use this field to record information indirectly related to a particular event and not captured in the description. For example: Clinical records are no longer available, recorded based on information provided to the patient by her mother and her mother is deceased. + */ + note?: Annotation[]|undefined; + /** + * Record of the date and/or time of the onset of the Reaction. + */ + onset?: string|undefined; + _onset?: Element|undefined; + /** + * It is acknowledged that this assessment is very subjective. There may be some specific practice domains where objective scales have been applied. Objective scales can be included in this model as extensions. + */ + severity?: ('mild'|'moderate'|'severe')|undefined; + _severity?: Element|undefined; + /** + * Coding of the specific substance (or pharmaceutical product) with a terminology capable of triggering decision support should be used wherever possible. The 'code' element allows for the use of a specific substance or pharmaceutical product, or a group or class of substances. In the case of an allergy or intolerance to a class of substances, (for example, "penicillins"), the 'reaction.substance' element could be used to code the specific substance that was identified as having caused the reaction (for example, "amoxycillin"). Duplication of the value in the 'code' and 'reaction.substance' elements is acceptable when a specific substance has been recorded in 'code'. + */ + substance?: CodeableConcept|undefined; +} +/** + * Risk of harmful or undesirable, physiological response which is unique to an individual and associated with exposure to a substance. + */ +export interface AllergyIntolerance extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'AllergyIntolerance'; + /** + * The recorder takes responsibility for the content, but can reference the source from where they got it. + */ + asserter?: Reference|undefined; + /** + * This data element has been included because it is currently being captured in some clinical systems. This data can be derived from the substance where coding systems are used, and is effectively redundant in that situation. When searching on category, consider the implications of AllergyIntolerance resources without a category. For example, when searching on category = medication, medication allergies that don't have a category valued will not be returned. Refer to [search](search.html) for more information on how to search category with a :missing modifier to get allergies that don't have a category. Additionally, category should be used with caution because category can be subjective based on the sender. + */ + category?: ('food'|'medication'|'environment'|'biologic')[]|undefined; + _category?: Element[]|undefined; + /** + * Refer to [discussion](extensibility.html#Special-Case) if clincalStatus is missing data. + * The data type is CodeableConcept because clinicalStatus has some clinical judgment involved, such that there might need to be more specificity than the required FHIR value set allows. For example, a SNOMED coding might allow for additional specificity. + */ + clinicalStatus?: CodeableConcept|undefined; + /** + * It is strongly recommended that this element be populated using a terminology, where possible. For example, some terminologies used include RxNorm, SNOMED CT, DM+D, NDFRT, ICD-9, IDC-10, UNII, and ATC. Plain text should only be used if there is no appropriate terminology available. Additional details can be specified in the text. + * When a substance or product code is specified for the 'code' element, the "default" semantic context is that this is a positive statement of an allergy or intolerance (depending on the value of the 'type' element, if present) condition to the specified substance/product. In the corresponding SNOMED CT allergy model, the specified substance/product is the target (destination) of the "Causative agent" relationship. + * The 'substanceExposureRisk' extension is available as a structured and more flexible alternative to the 'code' element for making positive or negative allergy or intolerance statements. This extension provides the capability to make "no known allergy" (or "no risk of adverse reaction") statements regarding any coded substance/product (including cases when a pre-coordinated "no allergy to x" concept for that substance/product does not exist). If the 'substanceExposureRisk' extension is present, the AllergyIntolerance.code element SHALL be omitted. + */ + code?: CodeableConcept|undefined; + /** + * The default criticality value for any propensity to an adverse reaction should be 'Low Risk', indicating at the very least a relative contraindication to deliberate or voluntary exposure to the substance. 'High Risk' is flagged if the clinician has identified a propensity for a more serious or potentially life-threatening reaction, such as anaphylaxis, and implies an absolute contraindication to deliberate or voluntary exposure to the substance. If this element is missing, the criticality is unknown (though it may be known elsewhere). Systems that capture a severity at the condition level are actually representing the concept of criticality whereas the severity documented at the reaction level is representing the true reaction severity. Existing systems that are capturing both condition criticality and reaction severity may use the term "severity" to represent both. Criticality is the worst it could be in the future (i.e. situation-agnostic) whereas severity is situation-dependent. + */ + criticality?: ('low'|'high'|'unable-to-assess')|undefined; + _criticality?: Element|undefined; + /** + * The encounter when the allergy or intolerance was asserted. + */ + encounter?: Reference|undefined; + /** + * This is a business identifier, not a resource identifier (see [discussion](resource.html#identifiers)). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and a Person resource instance might share the same social insurance number. + */ + identifier?: Identifier[]|undefined; + /** + * This date may be replicated by one of the Onset of Reaction dates. Where a textual representation of the date of last occurrence is required e.g. 'In Childhood, '10 years ago' the Comment element should be used. + */ + lastOccurrence?: string|undefined; + _lastOccurrence?: Element|undefined; + /** + * For example: including reason for flagging a seriousness of 'High Risk'; and instructions related to future exposure or administration of the substance, such as administration within an Intensive Care Unit or under corticosteroid cover. The notes should be related to an allergy or intolerance as a condition in general and not related to any particular episode of it. For episode notes and descriptions, use AllergyIntolerance.event.description and AllergyIntolerance.event.notes. + */ + note?: Annotation[]|undefined; + /** + * Estimated or actual date, date-time, or age when allergy or intolerance was identified. + */ + onsetDateTime?: string|undefined; + _onsetDateTime?: Element|undefined; + /** + * Estimated or actual date, date-time, or age when allergy or intolerance was identified. + */ + onsetAge?: Age|undefined; + /** + * Estimated or actual date, date-time, or age when allergy or intolerance was identified. + */ + onsetPeriod?: Period|undefined; + /** + * Estimated or actual date, date-time, or age when allergy or intolerance was identified. + */ + onsetRange?: Range|undefined; + /** + * Estimated or actual date, date-time, or age when allergy or intolerance was identified. + */ + onsetString?: string|undefined; + _onsetString?: Element|undefined; + /** + * The patient who has the allergy or intolerance. + */ + patient: Reference; + /** + * Details about each adverse reaction event linked to exposure to the identified substance. + */ + reaction?: AllergyIntoleranceReaction[]|undefined; + /** + * The recordedDate represents when this particular AllergyIntolerance record was created in the system, which is often a system-generated date. + */ + recordedDate?: string|undefined; + _recordedDate?: Element|undefined; + /** + * Individual who recorded the record and takes responsibility for its content. + */ + recorder?: Reference|undefined; + /** + * Allergic (typically immune-mediated) reactions have been traditionally regarded as an indicator for potential escalation to significant future risk. Contemporary knowledge suggests that some reactions previously thought to be immune-mediated are, in fact, non-immune, but in some cases can still pose a life threatening risk. It is acknowledged that many clinicians might not be in a position to distinguish the mechanism of a particular reaction. Often the term "allergy" is used rather generically and may overlap with the use of "intolerance" - in practice the boundaries between these two concepts might not be well-defined or understood. This data element is included nevertheless, because many legacy systems have captured this attribute. Immunologic testing may provide supporting evidence for the basis of the reaction and the causative substance, but no tests are 100% sensitive or specific for sensitivity to a particular substance. If, as is commonly the case, it is unclear whether the reaction is due to an allergy or an intolerance, then the type element should be omitted from the resource. + */ + type?: ('allergy'|'intolerance')|undefined; + _type?: Element|undefined; + /** + * The data type is CodeableConcept because verificationStatus has some clinical judgment involved, such that there might need to be more specificity than the required FHIR value set allows. For example, a SNOMED coding might allow for additional specificity. + */ + verificationStatus?: CodeableConcept|undefined; +} +/** + * List of participants involved in the appointment. + */ +export interface AppointmentParticipant extends BackboneElement { + /** + * A Person, Location/HealthcareService or Device that is participating in the appointment. + */ + actor?: Reference|undefined; + /** + * Participation period of the actor. + */ + period?: Period|undefined; + /** + * Whether this participant is required to be present at the meeting. This covers a use-case where two doctors need to meet to discuss the results for a specific patient, and the patient is not required to be present. + */ + required?: ('required'|'optional'|'information-only')|undefined; + _required?: Element|undefined; + /** + * Participation status of the actor. + */ + status: ('accepted'|'declined'|'tentative'|'needs-action'); + _status?: Element|undefined; + /** + * The role of the participant can be used to declare what the actor will be doing in the scope of this appointment. + * If the actor is not specified, then it is expected that the actor will be filled in at a later stage of planning. + * This value SHALL be the same when creating an AppointmentResponse so that they can be matched, and subsequently update the Appointment. + */ + type?: CodeableConcept[]|undefined; +} +/** + * A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s). + */ +export interface Appointment extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'Appointment'; + /** + * The style of appointment or patient that has been booked in the slot (not service type). + */ + appointmentType?: CodeableConcept|undefined; + /** + * The service request this appointment is allocated to assess (e.g. incoming referral or procedure request). + */ + basedOn?: Reference[]|undefined; + /** + * The coded reason for the appointment being cancelled. This is often used in reporting/billing/futher processing to determine if further actions are required, or specific fees apply. + */ + cancelationReason?: CodeableConcept|undefined; + /** + * Additional text to aid in facilitating the appointment. For instance, a comment might be, "patient should proceed immediately to infusion room upon arrival" + * Where this is a planned appointment and the start/end dates are not set then this field can be used to provide additional guidance on the details of the appointment request, including any restrictions on when to book it. + */ + comment?: string|undefined; + _comment?: Element|undefined; + /** + * This property is required for many use cases where the age of an appointment is considered in processing workflows for scheduling and billing of appointments. + */ + created?: string|undefined; + _created?: Element|undefined; + /** + * The brief description of the appointment as would be shown on a subject line in a meeting request, or appointment list. Detailed or expanded information should be put in the comment field. + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * Date/Time that the appointment is to conclude. + */ + end?: string|undefined; + _end?: Element|undefined; + /** + * This records identifiers associated with this appointment concern that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation). + */ + identifier?: Identifier[]|undefined; + /** + * Number of minutes that the appointment is to take. This can be less than the duration between the start and end times. For example, where the actual time of appointment is only an estimate or if a 30 minute appointment is being requested, but any time would work. Also, if there is, for example, a planned 15 minute break in the middle of a long appointment, the duration may be 15 minutes less than the difference between the start and end. + */ + minutesDuration?: number|undefined; + /** + * List of participants involved in the appointment. + */ + participant: AppointmentParticipant[]; + /** + * While Appointment.comment contains information for internal use, Appointment.patientInstructions is used to capture patient facing information about the Appointment (e.g. please bring your referral or fast from 8pm night before). + */ + patientInstruction?: string|undefined; + _patientInstruction?: Element|undefined; + /** + * Seeking implementer feedback on this property and how interoperable it is. + * Using an extension to record a CodeableConcept for named values may be tested at a future connectathon. + */ + priority?: number|undefined; + /** + * The coded reason that this appointment is being scheduled. This is more clinical than administrative. + */ + reasonCode?: CodeableConcept[]|undefined; + /** + * Reason the appointment has been scheduled to take place, as specified using information from another resource. When the patient arrives and the encounter begins it may be used as the admission diagnosis. The indication will typically be a Condition (with other resources referenced in the evidence.detail), or a Procedure. + */ + reasonReference?: Reference[]|undefined; + /** + * This does not introduce a capacity for recurring appointments. + */ + requestedPeriod?: Period[]|undefined; + /** + * A broad categorization of the service that is to be performed during this appointment. + */ + serviceCategory?: CodeableConcept[]|undefined; + /** + * For a provider to provider appointment the code "FOLLOWUP" may be appropriate, as this is expected to be discussing some patient that was seen in the past. + */ + serviceType?: CodeableConcept[]|undefined; + /** + * The slots from the participants' schedules that will be filled by the appointment. + */ + slot?: Reference[]|undefined; + /** + * The specialty of a practitioner that would be required to perform the service requested in this appointment. + */ + specialty?: CodeableConcept[]|undefined; + /** + * Date/Time that the appointment is to take place. + */ + start?: string|undefined; + _start?: Element|undefined; + /** + * If the Appointment's status is "cancelled" then all participants are expected to have their calendars released for the appointment period, and as such any Slots that were marked as BUSY can be re-set to FREE. + * This element is labeled as a modifier because the status contains the code entered-in-error that mark the Appointment as not currently valid. + */ + status: ('proposed'|'pending'|'booked'|'arrived'|'fulfilled'|'cancelled'|'noshow'|'entered-in-error'|'checked-in'|'waitlist'); + _status?: Element|undefined; + /** + * Additional information to support the appointment provided when making the appointment. + */ + supportingInformation?: Reference[]|undefined; +} +/** + * A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection. + */ +export interface AppointmentResponse extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'AppointmentResponse'; + /** + * A Person, Location, HealthcareService, or Device that is participating in the appointment. + */ + actor?: Reference|undefined; + /** + * Appointment that this response is replying to. + */ + appointment: Reference; + /** + * This comment is particularly important when the responder is declining, tentatively accepting or requesting another time to indicate the reasons why. + */ + comment?: string|undefined; + _comment?: Element|undefined; + /** + * This may be either the same as the appointment request to confirm the details of the appointment, or alternately a new time to request a re-negotiation of the end time. + */ + end?: string|undefined; + _end?: Element|undefined; + /** + * This records identifiers associated with this appointment response concern that are defined by business processes and/ or used to refer to it when a direct URL reference to the resource itself is not appropriate. + */ + identifier?: Identifier[]|undefined; + /** + * This element is labeled as a modifier because the status contains the code entered-in-error that marks the participant as not currently valid. + */ + participantStatus: ('accepted'|'declined'|'tentative'|'needs-action'); + _participantStatus?: Element|undefined; + /** + * The role of the participant can be used to declare what the actor will be doing in the scope of the referenced appointment. + * If the actor is not specified, then it is expected that the actor will be filled in at a later stage of planning. + * This value SHALL be the same as specified on the referenced Appointment so that they can be matched, and subsequently updated. + */ + participantType?: CodeableConcept[]|undefined; + /** + * This may be either the same as the appointment request to confirm the details of the appointment, or alternately a new time to request a re-negotiation of the start time. + */ + start?: string|undefined; + _start?: Element|undefined; +} +/** + * Logical network location for application activity, if the activity has a network location. + */ +export interface AuditEventAgentNetwork extends BackboneElement { + /** + * This could be a device id, IP address or some other identifier associated with a device. + */ + address?: string|undefined; + _address?: Element|undefined; + /** + * An identifier for the type of network access point that originated the audit event. + */ + type?: string|undefined; + _type?: Element|undefined; +} +/** + * Several agents may be associated (i.e. have some responsibility for an activity) with an event or activity. + * For example, an activity may be initiated by one user for other users or involve more than one user. However, only one user may be the initiator/requestor for the activity. + */ +export interface AuditEventAgent extends BackboneElement { + /** + * Alternative agent Identifier. For a human, this should be a user identifier text string from authentication system. This identifier would be one known to a common authentication system (e.g. single sign-on), if available. + */ + altId?: string|undefined; + _altId?: Element|undefined; + /** + * Where the event occurred. + */ + location?: Reference|undefined; + /** + * Type of media involved. Used when the event is about exporting/importing onto media. + */ + media?: Coding|undefined; + /** + * Human-meaningful name for the agent. + */ + name?: string|undefined; + _name?: Element|undefined; + /** + * Logical network location for application activity, if the activity has a network location. + */ + network?: AuditEventAgentNetwork|undefined; + /** + * For example: Where an OAuth token authorizes, the unique identifier from the OAuth token is placed into the policy element Where a policy engine (e.g. XACML) holds policy logic, the unique policy identifier is placed into the policy element. + */ + policy?: string[]|undefined; + _policy?: Element[]|undefined; + /** + * Use AuditEvent.agent.purposeOfUse when you know that is specific to the agent, otherwise use AuditEvent.purposeOfEvent. For example, during a machine-to-machine transfer it might not be obvious to the audit system who caused the event, but it does know why. + */ + purposeOfUse?: CodeableConcept[]|undefined; + /** + * There can only be one initiator. If the initiator is not clear, then do not choose any one agent as the initiator. + */ + requestor: boolean; + _requestor?: Element|undefined; + /** + * Should be roles relevant to the event. Should not be an exhaustive list of roles. + */ + role?: CodeableConcept[]|undefined; + /** + * Specification of the participation type the user plays when performing the event. + */ + type?: CodeableConcept|undefined; + /** + * Where a User ID is available it will go into who.identifier. + */ + who?: Reference|undefined; +} +/** + * Since multi-tier, distributed, or composite applications make source identification ambiguous, this collection of fields may repeat for each application or process actively involved in the event. For example, multiple value-sets can identify participating web servers, application processes, and database server threads in an n-tier distributed application. Passive event participants (e.g. low-level network transports) need not be identified. + */ +export interface AuditEventSource extends BackboneElement { + /** + * Identifier of the source where the event was detected. + */ + observer: Reference; + /** + * Logical source location within the healthcare enterprise network. For example, a hospital or other provider location within a multi-entity provider group. + */ + site?: string|undefined; + _site?: Element|undefined; + /** + * Code specifying the type of source where event originated. + */ + type?: Coding[]|undefined; +} +/** + * Tagged value pairs for conveying additional information about the entity. + */ +export interface AuditEventEntityDetail extends BackboneElement { + /** + * The type of extra detail provided in the value. + */ + type: string; + _type?: Element|undefined; + /** + * The value can be string when known to be a string, else base64 encoding should be used to protect binary or undefined content. The meaning and secondary-encoding of the content of base64 encoded blob is specific to the AuditEvent.type, AuditEvent.subtype, AuditEvent.entity.type, and AuditEvent.entity.role. The base64 is a general-use and safe container for event specific data blobs regardless of the encoding used by the transaction being recorded. An AuditEvent consuming application must understand the event it is consuming and the formats used by the event. For example if auditing an Oracle network database access, the Oracle formats must be understood as they will be simply encoded in the base64binary blob. + */ + valueString?: string|undefined; + _valueString?: Element|undefined; + /** + * The value can be string when known to be a string, else base64 encoding should be used to protect binary or undefined content. The meaning and secondary-encoding of the content of base64 encoded blob is specific to the AuditEvent.type, AuditEvent.subtype, AuditEvent.entity.type, and AuditEvent.entity.role. The base64 is a general-use and safe container for event specific data blobs regardless of the encoding used by the transaction being recorded. An AuditEvent consuming application must understand the event it is consuming and the formats used by the event. For example if auditing an Oracle network database access, the Oracle formats must be understood as they will be simply encoded in the base64binary blob. + */ + valueBase64Binary?: string|undefined; + _valueBase64Binary?: Element|undefined; +} +/** + * Required unless the values for event identification, agent identification, and audit source identification are sufficient to document the entire auditable event. Because events may have more than one entity, this group can be a repeating set of values. + */ +export interface AuditEventEntity extends BackboneElement { + /** + * Text that describes the entity in more detail. + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * Tagged value pairs for conveying additional information about the entity. + */ + detail?: AuditEventEntityDetail[]|undefined; + /** + * This can be used to provide an audit trail for data, over time, as it passes through the system. + */ + lifecycle?: Coding|undefined; + /** + * This field may be used in a query/report to identify audit events for a specific person. For example, where multiple synonymous entity identifiers (patient number, medical record number, encounter number, etc.) have been used. + */ + name?: string|undefined; + _name?: Element|undefined; + /** + * The meaning and secondary-encoding of the content of base64 encoded blob is specific to the AuditEvent.type, AuditEvent.subtype, AuditEvent.entity.type, and AuditEvent.entity.role. The base64 is a general-use and safe container for event specific data blobs regardless of the encoding used by the transaction being recorded. An AuditEvent consuming application must understand the event it is consuming and the formats used by the event. For example, if auditing an Oracle network database access, the Oracle formats must be understood as they will be simply encoded in the base64binary blob. + */ + query?: string|undefined; + _query?: Element|undefined; + /** + * Code representing the role the entity played in the event being audited. + */ + role?: Coding|undefined; + /** + * Copied from entity meta security tags. + */ + securityLabel?: Coding[]|undefined; + /** + * This value is distinct from the user's role or any user relationship to the entity. + */ + type?: Coding|undefined; + /** + * Identifies a specific instance of the entity. The reference should be version specific. + */ + what?: Reference|undefined; +} +/** + * A record of an event made for purposes of maintaining a security log. Typical uses include detection of intrusion attempts and monitoring for inappropriate usage. + */ +export interface AuditEvent extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'AuditEvent'; + /** + * Indicator for type of action performed during the event that generated the audit. + */ + action?: string|undefined; + _action?: Element|undefined; + /** + * Several agents may be associated (i.e. have some responsibility for an activity) with an event or activity. + * For example, an activity may be initiated by one user for other users or involve more than one user. However, only one user may be the initiator/requestor for the activity. + */ + agent: AuditEventAgent[]; + /** + * Required unless the values for event identification, agent identification, and audit source identification are sufficient to document the entire auditable event. Because events may have more than one entity, this group can be a repeating set of values. + */ + entity?: AuditEventEntity[]|undefined; + /** + * In some cases a "success" may be partial, for example, an incomplete or interrupted transfer of a radiological study. For the purpose of establishing accountability, these distinctions are not relevant. + */ + outcome?: string|undefined; + _outcome?: Element|undefined; + /** + * A free text description of the outcome of the event. + */ + outcomeDesc?: string|undefined; + _outcomeDesc?: Element|undefined; + /** + * The period can be a little arbitrary; where possible, the time should correspond to human assessment of the activity time. + */ + period?: Period|undefined; + /** + * Use AuditEvent.agent.purposeOfUse when you know that it is specific to the agent, otherwise use AuditEvent.purposeOfEvent. For example, during a machine-to-machine transfer it might not be obvious to the audit system who caused the event, but it does know why. + */ + purposeOfEvent?: CodeableConcept[]|undefined; + /** + * In a distributed system, some sort of common time base (e.g. an NTP [RFC1305] server) is a good implementation tactic. + */ + recorded: string; + _recorded?: Element|undefined; + /** + * Since multi-tier, distributed, or composite applications make source identification ambiguous, this collection of fields may repeat for each application or process actively involved in the event. For example, multiple value-sets can identify participating web servers, application processes, and database server threads in an n-tier distributed application. Passive event participants (e.g. low-level network transports) need not be identified. + */ + source: AuditEventSource; + /** + * Identifier for the category of event. + */ + subtype?: Coding[]|undefined; + /** + * Identifier for a family of the event. For example, a menu item, program, rule, policy, function code, application name or URL. It identifies the performed function. + */ + type: Coding; +} +/** + * Basic is used for handling concepts not yet defined in FHIR, narrative-only resources that don't map to an existing resource, and custom resources not appropriate for inclusion in the FHIR specification. + */ +export interface Basic extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'Basic'; + /** + * Indicates who was responsible for creating the resource instance. + */ + author?: Reference|undefined; + /** + * Because resource references will only be able to indicate 'Basic', the type of reference will need to be specified in a Profile identified as part of the resource. Refer to the resource notes section for information on appropriate terminologies for this code. + * This element is labeled as a modifier because it defines the meaning of the resource and cannot be ignored. + */ + code: CodeableConcept; + /** + * Identifies when the resource was first created. + */ + created?: string|undefined; + _created?: Element|undefined; + /** + * Identifier assigned to the resource for business purposes, outside the context of FHIR. + */ + identifier?: Identifier[]|undefined; + /** + * Optional as not all potential resources will have subjects. Resources associated with multiple subjects can handle this via extension. + */ + subject?: Reference|undefined; +} +/** + * A resource that represents the data of a single raw artifact as digital content accessible in its native format. A Binary resource can contain any content, whether text, image, pdf, zip archive, etc. + */ +export interface Binary extends Resource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'Binary'; + /** + * MimeType of the binary content represented as a standard MimeType (BCP 13). + */ + contentType: string; + _contentType?: Element|undefined; + /** + * If the content type is itself base64 encoding, then this will be base64 encoded twice - what is created by un-base64ing the content must be the specified content type. + */ + data?: string|undefined; + _data?: Element|undefined; + /** + * Very often, a server will also know of a resource that references the binary, and can automatically apply the appropriate access rules based on that reference. However, there are some circumstances where this is not appropriate, e.g. the binary is uploaded directly to the server without any linking resource, the binary is referred to from multiple different resources, and/or the binary is content such as an application logo that has less protection than any of the resources that reference it. + */ + securityContext?: Reference|undefined; +} +/** + * How this product was collected. + */ +export interface BiologicallyDerivedProductCollection extends BackboneElement { + /** + * Time of product collection. + */ + collectedDateTime?: string|undefined; + _collectedDateTime?: Element|undefined; + /** + * Time of product collection. + */ + collectedPeriod?: Period|undefined; + /** + * Healthcare professional who is performing the collection. + */ + collector?: Reference|undefined; + /** + * The patient or entity, such as a hospital or vendor in the case of a processed/manipulated/manufactured product, providing the product. + */ + source?: Reference|undefined; +} +/** + * Any processing of the product during collection that does not change the fundamental nature of the product. For example adding anti-coagulants during the collection of Peripheral Blood Stem Cells. + */ +export interface BiologicallyDerivedProductProcessing extends BackboneElement { + /** + * Substance added during processing. + */ + additive?: Reference|undefined; + /** + * Description of of processing. + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * Procesing code. + */ + procedure?: CodeableConcept|undefined; + /** + * Time of processing. + */ + timeDateTime?: string|undefined; + _timeDateTime?: Element|undefined; + /** + * Time of processing. + */ + timePeriod?: Period|undefined; +} +/** + * Any manipulation of product post-collection that is intended to alter the product. For example a buffy-coat enrichment or CD8 reduction of Peripheral Blood Stem Cells to make it more suitable for infusion. + */ +export interface BiologicallyDerivedProductManipulation extends BackboneElement { + /** + * Description of manipulation. + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * Time of manipulation. + */ + timeDateTime?: string|undefined; + _timeDateTime?: Element|undefined; + /** + * Time of manipulation. + */ + timePeriod?: Period|undefined; +} +/** + * Product storage. + */ +export interface BiologicallyDerivedProductStorage extends BackboneElement { + /** + * Description of storage. + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * Storage timeperiod. + */ + duration?: Period|undefined; + /** + * Temperature scale used. + */ + scale?: ('farenheit'|'celsius'|'kelvin')|undefined; + _scale?: Element|undefined; + /** + * Storage temperature. + */ + temperature?: number|undefined; +} +/** + * A material substance originating from a biological entity intended to be transplanted or infused + * into another (possibly the same) biological entity. + */ +export interface BiologicallyDerivedProduct extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'BiologicallyDerivedProduct'; + /** + * How this product was collected. + */ + collection?: BiologicallyDerivedProductCollection|undefined; + /** + * This records identifiers associated with this biologically derived product instance that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation). + */ + identifier?: Identifier[]|undefined; + /** + * Any manipulation of product post-collection that is intended to alter the product. For example a buffy-coat enrichment or CD8 reduction of Peripheral Blood Stem Cells to make it more suitable for infusion. + */ + manipulation?: BiologicallyDerivedProductManipulation|undefined; + /** + * For products that have multiple collections. For example Peripheral Blood Stem Cells may be collected over several days from a single donor and the donation split into in multiple containers which must be linked to the parent donation. + */ + parent?: Reference[]|undefined; + /** + * Any processing of the product during collection that does not change the fundamental nature of the product. For example adding anti-coagulants during the collection of Peripheral Blood Stem Cells. + */ + processing?: BiologicallyDerivedProductProcessing[]|undefined; + /** + * Broad category of this product. + */ + productCategory?: ('organ'|'tissue'|'fluid'|'cells'|'biologicalAgent')|undefined; + _productCategory?: Element|undefined; + /** + * A code that identifies the kind of this biologically derived product (SNOMED Ctcode). + */ + productCode?: CodeableConcept|undefined; + /** + * Number of discrete units within this product. + */ + quantity?: number|undefined; + /** + * Procedure request to obtain this biologically derived product. + */ + request?: Reference[]|undefined; + /** + * Whether the product is currently available. + */ + status?: ('available'|'unavailable')|undefined; + _status?: Element|undefined; + /** + * Product storage. + */ + storage?: BiologicallyDerivedProductStorage[]|undefined; +} +/** + * Record details about an anatomical structure. This resource may be used when a coded concept does not provide the necessary detail needed for the use case. + */ +export interface BodyStructure extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'BodyStructure'; + /** + * This element is labeled as a modifier because it may be used to mark that the resource was created in error. + */ + active?: boolean|undefined; + _active?: Element|undefined; + /** + * This description could include any visual markings used to orientate the viewer e.g. external reference points, special sutures, ink markings. + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * Identifier for this instance of the anatomical structure. + */ + identifier?: Identifier[]|undefined; + /** + * Image or images used to identify a location. + */ + image?: Attachment[]|undefined; + /** + * The anatomical location or region of the specimen, lesion, or body structure. + */ + location?: CodeableConcept|undefined; + /** + * Qualifier to refine the anatomical location. These include qualifiers for laterality, relative location, directionality, number, and plane. + */ + locationQualifier?: CodeableConcept[]|undefined; + /** + * The minimum cardinality of 0 supports the use case of specifying a location without defining a morphology. + */ + morphology?: CodeableConcept|undefined; + /** + * The person to which the body site belongs. + */ + patient: Reference; +} +/** + * Both Bundle.link and Bundle.entry.link are defined to support providing additional context when Bundles are used (e.g. [HATEOAS](http://en.wikipedia.org/wiki/HATEOAS)). + * Bundle.entry.link corresponds to links found in the HTTP header if the resource in the entry was [read](http.html#read) directly. + * This specification defines some specific uses of Bundle.link for [searching](search.html#conformance) and [paging](http.html#paging), but no specific uses for Bundle.entry.link, and no defined function in a transaction - the meaning is implementation specific. + */ +export interface BundleLink extends BackboneElement { + /** + * A name which details the functional use for this link - see [http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1](http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1). + */ + relation: string; + _relation?: Element|undefined; + /** + * The reference details for the link. + */ + url: string; + _url?: Element|undefined; +} +/** + * Information about the search process that lead to the creation of this entry. + */ +export interface BundleEntrySearch extends BackboneElement { + /** + * There is only one mode. In some corner cases, a resource may be included because it is both a match and an include. In these circumstances, 'match' takes precedence. + */ + mode?: ('match'|'include'|'outcome')|undefined; + _mode?: Element|undefined; + /** + * Servers are not required to return a ranking score. 1 is most relevant, and 0 is least relevant. Often, search results are sorted by score, but the client may specify a different sort order. + * See [Patient Match](patient-operation-match.html) for the EMPI search which relates to this element. + */ + score?: number|undefined; +} +/** + * Additional information about how this entry should be processed as part of a transaction or batch. For history, it shows how the entry was processed to create the version contained in the entry. + */ +export interface BundleEntryRequest extends BackboneElement { + /** + * Only perform the operation if the Etag value matches. For more information, see the API section ["Managing Resource Contention"](http.html#concurrency). + */ + ifMatch?: string|undefined; + _ifMatch?: Element|undefined; + /** + * Only perform the operation if the last updated date matches. See the API documentation for ["Conditional Read"](http.html#cread). + */ + ifModifiedSince?: string|undefined; + _ifModifiedSince?: Element|undefined; + /** + * Instruct the server not to perform the create if a specified resource already exists. For further information, see the API documentation for ["Conditional Create"](http.html#ccreate). This is just the query portion of the URL - what follows the "?" (not including the "?"). + */ + ifNoneExist?: string|undefined; + _ifNoneExist?: Element|undefined; + /** + * If the ETag values match, return a 304 Not Modified status. See the API documentation for ["Conditional Read"](http.html#cread). + */ + ifNoneMatch?: string|undefined; + _ifNoneMatch?: Element|undefined; + /** + * In a transaction or batch, this is the HTTP action to be executed for this entry. In a history bundle, this indicates the HTTP action that occurred. + */ + method: ('GET'|'HEAD'|'POST'|'PUT'|'DELETE'|'PATCH'); + _method?: Element|undefined; + /** + * E.g. for a Patient Create, the method would be "POST" and the URL would be "Patient". For a Patient Update, the method would be PUT and the URL would be "Patient/[id]". + */ + url: string; + _url?: Element|undefined; +} +/** + * Indicates the results of processing the corresponding 'request' entry in the batch or transaction being responded to or what the results of an operation where when returning history. + */ +export interface BundleEntryResponse extends BackboneElement { + /** + * Etags match the Resource.meta.versionId. The ETag has to match the version id in the header if a resource is included. + */ + etag?: string|undefined; + _etag?: Element|undefined; + /** + * This has to match the same time in the meta header (meta.lastUpdated) if a resource is included. + */ + lastModified?: string|undefined; + _lastModified?: Element|undefined; + /** + * The location header created by processing this operation, populated if the operation returns a location. + */ + location?: string|undefined; + _location?: Element|undefined; + /** + * For a POST/PUT operation, this is the equivalent outcome that would be returned for prefer = operationoutcome - except that the resource is always returned whether or not the outcome is returned. + * This outcome is not used for error responses in batch/transaction, only for hints and warnings. In a batch operation, the error will be in Bundle.entry.response, and for transaction, there will be a single OperationOutcome instead of a bundle in the case of an error. + */ + outcome?: FhirResource|undefined; + /** + * The status code returned by processing this entry. The status SHALL start with a 3 digit HTTP code (e.g. 404) and may contain the standard HTTP description associated with the status code. + */ + status: string; + _status?: Element|undefined; +} +/** + * An entry in a bundle resource - will either contain a resource or information about a resource (transactions and history only). + */ +export interface BundleEntry extends BackboneElement { + /** + * fullUrl might not be [unique in the context of a resource](bundle.html#bundle-unique). Note that since [FHIR resources do not need to be served through the FHIR API](references.html), the fullURL might be a URN or an absolute URL that does not end with the logical id of the resource (Resource.id). However, but if the fullUrl does look like a RESTful server URL (e.g. meets the [regex](references.html#regex), then the 'id' portion of the fullUrl SHALL end with the Resource.id. + * Note that the fullUrl is not the same as the canonical URL - it's an absolute url for an endpoint serving the resource (these will happen to have the same value on the canonical server for the resource with the canonical URL). + */ + fullUrl?: string|undefined; + _fullUrl?: Element|undefined; + /** + * A series of links that provide context to this entry. + */ + link?: BundleLink[]|undefined; + /** + * Additional information about how this entry should be processed as part of a transaction or batch. For history, it shows how the entry was processed to create the version contained in the entry. + */ + request?: BundleEntryRequest|undefined; + /** + * The Resource for the entry. The purpose/meaning of the resource is determined by the Bundle.type. + */ + resource?: BundleContentType|undefined; + /** + * Indicates the results of processing the corresponding 'request' entry in the batch or transaction being responded to or what the results of an operation where when returning history. + */ + response?: BundleEntryResponse|undefined; + /** + * Information about the search process that lead to the creation of this entry. + */ + search?: BundleEntrySearch|undefined; +} +/** + * A container for a collection of resources. + */ +export interface Bundle extends Resource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'Bundle'; + /** + * An entry in a bundle resource - will either contain a resource or information about a resource (transactions and history only). + */ + entry?: BundleEntry[]|undefined; + /** + * Persistent identity generally only matters for batches of type Document, Message, and Collection. It would not normally be populated for search and history results and servers ignore Bundle.identifier when processing batches and transactions. For Documents the .identifier SHALL be populated such that the .identifier is globally unique. + */ + identifier?: Identifier|undefined; + /** + * Both Bundle.link and Bundle.entry.link are defined to support providing additional context when Bundles are used (e.g. [HATEOAS](http://en.wikipedia.org/wiki/HATEOAS)). + * Bundle.entry.link corresponds to links found in the HTTP header if the resource in the entry was [read](http.html#read) directly. + * This specification defines some specific uses of Bundle.link for [searching](search.html#conformance) and [paging](http.html#paging), but no specific uses for Bundle.entry.link, and no defined function in a transaction - the meaning is implementation specific. + */ + link?: BundleLink[]|undefined; + /** + * The signature could be created by the "author" of the bundle or by the originating device. Requirements around inclusion of a signature, verification of signatures and treatment of signed/non-signed bundles is implementation-environment specific. + */ + signature?: Signature|undefined; + /** + * For many bundles, the timestamp is equal to .meta.lastUpdated, because they are not stored (e.g. search results). When a bundle is placed in a persistent store, .meta.lastUpdated will be usually be changed by the server. When the bundle is a message, a middleware agent altering the message (even if not stored) SHOULD update .meta.lastUpdated. .timestamp is used to track the original time of the Bundle, and SHOULD be populated. + * Usage: + * * document : the date the document was created. Note: the composition may predate the document, or be associated with multiple documents. The date of the composition - the authoring time - may be earlier than the document assembly time + * * message : the date that the content of the message was assembled. This date is not changed by middleware engines unless they add additional data that changes the meaning of the time of the message + * * history : the date that the history was assembled. This time would be used as the _since time to ask for subsequent updates + * * searchset : the time that the search set was assembled. Note that different pages MAY have different timestamps but need not. Having different timestamps does not imply that subsequent pages will represent or include changes made since the initial query + * * transaction | transaction-response | batch | batch-response | collection : no particular assigned meaning + * The timestamp value should be greater than the lastUpdated and other timestamps in the resources in the bundle, and it should be equal or earlier than the .meta.lastUpdated on the Bundle itself. + */ + timestamp?: string|undefined; + _timestamp?: Element|undefined; + /** + * Only used if the bundle is a search result set. The total does not include resources such as OperationOutcome and included resources, only the total number of matching resources. + */ + total?: number|undefined; + /** + * It's possible to use a bundle for other purposes (e.g. a document can be accepted as a transaction). This is primarily defined so that there can be specific rules for some of the bundle types. + */ + type: ('document'|'message'|'transaction'|'transaction-response'|'batch'|'batch-response'|'history'|'searchset'|'collection'); + _type?: Element|undefined; +} +/** + * Software that is covered by this capability statement. It is used when the capability statement describes the capabilities of a particular software version, independent of an installation. + */ +export interface CapabilityStatementSoftware extends BackboneElement { + /** + * Name the software is known by. + */ + name: string; + _name?: Element|undefined; + /** + * Date this version of the software was released. + */ + releaseDate?: string|undefined; + _releaseDate?: Element|undefined; + /** + * If possible, a version should be specified, as statements are likely to be different for different versions of software. + */ + version?: string|undefined; + _version?: Element|undefined; +} +/** + * Identifies a specific implementation instance that is described by the capability statement - i.e. a particular installation, rather than the capabilities of a software program. + */ +export interface CapabilityStatementImplementation extends BackboneElement { + /** + * The organization responsible for the management of the instance and oversight of the data on the server at the specified URL. + */ + custodian?: Reference|undefined; + /** + * Information about the specific installation that this capability statement relates to. + */ + description: string; + _description?: Element|undefined; + /** + * An absolute base URL for the implementation. This forms the base for REST interfaces as well as the mailbox and document interfaces. + */ + url?: string|undefined; + _url?: Element|undefined; +} +/** + * Information about security implementation from an interface perspective - what a client needs to know. + */ +export interface CapabilityStatementRestSecurity extends BackboneElement { + /** + * The easiest CORS headers to add are Access-Control-Allow-Origin: * & Access-Control-Request-Method: GET, POST, PUT, DELETE. All servers SHOULD support CORS. + */ + cors?: boolean|undefined; + _cors?: Element|undefined; + /** + * General description of how security works. + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * Types of security services that are supported/required by the system. + */ + service?: CodeableConcept[]|undefined; +} +/** + * In general, a Resource will only appear in a CapabilityStatement if the server actually has some capabilities - e.g. there is at least one interaction supported. However interactions can be omitted to support summarization (_summary = true). + */ +export interface CapabilityStatementRestResourceInteraction extends BackboneElement { + /** + * Coded identifier of the operation, supported by the system resource. + */ + code: ('read'|'vread'|'update'|'patch'|'delete'|'history-instance'|'history-type'|'create'|'search-type'); + _code?: Element|undefined; + /** + * Guidance specific to the implementation of this operation, such as 'delete is a logical delete' or 'updates are only allowed with version id' or 'creates permitted from pre-authorized certificates only'. + */ + documentation?: string|undefined; + _documentation?: Element|undefined; +} +/** + * The search parameters should include the control search parameters such as _sort, _count, etc. that also apply to this resource (though many will be listed at [CapabilityStatement.rest.searchParam](capabilitystatement-definitions.html#CapabilityStatement.rest.searchParam)). The behavior of some search parameters may be further described by other code or extension elements, or narrative within the capability statement or linked [SearchParameter](searchparameter.html#) definitions. + */ +export interface CapabilityStatementRestResourceSearchParam extends BackboneElement { + /** + * This SHOULD be present, and matches refers to a SearchParameter by its canonical URL. If systems wish to document their support for modifiers, comparators, target resource types, and chained parameters, they should do using a search parameter resource. This element SHALL be populated if the search parameter refers to a SearchParameter defined by the FHIR core specification or externally defined IGs. + */ + definition?: string|undefined; + _definition?: Element|undefined; + /** + * This allows documentation of any distinct behaviors about how the search parameter is used. For example, text matching algorithms. + */ + documentation?: string|undefined; + _documentation?: Element|undefined; + /** + * Parameter names cannot overlap with standard parameter names, and standard parameters cannot be redefined. + */ + name: string; + _name?: Element|undefined; + /** + * While this can be looked up from the definition, it is included here as a convenience for systems that autogenerate a query interface based on the server capability statement. It SHALL be the same as the type in the search parameter definition. + */ + type: ('number'|'date'|'string'|'token'|'reference'|'composite'|'quantity'|'uri'|'special'); + _type?: Element|undefined; +} +/** + * Operations linked from CapabilityStatement.rest.resource.operation must have OperationDefinition.type = true or OperationDefinition.instance = true. + * If an operation that is listed in multiple CapabilityStatement.rest.resource.operation (e.g. for different resource types), then clients should understand that the operation is only supported on the specified resource types, and that may be a subset of those listed in OperationDefinition.resource. + */ +export interface CapabilityStatementRestResourceOperation extends BackboneElement { + /** + * This can be used to build an HTML form to invoke the operation, for instance. + */ + definition: string; + _definition?: Element|undefined; + /** + * Documentation that describes anything special about the operation behavior, possibly detailing different behavior for system, type and instance-level invocation of the operation. + */ + documentation?: string|undefined; + _documentation?: Element|undefined; + /** + * The name here SHOULD be the same as the name in the definition, unless there is a name clash and the name cannot be used. The name does not include the "$" portion that is always included in the URL. + */ + name: string; + _name?: Element|undefined; +} +/** + * Max of one repetition per resource type. + */ +export interface CapabilityStatementRestResource extends BackboneElement { + /** + * Conditional Create is mainly appropriate for interface engine scripts converting from other formats, such as v2. + */ + conditionalCreate?: boolean|undefined; + _conditionalCreate?: Element|undefined; + /** + * Conditional Delete is mainly appropriate for interface engine scripts converting from other formats, such as v2. + */ + conditionalDelete?: ('not-supported'|'single'|'multiple')|undefined; + _conditionalDelete?: Element|undefined; + /** + * Conditional Read is mainly appropriate for interface engine scripts converting from other formats, such as v2. + */ + conditionalRead?: ('not-supported'|'modified-since'|'not-match'|'full-support')|undefined; + _conditionalRead?: Element|undefined; + /** + * Conditional Update is mainly appropriate for interface engine scripts converting from other formats, such as v2. + */ + conditionalUpdate?: boolean|undefined; + _conditionalUpdate?: Element|undefined; + /** + * Additional information about the resource type used by the system. + */ + documentation?: string|undefined; + _documentation?: Element|undefined; + /** + * In general, a Resource will only appear in a CapabilityStatement if the server actually has some capabilities - e.g. there is at least one interaction supported. However interactions can be omitted to support summarization (_summary = true). + */ + interaction?: CapabilityStatementRestResourceInteraction[]|undefined; + /** + * Operations linked from CapabilityStatement.rest.resource.operation must have OperationDefinition.type = true or OperationDefinition.instance = true. + * If an operation that is listed in multiple CapabilityStatement.rest.resource.operation (e.g. for different resource types), then clients should understand that the operation is only supported on the specified resource types, and that may be a subset of those listed in OperationDefinition.resource. + */ + operation?: CapabilityStatementRestResourceOperation[]|undefined; + /** + * The profile applies to all resources of this type - i.e. it is the superset of what is supported by the system. + */ + profile?: string|undefined; + _profile?: Element|undefined; + /** + * It is useful to support the vRead operation for current operations, even if past versions aren't available. + */ + readHistory?: boolean|undefined; + _readHistory?: Element|undefined; + /** + * A set of flags that defines how references are supported. + */ + referencePolicy?: ('literal'|'logical'|'resolves'|'enforced'|'local')[]|undefined; + _referencePolicy?: Element[]|undefined; + /** + * If this list is empty, the server does not support includes. + */ + searchInclude?: string[]|undefined; + _searchInclude?: Element[]|undefined; + /** + * The search parameters should include the control search parameters such as _sort, _count, etc. that also apply to this resource (though many will be listed at [CapabilityStatement.rest.searchParam](capabilitystatement-definitions.html#CapabilityStatement.rest.searchParam)). The behavior of some search parameters may be further described by other code or extension elements, or narrative within the capability statement or linked [SearchParameter](searchparameter.html#) definitions. + */ + searchParam?: CapabilityStatementRestResourceSearchParam[]|undefined; + /** + * If this list is empty, the server does not support reverse includes. + */ + searchRevInclude?: string[]|undefined; + _searchRevInclude?: Element[]|undefined; + /** + * Supported profiles are different than the profile that applies to a particular resource in .rest.resource.profile. The resource profile is a general statement of what features of the resource are supported overall by the system - the sum total of the facilities it supports. A supported profile is a deeper statement about the functionality of the data and services provided by the server (or used by the client). A typical case is a laboratory system that produces a set of different reports - this is the list of types of data that it publishes. A key aspect of declaring profiles here is the question of how the client converts knowledge that the server publishes this data into working with the data; the client can inspect individual resources to determine whether they conform to a particular profile, but how does it find the ones that do? It does so by searching using the _profile parameter, so any resources listed here must be valid values for the _profile resource (using the identifier in the target profile). + */ + supportedProfile?: string[]|undefined; + _supportedProfile?: Element[]|undefined; + /** + * A type of resource exposed via the restful interface. + */ + type: string; + _type?: Element|undefined; + /** + * Allowing the clients to create new identities on the server means that the system administrator needs to have confidence that the clients do not create clashing identities between them. Obviously, if there is only one client, this won't happen. While creating identities on the client means that the clients need to be managed, it's much more convenient for many scenarios if such management can be put in place. + */ + updateCreate?: boolean|undefined; + _updateCreate?: Element|undefined; + /** + * If a server supports versionIds correctly, it SHOULD support vread too, but is not required to do so. + */ + versioning?: ('no-version'|'versioned'|'versioned-update')|undefined; + _versioning?: Element|undefined; +} +/** + * A specification of restful operations supported by the system. + */ +export interface CapabilityStatementRestInteraction extends BackboneElement { + /** + * A coded identifier of the operation, supported by the system. + */ + code: ('transaction'|'batch'|'search-system'|'history-system'); + _code?: Element|undefined; + /** + * Guidance specific to the implementation of this operation, such as limitations on the kind of transactions allowed, or information about system wide search is implemented. + */ + documentation?: string|undefined; + _documentation?: Element|undefined; +} +/** + * Multiple repetitions allow definition of both client and/or server behaviors or possibly behaviors under different configuration settings (for software or requirements statements). + */ +export interface CapabilityStatementRest extends BackboneElement { + /** + * At present, the only defined compartments are at [CompartmentDefinition](compartmentdefinition.html). + */ + compartment?: string[]|undefined; + _compartment?: Element[]|undefined; + /** + * Information about the system's restful capabilities that apply across all applications, such as security. + */ + documentation?: string|undefined; + _documentation?: Element|undefined; + /** + * A specification of restful operations supported by the system. + */ + interaction?: CapabilityStatementRestInteraction[]|undefined; + /** + * Identifies whether this portion of the statement is describing the ability to initiate or receive restful operations. + */ + mode: ('client'|'server'); + _mode?: Element|undefined; + /** + * CapabilityStatement.rest.operation is for operations invoked at the system level, or for operations that are supported across multiple resource types. Operations linked from CapabilityStatement.rest.operation must have OperationDefinition.system = true, or more than one Operation.resource. + */ + operation?: CapabilityStatementRestResourceOperation[]|undefined; + /** + * Max of one repetition per resource type. + */ + resource?: CapabilityStatementRestResource[]|undefined; + /** + * Typically, the only search parameters supported for all searches are those that apply to all resources - tags, profiles, text search etc. These search parameters should include the control search parameters such as _sort, _count, etc. that also apply to this resource (though many will be listed at [CapabilityStatement.rest.searchParam](capabilitystatement-definitions.html#CapabilityStatement.rest.searchParam)). The behavior of some search parameters may be further described by other code or extension elements, or narrative within the capability statement or linked [SearchParameter](searchparameter.html#) definitions. + */ + searchParam?: CapabilityStatementRestResourceSearchParam[]|undefined; + /** + * Information about security implementation from an interface perspective - what a client needs to know. + */ + security?: CapabilityStatementRestSecurity|undefined; +} +/** + * An endpoint (network accessible address) to which messages and/or replies are to be sent. + */ +export interface CapabilityStatementMessagingEndpoint extends BackboneElement { + /** + * The network address of the endpoint. For solutions that do not use network addresses for routing, it can be just an identifier. + */ + address: string; + _address?: Element|undefined; + /** + * A list of the messaging transport protocol(s) identifiers, supported by this endpoint. + */ + protocol: Coding; +} +/** + * This is a proposed alternative to the messaging.event structure. + */ +export interface CapabilityStatementMessagingSupportedMessage extends BackboneElement { + /** + * Points to a message definition that identifies the messaging event, message structure, allowed responses, etc. + */ + definition: string; + _definition?: Element|undefined; + /** + * The mode of this event declaration - whether application is sender or receiver. + */ + mode: ('sender'|'receiver'); + _mode?: Element|undefined; +} +/** + * Multiple repetitions allow the documentation of multiple endpoints per solution. + */ +export interface CapabilityStatementMessaging extends BackboneElement { + /** + * Documentation about the system's messaging capabilities for this endpoint not otherwise documented by the capability statement. For example, the process for becoming an authorized messaging exchange partner. + */ + documentation?: string|undefined; + _documentation?: Element|undefined; + /** + * An endpoint (network accessible address) to which messages and/or replies are to be sent. + */ + endpoint?: CapabilityStatementMessagingEndpoint[]|undefined; + /** + * If this value is missing then the application does not implement (receiver) or depend on (sender) reliable messaging. + */ + reliableCache?: number|undefined; + /** + * This is a proposed alternative to the messaging.event structure. + */ + supportedMessage?: CapabilityStatementMessagingSupportedMessage[]|undefined; +} +/** + * A document definition. + */ +export interface CapabilityStatementDocument extends BackboneElement { + /** + * A description of how the application supports or uses the specified document profile. For example, when documents are created, what action is taken with consumed documents, etc. + */ + documentation?: string|undefined; + _documentation?: Element|undefined; + /** + * Mode of this document declaration - whether an application is a producer or consumer. + */ + mode: ('producer'|'consumer'); + _mode?: Element|undefined; + /** + * The profile is actually on the Bundle. + */ + profile: string; + _profile?: Element|undefined; +} +/** + * A Capability Statement documents a set of capabilities (behaviors) of a FHIR Server for a particular version of FHIR that may be used as a statement of actual server functionality or a statement of required or desired server implementation. + */ +export interface CapabilityStatement extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'CapabilityStatement'; + /** + * May be a web site, an email address, a telephone number, etc. + */ + contact?: ContactDetail[]|undefined; + /** + * A copyright statement relating to the capability statement and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the capability statement. + */ + copyright?: string|undefined; + _copyright?: Element|undefined; + /** + * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the capability statement. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. + */ + date: string; + _date?: Element|undefined; + /** + * This description can be used to capture details such as why the capability statement was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the capability statement as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the capability statement is presumed to be the predominant language in the place the capability statement was created).This does not need to be populated if the description is adequately implied by the software or implementation details. + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * A document definition. + */ + document?: CapabilityStatementDocument[]|undefined; + /** + * Allows filtering of capability statements that are appropriate for use versus not. + */ + experimental?: boolean|undefined; + _experimental?: Element|undefined; + /** + * Servers may implement multiple versions (see [Managing Multiple Versions](versioning.html), and the [$versions](capabilitystatement-operation-versions.html) operation). If they do, and the CapabilityStatement is requested from the server, then this fhirVersion will be either the version requested, or the server's default version. + */ + fhirVersion: string; + _fhirVersion?: Element|undefined; + /** + * "xml", "json" and "ttl" are allowed, which describe the simple encodings described in the specification (and imply appropriate bundle support). Otherwise, mime types are legal here. + */ + format: string[]; + _format?: Element[]|undefined; + /** + * Identifies a specific implementation instance that is described by the capability statement - i.e. a particular installation, rather than the capabilities of a software program. + */ + implementation?: CapabilityStatementImplementation|undefined; + /** + * A list of implementation guides that the server does (or should) support in their entirety. + */ + implementationGuide?: string[]|undefined; + _implementationGuide?: Element[]|undefined; + /** + * the contents of any directly or indirectly imported CapabilityStatements SHALL NOT overlap, i.e. they cannot refer to the same rest/resource, operations/name, searchparam/name, interaction/code, messaging/endpoint, document/mode pair. + * A capability statement that imports another CapabilityStatement automatically instantiates it too (though this is often not a very useful statement for the kinds of CapabilityStatements that are suitable for importing). + */ + imports?: string[]|undefined; + _imports?: Element[]|undefined; + /** + * HL7 defines the following Services: [Terminology Service](terminology-service.html). + * Many [Implementation Guides](http://fhir.org/guides/registry) define additional services. + */ + instantiates?: string[]|undefined; + _instantiates?: Element[]|undefined; + /** + * It may be possible for the capability statement to be used in jurisdictions other than those for which it was originally designed or intended. + */ + jurisdiction?: CodeableConcept[]|undefined; + /** + * The way that this statement is intended to be used, to describe an actual running instance of software, a particular product (kind, not instance of software) or a class of implementation (e.g. a desired purchase). + */ + kind: ('instance'|'capability'|'requirements'); + _kind?: Element|undefined; + /** + * Multiple repetitions allow the documentation of multiple endpoints per solution. + */ + messaging?: CapabilityStatementMessaging[]|undefined; + /** + * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. + */ + name?: string|undefined; + _name?: Element|undefined; + /** + * At present, the patch mime types application/json-patch+json and application/xml-patch+xml are legal. Generally, if a server supports PATCH, it would be expected to support the patch formats and match the formats it supports, but this is not always possible or necessary. + */ + patchFormat?: string[]|undefined; + _patchFormat?: Element[]|undefined; + /** + * Usually an organization but may be an individual. The publisher (or steward) of the capability statement is the organization or individual primarily responsible for the maintenance and upkeep of the capability statement. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the capability statement. This item SHOULD be populated unless the information is available from context. + */ + publisher?: string|undefined; + _publisher?: Element|undefined; + /** + * This element does not describe the usage of the capability statement. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this capability statement. + */ + purpose?: string|undefined; + _purpose?: Element|undefined; + /** + * Multiple repetitions allow definition of both client and/or server behaviors or possibly behaviors under different configuration settings (for software or requirements statements). + */ + rest?: CapabilityStatementRest[]|undefined; + /** + * Software that is covered by this capability statement. It is used when the capability statement describes the capabilities of a particular software version, independent of an installation. + */ + software?: CapabilityStatementSoftware|undefined; + /** + * Allows filtering of capability statements that are appropriate for use versus not.This is not intended for use with actual capability statements, but where capability statements are used to describe possible or desired systems. + */ + status: ('draft'|'active'|'retired'|'unknown'); + _status?: Element|undefined; + /** + * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. + */ + title?: string|undefined; + _title?: Element|undefined; + /** + * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. + * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). + * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. + */ + url?: string|undefined; + _url?: Element|undefined; + /** + * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. + */ + useContext?: UsageContext[]|undefined; + /** + * There may be different capability statement instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the capability statement with the format [url]|[version]. + */ + version?: string|undefined; + _version?: Element|undefined; +} +/** + * A simple summary of a planned activity suitable for a general care plan system (e.g. form driven) that doesn't know about specific resources such as procedure etc. + */ +export interface CarePlanActivityDetail extends BackboneElement { + /** + * Tends to be less relevant for activities involving particular products. Codes should not convey negation - use "prohibited" instead. + */ + code?: CodeableConcept|undefined; + /** + * Identifies the quantity expected to be consumed in a given day. + */ + dailyAmount?: Quantity|undefined; + /** + * This provides a textual description of constraints on the intended activity occurrence, including relation to other activities. It may also include objectives, pre-conditions and end-conditions. Finally, it may convey specifics about the activity such as body site, method, route, etc. + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * This element is labeled as a modifier because it marks an activity as an activity that is not to be performed. + */ + doNotPerform?: boolean|undefined; + _doNotPerform?: Element|undefined; + /** + * Internal reference that identifies the goals that this activity is intended to contribute towards meeting. + */ + goal?: Reference[]|undefined; + /** + * The URL pointing to a FHIR-defined protocol, guideline, questionnaire or other definition that is adhered to in whole or in part by this CarePlan activity. + */ + instantiatesCanonical?: string[]|undefined; + _instantiatesCanonical?: Element[]|undefined; + /** + * This might be an HTML page, PDF, etc. or could just be a non-resolvable URI identifier. + */ + instantiatesUri?: string[]|undefined; + _instantiatesUri?: Element[]|undefined; + /** + * A description of the kind of resource the in-line definition of a care plan activity is representing. The CarePlan.activity.detail is an in-line definition when a resource is not referenced using CarePlan.activity.reference. For example, a MedicationRequest, a ServiceRequest, or a CommunicationRequest. + */ + kind?: ('Appointment'|'CommunicationRequest'|'DeviceRequest'|'MedicationRequest'|'NutritionOrder'|'Task'|'ServiceRequest'|'VisionPrescription')|undefined; + _kind?: Element|undefined; + /** + * May reference a specific clinical location or may identify a type of location. + */ + location?: Reference|undefined; + /** + * A performer MAY also be a participant in the care plan. + */ + performer?: Reference[]|undefined; + /** + * Identifies the food, drug or other product to be consumed or supplied in the activity. + */ + productCodeableConcept?: CodeableConcept|undefined; + /** + * Identifies the food, drug or other product to be consumed or supplied in the activity. + */ + productReference?: Reference|undefined; + /** + * Identifies the quantity expected to be supplied, administered or consumed by the subject. + */ + quantity?: Quantity|undefined; + /** + * This could be a diagnosis code. If a full condition record exists or additional detail is needed, use reasonCondition instead. + */ + reasonCode?: CodeableConcept[]|undefined; + /** + * Conditions can be identified at the activity level that are not identified as reasons for the overall plan. + */ + reasonReference?: Reference[]|undefined; + /** + * The period, timing or frequency upon which the described activity is to occur. + */ + scheduledTiming?: Timing|undefined; + /** + * The period, timing or frequency upon which the described activity is to occur. + */ + scheduledPeriod?: Period|undefined; + /** + * The period, timing or frequency upon which the described activity is to occur. + */ + scheduledString?: string|undefined; + _scheduledString?: Element|undefined; + /** + * Some aspects of status can be inferred based on the resources linked in actionTaken. Note that "status" is only as current as the plan was most recently updated. + * The unknown code is not to be used to convey other statuses. The unknown code should be used when one of the statuses applies, but the authoring system doesn't know the current state of the activity. + */ + status: ('not-started'|'scheduled'|'in-progress'|'on-hold'|'completed'|'cancelled'|'stopped'|'unknown'|'entered-in-error'); + _status?: Element|undefined; + /** + * Will generally not be present if status is "complete". Be sure to prompt to update this (or at least remove the existing value) if the status is changed. + */ + statusReason?: CodeableConcept|undefined; +} +/** + * Identifies a planned action to occur as part of the plan. For example, a medication to be used, lab tests to perform, self-monitoring, education, etc. + */ +export interface CarePlanActivity extends BackboneElement { + /** + * A simple summary of a planned activity suitable for a general care plan system (e.g. form driven) that doesn't know about specific resources such as procedure etc. + */ + detail?: CarePlanActivityDetail|undefined; + /** + * Note that this should not duplicate the activity status (e.g. completed or in progress). + */ + outcomeCodeableConcept?: CodeableConcept[]|undefined; + /** + * The activity outcome is independent of the outcome of the related goal(s). For example, if the goal is to achieve a target body weight of 150 lbs and an activity is defined to diet, then the activity outcome could be calories consumed whereas the goal outcome is an observation for the actual body weight measured. + */ + outcomeReference?: Reference[]|undefined; + /** + * This element should NOT be used to describe the activity to be performed - that occurs either within the resource pointed to by activity.detail.reference or in activity.detail.description. + */ + progress?: Annotation[]|undefined; + /** + * Standard extension exists ([resource-pertainsToGoal](extension-resource-pertainstogoal.html)) that allows goals to be referenced from any of the referenced resources in CarePlan.activity.reference. + * The goal should be visible when the resource referenced by CarePlan.activity.reference is viewed independently from the CarePlan. Requests that are pointed to by a CarePlan using this element should *not* point to this CarePlan using the "basedOn" element. i.e. Requests that are part of a CarePlan are not "based on" the CarePlan. + */ + reference?: Reference|undefined; +} +/** + * Describes the intention of how one or more practitioners intend to deliver care for a particular patient, group or community for a period of time, possibly limited to care for a specific condition or set of conditions. + */ +export interface CarePlan extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'CarePlan'; + /** + * Identifies a planned action to occur as part of the plan. For example, a medication to be used, lab tests to perform, self-monitoring, education, etc. + */ + activity?: CarePlanActivity[]|undefined; + /** + * When the diagnosis is related to an allergy or intolerance, the Condition and AllergyIntolerance resources can both be used. However, to be actionable for decision support, using Condition alone is not sufficient as the allergy or intolerance condition needs to be represented as an AllergyIntolerance. + */ + addresses?: Reference[]|undefined; + /** + * The author may also be a contributor. For example, an organization can be an author, but not listed as a contributor. + */ + author?: Reference|undefined; + /** + * A care plan that is fulfilled in whole or in part by this care plan. + */ + basedOn?: Reference[]|undefined; + /** + * Identifies all people and organizations who are expected to be involved in the care envisioned by this plan. + */ + careTeam?: Reference[]|undefined; + /** + * There may be multiple axes of categorization and one plan may serve multiple purposes. In some cases, this may be redundant with references to CarePlan.concern. + */ + category?: CodeableConcept[]|undefined; + /** + * Collaborative care plans may have multiple contributors. + */ + contributor?: Reference[]|undefined; + /** + * Represents when this particular CarePlan record was created in the system, which is often a system-generated date. + */ + created?: string|undefined; + _created?: Element|undefined; + /** + * A description of the scope and nature of the plan. + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * This will typically be the encounter the event occurred within, but some activities may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter. CarePlan activities conducted as a result of the care plan may well occur as part of other encounters. + */ + encounter?: Reference|undefined; + /** + * Goal can be achieving a particular change or merely maintaining a current state or even slowing a decline. + */ + goal?: Reference[]|undefined; + /** + * This is a business identifier, not a resource identifier (see [discussion](resource.html#identifiers)). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and a Person resource instance might share the same social insurance number. + */ + identifier?: Identifier[]|undefined; + /** + * The URL pointing to a FHIR-defined protocol, guideline, questionnaire or other definition that is adhered to in whole or in part by this CarePlan. + */ + instantiatesCanonical?: string[]|undefined; + _instantiatesCanonical?: Element[]|undefined; + /** + * This might be an HTML page, PDF, etc. or could just be a non-resolvable URI identifier. + */ + instantiatesUri?: string[]|undefined; + _instantiatesUri?: Element[]|undefined; + /** + * This element is labeled as a modifier because the intent alters when and how the resource is actually applicable. + */ + intent: ('proposal'|'plan'|'order'|'option'); + _intent?: Element|undefined; + /** + * General notes about the care plan not covered elsewhere. + */ + note?: Annotation[]|undefined; + /** + * Each care plan is an independent request, such that having a care plan be part of another care plan can cause issues with cascading statuses. As such, this element is still being discussed. + */ + partOf?: Reference[]|undefined; + /** + * Any activities scheduled as part of the plan should be constrained to the specified period regardless of whether the activities are planned within a single encounter/episode or across multiple encounters/episodes (e.g. the longitudinal management of a chronic condition). + */ + period?: Period|undefined; + /** + * The replacement could be because the initial care plan was immediately rejected (due to an issue) or because the previous care plan was completed, but the need for the action described by the care plan remains ongoing. + */ + replaces?: Reference[]|undefined; + /** + * The unknown code is not to be used to convey other statuses. The unknown code should be used when one of the statuses applies, but the authoring system doesn't know the current state of the care plan. + * This element is labeled as a modifier because the status contains the code entered-in-error that marks the plan as not currently valid. + */ + status: ('draft'|'active'|'on-hold'|'revoked'|'completed'|'entered-in-error'|'unknown'); + _status?: Element|undefined; + /** + * Identifies the patient or group whose intended care is described by the plan. + */ + subject: Reference; + /** + * Use "concern" to identify specific conditions addressed by the care plan. + */ + supportingInfo?: Reference[]|undefined; + /** + * Human-friendly name for the care plan. + */ + title?: string|undefined; + _title?: Element|undefined; +} +/** + * Identifies all people and organizations who are expected to be involved in the care team. + */ +export interface CareTeamParticipant extends BackboneElement { + /** + * Patient only needs to be listed if they have a role other than "subject of care". + * Member is optional because some participants may be known only by their role, particularly in draft plans. + */ + member?: Reference|undefined; + /** + * The organization of the practitioner. + */ + onBehalfOf?: Reference|undefined; + /** + * Indicates when the specific member or organization did (or is intended to) come into effect and end. + */ + period?: Period|undefined; + /** + * Roles may sometimes be inferred by type of Practitioner. These are relationships that hold only within the context of the care team. General relationships should be handled as properties of the Patient resource directly. + */ + role?: CodeableConcept[]|undefined; +} +/** + * The Care Team includes all the people and organizations who plan to participate in the coordination and delivery of care for a patient. + */ +export interface CareTeam extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'CareTeam'; + /** + * There may be multiple axis of categorization and one team may serve multiple purposes. + */ + category?: CodeableConcept[]|undefined; + /** + * This will typically be the encounter the event occurred within, but some activities may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter. + */ + encounter?: Reference|undefined; + /** + * This is a business identifier, not a resource identifier (see [discussion](resource.html#identifiers)). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and a Person resource instance might share the same social insurance number. + */ + identifier?: Identifier[]|undefined; + /** + * The organization responsible for the care team. + */ + managingOrganization?: Reference[]|undefined; + /** + * The meaning/purpose of the team is conveyed in CareTeam.category. This element may also convey semantics of the team (e.g. "Red trauma team"), but its primary purpose is to distinguish between identical teams in a human-friendly way. ("Team 18735" isn't as friendly.). + */ + name?: string|undefined; + _name?: Element|undefined; + /** + * Comments made about the CareTeam. + */ + note?: Annotation[]|undefined; + /** + * Identifies all people and organizations who are expected to be involved in the care team. + */ + participant?: CareTeamParticipant[]|undefined; + /** + * Indicates when the team did (or is intended to) come into effect and end. + */ + period?: Period|undefined; + /** + * Describes why the care team exists. + */ + reasonCode?: CodeableConcept[]|undefined; + /** + * Condition(s) that this care team addresses. + */ + reasonReference?: Reference[]|undefined; + /** + * This element is labeled as a modifier because the status contains the code entered-in-error that marks the care team as not currently valid. + */ + status?: ('proposed'|'active'|'suspended'|'inactive'|'entered-in-error')|undefined; + _status?: Element|undefined; + /** + * Identifies the patient or group whose intended care is handled by the team. + */ + subject?: Reference|undefined; + /** + * The ContactPoint.use code of home is not appropriate to use. These contacts are not the contact details of individual care team members. + */ + telecom?: ContactPoint[]|undefined; +} +/** + * Used for example, to point to a substance, or to a device used to administer a medication. + */ +export interface CatalogEntryRelatedEntry extends BackboneElement { + /** + * The reference to the related item. + */ + item: Reference; + /** + * The type of relation to the related item: child, parent, packageContent, containerPackage, usedIn, uses, requires, etc. + */ + relationtype: ('triggers'|'is-replaced-by'); + _relationtype?: Element|undefined; +} +/** + * Catalog entries are wrappers that contextualize items included in a catalog. + */ +export interface CatalogEntry extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'CatalogEntry'; + /** + * Used for examplefor Out of Formulary, or any specifics. + */ + additionalCharacteristic?: CodeableConcept[]|undefined; + /** + * User for example for ATC classification, or. + */ + additionalClassification?: CodeableConcept[]|undefined; + /** + * Used in supporting related concepts, e.g. NDC to RxNorm. + */ + additionalIdentifier?: Identifier[]|undefined; + /** + * Classes of devices, or ATC for medication. + */ + classification?: CodeableConcept[]|undefined; + /** + * Used in supporting different identifiers for the same product, e.g. manufacturer code and retailer code. + */ + identifier?: Identifier[]|undefined; + /** + * Perhaps not needed - if we use fhir resource metadata. + */ + lastUpdated?: string|undefined; + _lastUpdated?: Element|undefined; + /** + * Whether the entry represents an orderable item. + */ + orderable: boolean; + _orderable?: Element|undefined; + /** + * The item in a catalog or definition. + */ + referencedItem: Reference; + /** + * Used for example, to point to a substance, or to a device used to administer a medication. + */ + relatedEntry?: CatalogEntryRelatedEntry[]|undefined; + /** + * Used to support catalog exchange even for unsupported products, e.g. getting list of medications even if not prescribable. + */ + status?: ('draft'|'active'|'retired'|'unknown')|undefined; + _status?: Element|undefined; + /** + * The type of item - medication, device, service, protocol or other. + */ + type?: CodeableConcept|undefined; + /** + * The time period in which this catalog entry is expected to be active. + */ + validityPeriod?: Period|undefined; + /** + * The date until which this catalog entry is expected to be active. + */ + validTo?: string|undefined; + _validTo?: Element|undefined; +} +/** + * Indicates who or what performed or participated in the charged service. + */ +export interface ChargeItemPerformer extends BackboneElement { + /** + * The device, practitioner, etc. who performed or participated in the service. + */ + actor: Reference; + /** + * Describes the type of performance or participation(e.g. primary surgeon, anesthesiologiest, etc.). + */ + function?: CodeableConcept|undefined; +} +/** + * The resource ChargeItem describes the provision of healthcare provider products for a certain patient, therefore referring not only to the product, but containing in addition details of the provision, like date, time, amounts and participating organizations and persons. Main Usage of the ChargeItem is to enable the billing process and internal cost allocation. + */ +export interface ChargeItem extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'ChargeItem'; + /** + * Systems posting the ChargeItems might not always be able to determine, which accounts the Items need to be places into. It is up to the postprocessing Financial System to apply internal rules to decide based on the Encounter/EpisodeOfCare/Patient/Coverage context and the type of ChargeItem, which Account is appropriate. + */ + account?: Reference[]|undefined; + /** + * Only used if not implicit in code found in Condition.code. If the use case requires attributes from the BodySite resource (e.g. to identify and track separately) then use the standard extension [bodySite](extension-bodysite.html). May be a summary code, or a reference to a very precise definition of the location, or both. + */ + bodysite?: CodeableConcept[]|undefined; + /** + * A code that identifies the charge, like a billing code. + */ + code: CodeableConcept; + /** + * The encounter or episode of care that establishes the context for this event. + */ + context?: Reference|undefined; + /** + * The costCenter could either be given as a reference to an Organization(Role) resource or as the identifier of the cost center determined by Reference.identifier.value and Reference.identifier.system, depending on use case requirements. + */ + costCenter?: Reference|undefined; + /** + * References the source of pricing information, rules of application for the code this ChargeItem uses. + */ + definitionCanonical?: string[]|undefined; + _definitionCanonical?: Element[]|undefined; + /** + * References the (external) source of pricing information, rules of application for the code this ChargeItem uses. + */ + definitionUri?: string[]|undefined; + _definitionUri?: Element[]|undefined; + /** + * The actual date when the service associated with the charge has been rendered is captured in occurrence[x]. + */ + enteredDate?: string|undefined; + _enteredDate?: Element|undefined; + /** + * The enterer is also the person considered responsible for factor/price overrides if applicable. + */ + enterer?: Reference|undefined; + /** + * There is no reason to carry the factor in the instance of a ChargeItem unless special circumstances require a manual override. The factors are usually defined by a set of rules in a back catalogue of the billing codes (see ChargeItem.definition). Derived profiles may require a ChargeItem.overrideReason to be provided if either factor or price are manually overridden. + */ + factorOverride?: number|undefined; + /** + * Identifiers assigned to this event performer or other systems. + */ + identifier?: Identifier[]|undefined; + /** + * Comments made about the event by the performer, subject or other participants. + */ + note?: Annotation[]|undefined; + /** + * The list of types may be constrained as appropriate for the type of charge item. + */ + occurrenceDateTime?: string|undefined; + _occurrenceDateTime?: Element|undefined; + /** + * The list of types may be constrained as appropriate for the type of charge item. + */ + occurrencePeriod?: Period|undefined; + /** + * The list of types may be constrained as appropriate for the type of charge item. + */ + occurrenceTiming?: Timing|undefined; + /** + * Derived Profiles may choose to add invariants requiring this field to be populated if either priceOverride or factorOverride have been filled. + */ + overrideReason?: string|undefined; + _overrideReason?: Element|undefined; + /** + * ChargeItems can be grouped to larger ChargeItems covering the whole set. + */ + partOf?: Reference[]|undefined; + /** + * Indicates who or what performed or participated in the charged service. + */ + performer?: ChargeItemPerformer[]|undefined; + /** + * Practitioners and Devices can be associated with multiple organizations. It has to be made clear, on behalf of which Organization the services have been rendered. + */ + performingOrganization?: Reference|undefined; + /** + * There is no reason to carry the price in the instance of a ChargeItem unless circumstances require a manual override. The list prices or are usually defined in a back catalogue of the billing codes (see ChargeItem.definition). Derived profiles may require a ChargeItem.overrideReason to be provided if either factor or price are manually overridden. + */ + priceOverride?: Money|undefined; + /** + * Identifies the device, food, drug or other product being charged either by type code or reference to an instance. + */ + productReference?: Reference|undefined; + /** + * Identifies the device, food, drug or other product being charged either by type code or reference to an instance. + */ + productCodeableConcept?: CodeableConcept|undefined; + /** + * In many cases this may just be a value, if the underlying units are implicit in the definition of the charge item code. + */ + quantity?: Quantity|undefined; + /** + * If the application of the charge item requires a reason to be given, it can be captured here. Textual reasons can be captured using reasonCode.text. + */ + reason?: CodeableConcept[]|undefined; + /** + * The rendered Service might not be associated with a Request. This property indicates which Organization requested the services to be rendered. (In many cases, this may just be the Department associated with the Encounter.location). + */ + requestingOrganization?: Reference|undefined; + /** + * Indicated the rendered service that caused this charge. + */ + service?: Reference[]|undefined; + /** + * Unknown does not represent "other" - one of the defined statuses must apply. Unknown is used when the authoring system is not sure what the current status is. + * This element is labeled as a modifier because the status contains the code entered-in-error that marks the charge item as not currently valid. + */ + status: ('planned'|'billable'|'not-billable'|'aborted'|'billed'|'entered-in-error'|'unknown'); + _status?: Element|undefined; + /** + * The individual or set of individuals the action is being or was performed on. + */ + subject: Reference; + /** + * Further information supporting this charge. + */ + supportingInformation?: Reference[]|undefined; +} +/** + * The applicability conditions can be used to ascertain whether a billing item is allowed in a specific context. E.g. some billing codes may only be applicable in out-patient settings, only to male/female patients or only to children. + */ +export interface ChargeItemDefinitionApplicability extends BackboneElement { + /** + * A brief, natural language description of the condition that effectively communicates the intended semantics. + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * Please note that FHIRPath Expressions can only be evaluated in the scope of the current ChargeItem resource to which this definition is being applied. + * FHIRPath expressions can traverse into other resources linked from the ChargeItem resource, however, testing rules such as that a billing code may be billed only once per encounter need a wider scope. In such scenarios, CQL may be the appropriate choice. + */ + expression?: string|undefined; + _expression?: Element|undefined; + /** + * The media type of the language for the expression, e.g. "text/cql" for Clinical Query Language expressions or "text/fhirpath" for FHIRPath expressions. + */ + language?: string|undefined; + _language?: Element|undefined; +} +/** + * The price for a ChargeItem may be calculated as a base price with surcharges/deductions that apply in certain conditions. A ChargeItemDefinition resource that defines the prices, factors and conditions that apply to a billing code is currently under development. The priceComponent element can be used to offer transparency to the recipient of the Invoice of how the prices have been calculated. + */ +export interface ChargeItemDefinitionPropertyGroupPriceComponent extends BackboneElement { + /** + * The amount calculated for this component. + */ + amount?: Money|undefined; + /** + * A code that identifies the component. Codes may be used to differentiate between kinds of taxes, surcharges, discounts etc. + */ + code?: CodeableConcept|undefined; + /** + * The factor that has been applied on the base price for calculating this component. + */ + factor?: number|undefined; + /** + * This code identifies the type of the component. + */ + type: ('base'|'surcharge'|'deduction'|'discount'|'tax'|'informational'); + _type?: Element|undefined; +} +/** + * Group of properties which are applicable under the same conditions. If no applicability rules are established for the group, then all properties always apply. + */ +export interface ChargeItemDefinitionPropertyGroup extends BackboneElement { + /** + * The applicability conditions can be used to ascertain whether a billing item is allowed in a specific context. E.g. some billing codes may only be applicable in out-patient settings, only to male/female patients or only to children. + */ + applicability?: ChargeItemDefinitionApplicability[]|undefined; + /** + * The price for a ChargeItem may be calculated as a base price with surcharges/deductions that apply in certain conditions. A ChargeItemDefinition resource that defines the prices, factors and conditions that apply to a billing code is currently under development. The priceComponent element can be used to offer transparency to the recipient of the Invoice of how the prices have been calculated. + */ + priceComponent?: ChargeItemDefinitionPropertyGroupPriceComponent[]|undefined; +} +/** + * The ChargeItemDefinition resource provides the properties that apply to the (billing) codes necessary to calculate costs and prices. The properties may differ largely depending on type and realm, therefore this resource gives only a rough structure and requires profiling for each type of billing code system. + */ +export interface ChargeItemDefinition extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'ChargeItemDefinition'; + /** + * The applicability conditions can be used to ascertain whether a billing item is allowed in a specific context. E.g. some billing codes may only be applicable in out-patient settings, only to male/female patients or only to children. + */ + applicability?: ChargeItemDefinitionApplicability[]|undefined; + /** + * The 'date' element may be more recent than the approval date because of minor changes or editorial corrections. + */ + approvalDate?: string|undefined; + _approvalDate?: Element|undefined; + /** + * The defined billing details in this resource pertain to the given billing code. + */ + code?: CodeableConcept|undefined; + /** + * May be a web site, an email address, a telephone number, etc. + */ + contact?: ContactDetail[]|undefined; + /** + * A copyright statement relating to the charge item definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the charge item definition. + */ + copyright?: string|undefined; + _copyright?: Element|undefined; + /** + * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the charge item definition. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. + */ + date?: string|undefined; + _date?: Element|undefined; + /** + * The URL pointing to an externally-defined charge item definition that is adhered to in whole or in part by this definition. + */ + derivedFromUri?: string[]|undefined; + _derivedFromUri?: Element[]|undefined; + /** + * This description can be used to capture details such as why the charge item definition was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the charge item definition as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the charge item definition is presumed to be the predominant language in the place the charge item definition was created). + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * The effective period for a charge item definition determines when the content is applicable for usage and is independent of publication and review dates. For example, a measure intended to be used for the year 2016 might be published in 2015. + */ + effectivePeriod?: Period|undefined; + /** + * Allows filtering of charge item definitions that are appropriate for use versus not. + */ + experimental?: boolean|undefined; + _experimental?: Element|undefined; + /** + * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this charge item definition outside of FHIR, where it is not possible to use the logical URI. + */ + identifier?: Identifier[]|undefined; + /** + * In case of highly customized, individually produced or fitted devices/substances, the pricing information may be different for each instance of the product. This reference links pricing details to specific product instances. + */ + instance?: Reference[]|undefined; + /** + * It may be possible for the charge item definition to be used in jurisdictions other than those for which it was originally designed or intended. + */ + jurisdiction?: CodeableConcept[]|undefined; + /** + * If specified, this date follows the original approval date. + */ + lastReviewDate?: string|undefined; + _lastReviewDate?: Element|undefined; + /** + * A larger definition of which this particular definition is a component or step. + */ + partOf?: string[]|undefined; + _partOf?: Element[]|undefined; + /** + * Group of properties which are applicable under the same conditions. If no applicability rules are established for the group, then all properties always apply. + */ + propertyGroup?: ChargeItemDefinitionPropertyGroup[]|undefined; + /** + * Usually an organization but may be an individual. The publisher (or steward) of the charge item definition is the organization or individual primarily responsible for the maintenance and upkeep of the charge item definition. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the charge item definition. This item SHOULD be populated unless the information is available from context. + */ + publisher?: string|undefined; + _publisher?: Element|undefined; + /** + * As new versions of a protocol or guideline are defined, allows identification of what versions are replaced by a new instance. + */ + replaces?: string[]|undefined; + _replaces?: Element[]|undefined; + /** + * Allows filtering of charge item definitions that are appropriate for use versus not. + */ + status: ('draft'|'active'|'retired'|'unknown'); + _status?: Element|undefined; + /** + * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. + */ + title?: string|undefined; + _title?: Element|undefined; + /** + * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. + * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). + * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. + */ + url: string; + _url?: Element|undefined; + /** + * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. + */ + useContext?: UsageContext[]|undefined; + /** + * There may be different charge item definition instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the charge item definition with the format [url]|[version]. + */ + version?: string|undefined; + _version?: Element|undefined; +} +/** + * For example, for the original treatment and follow-up exams. + */ +export interface ClaimRelated extends BackboneElement { + /** + * Reference to a related claim. + */ + claim?: Reference|undefined; + /** + * For example, Property/Casualty insurer claim # or Workers Compensation case # . + */ + reference?: Identifier|undefined; + /** + * For example, prior claim or umbrella. + */ + relationship?: CodeableConcept|undefined; +} +/** + * Often providers agree to receive the benefits payable to reduce the near-term costs to the patient. The insurer may decline to pay the provider and choose to pay the subscriber instead. + */ +export interface ClaimPayee extends BackboneElement { + /** + * Not required if the payee is 'subscriber' or 'provider'. + */ + party?: Reference|undefined; + /** + * Type of Party to be reimbursed: subscriber, provider, other. + */ + type: CodeableConcept; +} +/** + * The members of the team who provided the products and services. + */ +export interface ClaimCareTeam extends BackboneElement { + /** + * Member of the team who provided the product or service. + */ + provider: Reference; + /** + * The qualification of the practitioner which is applicable for this service. + */ + qualification?: CodeableConcept|undefined; + /** + * Responsible might not be required when there is only a single provider listed. + */ + responsible?: boolean|undefined; + _responsible?: Element|undefined; + /** + * Role might not be required when there is only a single provider listed. + */ + role?: CodeableConcept|undefined; + /** + * A number to uniquely identify care team entries. + */ + sequence: number; +} +/** + * Often there are multiple jurisdiction specific valuesets which are required. + */ +export interface ClaimSupportingInfo extends BackboneElement { + /** + * This may contain a category for the local bill type codes. + */ + category: CodeableConcept; + /** + * System and code pertaining to the specific information regarding special conditions relating to the setting, treatment or patient for which care is sought. + */ + code?: CodeableConcept|undefined; + /** + * For example: the reason for the additional stay, or why a tooth is missing. + */ + reason?: CodeableConcept|undefined; + /** + * A number to uniquely identify supporting information entries. + */ + sequence: number; + /** + * The date when or period to which this information refers. + */ + timingDate?: string|undefined; + _timingDate?: Element|undefined; + /** + * The date when or period to which this information refers. + */ + timingPeriod?: Period|undefined; + /** + * Could be used to provide references to other resources, document. For example could contain a PDF in an Attachment of the Police Report for an Accident. + */ + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; + /** + * Could be used to provide references to other resources, document. For example could contain a PDF in an Attachment of the Police Report for an Accident. + */ + valueString?: string|undefined; + _valueString?: Element|undefined; + /** + * Could be used to provide references to other resources, document. For example could contain a PDF in an Attachment of the Police Report for an Accident. + */ + valueQuantity?: Quantity|undefined; + /** + * Could be used to provide references to other resources, document. For example could contain a PDF in an Attachment of the Police Report for an Accident. + */ + valueAttachment?: Attachment|undefined; + /** + * Could be used to provide references to other resources, document. For example could contain a PDF in an Attachment of the Police Report for an Accident. + */ + valueReference?: Reference|undefined; +} +/** + * Information about diagnoses relevant to the claim items. + */ +export interface ClaimDiagnosis extends BackboneElement { + /** + * The nature of illness or problem in a coded form or as a reference to an external defined Condition. + */ + diagnosisCodeableConcept?: CodeableConcept|undefined; + /** + * The nature of illness or problem in a coded form or as a reference to an external defined Condition. + */ + diagnosisReference?: Reference|undefined; + /** + * Indication of whether the diagnosis was present on admission to a facility. + */ + onAdmission?: CodeableConcept|undefined; + /** + * For example DRG (Diagnosis Related Group) or a bundled billing code. A patient may have a diagnosis of a Myocardial Infarction and a DRG for HeartAttack would be assigned. The Claim item (and possible subsequent claims) would refer to the DRG for those line items that were for services related to the heart attack event. + */ + packageCode?: CodeableConcept|undefined; + /** + * Diagnosis are presented in list order to their expected importance: primary, secondary, etc. + */ + sequence: number; + /** + * For example: admitting, primary, secondary, discharge. + */ + type?: CodeableConcept[]|undefined; +} +/** + * Procedures performed on the patient relevant to the billing items with the claim. + */ +export interface ClaimProcedure extends BackboneElement { + /** + * Date and optionally time the procedure was performed. + */ + date?: string|undefined; + _date?: Element|undefined; + /** + * The code or reference to a Procedure resource which identifies the clinical intervention performed. + */ + procedureCodeableConcept?: CodeableConcept|undefined; + /** + * The code or reference to a Procedure resource which identifies the clinical intervention performed. + */ + procedureReference?: Reference|undefined; + /** + * A number to uniquely identify procedure entries. + */ + sequence: number; + /** + * For example: primary, secondary. + */ + type?: CodeableConcept[]|undefined; + /** + * Unique Device Identifiers associated with this line item. + */ + udi?: Reference[]|undefined; +} +/** + * All insurance coverages for the patient which may be applicable for reimbursement, of the products and services listed in the claim, are typically provided in the claim to allow insurers to confirm the ordering of the insurance coverages relative to local 'coordination of benefit' rules. One coverage (and only one) with 'focal=true' is to be used in the adjudication of this claim. Coverages appearing before the focal Coverage in the list, and where 'Coverage.subrogation=false', should provide a reference to the ClaimResponse containing the adjudication results of the prior claim. + */ +export interface ClaimInsurance extends BackboneElement { + /** + * A business agreement number established between the provider and the insurer for special business processing purposes. + */ + businessArrangement?: string|undefined; + _businessArrangement?: Element|undefined; + /** + * Must not be specified when 'focal=true' for this insurance. + */ + claimResponse?: Reference|undefined; + /** + * Reference to the insurance card level information contained in the Coverage resource. The coverage issuing insurer will use these details to locate the patient's actual coverage within the insurer's information system. + */ + coverage: Reference; + /** + * A patient may (will) have multiple insurance policies which provide reimbursement for healthcare services and products. For example a person may also be covered by their spouse's policy and both appear in the list (and may be from the same insurer). This flag will be set to true for only one of the listed policies and that policy will be used for adjudicating this claim. Other claims would be created to request adjudication against the other listed policies. + */ + focal: boolean; + _focal?: Element|undefined; + /** + * Only required in jurisdictions where insurers, rather than the provider, are required to send claims to insurers that appear after them in the list. This element is not required when 'subrogation=true'. + */ + identifier?: Identifier|undefined; + /** + * This value is an alphanumeric string that may be provided over the phone, via text, via paper, or within a ClaimResponse resource and is not a FHIR Identifier. + */ + preAuthRef?: string[]|undefined; + _preAuthRef?: Element[]|undefined; + /** + * A number to uniquely identify insurance entries and provide a sequence of coverages to convey coordination of benefit order. + */ + sequence: number; +} +/** + * Details of an accident which resulted in injuries which required the products and services listed in the claim. + */ +export interface ClaimAccident extends BackboneElement { + /** + * The date of the accident has to precede the dates of the products and services but within a reasonable timeframe. + */ + date: string; + _date?: Element|undefined; + /** + * The physical location of the accident event. + */ + locationAddress?: Address|undefined; + /** + * The physical location of the accident event. + */ + locationReference?: Reference|undefined; + /** + * The type or context of the accident event for the purposes of selection of potential insurance coverages and determination of coordination between insurers. + */ + type?: CodeableConcept|undefined; +} +/** + * A claim detail line. Either a simple (a product or service) or a 'group' of sub-details which are simple items. + */ +export interface ClaimItemDetailSubDetail extends BackboneElement { + /** + * Examples include Medical Care, Periodontics, Renal Dialysis, Vision Coverage. + */ + category?: CodeableConcept|undefined; + /** + * To show a 10% senior's discount, the value entered is: 0.90 (1.00 - 0.10). + */ + factor?: number|undefined; + /** + * For example in Oral whether the treatment is cosmetic or associated with TMJ, or for Medical whether the treatment was outside the clinic or out of office hours. + */ + modifier?: CodeableConcept[]|undefined; + /** + * For example, the formula: quantity * unitPrice * factor = net. Quantity and factor are assumed to be 1 if not supplied. + */ + net?: Money|undefined; + /** + * If this is an actual service or product line, i.e. not a Group, then use code to indicate the Professional Service or Product supplied (e.g. CTP, HCPCS, USCLS, ICD10, NCPDP, DIN, RxNorm, ACHI, CCI). If a grouping item then use a group code to indicate the type of thing being grouped e.g. 'glasses' or 'compound'. + */ + productOrService: CodeableConcept; + /** + * For example: Neonatal program, child dental program or drug users recovery program. + */ + programCode?: CodeableConcept[]|undefined; + /** + * The number of repetitions of a service or product. + */ + quantity?: Quantity|undefined; + /** + * The type of revenue or cost center providing the product and/or service. + */ + revenue?: CodeableConcept|undefined; + /** + * A number to uniquely identify item entries. + */ + sequence: number; + /** + * Unique Device Identifiers associated with this line item. + */ + udi?: Reference[]|undefined; + /** + * If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group. + */ + unitPrice?: Money|undefined; +} +/** + * A claim detail line. Either a simple (a product or service) or a 'group' of sub-details which are simple items. + */ +export interface ClaimItemDetail extends BackboneElement { + /** + * Examples include Medical Care, Periodontics, Renal Dialysis, Vision Coverage. + */ + category?: CodeableConcept|undefined; + /** + * To show a 10% senior's discount, the value entered is: 0.90 (1.00 - 0.10). + */ + factor?: number|undefined; + /** + * For example in Oral whether the treatment is cosmetic or associated with TMJ, or for Medical whether the treatment was outside the clinic or out of office hours. + */ + modifier?: CodeableConcept[]|undefined; + /** + * For example, the formula: quantity * unitPrice * factor = net. Quantity and factor are assumed to be 1 if not supplied. + */ + net?: Money|undefined; + /** + * If this is an actual service or product line, i.e. not a Group, then use code to indicate the Professional Service or Product supplied (e.g. CTP, HCPCS, USCLS, ICD10, NCPDP, DIN, RxNorm, ACHI, CCI). If a grouping item then use a group code to indicate the type of thing being grouped e.g. 'glasses' or 'compound'. + */ + productOrService: CodeableConcept; + /** + * For example: Neonatal program, child dental program or drug users recovery program. + */ + programCode?: CodeableConcept[]|undefined; + /** + * The number of repetitions of a service or product. + */ + quantity?: Quantity|undefined; + /** + * The type of revenue or cost center providing the product and/or service. + */ + revenue?: CodeableConcept|undefined; + /** + * A number to uniquely identify item entries. + */ + sequence: number; + /** + * A claim detail line. Either a simple (a product or service) or a 'group' of sub-details which are simple items. + */ + subDetail?: ClaimItemDetailSubDetail[]|undefined; + /** + * Unique Device Identifiers associated with this line item. + */ + udi?: Reference[]|undefined; + /** + * If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group. + */ + unitPrice?: Money|undefined; +} +/** + * A claim line. Either a simple product or service or a 'group' of details which can each be a simple items or groups of sub-details. + */ +export interface ClaimItem extends BackboneElement { + /** + * For example: Providing a tooth code, allows an insurer to identify a provider performing a filling on a tooth that was previously removed. + */ + bodySite?: CodeableConcept|undefined; + /** + * CareTeam members related to this service or product. + */ + careTeamSequence?: number[]|undefined; + /** + * Examples include Medical Care, Periodontics, Renal Dialysis, Vision Coverage. + */ + category?: CodeableConcept|undefined; + /** + * A claim detail line. Either a simple (a product or service) or a 'group' of sub-details which are simple items. + */ + detail?: ClaimItemDetail[]|undefined; + /** + * Diagnosis applicable for this service or product. + */ + diagnosisSequence?: number[]|undefined; + /** + * This will typically be the encounter the event occurred within, but some activities may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter. + */ + encounter?: Reference[]|undefined; + /** + * To show a 10% senior's discount, the value entered is: 0.90 (1.00 - 0.10). + */ + factor?: number|undefined; + /** + * Exceptions, special conditions and supporting information applicable for this service or product. + */ + informationSequence?: number[]|undefined; + /** + * Where the product or service was provided. + */ + locationCodeableConcept?: CodeableConcept|undefined; + /** + * Where the product or service was provided. + */ + locationAddress?: Address|undefined; + /** + * Where the product or service was provided. + */ + locationReference?: Reference|undefined; + /** + * For example in Oral whether the treatment is cosmetic or associated with TMJ, or for Medical whether the treatment was outside the clinic or outside of office hours. + */ + modifier?: CodeableConcept[]|undefined; + /** + * For example, the formula: quantity * unitPrice * factor = net. Quantity and factor are assumed to be 1 if not supplied. + */ + net?: Money|undefined; + /** + * Procedures applicable for this service or product. + */ + procedureSequence?: number[]|undefined; + /** + * If this is an actual service or product line, i.e. not a Group, then use code to indicate the Professional Service or Product supplied (e.g. CTP, HCPCS, USCLS, ICD10, NCPDP, DIN, RxNorm, ACHI, CCI). If a grouping item then use a group code to indicate the type of thing being grouped e.g. 'glasses' or 'compound'. + */ + productOrService: CodeableConcept; + /** + * For example: Neonatal program, child dental program or drug users recovery program. + */ + programCode?: CodeableConcept[]|undefined; + /** + * The number of repetitions of a service or product. + */ + quantity?: Quantity|undefined; + /** + * The type of revenue or cost center providing the product and/or service. + */ + revenue?: CodeableConcept|undefined; + /** + * A number to uniquely identify item entries. + */ + sequence: number; + /** + * The date or dates when the service or product was supplied, performed or completed. + */ + servicedDate?: string|undefined; + _servicedDate?: Element|undefined; + /** + * The date or dates when the service or product was supplied, performed or completed. + */ + servicedPeriod?: Period|undefined; + /** + * A region or surface of the bodySite, e.g. limb region or tooth surface(s). + */ + subSite?: CodeableConcept[]|undefined; + /** + * Unique Device Identifiers associated with this line item. + */ + udi?: Reference[]|undefined; + /** + * If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group. + */ + unitPrice?: Money|undefined; +} +/** + * A provider issued list of professional services and products which have been provided, or are to be provided, to a patient which is sent to an insurer for reimbursement. + */ +export interface Claim extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'Claim'; + /** + * Details of an accident which resulted in injuries which required the products and services listed in the claim. + */ + accident?: ClaimAccident|undefined; + /** + * Typically this would be today or in the past for a claim, and today or in the future for preauthorizations and predeterminations. Typically line item dates of service should fall within the billing period if one is specified. + */ + billablePeriod?: Period|undefined; + /** + * The members of the team who provided the products and services. + */ + careTeam?: ClaimCareTeam[]|undefined; + /** + * This field is independent of the date of creation of the resource as it may reflect the creation date of a source document prior to digitization. Typically for claims all services must be completed as of this date. + */ + created: string; + _created?: Element|undefined; + /** + * Information about diagnoses relevant to the claim items. + */ + diagnosis?: ClaimDiagnosis[]|undefined; + /** + * Individual who created the claim, predetermination or preauthorization. + */ + enterer?: Reference|undefined; + /** + * Facility where the services were provided. + */ + facility?: Reference|undefined; + /** + * This field is only used for preauthorizations. + */ + fundsReserve?: CodeableConcept|undefined; + /** + * A unique identifier assigned to this claim. + */ + identifier?: Identifier[]|undefined; + /** + * All insurance coverages for the patient which may be applicable for reimbursement, of the products and services listed in the claim, are typically provided in the claim to allow insurers to confirm the ordering of the insurance coverages relative to local 'coordination of benefit' rules. One coverage (and only one) with 'focal=true' is to be used in the adjudication of this claim. Coverages appearing before the focal Coverage in the list, and where 'Coverage.subrogation=false', should provide a reference to the ClaimResponse containing the adjudication results of the prior claim. + */ + insurance: ClaimInsurance[]; + /** + * The Insurer who is target of the request. + */ + insurer?: Reference|undefined; + /** + * A claim line. Either a simple product or service or a 'group' of details which can each be a simple items or groups of sub-details. + */ + item?: ClaimItem[]|undefined; + /** + * For example, a physician may prescribe a medication which the pharmacy determines is contraindicated, or for which the patient has an intolerance, and therefore issues a new prescription for an alternate medication which has the same therapeutic intent. The prescription from the pharmacy becomes the 'prescription' and that from the physician becomes the 'original prescription'. + */ + originalPrescription?: Reference|undefined; + /** + * The party to whom the professional services and/or products have been supplied or are being considered and for whom actual or forecast reimbursement is sought. + */ + patient: Reference; + /** + * Often providers agree to receive the benefits payable to reduce the near-term costs to the patient. The insurer may decline to pay the provider and choose to pay the subscriber instead. + */ + payee?: ClaimPayee|undefined; + /** + * Prescription to support the dispensing of pharmacy, device or vision products. + */ + prescription?: Reference|undefined; + /** + * If a claim processor is unable to complete the processing as per the priority then they should generate and error and not process the request. + */ + priority: CodeableConcept; + /** + * Procedures performed on the patient relevant to the billing items with the claim. + */ + procedure?: ClaimProcedure[]|undefined; + /** + * Typically this field would be 1..1 where this party is responsible for the claim but not necessarily professionally responsible for the provision of the individual products and services listed below. + */ + provider: Reference; + /** + * The referral resource which lists the date, practitioner, reason and other supporting information. + */ + referral?: Reference|undefined; + /** + * For example, for the original treatment and follow-up exams. + */ + related?: ClaimRelated[]|undefined; + /** + * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. + */ + status: ('active'|'cancelled'|'draft'|'entered-in-error'); + _status?: Element|undefined; + /** + * This may contain the local bill type codes, for example the US UB-04 bill type code or the CMS bill type. + */ + subType?: CodeableConcept|undefined; + /** + * Often there are multiple jurisdiction specific valuesets which are required. + */ + supportingInfo?: ClaimSupportingInfo[]|undefined; + /** + * The total value of the all the items in the claim. + */ + total?: Money|undefined; + /** + * The majority of jurisdictions use: oral, pharmacy, vision, professional and institutional, or variants on those terms, as the general styles of claims. The valueset is extensible to accommodate other jurisdictional requirements. + */ + type: CodeableConcept; + /** + * A code to indicate whether the nature of the request is: to request adjudication of products and services previously rendered; or requesting authorization and adjudication for provision in the future; or requesting the non-binding adjudication of the listed products and services which could be provided in the future. + */ + use: ('claim'|'preauthorization'|'predetermination'); + _use?: Element|undefined; +} +/** + * If this item is a group then the values here are a summary of the adjudication of the detail items. If this item is a simple product or service then this is the result of the adjudication of this item. + */ +export interface ClaimResponseItemAdjudication extends BackboneElement { + /** + * For example: amount submitted, eligible amount, co-payment, and benefit payable. + */ + amount?: Money|undefined; + /** + * For example codes indicating: Co-Pay, deductible, eligible, benefit, tax, etc. + */ + category: CodeableConcept; + /** + * For example may indicate that the funds for this benefit type have been exhausted. + */ + reason?: CodeableConcept|undefined; + /** + * For example: eligible percentage or co-payment percentage. + */ + value?: number|undefined; +} +/** + * A sub-detail adjudication of a simple product or service. + */ +export interface ClaimResponseItemDetailSubDetail extends BackboneElement { + /** + * The adjudication results. + */ + adjudication?: ClaimResponseItemAdjudication[]|undefined; + /** + * The numbers associated with notes below which apply to the adjudication of this item. + */ + noteNumber?: number[]|undefined; + /** + * A number to uniquely reference the claim sub-detail entry. + */ + subDetailSequence: number; +} +/** + * A claim detail. Either a simple (a product or service) or a 'group' of sub-details which are simple items. + */ +export interface ClaimResponseItemDetail extends BackboneElement { + /** + * The adjudication results. + */ + adjudication: ClaimResponseItemAdjudication[]; + /** + * A number to uniquely reference the claim detail entry. + */ + detailSequence: number; + /** + * The numbers associated with notes below which apply to the adjudication of this item. + */ + noteNumber?: number[]|undefined; + /** + * A sub-detail adjudication of a simple product or service. + */ + subDetail?: ClaimResponseItemDetailSubDetail[]|undefined; +} +/** + * A claim line. Either a simple (a product or service) or a 'group' of details which can also be a simple items or groups of sub-details. + */ +export interface ClaimResponseItem extends BackboneElement { + /** + * If this item is a group then the values here are a summary of the adjudication of the detail items. If this item is a simple product or service then this is the result of the adjudication of this item. + */ + adjudication: ClaimResponseItemAdjudication[]; + /** + * A claim detail. Either a simple (a product or service) or a 'group' of sub-details which are simple items. + */ + detail?: ClaimResponseItemDetail[]|undefined; + /** + * A number to uniquely reference the claim item entries. + */ + itemSequence: number; + /** + * The numbers associated with notes below which apply to the adjudication of this item. + */ + noteNumber?: number[]|undefined; +} +/** + * The third-tier service adjudications for payor added services. + */ +export interface ClaimResponseAddItemDetailSubDetail extends BackboneElement { + /** + * The adjudication results. + */ + adjudication: ClaimResponseItemAdjudication[]; + /** + * To show a 10% senior's discount, the value entered is: 0.90 (1.00 - 0.10). + */ + factor?: number|undefined; + /** + * For example in Oral whether the treatment is cosmetic or associated with TMJ, or for Medical whether the treatment was outside the clinic or outside of office hours. + */ + modifier?: CodeableConcept[]|undefined; + /** + * For example, the formula: quantity * unitPrice * factor = net. Quantity and factor are assumed to be 1 if not supplied. + */ + net?: Money|undefined; + /** + * The numbers associated with notes below which apply to the adjudication of this item. + */ + noteNumber?: number[]|undefined; + /** + * If this is an actual service or product line, i.e. not a Group, then use code to indicate the Professional Service or Product supplied (e.g. CTP, HCPCS, USCLS, ICD10, NCPDP, DIN, RxNorm, ACHI, CCI). If a grouping item then use a group code to indicate the type of thing being grouped e.g. 'glasses' or 'compound'. + */ + productOrService: CodeableConcept; + /** + * The number of repetitions of a service or product. + */ + quantity?: Quantity|undefined; + /** + * If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group. + */ + unitPrice?: Money|undefined; +} +/** + * The second-tier service adjudications for payor added services. + */ +export interface ClaimResponseAddItemDetail extends BackboneElement { + /** + * The adjudication results. + */ + adjudication: ClaimResponseItemAdjudication[]; + /** + * To show a 10% senior's discount, the value entered is: 0.90 (1.00 - 0.10). + */ + factor?: number|undefined; + /** + * For example in Oral whether the treatment is cosmetic or associated with TMJ, or for Medical whether the treatment was outside the clinic or outside of office hours. + */ + modifier?: CodeableConcept[]|undefined; + /** + * For example, the formula: quantity * unitPrice * factor = net. Quantity and factor are assumed to be 1 if not supplied. + */ + net?: Money|undefined; + /** + * The numbers associated with notes below which apply to the adjudication of this item. + */ + noteNumber?: number[]|undefined; + /** + * If this is an actual service or product line, i.e. not a Group, then use code to indicate the Professional Service or Product supplied (e.g. CTP, HCPCS, USCLS, ICD10, NCPDP, DIN, RxNorm, ACHI, CCI). If a grouping item then use a group code to indicate the type of thing being grouped e.g. 'glasses' or 'compound'. + */ + productOrService: CodeableConcept; + /** + * The number of repetitions of a service or product. + */ + quantity?: Quantity|undefined; + /** + * The third-tier service adjudications for payor added services. + */ + subDetail?: ClaimResponseAddItemDetailSubDetail[]|undefined; + /** + * If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group. + */ + unitPrice?: Money|undefined; +} +/** + * The first-tier service adjudications for payor added product or service lines. + */ +export interface ClaimResponseAddItem extends BackboneElement { + /** + * The adjudication results. + */ + adjudication: ClaimResponseItemAdjudication[]; + /** + * For example: Providing a tooth code allows an insurer to identify a provider performing a filling on a tooth that was previously removed. + */ + bodySite?: CodeableConcept|undefined; + /** + * The second-tier service adjudications for payor added services. + */ + detail?: ClaimResponseAddItemDetail[]|undefined; + /** + * The sequence number of the details within the claim item which this line is intended to replace. + */ + detailSequence?: number[]|undefined; + /** + * To show a 10% senior's discount, the value entered is: 0.90 (1.00 - 0.10). + */ + factor?: number|undefined; + /** + * Claim items which this service line is intended to replace. + */ + itemSequence?: number[]|undefined; + /** + * Where the product or service was provided. + */ + locationCodeableConcept?: CodeableConcept|undefined; + /** + * Where the product or service was provided. + */ + locationAddress?: Address|undefined; + /** + * Where the product or service was provided. + */ + locationReference?: Reference|undefined; + /** + * For example in Oral whether the treatment is cosmetic or associated with TMJ, or for Medical whether the treatment was outside the clinic or outside of office hours. + */ + modifier?: CodeableConcept[]|undefined; + /** + * For example, the formula: quantity * unitPrice * factor = net. Quantity and factor are assumed to be 1 if not supplied. + */ + net?: Money|undefined; + /** + * The numbers associated with notes below which apply to the adjudication of this item. + */ + noteNumber?: number[]|undefined; + /** + * If this is an actual service or product line, i.e. not a Group, then use code to indicate the Professional Service or Product supplied (e.g. CTP, HCPCS, USCLS, ICD10, NCPDP, DIN, RxNorm, ACHI, CCI). If a grouping item then use a group code to indicate the type of thing being grouped e.g. 'glasses' or 'compound'. + */ + productOrService: CodeableConcept; + /** + * For example: Neonatal program, child dental program or drug users recovery program. + */ + programCode?: CodeableConcept[]|undefined; + /** + * The providers who are authorized for the services rendered to the patient. + */ + provider?: Reference[]|undefined; + /** + * The number of repetitions of a service or product. + */ + quantity?: Quantity|undefined; + /** + * The date or dates when the service or product was supplied, performed or completed. + */ + servicedDate?: string|undefined; + _servicedDate?: Element|undefined; + /** + * The date or dates when the service or product was supplied, performed or completed. + */ + servicedPeriod?: Period|undefined; + /** + * The sequence number of the sub-details within the details within the claim item which this line is intended to replace. + */ + subdetailSequence?: number[]|undefined; + /** + * A region or surface of the bodySite, e.g. limb region or tooth surface(s). + */ + subSite?: CodeableConcept[]|undefined; + /** + * If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group. + */ + unitPrice?: Money|undefined; +} +/** + * Totals for amounts submitted, co-pays, benefits payable etc. + */ +export interface ClaimResponseTotal extends BackboneElement { + /** + * Monetary total amount associated with the category. + */ + amount: Money; + /** + * For example codes indicating: Co-Pay, deductible, eligible, benefit, tax, etc. + */ + category: CodeableConcept; +} +/** + * Payment details for the adjudication of the claim. + */ +export interface ClaimResponsePayment extends BackboneElement { + /** + * Insurers will deduct amounts owing from the provider (adjustment), such as a prior overpayment, from the amount owing to the provider (benefits payable) when payment is made to the provider. + */ + adjustment?: Money|undefined; + /** + * Reason for the payment adjustment. + */ + adjustmentReason?: CodeableConcept|undefined; + /** + * Benefits payable less any payment adjustment. + */ + amount: Money; + /** + * Estimated date the payment will be issued or the actual issue date of payment. + */ + date?: string|undefined; + _date?: Element|undefined; + /** + * For example: EFT number or check number. + */ + identifier?: Identifier|undefined; + /** + * Whether this represents partial or complete payment of the benefits payable. + */ + type: CodeableConcept; +} +/** + * A note that describes or explains adjudication results in a human readable form. + */ +export interface ClaimResponseProcessNote extends BackboneElement { + /** + * Only required if the language is different from the resource language. + */ + language?: CodeableConcept|undefined; + /** + * A number to uniquely identify a note entry. + */ + number?: number|undefined; + /** + * The explanation or description associated with the processing. + */ + text: string; + _text?: Element|undefined; + /** + * The business purpose of the note text. + */ + type?: ('display'|'print'|'printoper')|undefined; + _type?: Element|undefined; +} +/** + * All insurance coverages for the patient which may be applicable for reimbursement, of the products and services listed in the claim, are typically provided in the claim to allow insurers to confirm the ordering of the insurance coverages relative to local 'coordination of benefit' rules. One coverage (and only one) with 'focal=true' is to be used in the adjudication of this claim. Coverages appearing before the focal Coverage in the list, and where 'subrogation=false', should provide a reference to the ClaimResponse containing the adjudication results of the prior claim. + */ +export interface ClaimResponseInsurance extends BackboneElement { + /** + * A business agreement number established between the provider and the insurer for special business processing purposes. + */ + businessArrangement?: string|undefined; + _businessArrangement?: Element|undefined; + /** + * Must not be specified when 'focal=true' for this insurance. + */ + claimResponse?: Reference|undefined; + /** + * Reference to the insurance card level information contained in the Coverage resource. The coverage issuing insurer will use these details to locate the patient's actual coverage within the insurer's information system. + */ + coverage: Reference; + /** + * A patient may (will) have multiple insurance policies which provide reimbursement for healthcare services and products. For example a person may also be covered by their spouse's policy and both appear in the list (and may be from the same insurer). This flag will be set to true for only one of the listed policies and that policy will be used for adjudicating this claim. Other claims would be created to request adjudication against the other listed policies. + */ + focal: boolean; + _focal?: Element|undefined; + /** + * A number to uniquely identify insurance entries and provide a sequence of coverages to convey coordination of benefit order. + */ + sequence: number; +} +/** + * If the request contains errors then an error element should be provided and no adjudication related sections (item, addItem, or payment) should be present. + */ +export interface ClaimResponseError extends BackboneElement { + /** + * An error code, from a specified code system, which details why the claim could not be adjudicated. + */ + code: CodeableConcept; + /** + * The sequence number of the detail within the line item submitted which contains the error. This value is omitted when the error occurs outside of the item structure. + */ + detailSequence?: number|undefined; + /** + * The sequence number of the line item submitted which contains the error. This value is omitted when the error occurs outside of the item structure. + */ + itemSequence?: number|undefined; + /** + * The sequence number of the sub-detail within the detail within the line item submitted which contains the error. This value is omitted when the error occurs outside of the item structure. + */ + subDetailSequence?: number|undefined; +} +/** + * This resource provides the adjudication details from the processing of a Claim resource. + */ +export interface ClaimResponse extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'ClaimResponse'; + /** + * The first-tier service adjudications for payor added product or service lines. + */ + addItem?: ClaimResponseAddItem[]|undefined; + /** + * The adjudication results which are presented at the header level rather than at the line-item or add-item levels. + */ + adjudication?: ClaimResponseItemAdjudication[]|undefined; + /** + * For example: professional reports, documents, images, clinical resources, or accident reports. + */ + communicationRequest?: Reference[]|undefined; + /** + * The date this resource was created. + */ + created: string; + _created?: Element|undefined; + /** + * A human readable description of the status of the adjudication. + */ + disposition?: string|undefined; + _disposition?: Element|undefined; + /** + * If the request contains errors then an error element should be provided and no adjudication related sections (item, addItem, or payment) should be present. + */ + error?: ClaimResponseError[]|undefined; + /** + * Needed to permit insurers to include the actual form. + */ + form?: Attachment|undefined; + /** + * May be needed to identify specific jurisdictional forms. + */ + formCode?: CodeableConcept|undefined; + /** + * Fund would be release by a future claim quoting the preAuthRef of this response. Examples of values include: provider, patient, none. + */ + fundsReserve?: CodeableConcept|undefined; + /** + * A unique identifier assigned to this claim response. + */ + identifier?: Identifier[]|undefined; + /** + * All insurance coverages for the patient which may be applicable for reimbursement, of the products and services listed in the claim, are typically provided in the claim to allow insurers to confirm the ordering of the insurance coverages relative to local 'coordination of benefit' rules. One coverage (and only one) with 'focal=true' is to be used in the adjudication of this claim. Coverages appearing before the focal Coverage in the list, and where 'subrogation=false', should provide a reference to the ClaimResponse containing the adjudication results of the prior claim. + */ + insurance?: ClaimResponseInsurance[]|undefined; + /** + * The party responsible for authorization, adjudication and reimbursement. + */ + insurer: Reference; + /** + * A claim line. Either a simple (a product or service) or a 'group' of details which can also be a simple items or groups of sub-details. + */ + item?: ClaimResponseItem[]|undefined; + /** + * The resource may be used to indicate that: the request has been held (queued) for processing; that it has been processed and errors found (error); that no errors were found and that some of the adjudication has been undertaken (partial) or that all of the adjudication has been undertaken (complete). + */ + outcome: ('queued'|'complete'|'error'|'partial'); + _outcome?: Element|undefined; + /** + * The party to whom the professional services and/or products have been supplied or are being considered and for whom actual for facast reimbursement is sought. + */ + patient: Reference; + /** + * Type of Party to be reimbursed: subscriber, provider, other. + */ + payeeType?: CodeableConcept|undefined; + /** + * Payment details for the adjudication of the claim. + */ + payment?: ClaimResponsePayment|undefined; + /** + * The time frame during which this authorization is effective. + */ + preAuthPeriod?: Period|undefined; + /** + * This value is only present on preauthorization adjudications. + */ + preAuthRef?: string|undefined; + _preAuthRef?: Element|undefined; + /** + * A note that describes or explains adjudication results in a human readable form. + */ + processNote?: ClaimResponseProcessNote[]|undefined; + /** + * Original request resource reference. + */ + request?: Reference|undefined; + /** + * Typically this field would be 1..1 where this party is responsible for the claim but not necessarily professionally responsible for the provision of the individual products and services listed below. + */ + requestor?: Reference|undefined; + /** + * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. + */ + status: ('active'|'cancelled'|'draft'|'entered-in-error'); + _status?: Element|undefined; + /** + * This may contain the local bill type codes, for example the US UB-04 bill type code or the CMS bill type. + */ + subType?: CodeableConcept|undefined; + /** + * Totals for amounts submitted, co-pays, benefits payable etc. + */ + total?: ClaimResponseTotal[]|undefined; + /** + * This may contain the local bill type codes, for example the US UB-04 bill type code or the CMS bill type. + */ + type: CodeableConcept; + /** + * A code to indicate whether the nature of the request is: to request adjudication of products and services previously rendered; or requesting authorization and adjudication for provision in the future; or requesting the non-binding adjudication of the listed products and services which could be provided in the future. + */ + use: ('claim'|'preauthorization'|'predetermination'); + _use?: Element|undefined; +} +/** + * One or more sets of investigations (signs, symptoms, etc.). The actual grouping of investigations varies greatly depending on the type and context of the assessment. These investigations may include data generated during the assessment process, or data previously generated and recorded that is pertinent to the outcomes. + */ +export interface ClinicalImpressionInvestigation extends BackboneElement { + /** + * A name/code for the group ("set") of investigations. Typically, this will be something like "signs", "symptoms", "clinical", "diagnostic", but the list is not constrained, and others such groups such as (exposure|family|travel|nutritional) history may be used. + */ + code: CodeableConcept; + /** + * Most investigations are observations of one kind or another but some other specific types of data collection resources can also be used. + */ + item?: Reference[]|undefined; +} +/** + * Specific findings or diagnoses that were considered likely or relevant to ongoing treatment. + */ +export interface ClinicalImpressionFinding extends BackboneElement { + /** + * Which investigations support finding or diagnosis. + */ + basis?: string|undefined; + _basis?: Element|undefined; + /** + * Specific text or code for finding or diagnosis, which may include ruled-out or resolved conditions. + */ + itemCodeableConcept?: CodeableConcept|undefined; + /** + * Specific reference for finding or diagnosis, which may include ruled-out or resolved conditions. + */ + itemReference?: Reference|undefined; +} +/** + * A record of a clinical assessment performed to determine what problem(s) may affect the patient and before planning the treatments or management strategies that are best to manage a patient's condition. Assessments are often 1:1 with a clinical consultation / encounter, but this varies greatly depending on the clinical workflow. This resource is called "ClinicalImpression" rather than "ClinicalAssessment" to avoid confusion with the recording of assessment tools such as Apgar score. + */ +export interface ClinicalImpression extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'ClinicalImpression'; + /** + * The clinician performing the assessment. + */ + assessor?: Reference|undefined; + /** + * This is present as a place-holder only and may be removed based on feedback/work group opinion. + */ + code?: CodeableConcept|undefined; + /** + * Indicates when the documentation of the assessment was complete. + */ + date?: string|undefined; + _date?: Element|undefined; + /** + * A summary of the context and/or cause of the assessment - why / where it was performed, and what patient events/status prompted it. + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * This SHOULD be accurate to at least the minute, though some assessments only have a known date. + */ + effectiveDateTime?: string|undefined; + _effectiveDateTime?: Element|undefined; + /** + * This SHOULD be accurate to at least the minute, though some assessments only have a known date. + */ + effectivePeriod?: Period|undefined; + /** + * This will typically be the encounter the event occurred within, but some activities may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter. + */ + encounter?: Reference|undefined; + /** + * Specific findings or diagnoses that were considered likely or relevant to ongoing treatment. + */ + finding?: ClinicalImpressionFinding[]|undefined; + /** + * This is a business identifier, not a resource identifier (see [discussion](resource.html#identifiers)). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and a Person resource instance might share the same social insurance number. + */ + identifier?: Identifier[]|undefined; + /** + * One or more sets of investigations (signs, symptoms, etc.). The actual grouping of investigations varies greatly depending on the type and context of the assessment. These investigations may include data generated during the assessment process, or data previously generated and recorded that is pertinent to the outcomes. + */ + investigation?: ClinicalImpressionInvestigation[]|undefined; + /** + * Don't use this element for content that should more properly appear as one of the specific elements of the impression. + */ + note?: Annotation[]|undefined; + /** + * It is always likely that multiple previous assessments exist for a patient. The point of quoting a previous assessment is that this assessment is relative to it (see resolved). + */ + previous?: Reference|undefined; + /** + * e.g. The patient is a pregnant, has congestive heart failure, has an ‎Adenocarcinoma, and is allergic to penicillin. + */ + problem?: Reference[]|undefined; + /** + * Estimate of likely outcome. + */ + prognosisCodeableConcept?: CodeableConcept[]|undefined; + /** + * RiskAssessment expressing likely outcome. + */ + prognosisReference?: Reference[]|undefined; + /** + * Reference to a specific published clinical protocol that was followed during this assessment, and/or that provides evidence in support of the diagnosis. + */ + protocol?: string[]|undefined; + _protocol?: Element[]|undefined; + /** + * This element is labeled as a modifier because the status contains the code entered-in-error that marks the clinical impression as not currently valid. + */ + status: ('in-progress'|'completed'|'entered-in-error'); + _status?: Element|undefined; + /** + * This is generally only used for "exception" statuses such as "not-done", "suspended" or "cancelled". + * [distinct reason codes for different statuses can be enforced using invariants if they are universal bindings]. + */ + statusReason?: CodeableConcept|undefined; + /** + * The patient or group of individuals assessed as part of this record. + */ + subject: Reference; + /** + * A text summary of the investigations and the diagnosis. + */ + summary?: string|undefined; + _summary?: Element|undefined; + /** + * Information supporting the clinical impression. + */ + supportingInfo?: Reference[]|undefined; +} +/** + * Note that filters defined in code systems usually require custom code on the part of any terminology engine that will make them available for use in value set filters. For this reason, they are generally only seen in high value published terminologies. + */ +export interface CodeSystemFilter extends BackboneElement { + /** + * The code that identifies this filter when it is used as a filter in [ValueSet](valueset.html#).compose.include.filter. + */ + code: string; + _code?: Element|undefined; + /** + * A description of how or why the filter is used. + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * A list of operators that can be used with the filter. + */ + operator: ('='|'is-a'|'descendent-of'|'is-not-a'|'regex'|'in'|'not-in'|'generalizes'|'exists')[]; + _operator?: Element[]|undefined; + /** + * A description of what the value for the filter should be. + */ + value: string; + _value?: Element|undefined; +} +/** + * A property defines an additional slot through which additional information can be provided about a concept. + */ +export interface CodeSystemProperty extends BackboneElement { + /** + * A code that is used to identify the property. The code is used internally (in CodeSystem.concept.property.code) and also externally, such as in property filters. + */ + code: string; + _code?: Element|undefined; + /** + * A description of the property- why it is defined, and how its value might be used. + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * The type of the property value. Properties of type "code" contain a code defined by the code system (e.g. a reference to another defined concept). + */ + type: ('code'|'Coding'|'string'|'integer'|'boolean'|'dateTime'|'decimal'); + _type?: Element|undefined; + /** + * Reference to the formal meaning of the property. One possible source of meaning is the [Concept Properties](codesystem-concept-properties.html) code system. + */ + uri?: string|undefined; + _uri?: Element|undefined; +} +/** + * Concepts have both a ```display``` and an array of ```designation```. The display is equivalent to a special designation with an implied ```designation.use``` of "primary code" and a language equal to the [Resource Language](resource.html#language). + */ +export interface CodeSystemConceptDesignation extends BackboneElement { + /** + * In the absence of a language, the resource language applies. + */ + language?: string|undefined; + _language?: Element|undefined; + /** + * If no use is provided, the designation can be assumed to be suitable for general display to a human user. + */ + use?: Coding|undefined; + /** + * The text value for this designation. + */ + value: string; + _value?: Element|undefined; +} +/** + * A property value for this concept. + */ +export interface CodeSystemConceptProperty extends BackboneElement { + /** + * A code that is a reference to CodeSystem.property.code. + */ + code: string; + _code?: Element|undefined; + /** + * The value of this property. + */ + valueCode?: string|undefined; + _valueCode?: Element|undefined; + /** + * The value of this property. + */ + valueCoding?: Coding|undefined; + /** + * The value of this property. + */ + valueString?: string|undefined; + _valueString?: Element|undefined; + /** + * The value of this property. + */ + valueInteger?: number|undefined; + /** + * The value of this property. + */ + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; + /** + * The value of this property. + */ + valueDateTime?: string|undefined; + _valueDateTime?: Element|undefined; + /** + * The value of this property. + */ + valueDecimal?: number|undefined; +} +/** + * If this is empty, it means that the code system resource does not represent the content of the code system. + */ +export interface CodeSystemConcept extends BackboneElement { + /** + * A code - a text symbol - that uniquely identifies the concept within the code system. + */ + code: string; + _code?: Element|undefined; + /** + * Defines children of a concept to produce a hierarchy of concepts. The nature of the relationships is variable (is-a/contains/categorizes) - see hierarchyMeaning. + */ + concept?: CodeSystemConcept[]|undefined; + /** + * The formal definition of the concept. The code system resource does not make formal definitions required, because of the prevalence of legacy systems. However, they are highly recommended, as without them there is no formal meaning associated with the concept. + */ + definition?: string|undefined; + _definition?: Element|undefined; + /** + * Concepts have both a ```display``` and an array of ```designation```. The display is equivalent to a special designation with an implied ```designation.use``` of "primary code" and a language equal to the [Resource Language](resource.html#language). + */ + designation?: CodeSystemConceptDesignation[]|undefined; + /** + * A human readable string that is the recommended default way to present this concept to a user. + */ + display?: string|undefined; + _display?: Element|undefined; + /** + * A property value for this concept. + */ + property?: CodeSystemConceptProperty[]|undefined; +} +/** + * The CodeSystem resource is used to declare the existence of and describe a code system or code system supplement and its key properties, and optionally define a part or all of its content. + */ +export interface CodeSystem extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'CodeSystem'; + /** + * If this value is missing, then it is not specified whether a code system is case sensitive or not. When the rule is not known, Postel's law should be followed: produce codes with the correct case, and accept codes in any case. This element is primarily provided to support validation software. + */ + caseSensitive?: boolean|undefined; + _caseSensitive?: Element|undefined; + /** + * Note that the code system resource does not define what the compositional grammar is, only whether or not there is one. + */ + compositional?: boolean|undefined; + _compositional?: Element|undefined; + /** + * If this is empty, it means that the code system resource does not represent the content of the code system. + */ + concept?: CodeSystemConcept[]|undefined; + /** + * May be a web site, an email address, a telephone number, etc. + */ + contact?: ContactDetail[]|undefined; + /** + * The extent of the content of the code system (the concepts and codes it defines) are represented in this resource instance. + */ + content: ('not-present'|'example'|'fragment'|'complete'|'supplement'); + _content?: Element|undefined; + /** + * ... Sometimes, the copyright differs between the code system and the codes that are included. The copyright statement should clearly differentiate between these when required. + */ + copyright?: string|undefined; + _copyright?: Element|undefined; + /** + * The count of concepts defined in this resource cannot be more than this value but may be less for several reasons - see the content element. + */ + count?: number|undefined; + /** + * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the code system. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. + */ + date?: string|undefined; + _date?: Element|undefined; + /** + * This description can be used to capture details such as why the code system was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the code system as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the code system is presumed to be the predominant language in the place the code system was created). + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * Allows filtering of code systems that are appropriate for use versus not. + */ + experimental?: boolean|undefined; + _experimental?: Element|undefined; + /** + * Note that filters defined in code systems usually require custom code on the part of any terminology engine that will make them available for use in value set filters. For this reason, they are generally only seen in high value published terminologies. + */ + filter?: CodeSystemFilter[]|undefined; + /** + * Note that other representations might have a different hierarchy or none at all, and represent the information using properties. + */ + hierarchyMeaning?: ('grouped-by'|'is-a'|'part-of'|'classified-with')|undefined; + _hierarchyMeaning?: Element|undefined; + /** + * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this code system outside of FHIR, where it is not possible to use the logical URI. Note that HL7 defines at least three identifiers for many of its code systems - the FHIR canonical URL, the OID and the V2 Table 0396 mnemonic code. + */ + identifier?: Identifier[]|undefined; + /** + * It may be possible for the code system to be used in jurisdictions other than those for which it was originally designed or intended. + */ + jurisdiction?: CodeableConcept[]|undefined; + /** + * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. + */ + name?: string|undefined; + _name?: Element|undefined; + /** + * A property defines an additional slot through which additional information can be provided about a concept. + */ + property?: CodeSystemProperty[]|undefined; + /** + * Usually an organization but may be an individual. The publisher (or steward) of the code system is the organization or individual primarily responsible for the maintenance and upkeep of the code system. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the code system. This item SHOULD be populated unless the information is available from context. + */ + publisher?: string|undefined; + _publisher?: Element|undefined; + /** + * This element does not describe the usage of the code system. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this code system. + */ + purpose?: string|undefined; + _purpose?: Element|undefined; + /** + * Allows filtering of code systems that are appropriate for use versus not. + */ + status: ('draft'|'active'|'retired'|'unknown'); + _status?: Element|undefined; + /** + * The most common use of a code system supplement is to add additional language support. + */ + supplements?: string|undefined; + _supplements?: Element|undefined; + /** + * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. + */ + title?: string|undefined; + _title?: Element|undefined; + /** + * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. + * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). + * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. + */ + url?: string|undefined; + _url?: Element|undefined; + /** + * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. + */ + useContext?: UsageContext[]|undefined; + /** + * The definition of the value set SHALL include all codes from this code system and only codes from this code system, and it SHALL be immutable. + */ + valueSet?: string|undefined; + _valueSet?: Element|undefined; + /** + * There may be different code system instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the code system with the format [url]|[version]. + */ + version?: string|undefined; + _version?: Element|undefined; + /** + * Best practice is that code systems do not redefine concepts, or that if concepts are redefined, a new code system definition is created. But this is not always possible, so some code systems may be defined as 'versionNeeded'. + * Most code systems occasionally refine the displays defined for concepts between versions. Contexts in which the concept display values are validated may require that the version be specified for some code systems irrespective of the value of this property. + */ + versionNeeded?: boolean|undefined; + _versionNeeded?: Element|undefined; +} +/** + * Text, attachment(s), or resource(s) that was communicated to the recipient. + */ +export interface CommunicationPayload extends BackboneElement { + /** + * A communicated content (or for multi-part communications, one portion of the communication). + */ + contentString?: string|undefined; + _contentString?: Element|undefined; + /** + * A communicated content (or for multi-part communications, one portion of the communication). + */ + contentAttachment?: Attachment|undefined; + /** + * A communicated content (or for multi-part communications, one portion of the communication). + */ + contentReference?: Reference|undefined; +} +/** + * An occurrence of information being transmitted; e.g. an alert that was sent to a responsible provider, a public health agency that was notified about a reportable condition. + */ +export interface Communication extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'Communication'; + /** + * Don't use Communication.about element when a more specific element exists, such as basedOn or reasonReference. + */ + about?: Reference[]|undefined; + /** + * This must point to some sort of a 'Request' resource, such as CarePlan, CommunicationRequest, ServiceRequest, MedicationRequest, etc. + */ + basedOn?: Reference[]|undefined; + /** + * There may be multiple axes of categorization and one communication may serve multiple purposes. + */ + category?: CodeableConcept[]|undefined; + /** + * This will typically be the encounter the event occurred within, but some activities may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter. + */ + encounter?: Reference|undefined; + /** + * This is a business identifier, not a resource identifier (see [discussion](resource.html#identifiers)). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and a Person resource instance might share the same social insurance number. + */ + identifier?: Identifier[]|undefined; + /** + * Prior communication that this communication is in response to. + */ + inResponseTo?: Reference[]|undefined; + /** + * The URL pointing to a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this Communication. + */ + instantiatesCanonical?: string[]|undefined; + _instantiatesCanonical?: Element[]|undefined; + /** + * This might be an HTML page, PDF, etc. or could just be a non-resolvable URI identifier. + */ + instantiatesUri?: string[]|undefined; + _instantiatesUri?: Element[]|undefined; + /** + * A channel that was used for this communication (e.g. email, fax). + */ + medium?: CodeableConcept[]|undefined; + /** + * Additional notes or commentary about the communication by the sender, receiver or other interested parties. + */ + note?: Annotation[]|undefined; + /** + * Part of this action. + */ + partOf?: Reference[]|undefined; + /** + * Text, attachment(s), or resource(s) that was communicated to the recipient. + */ + payload?: CommunicationPayload[]|undefined; + /** + * Used to prioritize workflow (such as which communication to read first) when the communication is planned or in progress. + */ + priority?: ('routine'|'urgent'|'asap'|'stat')|undefined; + _priority?: Element|undefined; + /** + * Textual reasons can be captured using reasonCode.text. + */ + reasonCode?: CodeableConcept[]|undefined; + /** + * Indicates another resource whose existence justifies this communication. + */ + reasonReference?: Reference[]|undefined; + /** + * The time when this communication arrived at the destination. + */ + received?: string|undefined; + _received?: Element|undefined; + /** + * The entity (e.g. person, organization, clinical information system, care team or device) which was the target of the communication. If receipts need to be tracked by an individual, a separate resource instance will need to be created for each recipient. Multiple recipient communications are intended where either receipts are not tracked (e.g. a mass mail-out) or a receipt is captured in aggregate (all emails confirmed received by a particular time). + */ + recipient?: Reference[]|undefined; + /** + * The entity (e.g. person, organization, clinical information system, or device) which was the source of the communication. + */ + sender?: Reference|undefined; + /** + * The time when this communication was sent. + */ + sent?: string|undefined; + _sent?: Element|undefined; + /** + * This element is labeled as a modifier because the status contains the codes aborted and entered-in-error that mark the communication as not currently valid. + */ + status: ('preparation'|'in-progress'|'not-done'|'on-hold'|'stopped'|'completed'|'entered-in-error'|'unknown'); + _status?: Element|undefined; + /** + * This is generally only used for "exception" statuses such as "not-done", "suspended" or "aborted". The reason for performing the event at all is captured in reasonCode, not here. + */ + statusReason?: CodeableConcept|undefined; + /** + * The patient or group that was the focus of this communication. + */ + subject?: Reference|undefined; + /** + * Communication.topic.text can be used without any codings. + */ + topic?: CodeableConcept|undefined; +} +/** + * Text, attachment(s), or resource(s) to be communicated to the recipient. + */ +export interface CommunicationRequestPayload extends BackboneElement { + /** + * The communicated content (or for multi-part communications, one portion of the communication). + */ + contentString?: string|undefined; + _contentString?: Element|undefined; + /** + * The communicated content (or for multi-part communications, one portion of the communication). + */ + contentAttachment?: Attachment|undefined; + /** + * The communicated content (or for multi-part communications, one portion of the communication). + */ + contentReference?: Reference|undefined; +} +/** + * A request to convey information; e.g. the CDS system proposes that an alert be sent to a responsible provider, the CDS system proposes that the public health agency be notified about a reportable condition. + */ +export interface CommunicationRequest extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'CommunicationRequest'; + /** + * Don't use CommunicationRequest.about element when a more specific element exists, such as basedOn, reasonReference, or replaces. + */ + about?: Reference[]|undefined; + /** + * For draft requests, indicates the date of initial creation. For requests with other statuses, indicates the date of activation. + */ + authoredOn?: string|undefined; + _authoredOn?: Element|undefined; + /** + * A plan or proposal that is fulfilled in whole or in part by this request. + */ + basedOn?: Reference[]|undefined; + /** + * There may be multiple axes of categorization and one communication request may serve multiple purposes. + */ + category?: CodeableConcept[]|undefined; + /** + * The attributes provided with the request qualify what is not to be done. + */ + doNotPerform?: boolean|undefined; + _doNotPerform?: Element|undefined; + /** + * This will typically be the encounter the event occurred within, but some activities may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter. + */ + encounter?: Reference|undefined; + /** + * Requests are linked either by a "basedOn" relationship (i.e. one request is fulfilling another) or by having a common requisition. Requests that are part of the same requisition are generally treated independently from the perspective of changing their state or maintaining them after initial creation. + */ + groupIdentifier?: Identifier|undefined; + /** + * This is a business identifier, not a resource identifier (see [discussion](resource.html#identifiers)). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and a Person resource instance might share the same social insurance number. + */ + identifier?: Identifier[]|undefined; + /** + * A channel that was used for this communication (e.g. email, fax). + */ + medium?: CodeableConcept[]|undefined; + /** + * Comments made about the request by the requester, sender, recipient, subject or other participants. + */ + note?: Annotation[]|undefined; + /** + * The time when this communication is to occur. + */ + occurrenceDateTime?: string|undefined; + _occurrenceDateTime?: Element|undefined; + /** + * The time when this communication is to occur. + */ + occurrencePeriod?: Period|undefined; + /** + * Text, attachment(s), or resource(s) to be communicated to the recipient. + */ + payload?: CommunicationRequestPayload[]|undefined; + /** + * Characterizes how quickly the proposed act must be initiated. Includes concepts such as stat, urgent, routine. + */ + priority?: ('routine'|'urgent'|'asap'|'stat')|undefined; + _priority?: Element|undefined; + /** + * Textual reasons can be captured using reasonCode.text. + */ + reasonCode?: CodeableConcept[]|undefined; + /** + * Indicates another resource whose existence justifies this request. + */ + reasonReference?: Reference[]|undefined; + /** + * The entity (e.g. person, organization, clinical information system, device, group, or care team) which is the intended target of the communication. + */ + recipient?: Reference[]|undefined; + /** + * The replacement could be because the initial request was immediately rejected (due to an issue) or because the previous request was completed, but the need for the action described by the request remains ongoing. + */ + replaces?: Reference[]|undefined; + /** + * The device, individual, or organization who initiated the request and has responsibility for its activation. + */ + requester?: Reference|undefined; + /** + * The entity (e.g. person, organization, clinical information system, or device) which is to be the source of the communication. + */ + sender?: Reference|undefined; + /** + * The status of the proposal or order. + */ + status: ('draft'|'active'|'on-hold'|'revoked'|'completed'|'entered-in-error'|'unknown'); + _status?: Element|undefined; + /** + * This is generally only used for "exception" statuses such as "suspended" or "cancelled". The reason why the CommunicationRequest was created at all is captured in reasonCode, not here. [distinct reason codes for different statuses can be enforced using invariants if they are universal bindings]. + */ + statusReason?: CodeableConcept|undefined; + /** + * The patient or group that is the focus of this communication request. + */ + subject?: Reference|undefined; +} +/** + * Information about how a resource is related to the compartment. + */ +export interface CompartmentDefinitionResource extends BackboneElement { + /** + * The name of a resource supported by the server. + */ + code: string; + _code?: Element|undefined; + /** + * Additional documentation about the resource and compartment. + */ + documentation?: string|undefined; + _documentation?: Element|undefined; + /** + * If no search parameters are listed, then the resource is not linked to the compartment. + */ + param?: string[]|undefined; + _param?: Element[]|undefined; +} +/** + * A compartment definition that defines how resources are accessed on a server. + */ +export interface CompartmentDefinition extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'CompartmentDefinition'; + /** + * Only the specification can define the compartments that can exist. Servers can choose to support them. + */ + code: ('Patient'|'Encounter'|'RelatedPerson'|'Practitioner'|'Device'); + _code?: Element|undefined; + /** + * May be a web site, an email address, a telephone number, etc. + */ + contact?: ContactDetail[]|undefined; + /** + * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the compartment definition. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. + */ + date?: string|undefined; + _date?: Element|undefined; + /** + * This description can be used to capture details such as why the compartment definition was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the compartment definition as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the compartment definition is presumed to be the predominant language in the place the compartment definition was created). + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * Allows filtering of compartment definitions that are appropriate for use versus not. + */ + experimental?: boolean|undefined; + _experimental?: Element|undefined; + /** + * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly.This is often the same as the code for the parameter, but does not need to be. + */ + name: string; + _name?: Element|undefined; + /** + * Usually an organization but may be an individual. The publisher (or steward) of the compartment definition is the organization or individual primarily responsible for the maintenance and upkeep of the compartment definition. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the compartment definition. This item SHOULD be populated unless the information is available from context. + */ + publisher?: string|undefined; + _publisher?: Element|undefined; + /** + * This element does not describe the usage of the compartment definition. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this compartment definition. + */ + purpose?: string|undefined; + _purpose?: Element|undefined; + /** + * Information about how a resource is related to the compartment. + */ + resource?: CompartmentDefinitionResource[]|undefined; + /** + * Servers may define and use compartments to manage logical access without implementing the compartment related syntax. + */ + search: boolean; + _search?: Element|undefined; + /** + * Allows filtering of compartment definitions that are appropriate for use versus not. + */ + status: ('draft'|'active'|'retired'|'unknown'); + _status?: Element|undefined; + /** + * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. + * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). + * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. + */ + url: string; + _url?: Element|undefined; + /** + * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. + */ + useContext?: UsageContext[]|undefined; + /** + * There may be different compartment definition instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the compartment definition with the format [url]|[version]. + */ + version?: string|undefined; + _version?: Element|undefined; +} +/** + * Only list each attester once. + */ +export interface CompositionAttester extends BackboneElement { + /** + * The type of attestation the authenticator offers. + */ + mode: ('personal'|'professional'|'legal'|'official'); + _mode?: Element|undefined; + /** + * Who attested the composition in the specified way. + */ + party?: Reference|undefined; + /** + * When the composition was attested by the party. + */ + time?: string|undefined; + _time?: Element|undefined; +} +/** + * A document is a version specific composition. + */ +export interface CompositionRelatesTo extends BackboneElement { + /** + * If this document appends another document, then the document cannot be fully understood without also accessing the referenced document. + */ + code: ('replaces'|'transforms'|'signs'|'appends'); + _code?: Element|undefined; + /** + * The target composition/document of this relationship. + */ + targetIdentifier?: Identifier|undefined; + /** + * The target composition/document of this relationship. + */ + targetReference?: Reference|undefined; +} +/** + * The event needs to be consistent with the type element, though can provide further information if desired. + */ +export interface CompositionEvent extends BackboneElement { + /** + * An event can further specialize the act inherent in the typeCode, such as where it is simply "Procedure Report" and the procedure was a "colonoscopy". If one or more eventCodes are included, they SHALL NOT conflict with the values inherent in the classCode, practiceSettingCode or typeCode, as such a conflict would create an ambiguous situation. This short list of codes is provided to be used as key words for certain types of queries. + */ + code?: CodeableConcept[]|undefined; + /** + * The description and/or reference of the event(s) being documented. For example, this could be used to document such a colonoscopy or an appendectomy. + */ + detail?: Reference[]|undefined; + /** + * The period of time covered by the documentation. There is no assertion that the documentation is a complete representation for this period, only that it documents events during this time. + */ + period?: Period|undefined; +} +/** + * The root of the sections that make up the composition. + */ +export interface CompositionSection extends BackboneElement { + /** + * Identifies who is responsible for the information in this section, not necessarily who typed it in. + */ + author?: Reference[]|undefined; + /** + * The code identifies the section for an automated processor of the document. This is particularly relevant when using profiles to control the structure of the document. + * If the section has content (instead of sub-sections), the section.code does not change the meaning or interpretation of the resource that is the content of the section in the comments for the section.code. + */ + code?: CodeableConcept|undefined; + /** + * The various reasons for an empty section make a significant interpretation to its interpretation. Note that this code is for use when the entire section content has been suppressed, and not for when individual items are omitted - implementers may consider using a text note or a flag on an entry in these cases. + */ + emptyReason?: CodeableConcept|undefined; + /** + * If there are no entries in the list, an emptyReason SHOULD be provided. + */ + entry?: Reference[]|undefined; + /** + * Typically, sections in a doument are about the subject of the document, whether that is a patient, or group of patients, location, or device, or whatever. For some kind of documents, some sections actually contain data about related entities. Typical examples are a section in a newborn discharge summary concerning the mother, or family history documents, with a section about each family member, though there are many other examples. + */ + focus?: Reference|undefined; + /** + * This element is labeled as a modifier because a change list must not be misunderstood as a complete list. + */ + mode?: ('working'|'snapshot'|'changes')|undefined; + _mode?: Element|undefined; + /** + * Applications SHOULD render ordered lists in the order provided, but MAY allow users to re-order based on their own preferences as well. If there is no order specified, the order is unknown, though there may still be some order. + */ + orderedBy?: CodeableConcept|undefined; + /** + * Nested sections are primarily used to help human readers navigate to particular portions of the document. + */ + section?: CompositionSection[]|undefined; + /** + * Document profiles may define what content should be represented in the narrative to ensure clinical safety. + */ + text?: Narrative|undefined; + /** + * The title identifies the section for a human reader. The title must be consistent with the narrative of the resource that is the target of the section.content reference. Generally, sections SHOULD have titles, but in some documents, it is unnecessary or inappropriate. Typically, this is where a section has subsections that have their own adequately distinguishing title, or documents that only have a single section. Most Implementation Guides will make section title to be a required element. + */ + title?: string|undefined; + _title?: Element|undefined; +} +/** + * A set of healthcare-related information that is assembled together into a single logical package that provides a single coherent statement of meaning, establishes its own context and that has clinical attestation with regard to who is making the statement. A Composition defines the structure and narrative content necessary for a document. However, a Composition alone does not constitute a document. Rather, the Composition must be the first entry in a Bundle where Bundle.type=document, and any other resources referenced from Composition must be included as subsequent entries in the Bundle (for example Patient, Practitioner, Encounter, etc.). + */ +export interface Composition extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'Composition'; + /** + * Only list each attester once. + */ + attester?: CompositionAttester[]|undefined; + /** + * Identifies who is responsible for the information in the composition, not necessarily who typed it in. + */ + author: Reference[]; + /** + * This is a metadata field from [XDS/MHD](http://wiki.ihe.net/index.php?title=Mobile_access_to_Health_Documents_(MHD)). + */ + category?: CodeableConcept[]|undefined; + /** + * The exact use of this element, and enforcement and issues related to highly sensitive documents are out of scope for the base specification, and delegated to implementation profiles (see security section). This element is labeled as a modifier because highly confidential documents must not be treated as if they are not. + */ + confidentiality?: string|undefined; + _confidentiality?: Element|undefined; + /** + * This is useful when documents are derived from a composition - provides guidance for how to get the latest version of the document. This is optional because this is sometimes not known by the authoring system, and can be inferred by context. However, it is important that this information be known when working with a derived document, so providing a custodian is encouraged. + */ + custodian?: Reference|undefined; + /** + * The Last Modified Date on the composition may be after the date of the document was attested without being changed. + */ + date: string; + _date?: Element|undefined; + /** + * Describes the clinical encounter or type of care this documentation is associated with. + */ + encounter?: Reference|undefined; + /** + * The event needs to be consistent with the type element, though can provide further information if desired. + */ + event?: CompositionEvent[]|undefined; + /** + * Similar to ClinicalDocument/setId in CDA. See discussion in resource definition for how these relate. + */ + identifier?: Identifier|undefined; + /** + * A document is a version specific composition. + */ + relatesTo?: CompositionRelatesTo[]|undefined; + /** + * The root of the sections that make up the composition. + */ + section?: CompositionSection[]|undefined; + /** + * If a composition is marked as withdrawn, the compositions/documents in the series, or data from the composition or document series, should never be displayed to a user without being clearly marked as untrustworthy. The flag "entered-in-error" is why this element is labeled as a modifier of other elements. + * Some reporting work flows require that the original narrative of a final document never be altered; instead, only new narrative can be added. The composition resource has no explicit status for explicitly noting whether this business rule is in effect. This would be handled by an extension if required. + */ + status: ('preliminary'|'final'|'amended'|'entered-in-error'); + _status?: Element|undefined; + /** + * For clinical documents, this is usually the patient. + */ + subject?: Reference|undefined; + /** + * For many compositions, the title is the same as the text or a display name of Composition.type (e.g. a "consultation" or "progress note"). Note that CDA does not make title mandatory, but there are no known cases where it is useful for title to be omitted, so it is mandatory here. Feedback on this requirement is welcome during the trial use period. + */ + title: string; + _title?: Element|undefined; + /** + * For Composition type, LOINC is ubiquitous and strongly endorsed by HL7. Most implementation guides will require a specific LOINC code, or use LOINC as an extensible binding. + */ + type: CodeableConcept; +} +/** + * A set of additional dependencies for this mapping to hold. This mapping is only applicable if the specified element can be resolved, and it has the specified value. + */ +export interface ConceptMapGroupElementTargetDependsOn extends BackboneElement { + /** + * The display is ignored when processing the map. + */ + display?: string|undefined; + _display?: Element|undefined; + /** + * A reference to an element that holds a coded value that corresponds to a code system property. The idea is that the information model carries an element somewhere that is labeled to correspond with a code system property. + */ + property: string; + _property?: Element|undefined; + /** + * An absolute URI that identifies the code system of the dependency code (if the source/dependency is a value set that crosses code systems). + */ + system?: string|undefined; + _system?: Element|undefined; + /** + * Identity (code or path) or the element/item/ValueSet/text that the map depends on / refers to. + */ + value: string; + _value?: Element|undefined; +} +/** + * Ideally there would only be one map, with equal or equivalent mapping. But multiple maps are allowed for several narrower options, or to assert that other concepts are unmatched. + */ +export interface ConceptMapGroupElementTarget extends BackboneElement { + /** + * Identity (code or path) or the element/item that the map refers to. + */ + code?: string|undefined; + _code?: Element|undefined; + /** + * A description of status/issues in mapping that conveys additional information not represented in the structured data. + */ + comment?: string|undefined; + _comment?: Element|undefined; + /** + * A set of additional dependencies for this mapping to hold. This mapping is only applicable if the specified element can be resolved, and it has the specified value. + */ + dependsOn?: ConceptMapGroupElementTargetDependsOn[]|undefined; + /** + * The display is ignored when processing the map. + */ + display?: string|undefined; + _display?: Element|undefined; + /** + * This element is labeled as a modifier because it may indicate that a target does not apply. + */ + equivalence: ('relatedto'|'equivalent'|'equal'|'wider'|'subsumes'|'narrower'|'specializes'|'inexact'|'unmatched'|'disjoint'); + _equivalence?: Element|undefined; + /** + * A set of additional outcomes from this mapping to other elements. To properly execute this mapping, the specified element must be mapped to some data element or source that is in context. The mapping may still be useful without a place for the additional data elements, but the equivalence cannot be relied on. + */ + product?: ConceptMapGroupElementTargetDependsOn[]|undefined; +} +/** + * Generally, the ideal is that there would only be one mapping for each concept in the source value set, but a given concept may be mapped multiple times with different comments or dependencies. + */ +export interface ConceptMapGroupElement extends BackboneElement { + /** + * Identity (code or path) or the element/item being mapped. + */ + code?: string|undefined; + _code?: Element|undefined; + /** + * The display is ignored when processing the map. + */ + display?: string|undefined; + _display?: Element|undefined; + /** + * Ideally there would only be one map, with equal or equivalent mapping. But multiple maps are allowed for several narrower options, or to assert that other concepts are unmatched. + */ + target?: ConceptMapGroupElementTarget[]|undefined; +} +/** + * This only applies if the source code has a system value that matches the system defined for the group. + */ +export interface ConceptMapGroupUnmapped extends BackboneElement { + /** + * The fixed code to use when the mode = 'fixed' - all unmapped codes are mapped to a single fixed code. + */ + code?: string|undefined; + _code?: Element|undefined; + /** + * The display is ignored when processing the map. + */ + display?: string|undefined; + _display?: Element|undefined; + /** + * Defines which action to take if there is no match for the source concept in the target system designated for the group. One of 3 actions are possible: use the unmapped code (this is useful when doing a mapping between versions, and only a few codes have changed), use a fixed code (a default code), or alternatively, a reference to a different concept map can be provided (by canonical URL). + */ + mode: ('provided'|'fixed'|'other-map'); + _mode?: Element|undefined; + /** + * The canonical reference to an additional ConceptMap resource instance to use for mapping if this ConceptMap resource contains no matching mapping for the source concept. + */ + url?: string|undefined; + _url?: Element|undefined; +} +/** + * A group of mappings that all have the same source and target system. + */ +export interface ConceptMapGroup extends BackboneElement { + /** + * Generally, the ideal is that there would only be one mapping for each concept in the source value set, but a given concept may be mapped multiple times with different comments or dependencies. + */ + element: ConceptMapGroupElement[]; + /** + * This is not needed if the source value set is specified and it contains concepts from only a single system. + */ + source?: string|undefined; + _source?: Element|undefined; + /** + * The specification of a particular code system version may be required for code systems which lack concept permanence. + */ + sourceVersion?: string|undefined; + _sourceVersion?: Element|undefined; + /** + * This is not needed if the target value set is specified and it contains concepts from only a single system. The group target may also be omitted if all of the target element equivalence values are 'unmatched'. + */ + target?: string|undefined; + _target?: Element|undefined; + /** + * The specification of a particular code system version may be required for code systems which lack concept permanence. + */ + targetVersion?: string|undefined; + _targetVersion?: Element|undefined; + /** + * This only applies if the source code has a system value that matches the system defined for the group. + */ + unmapped?: ConceptMapGroupUnmapped|undefined; +} +/** + * A statement of relationships from one set of concepts to one or more other concepts - either concepts in code systems, or data element/data element concepts, or classes in class models. + */ +export interface ConceptMap extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'ConceptMap'; + /** + * May be a web site, an email address, a telephone number, etc. + */ + contact?: ContactDetail[]|undefined; + /** + * Frequently the copyright differs between the concept map and codes that are included. The copyright statement should clearly differentiate between these when required. + */ + copyright?: string|undefined; + _copyright?: Element|undefined; + /** + * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the concept map. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. + */ + date?: string|undefined; + _date?: Element|undefined; + /** + * The description is not intended to describe the semantics of the concept map. The description should capture its intended use, which is needed for ensuring integrity for its use in models across future changes. + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * Allows filtering of concept maps that are appropriate for use versus not. + */ + experimental?: boolean|undefined; + _experimental?: Element|undefined; + /** + * A group of mappings that all have the same source and target system. + */ + group?: ConceptMapGroup[]|undefined; + /** + * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this concept map outside of FHIR, where it is not possible to use the logical URI. + */ + identifier?: Identifier|undefined; + /** + * It may be possible for the concept map to be used in jurisdictions other than those for which it was originally designed or intended. + */ + jurisdiction?: CodeableConcept[]|undefined; + /** + * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. + */ + name?: string|undefined; + _name?: Element|undefined; + /** + * Usually an organization but may be an individual. The publisher (or steward) of the concept map is the organization or individual primarily responsible for the maintenance and upkeep of the concept map. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the concept map. This item SHOULD be populated unless the information is available from context. + */ + publisher?: string|undefined; + _publisher?: Element|undefined; + /** + * This element does not describe the usage of the concept map. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this concept map. + */ + purpose?: string|undefined; + _purpose?: Element|undefined; + /** + * Should be a version specific reference. URIs SHOULD be absolute. If there is no source or target value set, there is no specified context for the map (not recommended). The source value set may select codes from either an explicit (standard or local) or implicit code system. + */ + sourceUri?: string|undefined; + _sourceUri?: Element|undefined; + /** + * Should be a version specific reference. URIs SHOULD be absolute. If there is no source or target value set, there is no specified context for the map (not recommended). The source value set may select codes from either an explicit (standard or local) or implicit code system. + */ + sourceCanonical?: string|undefined; + _sourceCanonical?: Element|undefined; + /** + * Allows filtering of concept maps that are appropriate for use versus not. + */ + status: ('draft'|'active'|'retired'|'unknown'); + _status?: Element|undefined; + /** + * Should be a version specific reference. URIs SHOULD be absolute. If there is no source or target value set, the is no specified context for the map. + */ + targetUri?: string|undefined; + _targetUri?: Element|undefined; + /** + * Should be a version specific reference. URIs SHOULD be absolute. If there is no source or target value set, the is no specified context for the map. + */ + targetCanonical?: string|undefined; + _targetCanonical?: Element|undefined; + /** + * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. + */ + title?: string|undefined; + _title?: Element|undefined; + /** + * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. + * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). + * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. + */ + url?: string|undefined; + _url?: Element|undefined; + /** + * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. + */ + useContext?: UsageContext[]|undefined; + /** + * There may be different concept map instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the concept map with the format [url]|[version]. + */ + version?: string|undefined; + _version?: Element|undefined; +} +/** + * Clinical stage or grade of a condition. May include formal severity assessments. + */ +export interface ConditionStage extends BackboneElement { + /** + * Reference to a formal record of the evidence on which the staging assessment is based. + */ + assessment?: Reference[]|undefined; + /** + * A simple summary of the stage such as "Stage 3". The determination of the stage is disease-specific. + */ + summary?: CodeableConcept|undefined; + /** + * The kind of staging, such as pathological or clinical staging. + */ + type?: CodeableConcept|undefined; +} +/** + * The evidence may be a simple list of coded symptoms/manifestations, or references to observations or formal assessments, or both. + */ +export interface ConditionEvidence extends BackboneElement { + /** + * A manifestation or symptom that led to the recording of this condition. + */ + code?: CodeableConcept[]|undefined; + /** + * Links to other relevant information, including pathology reports. + */ + detail?: Reference[]|undefined; +} +/** + * A clinical condition, problem, diagnosis, or other event, situation, issue, or clinical concept that has risen to a level of concern. + */ +export interface Condition extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'Condition'; + /** + * There is no explicit distinction between resolution and remission because in many cases the distinction is not clear. Age is generally used when the patient reports an age at which the Condition abated. If there is no abatement element, it is unknown whether the condition has resolved or entered remission; applications and users should generally assume that the condition is still valid. When abatementString exists, it implies the condition is abated. + */ + abatementDateTime?: string|undefined; + _abatementDateTime?: Element|undefined; + /** + * There is no explicit distinction between resolution and remission because in many cases the distinction is not clear. Age is generally used when the patient reports an age at which the Condition abated. If there is no abatement element, it is unknown whether the condition has resolved or entered remission; applications and users should generally assume that the condition is still valid. When abatementString exists, it implies the condition is abated. + */ + abatementAge?: Age|undefined; + /** + * There is no explicit distinction between resolution and remission because in many cases the distinction is not clear. Age is generally used when the patient reports an age at which the Condition abated. If there is no abatement element, it is unknown whether the condition has resolved or entered remission; applications and users should generally assume that the condition is still valid. When abatementString exists, it implies the condition is abated. + */ + abatementPeriod?: Period|undefined; + /** + * There is no explicit distinction between resolution and remission because in many cases the distinction is not clear. Age is generally used when the patient reports an age at which the Condition abated. If there is no abatement element, it is unknown whether the condition has resolved or entered remission; applications and users should generally assume that the condition is still valid. When abatementString exists, it implies the condition is abated. + */ + abatementRange?: Range|undefined; + /** + * There is no explicit distinction between resolution and remission because in many cases the distinction is not clear. Age is generally used when the patient reports an age at which the Condition abated. If there is no abatement element, it is unknown whether the condition has resolved or entered remission; applications and users should generally assume that the condition is still valid. When abatementString exists, it implies the condition is abated. + */ + abatementString?: string|undefined; + _abatementString?: Element|undefined; + /** + * Individual who is making the condition statement. + */ + asserter?: Reference|undefined; + /** + * Only used if not implicit in code found in Condition.code. If the use case requires attributes from the BodySite resource (e.g. to identify and track separately) then use the standard extension [bodySite](extension-bodysite.html). May be a summary code, or a reference to a very precise definition of the location, or both. + */ + bodySite?: CodeableConcept[]|undefined; + /** + * The categorization is often highly contextual and may appear poorly differentiated or not very useful in other contexts. + */ + category?: CodeableConcept[]|undefined; + /** + * The data type is CodeableConcept because clinicalStatus has some clinical judgment involved, such that there might need to be more specificity than the required FHIR value set allows. For example, a SNOMED coding might allow for additional specificity. + */ + clinicalStatus?: CodeableConcept|undefined; + /** + * Identification of the condition, problem or diagnosis. + */ + code?: CodeableConcept|undefined; + /** + * This will typically be the encounter the event occurred within, but some activities may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter. This record indicates the encounter this particular record is associated with. In the case of a "new" diagnosis reflecting ongoing/revised information about the condition, this might be distinct from the first encounter in which the underlying condition was first "known". + */ + encounter?: Reference|undefined; + /** + * The evidence may be a simple list of coded symptoms/manifestations, or references to observations or formal assessments, or both. + */ + evidence?: ConditionEvidence[]|undefined; + /** + * This is a business identifier, not a resource identifier (see [discussion](resource.html#identifiers)). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and a Person resource instance might share the same social insurance number. + */ + identifier?: Identifier[]|undefined; + /** + * Additional information about the Condition. This is a general notes/comments entry for description of the Condition, its diagnosis and prognosis. + */ + note?: Annotation[]|undefined; + /** + * Age is generally used when the patient reports an age at which the Condition began to occur. + */ + onsetDateTime?: string|undefined; + _onsetDateTime?: Element|undefined; + /** + * Age is generally used when the patient reports an age at which the Condition began to occur. + */ + onsetAge?: Age|undefined; + /** + * Age is generally used when the patient reports an age at which the Condition began to occur. + */ + onsetPeriod?: Period|undefined; + /** + * Age is generally used when the patient reports an age at which the Condition began to occur. + */ + onsetRange?: Range|undefined; + /** + * Age is generally used when the patient reports an age at which the Condition began to occur. + */ + onsetString?: string|undefined; + _onsetString?: Element|undefined; + /** + * The recordedDate represents when this particular Condition record was created in the system, which is often a system-generated date. + */ + recordedDate?: string|undefined; + _recordedDate?: Element|undefined; + /** + * Individual who recorded the record and takes responsibility for its content. + */ + recorder?: Reference|undefined; + /** + * Coding of the severity with a terminology is preferred, where possible. + */ + severity?: CodeableConcept|undefined; + /** + * Clinical stage or grade of a condition. May include formal severity assessments. + */ + stage?: ConditionStage[]|undefined; + /** + * Indicates the patient or group who the condition record is associated with. + */ + subject: Reference; + /** + * verificationStatus is not required. For example, when a patient has abdominal pain in the ED, there is not likely going to be a verification status. + * The data type is CodeableConcept because verificationStatus has some clinical judgment involved, such that there might need to be more specificity than the required FHIR value set allows. For example, a SNOMED coding might allow for additional specificity. + */ + verificationStatus?: CodeableConcept|undefined; +} +/** + * The references to the policies that are included in this consent scope. Policies may be organizational, but are often defined jurisdictionally, or in law. + */ +export interface ConsentPolicy extends BackboneElement { + /** + * Entity or Organization having regulatory jurisdiction or accountability for enforcing policies pertaining to Consent Directives. + */ + authority?: string|undefined; + _authority?: Element|undefined; + /** + * This element is for discoverability / documentation and does not modify or qualify the policy rules. + */ + uri?: string|undefined; + _uri?: Element|undefined; +} +/** + * Whether a treatment instruction (e.g. artificial respiration yes or no) was verified with the patient, his/her family or another authorized person. + */ +export interface ConsentVerification extends BackboneElement { + /** + * Date verification was collected. + */ + verificationDate?: string|undefined; + _verificationDate?: Element|undefined; + /** + * Has the instruction been verified. + */ + verified: boolean; + _verified?: Element|undefined; + /** + * Who verified the instruction (Patient, Relative or other Authorized Person). + */ + verifiedWith?: Reference|undefined; +} +/** + * Who or what is controlled by this rule. Use group to identify a set of actors by some property they share (e.g. 'admitting officers'). + */ +export interface ConsentProvisionActor extends BackboneElement { + /** + * The resource that identifies the actor. To identify actors by type, use group to identify a set of actors by some property they share (e.g. 'admitting officers'). + */ + reference: Reference; + /** + * How the individual is involved in the resources content that is described in the exception. + */ + role: CodeableConcept; +} +/** + * The resources controlled by this rule if specific resources are referenced. + */ +export interface ConsentProvisionData extends BackboneElement { + /** + * How the resource reference is interpreted when testing consent restrictions. + */ + meaning: ('instance'|'related'|'dependents'|'authoredby'); + _meaning?: Element|undefined; + /** + * A reference to a specific resource that defines which resources are covered by this consent. + */ + reference: Reference; +} +/** + * An exception to the base policy of this consent. An exception can be an addition or removal of access permissions. + */ +export interface ConsentProvision extends BackboneElement { + /** + * Note that this is the direct action (not the grounds for the action covered in the purpose element). At present, the only action in the understood and tested scope of this resource is 'read'. + */ + action?: CodeableConcept[]|undefined; + /** + * Who or what is controlled by this rule. Use group to identify a set of actors by some property they share (e.g. 'admitting officers'). + */ + actor?: ConsentProvisionActor[]|undefined; + /** + * Multiple types are or'ed together. The intention of the contentType element is that the codes refer to profiles or document types defined in a standard or an implementation guide somewhere. + */ + class?: Coding[]|undefined; + /** + * Typical use of this is a Document code with class = CDA. + */ + code?: CodeableConcept[]|undefined; + /** + * The resources controlled by this rule if specific resources are referenced. + */ + data?: ConsentProvisionData[]|undefined; + /** + * This has a different sense to the Consent.period - that is when the consent agreement holds. This is the time period of the data that is controlled by the agreement. + */ + dataPeriod?: Period|undefined; + /** + * The timeframe in this rule is valid. + */ + period?: Period|undefined; + /** + * Rules which provide exceptions to the base rule or subrules. + */ + provision?: ConsentProvision[]|undefined; + /** + * When the purpose of use tag is on the data, access request purpose of use shall not conflict. + */ + purpose?: Coding[]|undefined; + /** + * If the consent specifies a security label of "R" then it applies to all resources that are labeled "R" or lower. E.g. for Confidentiality, it's a high water mark. For other kinds of security labels, subsumption logic applies. When the purpose of use tag is on the data, access request purpose of use shall not conflict. + */ + securityLabel?: Coding[]|undefined; + /** + * Action to take - permit or deny - when the rule conditions are met. Not permitted in root rule, required in all nested rules. + */ + type?: ('deny'|'permit')|undefined; + _type?: Element|undefined; +} +/** + * A record of a healthcare consumer’s choices, which permits or denies identified recipient(s) or recipient role(s) to perform one or more actions within a given policy context, for specific purposes and periods of time. + */ +export interface Consent extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'Consent'; + /** + * A classification of the type of consents found in the statement. This element supports indexing and retrieval of consent statements. + */ + category: CodeableConcept[]; + /** + * This is not the time of the original consent, but the time that this statement was made or derived. + */ + dateTime?: string|undefined; + _dateTime?: Element|undefined; + /** + * This identifier identifies this copy of the consent. Where this identifier is also used elsewhere as the identifier for a consent record (e.g. a CDA consent document) then the consent details are expected to be the same. + */ + identifier?: Identifier[]|undefined; + /** + * The organization that manages the consent, and the framework within which it is executed. + */ + organization?: Reference[]|undefined; + /** + * Commonly, the patient the consent pertains to is the author, but for young and old people, it may be some other person. + */ + patient?: Reference|undefined; + /** + * Commonly, the patient the consent pertains to is the consentor, but particularly for young and old people, it may be some other person - e.g. a legal guardian. + */ + performer?: Reference[]|undefined; + /** + * The references to the policies that are included in this consent scope. Policies may be organizational, but are often defined jurisdictionally, or in law. + */ + policy?: ConsentPolicy[]|undefined; + /** + * If the policyRule is absent, computable consent would need to be constructed from the elements of the Consent resource. + */ + policyRule?: CodeableConcept|undefined; + /** + * An exception to the base policy of this consent. An exception can be an addition or removal of access permissions. + */ + provision?: ConsentProvision|undefined; + /** + * A selector of the type of consent being presented: ADR, Privacy, Treatment, Research. This list is now extensible. + */ + scope: CodeableConcept; + /** + * The source can be contained inline (Attachment), referenced directly (Consent), referenced in a consent repository (DocumentReference), or simply by an identifier (Identifier), e.g. a CDA document id. + */ + sourceAttachment?: Attachment|undefined; + /** + * The source can be contained inline (Attachment), referenced directly (Consent), referenced in a consent repository (DocumentReference), or simply by an identifier (Identifier), e.g. a CDA document id. + */ + sourceReference?: Reference|undefined; + /** + * This element is labeled as a modifier because the status contains the codes rejected and entered-in-error that mark the Consent as not currently valid. + */ + status: ('draft'|'proposed'|'active'|'rejected'|'inactive'|'entered-in-error'); + _status?: Element|undefined; + /** + * Whether a treatment instruction (e.g. artificial respiration yes or no) was verified with the patient, his/her family or another authorized person. + */ + verification?: ConsentVerification[]|undefined; +} +/** + * Precusory content developed with a focus and intent of supporting the formation a Contract instance, which may be associated with and transformable into a Contract. + */ +export interface ContractContentDefinition extends BackboneElement { + /** + * A copyright statement relating to Contract precursor content. Copyright statements are generally legal restrictions on the use and publishing of the Contract precursor content. + */ + copyright?: string|undefined; + _copyright?: Element|undefined; + /** + * The date (and optionally time) when the contract was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the contract changes. + */ + publicationDate?: string|undefined; + _publicationDate?: Element|undefined; + /** + * amended | appended | cancelled | disputed | entered-in-error | executable | executed | negotiable | offered | policy | rejected | renewed | revoked | resolved | terminated. + */ + publicationStatus: ('amended'|'appended'|'cancelled'|'disputed'|'entered-in-error'|'executable'|'executed'|'negotiable'|'offered'|'policy'|'rejected'|'renewed'|'revoked'|'resolved'|'terminated'); + _publicationStatus?: Element|undefined; + /** + * The individual or organization that published the Contract precursor content. + */ + publisher?: Reference|undefined; + /** + * Detailed Precusory content type. + */ + subType?: CodeableConcept|undefined; + /** + * Precusory content structure and use, i.e., a boilerplate, template, application for a contract such as an insurance policy or benefits under a program, e.g., workers compensation. + */ + type: CodeableConcept; +} +/** + * Security labels that protect the handling of information about the term and its elements, which may be specifically identified.. + */ +export interface ContractTermSecurityLabel extends BackboneElement { + /** + * Security label privacy tag that species the applicable privacy and security policies governing this term and/or term elements. + */ + category?: Coding[]|undefined; + /** + * Security label privacy tag that species the level of confidentiality protection required for this term and/or term elements. + */ + classification: Coding; + /** + * Security label privacy tag that species the manner in which term and/or term elements are to be protected. + */ + control?: Coding[]|undefined; + /** + * Number used to link this term or term element to the applicable Security Label. + */ + number?: number[]|undefined; +} +/** + * Offer Recipient. + */ +export interface ContractTermOfferParty extends BackboneElement { + /** + * Participant in the offer. + */ + reference: Reference[]; + /** + * How the party participates in the offer. + */ + role: CodeableConcept; +} +/** + * Response to offer text. + */ +export interface ContractTermOfferAnswer extends BackboneElement { + /** + * Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warrently duration, or whether biospecimen may be used for further research. + */ + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; + /** + * Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warrently duration, or whether biospecimen may be used for further research. + */ + valueDecimal?: number|undefined; + /** + * Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warrently duration, or whether biospecimen may be used for further research. + */ + valueInteger?: number|undefined; + /** + * Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warrently duration, or whether biospecimen may be used for further research. + */ + valueDate?: string|undefined; + _valueDate?: Element|undefined; + /** + * Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warrently duration, or whether biospecimen may be used for further research. + */ + valueDateTime?: string|undefined; + _valueDateTime?: Element|undefined; + /** + * Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warrently duration, or whether biospecimen may be used for further research. + */ + valueTime?: string|undefined; + _valueTime?: Element|undefined; + /** + * Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warrently duration, or whether biospecimen may be used for further research. + */ + valueString?: string|undefined; + _valueString?: Element|undefined; + /** + * Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warrently duration, or whether biospecimen may be used for further research. + */ + valueUri?: string|undefined; + _valueUri?: Element|undefined; + /** + * Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warrently duration, or whether biospecimen may be used for further research. + */ + valueAttachment?: Attachment|undefined; + /** + * Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warrently duration, or whether biospecimen may be used for further research. + */ + valueCoding?: Coding|undefined; + /** + * Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warrently duration, or whether biospecimen may be used for further research. + */ + valueQuantity?: Quantity|undefined; + /** + * Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warrently duration, or whether biospecimen may be used for further research. + */ + valueReference?: Reference|undefined; +} +/** + * The matter of concern in the context of this provision of the agrement. + */ +export interface ContractTermOffer extends BackboneElement { + /** + * Response to offer text. + */ + answer?: ContractTermOfferAnswer[]|undefined; + /** + * Type of choice made by accepting party with respect to an offer made by an offeror/ grantee. + */ + decision?: CodeableConcept|undefined; + /** + * How the decision about a Contract was conveyed. + */ + decisionMode?: CodeableConcept[]|undefined; + /** + * Unique identifier for this particular Contract Provision. + */ + identifier?: Identifier[]|undefined; + /** + * The id of the clause or question text of the offer in the referenced questionnaire/response. + */ + linkId?: string[]|undefined; + _linkId?: Element[]|undefined; + /** + * Offer Recipient. + */ + party?: ContractTermOfferParty[]|undefined; + /** + * Security labels that protects the offer. + */ + securityLabelNumber?: number[]|undefined; + /** + * Human readable form of this Contract Offer. + */ + text?: string|undefined; + _text?: Element|undefined; + /** + * The Contract.topic may be an application for or offer of a policy or service (e.g., uri to a consent directive form or a health insurance policy), which becomes the Contract once accepted by both the grantor and grantee. + * The Contract Resource may function simply as the computable representation of the executed contract, which may be the attached to the Contract Resource as the “binding” or as the “friendly” electronic form. For example, a Contract Resource may be automatically populated with the values expressed in a related QuestionnaireResponse. + * However, the Contract Resource may be considered the legally binding contract if it is the only “executed” form of this contract, and includes the signatures as *The Contract Resource may function as the computable representation of an application or offer in a pre-executed Contract if the grantor has not entered any values. In this case, it is populated with values in a “legal” form of the application or offer or by the values in an associated Questionnaire. If the grantor has filled in the legal form or the associated Questionnaire Response, then these values are used to populate a pre-executed Contract Resource. + * If the Contract.topic is considered an application or offer, then the policy is often required to be attached as the “legal” basis for the application to ensure “informed consent” to the contract, and that any discrepancy between the application and the policy are interpreted against the policy. Implementers should check organizational and jurisdictional policies to determine the relationship among multiple representations of a contract pre- and post-execution. + */ + topic?: Reference|undefined; + /** + * Type of Contract Provision such as specific requirements, purposes for actions, obligations, prohibitions, e.g. life time maximum benefit. + */ + type?: CodeableConcept|undefined; +} +/** + * Circumstance of the asset. + */ +export interface ContractTermAssetContext extends BackboneElement { + /** + * Coded representation of the context generally or of the Referenced entity, such as the asset holder type or location. + */ + code?: CodeableConcept[]|undefined; + /** + * Asset context reference may include the creator, custodian, or owning Person or Organization (e.g., bank, repository), location held, e.g., building, jurisdiction. + */ + reference?: Reference|undefined; + /** + * Context description. + */ + text?: string|undefined; + _text?: Element|undefined; +} +/** + * Contract Valued Item List. + */ +export interface ContractTermAssetValuedItem extends BackboneElement { + /** + * Indicates the time during which this Contract ValuedItem information is effective. + */ + effectiveTime?: string|undefined; + _effectiveTime?: Element|undefined; + /** + * Specific type of Contract Valued Item that may be priced. + */ + entityCodeableConcept?: CodeableConcept|undefined; + /** + * Specific type of Contract Valued Item that may be priced. + */ + entityReference?: Reference|undefined; + /** + * A real number that represents a multiplier used in determining the overall value of the Contract Valued Item delivered. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount. + */ + factor?: number|undefined; + /** + * Identifies a Contract Valued Item instance. + */ + identifier?: Identifier|undefined; + /** + * Id of the clause or question text related to the context of this valuedItem in the referenced form or QuestionnaireResponse. + */ + linkId?: string[]|undefined; + _linkId?: Element[]|undefined; + /** + * Expresses the product of the Contract Valued Item unitQuantity and the unitPriceAmt. For example, the formula: unit Quantity * unit Price (Cost per Point) * factor Number * points = net Amount. Quantity, factor and points are assumed to be 1 if not supplied. + */ + net?: Money|undefined; + /** + * Terms of valuation. + */ + payment?: string|undefined; + _payment?: Element|undefined; + /** + * When payment is due. + */ + paymentDate?: string|undefined; + _paymentDate?: Element|undefined; + /** + * An amount that expresses the weighting (based on difficulty, cost and/or resource intensiveness) associated with the Contract Valued Item delivered. The concept of Points allows for assignment of point values for a Contract Valued Item, such that a monetary amount can be assigned to each point. + */ + points?: number|undefined; + /** + * Specifies the units by which the Contract Valued Item is measured or counted, and quantifies the countable or measurable Contract Valued Item instances. + */ + quantity?: Quantity|undefined; + /** + * Who will receive payment. + */ + recipient?: Reference|undefined; + /** + * Who will make payment. + */ + responsible?: Reference|undefined; + /** + * A set of security labels that define which terms are controlled by this condition. + */ + securityLabelNumber?: number[]|undefined; + /** + * A Contract Valued Item unit valuation measure. + */ + unitPrice?: Money|undefined; +} +/** + * Contract Term Asset List. + */ +export interface ContractTermAsset extends BackboneElement { + /** + * Response to assets. + */ + answer?: ContractTermOfferAnswer[]|undefined; + /** + * Description of the quality and completeness of the asset that imay be a factor in its valuation. + */ + condition?: string|undefined; + _condition?: Element|undefined; + /** + * Circumstance of the asset. + */ + context?: ContractTermAssetContext[]|undefined; + /** + * Id [identifier??] of the clause or question text about the asset in the referenced form or QuestionnaireResponse. + */ + linkId?: string[]|undefined; + _linkId?: Element[]|undefined; + /** + * Asset relevant contractual time period. + */ + period?: Period[]|undefined; + /** + * Type of Asset availability for use or ownership. + */ + periodType?: CodeableConcept[]|undefined; + /** + * Specifies the applicability of the term to an asset resource instance, and instances it refers to orinstances that refer to it, and/or are owned by the offeree. + */ + relationship?: Coding|undefined; + /** + * Differentiates the kind of the asset . + */ + scope?: CodeableConcept|undefined; + /** + * Security labels that protects the asset. + */ + securityLabelNumber?: number[]|undefined; + /** + * May be a subtype or part of an offered asset. + */ + subtype?: CodeableConcept[]|undefined; + /** + * Clause or question text (Prose Object) concerning the asset in a linked form, such as a QuestionnaireResponse used in the formation of the contract. + */ + text?: string|undefined; + _text?: Element|undefined; + /** + * Target entity type about which the term may be concerned. + */ + type?: CodeableConcept[]|undefined; + /** + * Associated entities. + */ + typeReference?: Reference[]|undefined; + /** + * Time period of asset use. + */ + usePeriod?: Period[]|undefined; + /** + * Contract Valued Item List. + */ + valuedItem?: ContractTermAssetValuedItem[]|undefined; +} +/** + * Entity of the action. + */ +export interface ContractTermActionSubject extends BackboneElement { + /** + * The entity the action is performed or not performed on or for. + */ + reference: Reference[]; + /** + * Role type of agent assigned roles in this Contract. + */ + role?: CodeableConcept|undefined; +} +/** + * Several agents may be associated (i.e. has some responsibility for an activity) with an activity and vice-versa. + * For example, in cases of actions initiated by one user for other users, or in events that involve more than one user, hardware device, software, or system process. However, only one user may be the initiator/requestor for the event. + */ +export interface ContractTermAction extends BackboneElement { + /** + * Encounter or Episode with primary association to specified term activity. + */ + context?: Reference|undefined; + /** + * Id [identifier??] of the clause or question text related to the requester of this action in the referenced form or QuestionnaireResponse. + */ + contextLinkId?: string[]|undefined; + _contextLinkId?: Element[]|undefined; + /** + * True if the term prohibits the action. + */ + doNotPerform?: boolean|undefined; + _doNotPerform?: Element|undefined; + /** + * Reason or purpose for the action stipulated by this Contract Provision. + */ + intent: CodeableConcept; + /** + * Id [identifier??] of the clause or question text related to this action in the referenced form or QuestionnaireResponse. + */ + linkId?: string[]|undefined; + _linkId?: Element[]|undefined; + /** + * Comments made about the term action made by the requester, performer, subject or other participants. + */ + note?: Annotation[]|undefined; + /** + * When action happens. + */ + occurrenceDateTime?: string|undefined; + _occurrenceDateTime?: Element|undefined; + /** + * When action happens. + */ + occurrencePeriod?: Period|undefined; + /** + * When action happens. + */ + occurrenceTiming?: Timing|undefined; + /** + * Indicates who or what is being asked to perform (or not perform) the ction. + */ + performer?: Reference|undefined; + /** + * Id [identifier??] of the clause or question text related to the reason type or reference of this action in the referenced form or QuestionnaireResponse. + */ + performerLinkId?: string[]|undefined; + _performerLinkId?: Element[]|undefined; + /** + * The type of role or competency of an individual desired or required to perform or not perform the action. + */ + performerRole?: CodeableConcept|undefined; + /** + * The type of individual that is desired or required to perform or not perform the action. + */ + performerType?: CodeableConcept[]|undefined; + /** + * Describes why the action is to be performed or not performed in textual form. + */ + reason?: string[]|undefined; + _reason?: Element[]|undefined; + /** + * Rationale for the action to be performed or not performed. Describes why the action is permitted or prohibited. + */ + reasonCode?: CodeableConcept[]|undefined; + /** + * Id [identifier??] of the clause or question text related to the reason type or reference of this action in the referenced form or QuestionnaireResponse. + */ + reasonLinkId?: string[]|undefined; + _reasonLinkId?: Element[]|undefined; + /** + * Indicates another resource whose existence justifies permitting or not permitting this action. + */ + reasonReference?: Reference[]|undefined; + /** + * Who or what initiated the action and has responsibility for its activation. + */ + requester?: Reference[]|undefined; + /** + * Id [identifier??] of the clause or question text related to the requester of this action in the referenced form or QuestionnaireResponse. + */ + requesterLinkId?: string[]|undefined; + _requesterLinkId?: Element[]|undefined; + /** + * Security labels that protects the action. + */ + securityLabelNumber?: number[]|undefined; + /** + * Current state of the term action. + */ + status: CodeableConcept; + /** + * Entity of the action. + */ + subject?: ContractTermActionSubject[]|undefined; + /** + * Activity or service obligation to be done or not done, performed or not performed, effectuated or not by this Contract term. + */ + type: CodeableConcept; +} +/** + * One or more Contract Provisions, which may be related and conveyed as a group, and may contain nested groups. + */ +export interface ContractTerm extends BackboneElement { + /** + * Several agents may be associated (i.e. has some responsibility for an activity) with an activity and vice-versa. + * For example, in cases of actions initiated by one user for other users, or in events that involve more than one user, hardware device, software, or system process. However, only one user may be the initiator/requestor for the event. + */ + action?: ContractTermAction[]|undefined; + /** + * Relevant time or time-period when this Contract Provision is applicable. + */ + applies?: Period|undefined; + /** + * Contract Term Asset List. + */ + asset?: ContractTermAsset[]|undefined; + /** + * Nested group of Contract Provisions. + */ + group?: ContractTerm[]|undefined; + /** + * Unique identifier for this particular Contract Provision. + */ + identifier?: Identifier|undefined; + /** + * When this Contract Provision was issued. + */ + issued?: string|undefined; + _issued?: Element|undefined; + /** + * The matter of concern in the context of this provision of the agrement. + */ + offer: ContractTermOffer; + /** + * Security labels that protect the handling of information about the term and its elements, which may be specifically identified.. + */ + securityLabel?: ContractTermSecurityLabel[]|undefined; + /** + * A specialized legal clause or condition based on overarching contract type. + */ + subType?: CodeableConcept|undefined; + /** + * Statement of a provision in a policy or a contract. + */ + text?: string|undefined; + _text?: Element|undefined; + /** + * The entity that the term applies to. + */ + topicCodeableConcept?: CodeableConcept|undefined; + /** + * The entity that the term applies to. + */ + topicReference?: Reference|undefined; + /** + * A legal clause or condition contained within a contract that requires one or both parties to perform a particular requirement by some specified time or prevents one or both parties from performing a particular requirement by some specified time. + */ + type?: CodeableConcept|undefined; +} +/** + * Signers who are principal parties to the contract are bound by the Contract.activity related to the Contract.topic, and the Contract.term(s), which either extend or restrict the overall action on the topic by, for example, stipulating specific policies or obligations constraining actions, action reason, or agents with respect to some or all of the topic. + * For example, specifying how policies or obligations shall constrain actions and action reasons permitted or denied on all or a subset of the Contract.topic (e.g., all or a portion of property being transferred by the contract), agents (e.g., who can resell, assign interests, or alter the property being transferred by the contract), actions, and action reasons; or with respect to Contract.terms, stipulating, extending, or limiting the Contract.period of applicability or valuation of items under consideration. + */ +export interface ContractSigner extends BackboneElement { + /** + * Party which is a signator to this Contract. + */ + party: Reference; + /** + * Legally binding Contract DSIG signature contents in Base64. + */ + signature: Signature[]; + /** + * Role of this Contract signer, e.g. notary, grantee. + */ + type: Coding; +} +/** + * The "patient friendly language" versionof the Contract in whole or in parts. "Patient friendly language" means the representation of the Contract and Contract Provisions in a manner that is readily accessible and understandable by a layperson in accordance with best practices for communication styles that ensure that those agreeing to or signing the Contract understand the roles, actions, obligations, responsibilities, and implication of the agreement. + */ +export interface ContractFriendly extends BackboneElement { + /** + * Human readable rendering of this Contract in a format and representation intended to enhance comprehension and ensure understandability. + */ + contentAttachment?: Attachment|undefined; + /** + * Human readable rendering of this Contract in a format and representation intended to enhance comprehension and ensure understandability. + */ + contentReference?: Reference|undefined; +} +/** + * List of Legal expressions or representations of this Contract. + */ +export interface ContractLegal extends BackboneElement { + /** + * Contract legal text in human renderable form. + */ + contentAttachment?: Attachment|undefined; + /** + * Contract legal text in human renderable form. + */ + contentReference?: Reference|undefined; +} +/** + * List of Computable Policy Rule Language Representations of this Contract. + */ +export interface ContractRule extends BackboneElement { + /** + * Computable Contract conveyed using a policy rule language (e.g. XACML, DKAL, SecPal). + */ + contentAttachment?: Attachment|undefined; + /** + * Computable Contract conveyed using a policy rule language (e.g. XACML, DKAL, SecPal). + */ + contentReference?: Reference|undefined; +} +/** + * Legally enforceable, formally recorded unilateral or bilateral directive i.e., a policy or agreement. + */ +export interface Contract extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'Contract'; + /** + * Alternative representation of the title for this Contract definition, derivative, or instance in any legal state., e.g., a domain specific contract number related to legislation. + */ + alias?: string[]|undefined; + _alias?: Element[]|undefined; + /** + * Relevant time or time-period when this Contract is applicable. + */ + applies?: Period|undefined; + /** + * The individual or organization that authored the Contract definition, derivative, or instance in any legal state. + */ + author?: Reference|undefined; + /** + * A formally or informally recognized grouping of people, principals, organizations, or jurisdictions formed for the purpose of achieving some form of collective action such as the promulgation, administration and enforcement of contracts and policies. + */ + authority?: Reference[]|undefined; + /** + * Precusory content developed with a focus and intent of supporting the formation a Contract instance, which may be associated with and transformable into a Contract. + */ + contentDefinition?: ContractContentDefinition|undefined; + /** + * The minimal content derived from the basal information source at a specific stage in its lifecycle. + */ + contentDerivative?: CodeableConcept|undefined; + /** + * Recognized governance framework or system operating with a circumscribed scope in accordance with specified principles, policies, processes or procedures for managing rights, actions, or behaviors of parties or principals relative to resources. + */ + domain?: Reference[]|undefined; + /** + * Event resulting in discontinuation or termination of this Contract instance by one or more parties to the contract. + */ + expirationType?: CodeableConcept|undefined; + /** + * The "patient friendly language" versionof the Contract in whole or in parts. "Patient friendly language" means the representation of the Contract and Contract Provisions in a manner that is readily accessible and understandable by a layperson in accordance with best practices for communication styles that ensure that those agreeing to or signing the Contract understand the roles, actions, obligations, responsibilities, and implication of the agreement. + */ + friendly?: ContractFriendly[]|undefined; + /** + * Unique identifier for this Contract or a derivative that references a Source Contract. + */ + identifier?: Identifier[]|undefined; + /** + * The URL pointing to a FHIR-defined Contract Definition that is adhered to in whole or part by this Contract. + */ + instantiatesCanonical?: Reference|undefined; + /** + * The URL pointing to an externally maintained definition that is adhered to in whole or in part by this Contract. + */ + instantiatesUri?: string|undefined; + _instantiatesUri?: Element|undefined; + /** + * When this Contract was issued. + */ + issued?: string|undefined; + _issued?: Element|undefined; + /** + * List of Legal expressions or representations of this Contract. + */ + legal?: ContractLegal[]|undefined; + /** + * Legally binding Contract: This is the signed and legally recognized representation of the Contract, which is considered the "source of truth" and which would be the basis for legal action related to enforcement of this Contract. + */ + legallyBindingAttachment?: Attachment|undefined; + /** + * Legally binding Contract: This is the signed and legally recognized representation of the Contract, which is considered the "source of truth" and which would be the basis for legal action related to enforcement of this Contract. + */ + legallyBindingReference?: Reference|undefined; + /** + * Legal states of the formation of a legal instrument, which is a formally executed written document that can be formally attributed to its author, records and formally expresses a legally enforceable act, process, or contractual duty, obligation, or right, and therefore evidences that act, process, or agreement. + */ + legalState?: CodeableConcept|undefined; + /** + * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. + */ + name?: string|undefined; + _name?: Element|undefined; + /** + * Links to Provenance records for past versions of this Contract definition, derivative, or instance, which identify key state transitions or updates that are likely to be relevant to a user looking at the current version of the Contract. The Provence.entity indicates the target that was changed in the update. http://build.fhir.org/provenance-definitions.html#Provenance.entity. + */ + relevantHistory?: Reference[]|undefined; + /** + * List of Computable Policy Rule Language Representations of this Contract. + */ + rule?: ContractRule[]|undefined; + /** + * A selector of legal concerns for this Contract definition, derivative, or instance in any legal state. + */ + scope?: CodeableConcept|undefined; + /** + * Signers who are principal parties to the contract are bound by the Contract.activity related to the Contract.topic, and the Contract.term(s), which either extend or restrict the overall action on the topic by, for example, stipulating specific policies or obligations constraining actions, action reason, or agents with respect to some or all of the topic. + * For example, specifying how policies or obligations shall constrain actions and action reasons permitted or denied on all or a subset of the Contract.topic (e.g., all or a portion of property being transferred by the contract), agents (e.g., who can resell, assign interests, or alter the property being transferred by the contract), actions, and action reasons; or with respect to Contract.terms, stipulating, extending, or limiting the Contract.period of applicability or valuation of items under consideration. + */ + signer?: ContractSigner[]|undefined; + /** + * Sites in which the contract is complied with, exercised, or in force. + */ + site?: Reference[]|undefined; + /** + * This element is labeled as a modifier because the status contains codes that mark the contract as not currently valid or active. + */ + status?: ('amended'|'appended'|'cancelled'|'disputed'|'entered-in-error'|'executable'|'executed'|'negotiable'|'offered'|'policy'|'rejected'|'renewed'|'revoked'|'resolved'|'terminated')|undefined; + _status?: Element|undefined; + /** + * The Contract.subject is an entity that has some role with respect to the Contract.topic and Contract.topic.term, which is of focal interest to the parties to the contract and likely impacted in a significant way by the Contract.action/Contract.action.reason and the Contract.term.action/Contract.action.reason. + * In many cases, the Contract.subject is a Contract.signer if the subject is an adult; has a legal interest in the contract; and incompetent to participate in the contract agreement. + */ + subject?: Reference[]|undefined; + /** + * An explanatory or alternate user-friendly title for this Contract definition, derivative, or instance in any legal state.t giving additional information about its content. + */ + subtitle?: string|undefined; + _subtitle?: Element|undefined; + /** + * Sub-category for the Contract that distinguishes the kinds of systems that would be interested in the Contract within the context of the Contract's scope. + */ + subType?: CodeableConcept[]|undefined; + /** + * Information that may be needed by/relevant to the performer in their execution of this term action. + */ + supportingInfo?: Reference[]|undefined; + /** + * One or more Contract Provisions, which may be related and conveyed as a group, and may contain nested groups. + */ + term?: ContractTerm[]|undefined; + /** + * A short, descriptive, user-friendly title for this Contract definition, derivative, or instance in any legal state.t giving additional information about its content. + */ + title?: string|undefined; + _title?: Element|undefined; + /** + * Narrows the range of legal concerns to focus on the achievement of specific contractual objectives. + */ + topicCodeableConcept?: CodeableConcept|undefined; + /** + * Narrows the range of legal concerns to focus on the achievement of specific contractual objectives. + */ + topicReference?: Reference|undefined; + /** + * A high-level category for the legal instrument, whether constructed as a Contract definition, derivative, or instance in any legal state. Provides additional information about its content within the context of the Contract's scope to distinguish the kinds of systems that would be interested in the contract. + */ + type?: CodeableConcept|undefined; + /** + * Used in a domain that uses a supplied contract repository. + */ + url?: string|undefined; + _url?: Element|undefined; + /** + * Note - This is a business versionId, not a resource version id (see discussion http://build.fhir.org/resource.html#versions) + * Comments - There may be different contract instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the plan definition with the format [url]|[version]. + */ + version?: string|undefined; + _version?: Element|undefined; +} +/** + * For example may be used to identify a class of coverage or employer group, Policy, Plan. + */ +export interface CoverageClass extends BackboneElement { + /** + * A short description for the class. + */ + name?: string|undefined; + _name?: Element|undefined; + /** + * The type of classification for which an insurer-specific class label or number and optional name is provided, for example may be used to identify a class of coverage or employer group, Policy, Plan. + */ + type: CodeableConcept; + /** + * For example, the Group or Plan number. + */ + value: string; + _value?: Element|undefined; +} +/** + * A suite of codes indicating exceptions or reductions to patient costs and their effective periods. + */ +export interface CoverageCostToBeneficiaryException extends BackboneElement { + /** + * The timeframe during when the exception is in force. + */ + period?: Period|undefined; + /** + * The code for the specific exception. + */ + type: CodeableConcept; +} +/** + * For example by knowing the patient visit co-pay, the provider can collect the amount prior to undertaking treatment. + */ +export interface CoverageCostToBeneficiary extends BackboneElement { + /** + * A suite of codes indicating exceptions or reductions to patient costs and their effective periods. + */ + exception?: CoverageCostToBeneficiaryException[]|undefined; + /** + * For example visit, specialist visits, emergency, inpatient care, etc. + */ + type?: CodeableConcept|undefined; + /** + * Amount may be expressed as a percentage of the service/product cost or a fixed amount of currency. + */ + valueQuantity?: Quantity|undefined; + /** + * Amount may be expressed as a percentage of the service/product cost or a fixed amount of currency. + */ + valueMoney?: Money|undefined; +} +/** + * Financial instrument which may be used to reimburse or pay for health care products and services. Includes both insurance and self-payment. + */ +export interface Coverage extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'Coverage'; + /** + * The party who benefits from the insurance coverage; the patient when products and/or services are provided. + */ + beneficiary: Reference; + /** + * For example may be used to identify a class of coverage or employer group, Policy, Plan. + */ + class?: CoverageClass[]|undefined; + /** + * The policy(s) which constitute this insurance coverage. + */ + contract?: Reference[]|undefined; + /** + * For example by knowing the patient visit co-pay, the provider can collect the amount prior to undertaking treatment. + */ + costToBeneficiary?: CoverageCostToBeneficiary[]|undefined; + /** + * Periodically the member number is constructed from the subscriberId and the dependant number. + */ + dependent?: string|undefined; + _dependent?: Element|undefined; + /** + * The main (and possibly only) identifier for the coverage - often referred to as a Member Id, Certificate number, Personal Health Number or Case ID. May be constructed as the concatenation of the Coverage.SubscriberID and the Coverage.dependant. + */ + identifier?: Identifier[]|undefined; + /** + * The insurer-specific identifier for the insurer-defined network of providers to which the beneficiary may seek treatment which will be covered at the 'in-network' rate, otherwise 'out of network' terms and conditions apply. + */ + network?: string|undefined; + _network?: Element|undefined; + /** + * The order of applicability of this coverage relative to other coverages which are currently in force. Note, there may be gaps in the numbering and this does not imply primary, secondary etc. as the specific positioning of coverages depends upon the episode of care. + */ + order?: number|undefined; + /** + * May provide multiple identifiers such as insurance company identifier or business identifier (BIN number). + * For selfpay it may provide multiple paying persons and/or organizations. + */ + payor: Reference[]; + /** + * Time period during which the coverage is in force. A missing start date indicates the start date isn't known, a missing end date means the coverage is continuing to be in force. + */ + period?: Period|undefined; + /** + * For example: may be an individual, corporation or the subscriber's employer. + */ + policyHolder?: Reference|undefined; + /** + * Typically, an individual uses policies which are theirs (relationship='self') before policies owned by others. + */ + relationship?: CodeableConcept|undefined; + /** + * This element is labeled as a modifier because the status contains the code entered-in-error that marks the coverage as not currently valid. + */ + status: ('active'|'cancelled'|'draft'|'entered-in-error'); + _status?: Element|undefined; + /** + * Typically, automotive and worker's compensation policies would be flagged with 'subrogation=true' to enable healthcare payors to collect against accident claims. + */ + subrogation?: boolean|undefined; + _subrogation?: Element|undefined; + /** + * May be self or a parent in the case of dependants. + */ + subscriber?: Reference|undefined; + /** + * The insurer assigned ID for the Subscriber. + */ + subscriberId?: string|undefined; + _subscriberId?: Element|undefined; + /** + * The type of coverage: social program, medical plan, accident coverage (workers compensation, auto), group health or payment by an individual or organization. + */ + type?: CodeableConcept|undefined; +} +/** + * Often there are multiple jurisdiction specific valuesets which are required. + */ +export interface CoverageEligibilityRequestSupportingInfo extends BackboneElement { + /** + * The supporting materials are applicable for all detail items, product/servce categories and specific billing codes. + */ + appliesToAll?: boolean|undefined; + _appliesToAll?: Element|undefined; + /** + * Could be used to provide references to other resources, document. For example could contain a PDF in an Attachment of the Police Report for an Accident. + */ + information: Reference; + /** + * A number to uniquely identify supporting information entries. + */ + sequence: number; +} +/** + * All insurance coverages for the patient which may be applicable for reimbursement, of the products and services listed in the claim, are typically provided in the claim to allow insurers to confirm the ordering of the insurance coverages relative to local 'coordination of benefit' rules. One coverage (and only one) with 'focal=true' is to be used in the adjudication of this claim. Coverages appearing before the focal Coverage in the list, and where 'subrogation=false', should provide a reference to the ClaimResponse containing the adjudication results of the prior claim. + */ +export interface CoverageEligibilityRequestInsurance extends BackboneElement { + /** + * A business agreement number established between the provider and the insurer for special business processing purposes. + */ + businessArrangement?: string|undefined; + _businessArrangement?: Element|undefined; + /** + * Reference to the insurance card level information contained in the Coverage resource. The coverage issuing insurer will use these details to locate the patient's actual coverage within the insurer's information system. + */ + coverage: Reference; + /** + * A patient may (will) have multiple insurance policies which provide reimburement for healthcare services and products. For example a person may also be covered by their spouse's policy and both appear in the list (and may be from the same insurer). This flag will be set to true for only one of the listed policies and that policy will be used for evaluating this request. Other requests would be created to request evaluation against the other listed policies. + */ + focal?: boolean|undefined; + _focal?: Element|undefined; +} +/** + * Patient diagnosis for which care is sought. + */ +export interface CoverageEligibilityRequestItemDiagnosis extends BackboneElement { + /** + * The nature of illness or problem in a coded form or as a reference to an external defined Condition. + */ + diagnosisCodeableConcept?: CodeableConcept|undefined; + /** + * The nature of illness or problem in a coded form or as a reference to an external defined Condition. + */ + diagnosisReference?: Reference|undefined; +} +/** + * Service categories or billable services for which benefit details and/or an authorization prior to service delivery may be required by the payor. + */ +export interface CoverageEligibilityRequestItem extends BackboneElement { + /** + * Examples include Medical Care, Periodontics, Renal Dialysis, Vision Coverage. + */ + category?: CodeableConcept|undefined; + /** + * The plan/proposal/order describing the proposed service in detail. + */ + detail?: Reference[]|undefined; + /** + * Patient diagnosis for which care is sought. + */ + diagnosis?: CoverageEligibilityRequestItemDiagnosis[]|undefined; + /** + * Facility where the services will be provided. + */ + facility?: Reference|undefined; + /** + * For example in Oral whether the treatment is cosmetic or associated with TMJ, or for Medical whether the treatment was outside the clinic or out of office hours. + */ + modifier?: CodeableConcept[]|undefined; + /** + * Code to indicate the Professional Service or Product supplied (e.g. CTP, HCPCS, USCLS, ICD10, NCPDP, DIN, RxNorm, ACHI, CCI). + */ + productOrService?: CodeableConcept|undefined; + /** + * The practitioner who is responsible for the product or service to be rendered to the patient. + */ + provider?: Reference|undefined; + /** + * The number of repetitions of a service or product. + */ + quantity?: Quantity|undefined; + /** + * Exceptions, special conditions and supporting information applicable for this service or product line. + */ + supportingInfoSequence?: number[]|undefined; + /** + * The amount charged to the patient by the provider for a single unit. + */ + unitPrice?: Money|undefined; +} +/** + * The CoverageEligibilityRequest provides patient and insurance coverage information to an insurer for them to respond, in the form of an CoverageEligibilityResponse, with information regarding whether the stated coverage is valid and in-force and optionally to provide the insurance details of the policy. + */ +export interface CoverageEligibilityRequest extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'CoverageEligibilityRequest'; + /** + * The date when this resource was created. + */ + created: string; + _created?: Element|undefined; + /** + * Person who created the request. + */ + enterer?: Reference|undefined; + /** + * Facility where the services are intended to be provided. + */ + facility?: Reference|undefined; + /** + * A unique identifier assigned to this coverage eligiblity request. + */ + identifier?: Identifier[]|undefined; + /** + * All insurance coverages for the patient which may be applicable for reimbursement, of the products and services listed in the claim, are typically provided in the claim to allow insurers to confirm the ordering of the insurance coverages relative to local 'coordination of benefit' rules. One coverage (and only one) with 'focal=true' is to be used in the adjudication of this claim. Coverages appearing before the focal Coverage in the list, and where 'subrogation=false', should provide a reference to the ClaimResponse containing the adjudication results of the prior claim. + */ + insurance?: CoverageEligibilityRequestInsurance[]|undefined; + /** + * The Insurer who issued the coverage in question and is the recipient of the request. + */ + insurer: Reference; + /** + * Service categories or billable services for which benefit details and/or an authorization prior to service delivery may be required by the payor. + */ + item?: CoverageEligibilityRequestItem[]|undefined; + /** + * 1..1. + */ + patient: Reference; + /** + * When the requestor expects the processor to complete processing. + */ + priority?: CodeableConcept|undefined; + /** + * Typically this field would be 1..1 where this party is responsible for the eligibility request but not necessarily professionally responsible for the provision of the individual products and services listed below. + */ + provider?: Reference|undefined; + /** + * Code to specify whether requesting: prior authorization requirements for some service categories or billing codes; benefits for coverages specified or discovered; discovery and return of coverages for the patient; and/or validation that the specified coverage is in-force at the date/period specified or 'now' if not specified. + */ + purpose: ('auth-requirements'|'benefits'|'discovery'|'validation')[]; + _purpose?: Element[]|undefined; + /** + * The date or dates when the enclosed suite of services were performed or completed. + */ + servicedDate?: string|undefined; + _servicedDate?: Element|undefined; + /** + * The date or dates when the enclosed suite of services were performed or completed. + */ + servicedPeriod?: Period|undefined; + /** + * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. + */ + status: ('active'|'cancelled'|'draft'|'entered-in-error'); + _status?: Element|undefined; + /** + * Often there are multiple jurisdiction specific valuesets which are required. + */ + supportingInfo?: CoverageEligibilityRequestSupportingInfo[]|undefined; +} +/** + * Benefits used to date. + */ +export interface CoverageEligibilityResponseInsuranceItemBenefit extends BackboneElement { + /** + * The quantity of the benefit which is permitted under the coverage. + */ + allowedUnsignedInt?: number|undefined; + /** + * The quantity of the benefit which is permitted under the coverage. + */ + allowedString?: string|undefined; + _allowedString?: Element|undefined; + /** + * The quantity of the benefit which is permitted under the coverage. + */ + allowedMoney?: Money|undefined; + /** + * For example: deductible, visits, benefit amount. + */ + type: CodeableConcept; + /** + * The quantity of the benefit which have been consumed to date. + */ + usedUnsignedInt?: number|undefined; + /** + * The quantity of the benefit which have been consumed to date. + */ + usedString?: string|undefined; + _usedString?: Element|undefined; + /** + * The quantity of the benefit which have been consumed to date. + */ + usedMoney?: Money|undefined; +} +/** + * Benefits and optionally current balances, and authorization details by category or service. + */ +export interface CoverageEligibilityResponseInsuranceItem extends BackboneElement { + /** + * A boolean flag indicating whether a preauthorization is required prior to actual service delivery. + */ + authorizationRequired?: boolean|undefined; + _authorizationRequired?: Element|undefined; + /** + * Codes or comments regarding information or actions associated with the preauthorization. + */ + authorizationSupporting?: CodeableConcept[]|undefined; + /** + * A web location for obtaining requirements or descriptive information regarding the preauthorization. + */ + authorizationUrl?: string|undefined; + _authorizationUrl?: Element|undefined; + /** + * Benefits used to date. + */ + benefit?: CoverageEligibilityResponseInsuranceItemBenefit[]|undefined; + /** + * Examples include Medical Care, Periodontics, Renal Dialysis, Vision Coverage. + */ + category?: CodeableConcept|undefined; + /** + * For example 'DENT2 covers 100% of basic, 50% of major but excludes Ortho, Implants and Cosmetic services'. + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * True if the indicated class of service is excluded from the plan, missing or False indicates the product or service is included in the coverage. + */ + excluded?: boolean|undefined; + _excluded?: Element|undefined; + /** + * For example in Oral whether the treatment is cosmetic or associated with TMJ, or for Medical whether the treatment was outside the clinic or out of office hours. + */ + modifier?: CodeableConcept[]|undefined; + /** + * For example: MED01, or DENT2. + */ + name?: string|undefined; + _name?: Element|undefined; + /** + * Is a flag to indicate whether the benefits refer to in-network providers or out-of-network providers. + */ + network?: CodeableConcept|undefined; + /** + * Code to indicate the Professional Service or Product supplied (e.g. CTP, HCPCS, USCLS, ICD10, NCPDP, DIN, RxNorm, ACHI, CCI). + */ + productOrService?: CodeableConcept|undefined; + /** + * The practitioner who is eligible for the provision of the product or service. + */ + provider?: Reference|undefined; + /** + * The term or period of the values such as 'maximum lifetime benefit' or 'maximum annual visits'. + */ + term?: CodeableConcept|undefined; + /** + * Indicates if the benefits apply to an individual or to the family. + */ + unit?: CodeableConcept|undefined; +} +/** + * All insurance coverages for the patient which may be applicable for reimbursement, of the products and services listed in the claim, are typically provided in the claim to allow insurers to confirm the ordering of the insurance coverages relative to local 'coordination of benefit' rules. One coverage (and only one) with 'focal=true' is to be used in the adjudication of this claim. Coverages appearing before the focal Coverage in the list, and where 'subrogation=false', should provide a reference to the ClaimResponse containing the adjudication results of the prior claim. + */ +export interface CoverageEligibilityResponseInsurance extends BackboneElement { + /** + * The term of the benefits documented in this response. + */ + benefitPeriod?: Period|undefined; + /** + * Reference to the insurance card level information contained in the Coverage resource. The coverage issuing insurer will use these details to locate the patient's actual coverage within the insurer's information system. + */ + coverage: Reference; + /** + * Flag indicating if the coverage provided is inforce currently if no service date(s) specified or for the whole duration of the service dates. + */ + inforce?: boolean|undefined; + _inforce?: Element|undefined; + /** + * Benefits and optionally current balances, and authorization details by category or service. + */ + item?: CoverageEligibilityResponseInsuranceItem[]|undefined; +} +/** + * Errors encountered during the processing of the request. + */ +export interface CoverageEligibilityResponseError extends BackboneElement { + /** + * An error code,from a specified code system, which details why the eligibility check could not be performed. + */ + code: CodeableConcept; +} +/** + * This resource provides eligibility and plan details from the processing of an CoverageEligibilityRequest resource. + */ +export interface CoverageEligibilityResponse extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'CoverageEligibilityResponse'; + /** + * The date this resource was created. + */ + created: string; + _created?: Element|undefined; + /** + * A human readable description of the status of the adjudication. + */ + disposition?: string|undefined; + _disposition?: Element|undefined; + /** + * Errors encountered during the processing of the request. + */ + error?: CoverageEligibilityResponseError[]|undefined; + /** + * May be needed to identify specific jurisdictional forms. + */ + form?: CodeableConcept|undefined; + /** + * A unique identifier assigned to this coverage eligiblity request. + */ + identifier?: Identifier[]|undefined; + /** + * All insurance coverages for the patient which may be applicable for reimbursement, of the products and services listed in the claim, are typically provided in the claim to allow insurers to confirm the ordering of the insurance coverages relative to local 'coordination of benefit' rules. One coverage (and only one) with 'focal=true' is to be used in the adjudication of this claim. Coverages appearing before the focal Coverage in the list, and where 'subrogation=false', should provide a reference to the ClaimResponse containing the adjudication results of the prior claim. + */ + insurance?: CoverageEligibilityResponseInsurance[]|undefined; + /** + * The Insurer who issued the coverage in question and is the author of the response. + */ + insurer: Reference; + /** + * The resource may be used to indicate that: the request has been held (queued) for processing; that it has been processed and errors found (error); that no errors were found and that some of the adjudication has been undertaken (partial) or that all of the adjudication has been undertaken (complete). + */ + outcome: ('queued'|'complete'|'error'|'partial'); + _outcome?: Element|undefined; + /** + * The party who is the beneficiary of the supplied coverage and for whom eligibility is sought. + */ + patient: Reference; + /** + * A reference from the Insurer to which these services pertain to be used on further communication and as proof that the request occurred. + */ + preAuthRef?: string|undefined; + _preAuthRef?: Element|undefined; + /** + * Code to specify whether requesting: prior authorization requirements for some service categories or billing codes; benefits for coverages specified or discovered; discovery and return of coverages for the patient; and/or validation that the specified coverage is in-force at the date/period specified or 'now' if not specified. + */ + purpose: ('auth-requirements'|'benefits'|'discovery'|'validation')[]; + _purpose?: Element[]|undefined; + /** + * Reference to the original request resource. + */ + request: Reference; + /** + * Typically this field would be 1..1 where this party is responsible for the claim but not necessarily professionally responsible for the provision of the individual products and services listed below. + */ + requestor?: Reference|undefined; + /** + * The date or dates when the enclosed suite of services were performed or completed. + */ + servicedDate?: string|undefined; + _servicedDate?: Element|undefined; + /** + * The date or dates when the enclosed suite of services were performed or completed. + */ + servicedPeriod?: Period|undefined; + /** + * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. + */ + status: ('active'|'cancelled'|'draft'|'entered-in-error'); + _status?: Element|undefined; +} +/** + * Supporting evidence or manifestations that provide the basis for identifying the detected issue such as a GuidanceResponse or MeasureReport. + */ +export interface DetectedIssueEvidence extends BackboneElement { + /** + * A manifestation that led to the recording of this detected issue. + */ + code?: CodeableConcept[]|undefined; + /** + * Links to resources that constitute evidence for the detected issue such as a GuidanceResponse or MeasureReport. + */ + detail?: Reference[]|undefined; +} +/** + * Indicates an action that has been taken or is committed to reduce or eliminate the likelihood of the risk identified by the detected issue from manifesting. Can also reflect an observation of known mitigating factors that may reduce/eliminate the need for any action. + */ +export interface DetectedIssueMitigation extends BackboneElement { + /** + * The "text" component can be used for detail or when no appropriate code exists. + */ + action: CodeableConcept; + /** + * Identifies the practitioner who determined the mitigation and takes responsibility for the mitigation step occurring. + */ + author?: Reference|undefined; + /** + * This might not be the same as when the mitigating step was actually taken. + */ + date?: string|undefined; + _date?: Element|undefined; +} +/** + * Indicates an actual or potential clinical issue with or between one or more active or proposed clinical actions for a patient; e.g. Drug-drug interaction, Ineffective treatment frequency, Procedure-condition conflict, etc. + */ +export interface DetectedIssue extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'DetectedIssue'; + /** + * Individual or device responsible for the issue being raised. For example, a decision support application or a pharmacist conducting a medication review. + */ + author?: Reference|undefined; + /** + * Identifies the general type of issue identified. + */ + code?: CodeableConcept|undefined; + /** + * Should focus on information not covered elsewhere as discrete data - no need to duplicate the narrative. + */ + detail?: string|undefined; + _detail?: Element|undefined; + /** + * Supporting evidence or manifestations that provide the basis for identifying the detected issue such as a GuidanceResponse or MeasureReport. + */ + evidence?: DetectedIssueEvidence[]|undefined; + /** + * The date or period when the detected issue was initially identified. + */ + identifiedDateTime?: string|undefined; + _identifiedDateTime?: Element|undefined; + /** + * The date or period when the detected issue was initially identified. + */ + identifiedPeriod?: Period|undefined; + /** + * Business identifier associated with the detected issue record. + */ + identifier?: Identifier[]|undefined; + /** + * There's an implicit constraint on the number of implicated resources based on DetectedIssue.type; e.g. For drug-drug, there would be more than one. For timing, there would typically only be one. + */ + implicated?: Reference[]|undefined; + /** + * Indicates an action that has been taken or is committed to reduce or eliminate the likelihood of the risk identified by the detected issue from manifesting. Can also reflect an observation of known mitigating factors that may reduce/eliminate the need for any action. + */ + mitigation?: DetectedIssueMitigation[]|undefined; + /** + * Indicates the patient whose record the detected issue is associated with. + */ + patient?: Reference|undefined; + /** + * The literature, knowledge-base or similar reference that describes the propensity for the detected issue identified. + */ + reference?: string|undefined; + _reference?: Element|undefined; + /** + * Indicates the degree of importance associated with the identified issue based on the potential impact on the patient. + */ + severity?: ('high'|'moderate'|'low')|undefined; + _severity?: Element|undefined; + /** + * This element is labeled as a modifier because the status contains the codes cancelled and entered-in-error that mark the issue as not currently valid. + */ + status: ('registered'|'preliminary'|'final'|'amended'|'corrected'|'cancelled'|'entered-in-error'|'unknown'); + _status?: Element|undefined; +} +/** + * UDI may identify an unique instance of a device, or it may only identify the type of the device. See [UDI mappings](device-mappings.html#udi) for a complete mapping of UDI parts to Device. + */ +export interface DeviceUdiCarrier extends BackboneElement { + /** + * The AIDC form of UDIs should be scanned or otherwise used for the identification of the device whenever possible to minimize errors in records resulting from manual transcriptions. If separate barcodes for DI and PI are present, concatenate the string with DI first and in order of human readable expression on label. + */ + carrierAIDC?: string|undefined; + _carrierAIDC?: Element|undefined; + /** + * If separate barcodes for DI and PI are present, concatenate the string with DI first and in order of human readable expression on label. + */ + carrierHRF?: string|undefined; + _carrierHRF?: Element|undefined; + /** + * The device identifier (DI) is a mandatory, fixed portion of a UDI that identifies the labeler and the specific version or model of a device. + */ + deviceIdentifier?: string|undefined; + _deviceIdentifier?: Element|undefined; + /** + * A coded entry to indicate how the data was entered. + */ + entryType?: ('barcode'|'rfid'|'manual'|'card'|'self-reported'|'unknown')|undefined; + _entryType?: Element|undefined; + /** + * Organization that is charged with issuing UDIs for devices. For example, the US FDA issuers include : + * 1) GS1: + * http://hl7.org/fhir/NamingSystem/gs1-di, + * 2) HIBCC: + * http://hl7.org/fhir/NamingSystem/hibcc-dI, + * 3) ICCBBA for blood containers: + * http://hl7.org/fhir/NamingSystem/iccbba-blood-di, + * 4) ICCBA for other devices: + * http://hl7.org/fhir/NamingSystem/iccbba-other-di. + */ + issuer?: string|undefined; + _issuer?: Element|undefined; + /** + * The identity of the authoritative source for UDI generation within a jurisdiction. All UDIs are globally unique within a single namespace with the appropriate repository uri as the system. For example, UDIs of devices managed in the U.S. by the FDA, the value is http://hl7.org/fhir/NamingSystem/fda-udi. + */ + jurisdiction?: string|undefined; + _jurisdiction?: Element|undefined; +} +/** + * This represents the manufacturer's name of the device as provided by the device, from a UDI label, or by a person describing the Device. This typically would be used when a person provides the name(s) or when the device represents one of the names available from DeviceDefinition. + */ +export interface DeviceDeviceName extends BackboneElement { + /** + * The name of the device. + */ + name: string; + _name?: Element|undefined; + /** + * The type of deviceName. + * UDILabelName | UserFriendlyName | PatientReportedName | ManufactureDeviceName | ModelName. + */ + type: ('udi-label-name'|'user-friendly-name'|'patient-reported-name'|'manufacturer-name'|'model-name'|'other'); + _type?: Element|undefined; +} +/** + * The capabilities supported on a device, the standards to which the device conforms for a particular purpose, and used for the communication. + */ +export interface DeviceSpecialization extends BackboneElement { + /** + * The standard that is used to operate and communicate. + */ + systemType: CodeableConcept; + /** + * The version of the standard that is used to operate and communicate. + */ + version?: string|undefined; + _version?: Element|undefined; +} +/** + * The actual design of the device or software version running on the device. + */ +export interface DeviceVersion extends BackboneElement { + /** + * A single component of the device version. + */ + component?: Identifier|undefined; + /** + * The type of the device version. + */ + type?: CodeableConcept|undefined; + /** + * The version text. + */ + value: string; + _value?: Element|undefined; +} +/** + * The actual configuration settings of a device as it actually operates, e.g., regulation status, time properties. + */ +export interface DeviceProperty extends BackboneElement { + /** + * Code that specifies the property DeviceDefinitionPropetyCode (Extensible). + */ + type: CodeableConcept; + /** + * Property value as a code, e.g., NTP4 (synced to NTP). + */ + valueCode?: CodeableConcept[]|undefined; + /** + * Property value as a quantity. + */ + valueQuantity?: Quantity[]|undefined; +} +/** + * A type of a manufactured item that is used in the provision of healthcare without being substantially changed through that activity. The device may be a medical or non-medical device. + */ +export interface Device extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'Device'; + /** + * used for troubleshooting etc. + */ + contact?: ContactPoint[]|undefined; + /** + * The reference to the definition for the device. + */ + definition?: Reference|undefined; + /** + * This represents the manufacturer's name of the device as provided by the device, from a UDI label, or by a person describing the Device. This typically would be used when a person provides the name(s) or when the device represents one of the names available from DeviceDefinition. + */ + deviceName?: DeviceDeviceName[]|undefined; + /** + * For example, this applies to devices in the United States regulated under *Code of Federal Regulation 21CFR§1271.290(c)*. + */ + distinctIdentifier?: string|undefined; + _distinctIdentifier?: Element|undefined; + /** + * The date and time beyond which this device is no longer valid or should not be used (if applicable). + */ + expirationDate?: string|undefined; + _expirationDate?: Element|undefined; + /** + * The barcode string from a barcode present on a device label or package may identify the instance, include names given to the device in local usage, or may identify the type of device. If the identifier identifies the type of device, Device.type element should be used. + */ + identifier?: Identifier[]|undefined; + /** + * The place where the device can be found. + */ + location?: Reference|undefined; + /** + * Lot number assigned by the manufacturer. + */ + lotNumber?: string|undefined; + _lotNumber?: Element|undefined; + /** + * The date and time when the device was manufactured. + */ + manufactureDate?: string|undefined; + _manufactureDate?: Element|undefined; + /** + * A name of the manufacturer. + */ + manufacturer?: string|undefined; + _manufacturer?: Element|undefined; + /** + * The model number for the device. + */ + modelNumber?: string|undefined; + _modelNumber?: Element|undefined; + /** + * Descriptive information, usage information or implantation information that is not captured in an existing element. + */ + note?: Annotation[]|undefined; + /** + * An organization that is responsible for the provision and ongoing maintenance of the device. + */ + owner?: Reference|undefined; + /** + * The parent device. + */ + parent?: Reference|undefined; + /** + * Alphanumeric Maximum 20. + */ + partNumber?: string|undefined; + _partNumber?: Element|undefined; + /** + * Patient information, If the device is affixed to a person. + */ + patient?: Reference|undefined; + /** + * The actual configuration settings of a device as it actually operates, e.g., regulation status, time properties. + */ + property?: DeviceProperty[]|undefined; + /** + * Provides additional safety characteristics about a medical device. For example devices containing latex. + */ + safety?: CodeableConcept[]|undefined; + /** + * Alphanumeric Maximum 20. + */ + serialNumber?: string|undefined; + _serialNumber?: Element|undefined; + /** + * The capabilities supported on a device, the standards to which the device conforms for a particular purpose, and used for the communication. + */ + specialization?: DeviceSpecialization[]|undefined; + /** + * This element is labeled as a modifier because the status contains the codes inactive and entered-in-error that mark the device (record)as not currently valid. + */ + status?: ('active'|'inactive'|'entered-in-error'|'unknown')|undefined; + _status?: Element|undefined; + /** + * Reason for the dtatus of the Device availability. + */ + statusReason?: CodeableConcept[]|undefined; + /** + * The kind or type of device. + */ + type?: CodeableConcept|undefined; + /** + * UDI may identify an unique instance of a device, or it may only identify the type of the device. See [UDI mappings](device-mappings.html#udi) for a complete mapping of UDI parts to Device. + */ + udiCarrier?: DeviceUdiCarrier[]|undefined; + /** + * If the device is running a FHIR server, the network address should be the Base URL from which a conformance statement may be retrieved. + */ + url?: string|undefined; + _url?: Element|undefined; + /** + * The actual design of the device or software version running on the device. + */ + version?: DeviceVersion[]|undefined; +} +/** + * Unique device identifier (UDI) assigned to device label or package. Note that the Device may include multiple udiCarriers as it either may include just the udiCarrier for the jurisdiction it is sold, or for multiple jurisdictions it could have been sold. + */ +export interface DeviceDefinitionUdiDeviceIdentifier extends BackboneElement { + /** + * The identifier that is to be associated with every Device that references this DeviceDefintiion for the issuer and jurisdication porvided in the DeviceDefinition.udiDeviceIdentifier. + */ + deviceIdentifier: string; + _deviceIdentifier?: Element|undefined; + /** + * The organization that assigns the identifier algorithm. + */ + issuer: string; + _issuer?: Element|undefined; + /** + * The jurisdiction to which the deviceIdentifier applies. + */ + jurisdiction: string; + _jurisdiction?: Element|undefined; +} +/** + * A name given to the device to identify it. + */ +export interface DeviceDefinitionDeviceName extends BackboneElement { + /** + * The name of the device. + */ + name: string; + _name?: Element|undefined; + /** + * The type of deviceName. + * UDILabelName | UserFriendlyName | PatientReportedName | ManufactureDeviceName | ModelName. + */ + type: ('udi-label-name'|'user-friendly-name'|'patient-reported-name'|'manufacturer-name'|'model-name'|'other'); + _type?: Element|undefined; +} +/** + * The capabilities supported on a device, the standards to which the device conforms for a particular purpose, and used for the communication. + */ +export interface DeviceDefinitionSpecialization extends BackboneElement { + /** + * The standard that is used to operate and communicate. + */ + systemType: string; + _systemType?: Element|undefined; + /** + * The version of the standard that is used to operate and communicate. + */ + version?: string|undefined; + _version?: Element|undefined; +} +/** + * Device capabilities. + */ +export interface DeviceDefinitionCapability extends BackboneElement { + /** + * Description of capability. + */ + description?: CodeableConcept[]|undefined; + /** + * Type of capability. + */ + type: CodeableConcept; +} +/** + * The actual configuration settings of a device as it actually operates, e.g., regulation status, time properties. + */ +export interface DeviceDefinitionProperty extends BackboneElement { + /** + * Code that specifies the property DeviceDefinitionPropetyCode (Extensible). + */ + type: CodeableConcept; + /** + * Property value as a code, e.g., NTP4 (synced to NTP). + */ + valueCode?: CodeableConcept[]|undefined; + /** + * Property value as a quantity. + */ + valueQuantity?: Quantity[]|undefined; +} +/** + * A substance used to create the material(s) of which the device is made. + */ +export interface DeviceDefinitionMaterial extends BackboneElement { + /** + * Whether the substance is a known or suspected allergen. + */ + allergenicIndicator?: boolean|undefined; + _allergenicIndicator?: Element|undefined; + /** + * Indicates an alternative material of the device. + */ + alternate?: boolean|undefined; + _alternate?: Element|undefined; + /** + * The substance. + */ + substance: CodeableConcept; +} +/** + * The characteristics, operational status and capabilities of a medical-related component of a medical device. + */ +export interface DeviceDefinition extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'DeviceDefinition'; + /** + * Device capabilities. + */ + capability?: DeviceDefinitionCapability[]|undefined; + /** + * used for troubleshooting etc. + */ + contact?: ContactPoint[]|undefined; + /** + * A name given to the device to identify it. + */ + deviceName?: DeviceDefinitionDeviceName[]|undefined; + /** + * Unique instance identifiers assigned to a device by the software, manufacturers, other organizations or owners. For example: handle ID. + */ + identifier?: Identifier[]|undefined; + /** + * Language code for the human-readable text strings produced by the device (all supported). + */ + languageCode?: CodeableConcept[]|undefined; + /** + * A name of the manufacturer. + */ + manufacturerString?: string|undefined; + _manufacturerString?: Element|undefined; + /** + * A name of the manufacturer. + */ + manufacturerReference?: Reference|undefined; + /** + * A substance used to create the material(s) of which the device is made. + */ + material?: DeviceDefinitionMaterial[]|undefined; + /** + * The model number for the device. + */ + modelNumber?: string|undefined; + _modelNumber?: Element|undefined; + /** + * Descriptive information, usage information or implantation information that is not captured in an existing element. + */ + note?: Annotation[]|undefined; + /** + * Access to on-line information about the device. + */ + onlineInformation?: string|undefined; + _onlineInformation?: Element|undefined; + /** + * An organization that is responsible for the provision and ongoing maintenance of the device. + */ + owner?: Reference|undefined; + /** + * The parent device it can be part of. + */ + parentDevice?: Reference|undefined; + /** + * Dimensions, color etc. + */ + physicalCharacteristics?: ProdCharacteristic|undefined; + /** + * The actual configuration settings of a device as it actually operates, e.g., regulation status, time properties. + */ + property?: DeviceDefinitionProperty[]|undefined; + /** + * The quantity of the device present in the packaging (e.g. the number of devices present in a pack, or the number of devices in the same package of the medicinal product). + */ + quantity?: Quantity|undefined; + /** + * Safety characteristics of the device. + */ + safety?: CodeableConcept[]|undefined; + /** + * Shelf Life and storage information. + */ + shelfLifeStorage?: ProductShelfLife[]|undefined; + /** + * The capabilities supported on a device, the standards to which the device conforms for a particular purpose, and used for the communication. + */ + specialization?: DeviceDefinitionSpecialization[]|undefined; + /** + * What kind of device or device system this is. + */ + type?: CodeableConcept|undefined; + /** + * Unique device identifier (UDI) assigned to device label or package. Note that the Device may include multiple udiCarriers as it either may include just the udiCarrier for the jurisdiction it is sold, or for multiple jurisdictions it could have been sold. + */ + udiDeviceIdentifier?: DeviceDefinitionUdiDeviceIdentifier[]|undefined; + /** + * If the device is running a FHIR server, the network address should be the Base URL from which a conformance statement may be retrieved. + */ + url?: string|undefined; + _url?: Element|undefined; + /** + * The available versions of the device, e.g., software versions. + */ + version?: string[]|undefined; + _version?: Element[]|undefined; +} +/** + * Describes the calibrations that have been performed or that are required to be performed. + */ +export interface DeviceMetricCalibration extends BackboneElement { + /** + * Describes the state of the calibration. + */ + state?: ('not-calibrated'|'calibration-required'|'calibrated'|'unspecified')|undefined; + _state?: Element|undefined; + /** + * Describes the time last calibration has been performed. + */ + time?: string|undefined; + _time?: Element|undefined; + /** + * Describes the type of the calibration method. + */ + type?: ('unspecified'|'offset'|'gain'|'two-point')|undefined; + _type?: Element|undefined; +} +/** + * Describes a measurement, calculation or setting capability of a medical device. + */ +export interface DeviceMetric extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'DeviceMetric'; + /** + * Describes the calibrations that have been performed or that are required to be performed. + */ + calibration?: DeviceMetricCalibration[]|undefined; + /** + * Indicates the category of the observation generation process. A DeviceMetric can be for example a setting, measurement, or calculation. + */ + category: ('measurement'|'setting'|'calculation'|'unspecified'); + _category?: Element|undefined; + /** + * Describes the color representation for the metric. This is often used to aid clinicians to track and identify parameter types by color. In practice, consider a Patient Monitor that has ECG/HR and Pleth for example; the parameters are displayed in different characteristic colors, such as HR-blue, BP-green, and PR and SpO2- magenta. + */ + color?: ('black'|'red'|'green'|'yellow'|'blue'|'magenta'|'cyan'|'white')|undefined; + _color?: Element|undefined; + /** + * For identifiers assigned to a device by the device or gateway software, the `system` element of the identifier should be set to the unique identifier of the device. + */ + identifier?: Identifier[]|undefined; + /** + * Describes the measurement repetition time. This is not necessarily the same as the update period. The measurement repetition time can range from milliseconds up to hours. An example for a measurement repetition time in the range of milliseconds is the sampling rate of an ECG. An example for a measurement repetition time in the range of hours is a NIBP that is triggered automatically every hour. The update period may be different than the measurement repetition time, if the device does not update the published observed value with the same frequency as it was measured. + */ + measurementPeriod?: Timing|undefined; + /** + * Indicates current operational state of the device. For example: On, Off, Standby, etc. + */ + operationalStatus?: ('on'|'off'|'standby'|'entered-in-error')|undefined; + _operationalStatus?: Element|undefined; + /** + * Describes the link to the Device that this DeviceMetric belongs to and that provide information about the location of this DeviceMetric in the containment structure of the parent Device. An example would be a Device that represents a Channel. This reference can be used by a client application to distinguish DeviceMetrics that have the same type, but should be interpreted based on their containment location. + */ + parent?: Reference|undefined; + /** + * Describes the link to the Device that this DeviceMetric belongs to and that contains administrative device information such as manufacturer, serial number, etc. + */ + source?: Reference|undefined; + /** + * DeviceMetric.type can be referred to either IEEE 11073-10101 or LOINC. + */ + type: CodeableConcept; + /** + * DeviceMetric.unit can refer to either UCUM or preferable a RTMMS coding system. + */ + unit?: CodeableConcept|undefined; +} +/** + * Specific parameters for the ordered item. For example, the prism value for lenses. + */ +export interface DeviceRequestParameter extends BackboneElement { + /** + * A code or string that identifies the device detail being asserted. + */ + code?: CodeableConcept|undefined; + /** + * Range means device should have a value that falls somewhere within the specified range. + */ + valueCodeableConcept?: CodeableConcept|undefined; + /** + * Range means device should have a value that falls somewhere within the specified range. + */ + valueQuantity?: Quantity|undefined; + /** + * Range means device should have a value that falls somewhere within the specified range. + */ + valueRange?: Range|undefined; + /** + * Range means device should have a value that falls somewhere within the specified range. + */ + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; +} +/** + * Represents a request for a patient to employ a medical device. The device may be an implantable device, or an external assistive device, such as a walker. + */ +export interface DeviceRequest extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'DeviceRequest'; + /** + * When the request transitioned to being actionable. + */ + authoredOn?: string|undefined; + _authoredOn?: Element|undefined; + /** + * Plan/proposal/order fulfilled by this request. + */ + basedOn?: Reference[]|undefined; + /** + * The details of the device to be used. + */ + codeReference?: Reference|undefined; + /** + * The details of the device to be used. + */ + codeCodeableConcept?: CodeableConcept|undefined; + /** + * An encounter that provides additional context in which this request is made. + */ + encounter?: Reference|undefined; + /** + * Composite request this is part of. + */ + groupIdentifier?: Identifier|undefined; + /** + * Identifiers assigned to this order by the orderer or by the receiver. + */ + identifier?: Identifier[]|undefined; + /** + * Note: This is a business identifier, not a resource identifier (see [discussion](resource.html#identifiers)). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and a Person resource instance might share the same social insurance number. + */ + instantiatesCanonical?: string[]|undefined; + _instantiatesCanonical?: Element[]|undefined; + /** + * This might be an HTML page, PDF, etc. or could just be a non-resolvable URI identifier. + */ + instantiatesUri?: string[]|undefined; + _instantiatesUri?: Element[]|undefined; + /** + * Insurance plans, coverage extensions, pre-authorizations and/or pre-determinations that may be required for delivering the requested service. + */ + insurance?: Reference[]|undefined; + /** + * Whether the request is a proposal, plan, an original order or a reflex order. + */ + intent: ('proposal'|'plan'|'directive'|'order'|'original-order'|'reflex-order'|'filler-order'|'instance-order'|'option'); + _intent?: Element|undefined; + /** + * Details about this request that were not represented at all or sufficiently in one of the attributes provided in a class. These may include for example a comment, an instruction, or a note associated with the statement. + */ + note?: Annotation[]|undefined; + /** + * The timing schedule for the use of the device. The Schedule data type allows many different expressions, for example. "Every 8 hours"; "Three times a day"; "1/2 an hour before breakfast for 10 days from 23-Dec 2011:"; "15 Oct 2013, 17 Oct 2013 and 1 Nov 2013". + */ + occurrenceDateTime?: string|undefined; + _occurrenceDateTime?: Element|undefined; + /** + * The timing schedule for the use of the device. The Schedule data type allows many different expressions, for example. "Every 8 hours"; "Three times a day"; "1/2 an hour before breakfast for 10 days from 23-Dec 2011:"; "15 Oct 2013, 17 Oct 2013 and 1 Nov 2013". + */ + occurrencePeriod?: Period|undefined; + /** + * The timing schedule for the use of the device. The Schedule data type allows many different expressions, for example. "Every 8 hours"; "Three times a day"; "1/2 an hour before breakfast for 10 days from 23-Dec 2011:"; "15 Oct 2013, 17 Oct 2013 and 1 Nov 2013". + */ + occurrenceTiming?: Timing|undefined; + /** + * Specific parameters for the ordered item. For example, the prism value for lenses. + */ + parameter?: DeviceRequestParameter[]|undefined; + /** + * The desired performer for doing the diagnostic testing. + */ + performer?: Reference|undefined; + /** + * Desired type of performer for doing the diagnostic testing. + */ + performerType?: CodeableConcept|undefined; + /** + * Indicates how quickly the {{title}} should be addressed with respect to other requests. + */ + priority?: ('routine'|'urgent'|'asap'|'stat')|undefined; + _priority?: Element|undefined; + /** + * The request takes the place of the referenced completed or terminated request(s). + */ + priorRequest?: Reference[]|undefined; + /** + * Reason or justification for the use of this device. + */ + reasonCode?: CodeableConcept[]|undefined; + /** + * Reason or justification for the use of this device. + */ + reasonReference?: Reference[]|undefined; + /** + * This might not include provenances for all versions of the request - only those deemed "relevant" or important. + * This SHALL NOT include the Provenance associated with this current version of the resource. (If that provenance is deemed to be a "relevant" change, it will need to be added as part of a later update. Until then, it can be queried directly as the Provenance that points to this version using _revinclude + * All Provenances should have some historical version of this Request as their subject. + */ + relevantHistory?: Reference[]|undefined; + /** + * The individual who initiated the request and has responsibility for its activation. + */ + requester?: Reference|undefined; + /** + * This element is labeled as a modifier because the status contains the codes cancelled and entered-in-error that mark the request as not currently valid. + */ + status?: ('draft'|'active'|'on-hold'|'revoked'|'completed'|'entered-in-error'|'unknown')|undefined; + _status?: Element|undefined; + /** + * The patient who will use the device. + */ + subject: Reference; + /** + * Additional clinical information about the patient that may influence the request fulfilment. For example, this may include where on the subject's body the device will be used (i.e. the target site). + */ + supportingInfo?: Reference[]|undefined; +} +/** + * A record of a device being used by a patient where the record is the result of a report from the patient or another clinician. + */ +export interface DeviceUseStatement extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'DeviceUseStatement'; + /** + * A plan, proposal or order that is fulfilled in whole or in part by this DeviceUseStatement. + */ + basedOn?: Reference[]|undefined; + /** + * Indicates the anotomic location on the subject's body where the device was used ( i.e. the target). + */ + bodySite?: CodeableConcept|undefined; + /** + * The most common use cases for deriving a DeviceUseStatement comes from creating it from a request or from an observation or a claim. it should be noted that the amount of information that is available varies from the type resource that you derive the DeviceUseStatement from. + */ + derivedFrom?: Reference[]|undefined; + /** + * The details of the device used. + */ + device: Reference; + /** + * An external identifier for this statement such as an IRI. + */ + identifier?: Identifier[]|undefined; + /** + * Details about the device statement that were not represented at all or sufficiently in one of the attributes provided in a class. These may include for example a comment, an instruction, or a note associated with the statement. + */ + note?: Annotation[]|undefined; + /** + * Reason or justification for the use of the device. + */ + reasonCode?: CodeableConcept[]|undefined; + /** + * Indicates another resource whose existence justifies this DeviceUseStatement. + */ + reasonReference?: Reference[]|undefined; + /** + * The time at which the statement was made/recorded. + */ + recordedOn?: string|undefined; + _recordedOn?: Element|undefined; + /** + * Who reported the device was being used by the patient. + */ + source?: Reference|undefined; + /** + * DeviceUseStatment is a statement at a point in time. The status is only representative at the point when it was asserted. The value set for contains codes that assert the status of the use by the patient (for example, stopped or on hold) as well as codes that assert the status of the resource itself (for example, entered in error). + * This element is labeled as a modifier because the status contains the codes that mark the statement as not currently valid. + */ + status: ('active'|'completed'|'entered-in-error'|'intended'|'stopped'|'on-hold'); + _status?: Element|undefined; + /** + * The patient who used the device. + */ + subject: Reference; + /** + * How often the device was used. + */ + timingTiming?: Timing|undefined; + /** + * How often the device was used. + */ + timingPeriod?: Period|undefined; + /** + * How often the device was used. + */ + timingDateTime?: string|undefined; + _timingDateTime?: Element|undefined; +} +/** + * A list of key images associated with this report. The images are generally created during the diagnostic process, and may be directly of the patient, or of treated specimens (i.e. slides of interest). + */ +export interface DiagnosticReportMedia extends BackboneElement { + /** + * The comment should be displayed with the image. It would be common for the report to include additional discussion of the image contents in other sections such as the conclusion. + */ + comment?: string|undefined; + _comment?: Element|undefined; + /** + * Reference to the image source. + */ + link: Reference; +} +/** + * The findings and interpretation of diagnostic tests performed on patients, groups of patients, devices, and locations, and/or specimens derived from these. The report includes clinical context such as requesting and provider information, and some mix of atomic results, images, textual and coded interpretations, and formatted representation of diagnostic reports. + */ +export interface DiagnosticReport extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'DiagnosticReport'; + /** + * Note: Usually there is one test request for each result, however in some circumstances multiple test requests may be represented using a single test result resource. Note that there are also cases where one request leads to multiple reports. + */ + basedOn?: Reference[]|undefined; + /** + * Multiple categories are allowed using various categorization schemes. The level of granularity is defined by the category concepts in the value set. More fine-grained filtering can be performed using the metadata and/or terminology hierarchy in DiagnosticReport.code. + */ + category?: CodeableConcept[]|undefined; + /** + * A code or name that describes this diagnostic report. + */ + code: CodeableConcept; + /** + * Concise and clinically contextualized summary conclusion (interpretation/impression) of the diagnostic report. + */ + conclusion?: string|undefined; + _conclusion?: Element|undefined; + /** + * One or more codes that represent the summary conclusion (interpretation/impression) of the diagnostic report. + */ + conclusionCode?: CodeableConcept[]|undefined; + /** + * If the diagnostic procedure was performed on the patient, this is the time it was performed. If there are specimens, the diagnostically relevant time can be derived from the specimen collection times, but the specimen information is not always available, and the exact relationship between the specimens and the diagnostically relevant time is not always automatic. + */ + effectiveDateTime?: string|undefined; + _effectiveDateTime?: Element|undefined; + /** + * If the diagnostic procedure was performed on the patient, this is the time it was performed. If there are specimens, the diagnostically relevant time can be derived from the specimen collection times, but the specimen information is not always available, and the exact relationship between the specimens and the diagnostically relevant time is not always automatic. + */ + effectivePeriod?: Period|undefined; + /** + * This will typically be the encounter the event occurred within, but some events may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter (e.g. pre-admission laboratory tests). + */ + encounter?: Reference|undefined; + /** + * Usually assigned by the Information System of the diagnostic service provider (filler id). + */ + identifier?: Identifier[]|undefined; + /** + * ImagingStudy and the image element are somewhat overlapping - typically, the list of image references in the image element will also be found in one of the imaging study resources. However, each caters to different types of displays for different types of purposes. Neither, either, or both may be provided. + */ + imagingStudy?: Reference[]|undefined; + /** + * May be different from the update time of the resource itself, because that is the status of the record (potentially a secondary copy), not the actual release time of the report. + */ + issued?: string|undefined; + _issued?: Element|undefined; + /** + * A list of key images associated with this report. The images are generally created during the diagnostic process, and may be directly of the patient, or of treated specimens (i.e. slides of interest). + */ + media?: DiagnosticReportMedia[]|undefined; + /** + * This is not necessarily the source of the atomic data items or the entity that interpreted the results. It is the entity that takes responsibility for the clinical report. + */ + performer?: Reference[]|undefined; + /** + * "application/pdf" is recommended as the most reliable and interoperable in this context. + */ + presentedForm?: Attachment[]|undefined; + /** + * Observations can contain observations. + */ + result?: Reference[]|undefined; + /** + * Might not be the same entity that takes responsibility for the clinical report. + */ + resultsInterpreter?: Reference[]|undefined; + /** + * If the specimen is sufficiently specified with a code in the test result name, then this additional data may be redundant. If there are multiple specimens, these may be represented per observation or group. + */ + specimen?: Reference[]|undefined; + /** + * The status of the diagnostic report. + */ + status: ('registered'|'partial'|'preliminary'|'final'|'amended'|'corrected'|'appended'|'cancelled'|'entered-in-error'|'unknown'); + _status?: Element|undefined; + /** + * The subject of the report. Usually, but not always, this is a patient. However, diagnostic services also perform analyses on specimens collected from a variety of other sources. + */ + subject?: Reference|undefined; +} +/** + * May be identifiers or resources that caused the DocumentManifest to be created. + */ +export interface DocumentManifestRelated extends BackboneElement { + /** + * If both identifier and ref elements are present they shall refer to the same thing. + */ + identifier?: Identifier|undefined; + /** + * If both identifier and ref elements are present they shall refer to the same thing. + */ + ref?: Reference|undefined; +} +/** + * A collection of documents compiled for a purpose together with metadata that applies to the collection. + */ +export interface DocumentManifest extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'DocumentManifest'; + /** + * Not necessarily who did the actual data entry (i.e. typist) or who was the source (informant). + */ + author?: Reference[]|undefined; + /** + * When used for XDS the intended focus of the DocumentManifest is for the reference to target to be a set of DocumentReference Resources. The reference is to "Any" to support EN 13606 usage, where an extract is DocumentManifest that references List and Composition resources. + */ + content: Reference[]; + /** + * Creation time is used for tracking, organizing versions and searching. This is the creation time of the document set, not the documents on which it is based. + */ + created?: string|undefined; + _created?: Element|undefined; + /** + * What the document is about, rather than a terse summary of the document. It is commonly the case that records do not have a title and are collectively referred to by the display name of Record code (e.g. a "consultation" or "progress note"). + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * Other identifiers associated with the document manifest, including version independent identifiers. + */ + identifier?: Identifier[]|undefined; + /** + * A single identifier that uniquely identifies this manifest. Principally used to refer to the manifest in non-FHIR contexts. + */ + masterIdentifier?: Identifier|undefined; + /** + * How the recipient receives the document set or is notified of it is up to the implementation. This element is just a statement of intent. If the recipient is a person, and it is not known whether the person is a patient or a practitioner, RelatedPerson would be the default choice. + */ + recipient?: Reference[]|undefined; + /** + * May be identifiers or resources that caused the DocumentManifest to be created. + */ + related?: DocumentManifestRelated[]|undefined; + /** + * Identifies the source system, application, or software that produced the document manifest. + */ + source?: string|undefined; + _source?: Element|undefined; + /** + * This element is labeled as a modifier because the status contains the codes that mark the manifest as not currently valid. + */ + status: ('current'|'superseded'|'entered-in-error'); + _status?: Element|undefined; + /** + * Who or what the set of documents is about. The documents can be about a person, (patient or healthcare practitioner), a device (i.e. machine) or even a group of subjects (such as a document about a herd of farm animals, or a set of patients that share a common exposure). If the documents cross more than one subject, then more than one subject is allowed here (unusual use case). + */ + subject?: Reference|undefined; + /** + * Specifies the kind of this set of documents (e.g. Patient Summary, Discharge Summary, Prescription, etc.). The type of a set of documents may be the same as one of the documents in it - especially if there is only one - but it may be wider. + */ + type?: CodeableConcept|undefined; +} +/** + * This element is labeled as a modifier because documents that append to other documents are incomplete on their own. + */ +export interface DocumentReferenceRelatesTo extends BackboneElement { + /** + * If this document appends another document, then the document cannot be fully understood without also accessing the referenced document. + */ + code: ('replaces'|'transforms'|'signs'|'appends'); + _code?: Element|undefined; + /** + * The target document of this relationship. + */ + target: Reference; +} +/** + * The document and format referenced. There may be multiple content element repetitions, each with a different format. + */ +export interface DocumentReferenceContent extends BackboneElement { + /** + * The document or URL of the document along with critical metadata to prove content has integrity. + */ + attachment: Attachment; + /** + * Note that while IHE mostly issues URNs for format types, not all documents can be identified by a URI. + */ + format?: Coding|undefined; +} +/** + * These values are primarily added to help with searching for interesting/relevant documents. + */ +export interface DocumentReferenceContext extends BackboneElement { + /** + * Describes the clinical encounter or type of care that the document content is associated with. + */ + encounter?: Reference[]|undefined; + /** + * An event can further specialize the act inherent in the type, such as where it is simply "Procedure Report" and the procedure was a "colonoscopy". If one or more event codes are included, they shall not conflict with the values inherent in the class or type elements as such a conflict would create an ambiguous situation. + */ + event?: CodeableConcept[]|undefined; + /** + * The kind of facility where the patient was seen. + */ + facilityType?: CodeableConcept|undefined; + /** + * The time period over which the service that is described by the document was provided. + */ + period?: Period|undefined; + /** + * This element should be based on a coarse classification system for the class of specialty practice. Recommend the use of the classification system for Practice Setting, such as that described by the Subject Matter Domain in LOINC. + */ + practiceSetting?: CodeableConcept|undefined; + /** + * May be identifiers or resources that caused the DocumentReference or referenced Document to be created. + */ + related?: Reference[]|undefined; + /** + * The Patient Information as known when the document was published. May be a reference to a version specific, or contained. + */ + sourcePatientInfo?: Reference|undefined; +} +/** + * A reference to a document of any kind for any purpose. Provides metadata about the document so that the document can be discovered and managed. The scope of a document is any seralized object with a mime-type, so includes formal patient centric documents (CDA), cliical notes, scanned paper, and non-patient specific documents like policy text. + */ +export interface DocumentReference extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'DocumentReference'; + /** + * Represents a participant within the author institution who has legally authenticated or attested the document. Legal authentication implies that a document has been signed manually or electronically by the legal Authenticator. + */ + authenticator?: Reference|undefined; + /** + * Not necessarily who did the actual data entry (i.e. typist) or who was the source (informant). + */ + author?: Reference[]|undefined; + /** + * Key metadata element describing the the category or classification of the document. This is a broader perspective that groups similar documents based on how they would be used. This is a primary key used in searching. + */ + category?: CodeableConcept[]|undefined; + /** + * The document and format referenced. There may be multiple content element repetitions, each with a different format. + */ + content: DocumentReferenceContent[]; + /** + * These values are primarily added to help with searching for interesting/relevant documents. + */ + context?: DocumentReferenceContext|undefined; + /** + * Identifies the logical organization (software system, vendor, or department) to go to find the current version, where to report issues, etc. This is different from the physical location (URL, disk drive, or server) of the document, which is the technical location of the document, which host may be delegated to the management of some other organization. + */ + custodian?: Reference|undefined; + /** + * Referencing/indexing time is used for tracking, organizing versions and searching. + */ + date?: string|undefined; + _date?: Element|undefined; + /** + * What the document is about, a terse summary of the document. + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * The document that is pointed to might be in various lifecycle states. + */ + docStatus?: ('preliminary'|'final'|'amended'|'entered-in-error')|undefined; + _docStatus?: Element|undefined; + /** + * Other identifiers associated with the document, including version independent identifiers. + */ + identifier?: Identifier[]|undefined; + /** + * CDA Document Id extension and root. + */ + masterIdentifier?: Identifier|undefined; + /** + * This element is labeled as a modifier because documents that append to other documents are incomplete on their own. + */ + relatesTo?: DocumentReferenceRelatesTo[]|undefined; + /** + * The confidentiality codes can carry multiple vocabulary items. HL7 has developed an understanding of security and privacy tags that might be desirable in a Document Sharing environment, called HL7 Healthcare Privacy and Security Classification System (HCS). The following specification is recommended but not mandated, as the vocabulary bindings are an administrative domain responsibility. The use of this method is up to the policy domain such as the XDS Affinity Domain or other Trust Domain where all parties including sender and recipients are trusted to appropriately tag and enforce. + * In the HL7 Healthcare Privacy and Security Classification (HCS) there are code systems specific to Confidentiality, Sensitivity, Integrity, and Handling Caveats. Some values would come from a local vocabulary as they are related to workflow roles and special projects. + */ + securityLabel?: CodeableConcept[]|undefined; + /** + * This is the status of the DocumentReference object, which might be independent from the docStatus element. + * This element is labeled as a modifier because the status contains the codes that mark the document or reference as not currently valid. + */ + status: ('current'|'superseded'|'entered-in-error'); + _status?: Element|undefined; + /** + * Who or what the document is about. The document can be about a person, (patient or healthcare practitioner), a device (e.g. a machine) or even a group of subjects (such as a document about a herd of farm animals, or a set of patients that share a common exposure). + */ + subject?: Reference|undefined; + /** + * Key metadata element describing the document that describes he exact type of document. Helps humans to assess whether the document is of interest when viewing a list of documents. + */ + type?: CodeableConcept|undefined; +} +/** + * A resource that includes narrative, extensions, and contained resources. + */ +export interface DomainResource extends Resource { + /** Resource Type Name (for serialization) */ + readonly resourceType: string; + /** + * This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels. + */ + contained?: FhirResource[]|undefined; + /** + * There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. + */ + extension?: Extension[]|undefined; + /** + * There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. + */ + modifierExtension?: Extension[]|undefined; + /** + * Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later. + */ + text?: Narrative|undefined; +} +/** + * A description of the size of the sample involved in the synthesis. + */ +export interface EffectEvidenceSynthesisSampleSize extends BackboneElement { + /** + * Human-readable summary of sample size. + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * Number of participants included in this evidence synthesis. + */ + numberOfParticipants?: number|undefined; + /** + * Number of studies included in this evidence synthesis. + */ + numberOfStudies?: number|undefined; +} +/** + * A description of the results for each exposure considered in the effect estimate. + */ +export interface EffectEvidenceSynthesisResultsByExposure extends BackboneElement { + /** + * Human-readable summary of results by exposure state. + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * Whether these results are for the exposure state or alternative exposure state. + */ + exposureState?: ('exposure'|'exposure-alternative')|undefined; + _exposureState?: Element|undefined; + /** + * Reference to a RiskEvidenceSynthesis resource. + */ + riskEvidenceSynthesis: Reference; + /** + * Used to define variant exposure states such as low-risk state. + */ + variantState?: CodeableConcept|undefined; +} +/** + * A description of the precision of the estimate for the effect. + */ +export interface EffectEvidenceSynthesisEffectEstimatePrecisionEstimate extends BackboneElement { + /** + * Lower bound of confidence interval. + */ + from?: number|undefined; + /** + * Use 95 for a 95% confidence interval. + */ + level?: number|undefined; + /** + * Upper bound of confidence interval. + */ + to?: number|undefined; + /** + * Examples include confidence interval and interquartile range. + */ + type?: CodeableConcept|undefined; +} +/** + * The estimated effect of the exposure variant. + */ +export interface EffectEvidenceSynthesisEffectEstimate extends BackboneElement { + /** + * Human-readable summary of effect estimate. + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * A description of the precision of the estimate for the effect. + */ + precisionEstimate?: EffectEvidenceSynthesisEffectEstimatePrecisionEstimate[]|undefined; + /** + * Examples include relative risk and mean difference. + */ + type?: CodeableConcept|undefined; + /** + * Specifies the UCUM unit for the outcome. + */ + unitOfMeasure?: CodeableConcept|undefined; + /** + * The point estimate of the effect estimate. + */ + value?: number|undefined; + /** + * Used to define variant exposure states such as low-risk state. + */ + variantState?: CodeableConcept|undefined; +} +/** + * A description of a component of the overall certainty. + */ +export interface EffectEvidenceSynthesisCertaintyCertaintySubcomponent extends BackboneElement { + /** + * A human-readable string to clarify or explain concepts about the resource. + */ + note?: Annotation[]|undefined; + /** + * A rating of a subcomponent of rating certainty. + */ + rating?: CodeableConcept[]|undefined; + /** + * Type of subcomponent of certainty rating. + */ + type?: CodeableConcept|undefined; +} +/** + * A description of the certainty of the effect estimate. + */ +export interface EffectEvidenceSynthesisCertainty extends BackboneElement { + /** + * A description of a component of the overall certainty. + */ + certaintySubcomponent?: EffectEvidenceSynthesisCertaintyCertaintySubcomponent[]|undefined; + /** + * A human-readable string to clarify or explain concepts about the resource. + */ + note?: Annotation[]|undefined; + /** + * A rating of the certainty of the effect estimate. + */ + rating?: CodeableConcept[]|undefined; +} +/** + * The EffectEvidenceSynthesis resource describes the difference in an outcome between exposures states in a population where the effect estimate is derived from a combination of research studies. + */ +export interface EffectEvidenceSynthesis extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'EffectEvidenceSynthesis'; + /** + * The 'date' element may be more recent than the approval date because of minor changes or editorial corrections. + */ + approvalDate?: string|undefined; + _approvalDate?: Element|undefined; + /** + * An individiual or organization primarily involved in the creation and maintenance of the content. + */ + author?: ContactDetail[]|undefined; + /** + * A description of the certainty of the effect estimate. + */ + certainty?: EffectEvidenceSynthesisCertainty[]|undefined; + /** + * May be a web site, an email address, a telephone number, etc. + */ + contact?: ContactDetail[]|undefined; + /** + * A copyright statement relating to the effect evidence synthesis and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the effect evidence synthesis. + */ + copyright?: string|undefined; + _copyright?: Element|undefined; + /** + * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the effect evidence synthesis. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. + */ + date?: string|undefined; + _date?: Element|undefined; + /** + * This description can be used to capture details such as why the effect evidence synthesis was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the effect evidence synthesis as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the effect evidence synthesis is presumed to be the predominant language in the place the effect evidence synthesis was created). + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * An individual or organization primarily responsible for internal coherence of the content. + */ + editor?: ContactDetail[]|undefined; + /** + * The estimated effect of the exposure variant. + */ + effectEstimate?: EffectEvidenceSynthesisEffectEstimate[]|undefined; + /** + * The effective period for a effect evidence synthesis determines when the content is applicable for usage and is independent of publication and review dates. For example, a measure intended to be used for the year 2016 might be published in 2015. + */ + effectivePeriod?: Period|undefined; + /** + * An individual or organization responsible for officially endorsing the content for use in some setting. + */ + endorser?: ContactDetail[]|undefined; + /** + * A reference to a EvidenceVariable resource that defines the exposure for the research. + */ + exposure: Reference; + /** + * A reference to a EvidenceVariable resource that defines the comparison exposure for the research. + */ + exposureAlternative: Reference; + /** + * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this effect evidence synthesis outside of FHIR, where it is not possible to use the logical URI. + */ + identifier?: Identifier[]|undefined; + /** + * It may be possible for the effect evidence synthesis to be used in jurisdictions other than those for which it was originally designed or intended. + */ + jurisdiction?: CodeableConcept[]|undefined; + /** + * If specified, this date follows the original approval date. + */ + lastReviewDate?: string|undefined; + _lastReviewDate?: Element|undefined; + /** + * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. + */ + name?: string|undefined; + _name?: Element|undefined; + /** + * A human-readable string to clarify or explain concepts about the resource. + */ + note?: Annotation[]|undefined; + /** + * A reference to a EvidenceVariable resomece that defines the outcome for the research. + */ + outcome: Reference; + /** + * A reference to a EvidenceVariable resource that defines the population for the research. + */ + population: Reference; + /** + * Usually an organization but may be an individual. The publisher (or steward) of the effect evidence synthesis is the organization or individual primarily responsible for the maintenance and upkeep of the effect evidence synthesis. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the effect evidence synthesis. This item SHOULD be populated unless the information is available from context. + */ + publisher?: string|undefined; + _publisher?: Element|undefined; + /** + * Each related artifact is either an attachment, or a reference to another resource, but not both. + */ + relatedArtifact?: RelatedArtifact[]|undefined; + /** + * A description of the results for each exposure considered in the effect estimate. + */ + resultsByExposure?: EffectEvidenceSynthesisResultsByExposure[]|undefined; + /** + * An individual or organization primarily responsible for review of some aspect of the content. + */ + reviewer?: ContactDetail[]|undefined; + /** + * A description of the size of the sample involved in the synthesis. + */ + sampleSize?: EffectEvidenceSynthesisSampleSize|undefined; + /** + * Allows filtering of effect evidence synthesiss that are appropriate for use versus not. + */ + status: ('draft'|'active'|'retired'|'unknown'); + _status?: Element|undefined; + /** + * Type of study eg randomized trial. + */ + studyType?: CodeableConcept|undefined; + /** + * Type of synthesis eg meta-analysis. + */ + synthesisType?: CodeableConcept|undefined; + /** + * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. + */ + title?: string|undefined; + _title?: Element|undefined; + /** + * Descriptive topics related to the content of the EffectEvidenceSynthesis. Topics provide a high-level categorization grouping types of EffectEvidenceSynthesiss that can be useful for filtering and searching. + */ + topic?: CodeableConcept[]|undefined; + /** + * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. + * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). + * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. + */ + url?: string|undefined; + _url?: Element|undefined; + /** + * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. + */ + useContext?: UsageContext[]|undefined; + /** + * There may be different effect evidence synthesis instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the effect evidence synthesis with the format [url]|[version]. + */ + version?: string|undefined; + _version?: Element|undefined; +} +/** + * The current status is always found in the current version of the resource, not the status history. + */ +export interface EncounterStatusHistory extends BackboneElement { + /** + * The time that the episode was in the specified status. + */ + period: Period; + /** + * planned | arrived | triaged | in-progress | onleave | finished | cancelled +. + */ + status: ('planned'|'arrived'|'triaged'|'in-progress'|'onleave'|'finished'|'cancelled'|'entered-in-error'|'unknown'); + _status?: Element|undefined; +} +/** + * The class history permits the tracking of the encounters transitions without needing to go through the resource history. This would be used for a case where an admission starts of as an emergency encounter, then transitions into an inpatient scenario. Doing this and not restarting a new encounter ensures that any lab/diagnostic results can more easily follow the patient and not require re-processing and not get lost or cancelled during a kind of discharge from emergency to inpatient. + */ +export interface EncounterClassHistory extends BackboneElement { + /** + * inpatient | outpatient | ambulatory | emergency +. + */ + class: Coding; + /** + * The time that the episode was in the specified class. + */ + period: Period; +} +/** + * The list of people responsible for providing the service. + */ +export interface EncounterParticipant extends BackboneElement { + /** + * Persons involved in the encounter other than the patient. + */ + individual?: Reference|undefined; + /** + * The period of time that the specified participant participated in the encounter. These can overlap or be sub-sets of the overall encounter's period. + */ + period?: Period|undefined; + /** + * The participant type indicates how an individual participates in an encounter. It includes non-practitioner participants, and for practitioners this is to describe the action type in the context of this encounter (e.g. Admitting Dr, Attending Dr, Translator, Consulting Dr). This is different to the practitioner roles which are functional roles, derived from terms of employment, education, licensing, etc. + */ + type?: CodeableConcept[]|undefined; +} +/** + * The list of diagnosis relevant to this encounter. + */ +export interface EncounterDiagnosis extends BackboneElement { + /** + * For systems that need to know which was the primary diagnosis, these will be marked with the standard extension primaryDiagnosis (which is a sequence value rather than a flag, 1 = primary diagnosis). + */ + condition: Reference; + /** + * Ranking of the diagnosis (for each role type). + */ + rank?: number|undefined; + /** + * Role that this diagnosis has within the encounter (e.g. admission, billing, discharge …). + */ + use?: CodeableConcept|undefined; +} +/** + * An Encounter may cover more than just the inpatient stay. Contexts such as outpatients, community clinics, and aged care facilities are also included. + * The duration recorded in the period of this encounter covers the entire scope of this hospitalization record. + */ +export interface EncounterHospitalization extends BackboneElement { + /** + * From where patient was admitted (physician referral, transfer). + */ + admitSource?: CodeableConcept|undefined; + /** + * Location/organization to which the patient is discharged. + */ + destination?: Reference|undefined; + /** + * For example, a patient may request both a dairy-free and nut-free diet preference (not mutually exclusive). + */ + dietPreference?: CodeableConcept[]|undefined; + /** + * Category or kind of location after discharge. + */ + dischargeDisposition?: CodeableConcept|undefined; + /** + * The location/organization from which the patient came before admission. + */ + origin?: Reference|undefined; + /** + * Pre-admission identifier. + */ + preAdmissionIdentifier?: Identifier|undefined; + /** + * Whether this hospitalization is a readmission and why if known. + */ + reAdmission?: CodeableConcept|undefined; + /** + * Any special requests that have been made for this hospitalization encounter, such as the provision of specific equipment or other things. + */ + specialArrangement?: CodeableConcept[]|undefined; + /** + * Special courtesies (VIP, board member). + */ + specialCourtesy?: CodeableConcept[]|undefined; +} +/** + * Virtual encounters can be recorded in the Encounter by specifying a location reference to a location of type "kind" such as "client's home" and an encounter.class = "virtual". + */ +export interface EncounterLocation extends BackboneElement { + /** + * The location where the encounter takes place. + */ + location: Reference; + /** + * Time period during which the patient was present at the location. + */ + period?: Period|undefined; + /** + * This information is de-normalized from the Location resource to support the easier understanding of the encounter resource and processing in messaging or query. + * There may be many levels in the hierachy, and this may only pic specific levels that are required for a specific usage scenario. + */ + physicalType?: CodeableConcept|undefined; + /** + * When the patient is no longer active at a location, then the period end date is entered, and the status may be changed to completed. + */ + status?: ('planned'|'active'|'reserved'|'completed')|undefined; + _status?: Element|undefined; +} +/** + * An interaction between a patient and healthcare provider(s) for the purpose of providing healthcare service(s) or assessing the health status of a patient. + */ +export interface Encounter extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'Encounter'; + /** + * The billing system may choose to allocate billable items associated with the Encounter to different referenced Accounts based on internal business rules. + */ + account?: Reference[]|undefined; + /** + * The appointment that scheduled this encounter. + */ + appointment?: Reference[]|undefined; + /** + * The request this encounter satisfies (e.g. incoming referral or procedure request). + */ + basedOn?: Reference[]|undefined; + /** + * Concepts representing classification of patient encounter such as ambulatory (outpatient), inpatient, emergency, home health or others due to local variations. + */ + class: Coding; + /** + * The class history permits the tracking of the encounters transitions without needing to go through the resource history. This would be used for a case where an admission starts of as an emergency encounter, then transitions into an inpatient scenario. Doing this and not restarting a new encounter ensures that any lab/diagnostic results can more easily follow the patient and not require re-processing and not get lost or cancelled during a kind of discharge from emergency to inpatient. + */ + classHistory?: EncounterClassHistory[]|undefined; + /** + * The list of diagnosis relevant to this encounter. + */ + diagnosis?: EncounterDiagnosis[]|undefined; + /** + * Where a specific encounter should be classified as a part of a specific episode(s) of care this field should be used. This association can facilitate grouping of related encounters together for a specific purpose, such as government reporting, issue tracking, association via a common problem. The association is recorded on the encounter as these are typically created after the episode of care and grouped on entry rather than editing the episode of care to append another encounter to it (the episode of care could span years). + */ + episodeOfCare?: Reference[]|undefined; + /** + * An Encounter may cover more than just the inpatient stay. Contexts such as outpatients, community clinics, and aged care facilities are also included. + * The duration recorded in the period of this encounter covers the entire scope of this hospitalization record. + */ + hospitalization?: EncounterHospitalization|undefined; + /** + * Identifier(s) by which this encounter is known. + */ + identifier?: Identifier[]|undefined; + /** + * May differ from the time the Encounter.period lasted because of leave of absence. + */ + length?: Duration|undefined; + /** + * Virtual encounters can be recorded in the Encounter by specifying a location reference to a location of type "kind" such as "client's home" and an encounter.class = "virtual". + */ + location?: EncounterLocation[]|undefined; + /** + * The list of people responsible for providing the service. + */ + participant?: EncounterParticipant[]|undefined; + /** + * This is also used for associating a child's encounter back to the mother's encounter. + * Refer to the Notes section in the Patient resource for further details. + */ + partOf?: Reference|undefined; + /** + * If not (yet) known, the end of the Period may be omitted. + */ + period?: Period|undefined; + /** + * Indicates the urgency of the encounter. + */ + priority?: CodeableConcept|undefined; + /** + * For systems that need to know which was the primary diagnosis, these will be marked with the standard extension primaryDiagnosis (which is a sequence value rather than a flag, 1 = primary diagnosis). + */ + reasonCode?: CodeableConcept[]|undefined; + /** + * For systems that need to know which was the primary diagnosis, these will be marked with the standard extension primaryDiagnosis (which is a sequence value rather than a flag, 1 = primary diagnosis). + */ + reasonReference?: Reference[]|undefined; + /** + * The organization that is primarily responsible for this Encounter's services. This MAY be the same as the organization on the Patient record, however it could be different, such as if the actor performing the services was from an external organization (which may be billed seperately) for an external consultation. Refer to the example bundle showing an abbreviated set of Encounters for a colonoscopy. + */ + serviceProvider?: Reference|undefined; + /** + * Broad categorization of the service that is to be provided (e.g. cardiology). + */ + serviceType?: CodeableConcept|undefined; + /** + * Note that internal business rules will determine the appropriate transitions that may occur between statuses (and also classes). + */ + status: ('planned'|'arrived'|'triaged'|'in-progress'|'onleave'|'finished'|'cancelled'|'entered-in-error'|'unknown'); + _status?: Element|undefined; + /** + * The current status is always found in the current version of the resource, not the status history. + */ + statusHistory?: EncounterStatusHistory[]|undefined; + /** + * While the encounter is always about the patient, the patient might not actually be known in all contexts of use, and there may be a group of patients that could be anonymous (such as in a group therapy for Alcoholics Anonymous - where the recording of the encounter could be used for billing on the number of people/staff and not important to the context of the specific patients) or alternately in veterinary care a herd of sheep receiving treatment (where the animals are not individually tracked). + */ + subject?: Reference|undefined; + /** + * Since there are many ways to further classify encounters, this element is 0..*. + */ + type?: CodeableConcept[]|undefined; +} +/** + * The technical details of an endpoint that can be used for electronic services, such as for web services providing XDS.b or a REST endpoint for another FHIR server. This may include any security context information. + */ +export interface Endpoint extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'Endpoint'; + /** + * For rest-hook, and websocket, the end-point must be an http: or https: URL; for email, a mailto: url, for sms, a tel: url, and for message the endpoint can be in any form of url the server understands (usually, http: or mllp:). The URI is allowed to be relative; in which case, it is relative to the server end-point (since there may be more than one, clients should avoid using relative URIs) + * This address will be to the service base, without any parameters, or sub-services or resources tacked on. + * E.g. for a WADO-RS endpoint, the url should be "https://pacs.hospital.org/wado-rs" + * and not "https://pacs.hospital.org/wado-rs/studies/1.2.250.1.59.40211.12345678.678910/series/1.2.250.1.59.40211.789001276.14556172.67789/instances/...". + */ + address: string; + _address?: Element|undefined; + /** + * For additional connectivity details for the protocol, extensions will be used at this point, as in the XDS example. + */ + connectionType: Coding; + /** + * Contact details for a human to contact about the subscription. The primary use of this for system administrator troubleshooting. + */ + contact?: ContactPoint[]|undefined; + /** + * Exactly what these mean depends on the channel type. The can convey additional information to the recipient and/or meet security requirements. + */ + header?: string[]|undefined; + _header?: Element[]|undefined; + /** + * Identifier for the organization that is used to identify the endpoint across multiple disparate systems. + */ + identifier?: Identifier[]|undefined; + /** + * This property is not typically used when searching for Endpoint resources for usage. The typical usage is via the reference from an applicable Organization/Location/Practitioner resource, which is where the context is provided. Multiple Locations may reference a single endpoint, and don't have to be within the same organization resource, but most likely within the same organizational hierarchy. + */ + managingOrganization?: Reference|undefined; + /** + * A friendly name that this endpoint can be referred to with. + */ + name?: string|undefined; + _name?: Element|undefined; + /** + * Sending the payload has obvious security consequences. The server is responsible for ensuring that the content is appropriately secured. + */ + payloadMimeType?: string[]|undefined; + _payloadMimeType?: Element[]|undefined; + /** + * The payloadFormat describes the serialization format of the data, where the payloadType indicates the specific document/schema that is being transferred; e.g. DischargeSummary or CarePlan. + */ + payloadType: CodeableConcept[]; + /** + * The interval during which the endpoint is expected to be operational. + */ + period?: Period|undefined; + /** + * This element is labeled as a modifier because the status contains codes that mark the endpoint as not currently valid. + */ + status: ('active'|'suspended'|'error'|'off'|'entered-in-error'|'test'); + _status?: Element|undefined; +} +/** + * This resource provides the insurance enrollment details to the insurer regarding a specified coverage. + */ +export interface EnrollmentRequest extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'EnrollmentRequest'; + /** + * Patient Resource. + */ + candidate?: Reference|undefined; + /** + * Reference to the program or plan identification, underwriter or payor. + */ + coverage?: Reference|undefined; + /** + * The date when this resource was created. + */ + created?: string|undefined; + _created?: Element|undefined; + /** + * The Response business identifier. + */ + identifier?: Identifier[]|undefined; + /** + * The Insurer who is target of the request. + */ + insurer?: Reference|undefined; + /** + * The practitioner who is responsible for the services rendered to the patient. + */ + provider?: Reference|undefined; + /** + * This element is labeled as a modifier because the status contains codes that mark the request as not currently valid. + */ + status?: ('active'|'cancelled'|'draft'|'entered-in-error')|undefined; + _status?: Element|undefined; +} +/** + * This resource provides enrollment and plan details from the processing of an EnrollmentRequest resource. + */ +export interface EnrollmentResponse extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'EnrollmentResponse'; + /** + * The date when the enclosed suite of services were performed or completed. + */ + created?: string|undefined; + _created?: Element|undefined; + /** + * A description of the status of the adjudication. + */ + disposition?: string|undefined; + _disposition?: Element|undefined; + /** + * The Response business identifier. + */ + identifier?: Identifier[]|undefined; + /** + * The Insurer who produced this adjudicated response. + */ + organization?: Reference|undefined; + /** + * Processing status: error, complete. + */ + outcome?: ('queued'|'complete'|'error'|'partial')|undefined; + _outcome?: Element|undefined; + /** + * Original request resource reference. + */ + request?: Reference|undefined; + /** + * The practitioner who is responsible for the services rendered to the patient. + */ + requestProvider?: Reference|undefined; + /** + * This element is labeled as a modifier because the status contains codes that mark the response as not currently valid. + */ + status?: ('active'|'cancelled'|'draft'|'entered-in-error')|undefined; + _status?: Element|undefined; +} +/** + * The history of statuses that the EpisodeOfCare has been through (without requiring processing the history of the resource). + */ +export interface EpisodeOfCareStatusHistory extends BackboneElement { + /** + * The period during this EpisodeOfCare that the specific status applied. + */ + period: Period; + /** + * planned | waitlist | active | onhold | finished | cancelled. + */ + status: ('planned'|'waitlist'|'active'|'onhold'|'finished'|'cancelled'|'entered-in-error'); + _status?: Element|undefined; +} +/** + * The list of diagnosis relevant to this episode of care. + */ +export interface EpisodeOfCareDiagnosis extends BackboneElement { + /** + * A list of conditions/problems/diagnoses that this episode of care is intended to be providing care for. + */ + condition: Reference; + /** + * Ranking of the diagnosis (for each role type). + */ + rank?: number|undefined; + /** + * Role that this diagnosis has within the episode of care (e.g. admission, billing, discharge …). + */ + role?: CodeableConcept|undefined; +} +/** + * An association between a patient and an organization / healthcare provider(s) during which time encounters may occur. The managing organization assumes a level of responsibility for the patient during this time. + */ +export interface EpisodeOfCare extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'EpisodeOfCare'; + /** + * The billing system may choose to allocate billable items associated with the EpisodeOfCare to different referenced Accounts based on internal business rules. + */ + account?: Reference[]|undefined; + /** + * The practitioner that is the care manager/care coordinator for this patient. + */ + careManager?: Reference|undefined; + /** + * The list of diagnosis relevant to this episode of care. + */ + diagnosis?: EpisodeOfCareDiagnosis[]|undefined; + /** + * The EpisodeOfCare may be known by different identifiers for different contexts of use, such as when an external agency is tracking the Episode for funding purposes. + */ + identifier?: Identifier[]|undefined; + /** + * The organization that has assumed the specific responsibilities for the specified duration. + */ + managingOrganization?: Reference|undefined; + /** + * The patient who is the focus of this episode of care. + */ + patient: Reference; + /** + * The interval during which the managing organization assumes the defined responsibility. + */ + period?: Period|undefined; + /** + * Referral Request(s) that are fulfilled by this EpisodeOfCare, incoming referrals. + */ + referralRequest?: Reference[]|undefined; + /** + * This element is labeled as a modifier because the status contains codes that mark the episode as not currently valid. + */ + status: ('planned'|'waitlist'|'active'|'onhold'|'finished'|'cancelled'|'entered-in-error'); + _status?: Element|undefined; + /** + * The history of statuses that the EpisodeOfCare has been through (without requiring processing the history of the resource). + */ + statusHistory?: EpisodeOfCareStatusHistory[]|undefined; + /** + * The list of practitioners that may be facilitating this episode of care for specific purposes. + */ + team?: Reference[]|undefined; + /** + * The type can be very important in processing as this could be used in determining if the EpisodeOfCare is relevant to specific government reporting, or other types of classifications. + */ + type?: CodeableConcept[]|undefined; +} +/** + * The EventDefinition resource provides a reusable description of when a particular event can occur. + */ +export interface EventDefinition extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'EventDefinition'; + /** + * The 'date' element may be more recent than the approval date because of minor changes or editorial corrections. + */ + approvalDate?: string|undefined; + _approvalDate?: Element|undefined; + /** + * An individiual or organization primarily involved in the creation and maintenance of the content. + */ + author?: ContactDetail[]|undefined; + /** + * May be a web site, an email address, a telephone number, etc. + */ + contact?: ContactDetail[]|undefined; + /** + * A copyright statement relating to the event definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the event definition. + */ + copyright?: string|undefined; + _copyright?: Element|undefined; + /** + * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the event definition. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. + */ + date?: string|undefined; + _date?: Element|undefined; + /** + * This description can be used to capture details such as why the event definition was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the event definition as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the event definition is presumed to be the predominant language in the place the event definition was created). + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * An individual or organization primarily responsible for internal coherence of the content. + */ + editor?: ContactDetail[]|undefined; + /** + * The effective period for a event definition determines when the content is applicable for usage and is independent of publication and review dates. For example, a measure intended to be used for the year 2016 might be published in 2015. + */ + effectivePeriod?: Period|undefined; + /** + * An individual or organization responsible for officially endorsing the content for use in some setting. + */ + endorser?: ContactDetail[]|undefined; + /** + * Allows filtering of event definitions that are appropriate for use versus not. + */ + experimental?: boolean|undefined; + _experimental?: Element|undefined; + /** + * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this event definition outside of FHIR, where it is not possible to use the logical URI. + */ + identifier?: Identifier[]|undefined; + /** + * It may be possible for the event definition to be used in jurisdictions other than those for which it was originally designed or intended. + */ + jurisdiction?: CodeableConcept[]|undefined; + /** + * If specified, this date follows the original approval date. + */ + lastReviewDate?: string|undefined; + _lastReviewDate?: Element|undefined; + /** + * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. + */ + name?: string|undefined; + _name?: Element|undefined; + /** + * Usually an organization but may be an individual. The publisher (or steward) of the event definition is the organization or individual primarily responsible for the maintenance and upkeep of the event definition. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the event definition. This item SHOULD be populated unless the information is available from context. + */ + publisher?: string|undefined; + _publisher?: Element|undefined; + /** + * This element does not describe the usage of the event definition. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this event definition. + */ + purpose?: string|undefined; + _purpose?: Element|undefined; + /** + * Each related resource is either an attachment, or a reference to another resource, but not both. + */ + relatedArtifact?: RelatedArtifact[]|undefined; + /** + * An individual or organization primarily responsible for review of some aspect of the content. + */ + reviewer?: ContactDetail[]|undefined; + /** + * Allows filtering of event definitions that are appropriate for use versus not. + */ + status: ('draft'|'active'|'retired'|'unknown'); + _status?: Element|undefined; + /** + * A code or group definition that describes the intended subject of the event definition. + */ + subjectCodeableConcept?: CodeableConcept|undefined; + /** + * A code or group definition that describes the intended subject of the event definition. + */ + subjectReference?: Reference|undefined; + /** + * An explanatory or alternate title for the event definition giving additional information about its content. + */ + subtitle?: string|undefined; + _subtitle?: Element|undefined; + /** + * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. + */ + title?: string|undefined; + _title?: Element|undefined; + /** + * Descriptive topics related to the module. Topics provide a high-level categorization of the module that can be useful for filtering and searching. + */ + topic?: CodeableConcept[]|undefined; + /** + * The trigger element defines when the event occurs. If more than one trigger condition is specified, the event fires whenever any one of the trigger conditions is met. + */ + trigger: TriggerDefinition[]; + /** + * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. + * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). + * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. + */ + url?: string|undefined; + _url?: Element|undefined; + /** + * A detailed description of how the event definition is used from a clinical perspective. + */ + usage?: string|undefined; + _usage?: Element|undefined; + /** + * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. + */ + useContext?: UsageContext[]|undefined; + /** + * There may be different event definition instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the event definition with the format [url]|[version]. + */ + version?: string|undefined; + _version?: Element|undefined; +} +/** + * The Evidence resource describes the conditional state (population and any exposures being compared within the population) and outcome (if specified) that the knowledge (evidence, assertion, recommendation) is about. + */ +export interface Evidence extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'Evidence'; + /** + * The 'date' element may be more recent than the approval date because of minor changes or editorial corrections. + */ + approvalDate?: string|undefined; + _approvalDate?: Element|undefined; + /** + * An individiual or organization primarily involved in the creation and maintenance of the content. + */ + author?: ContactDetail[]|undefined; + /** + * May be a web site, an email address, a telephone number, etc. + */ + contact?: ContactDetail[]|undefined; + /** + * A copyright statement relating to the evidence and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the evidence. + */ + copyright?: string|undefined; + _copyright?: Element|undefined; + /** + * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the evidence. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. + */ + date?: string|undefined; + _date?: Element|undefined; + /** + * This description can be used to capture details such as why the evidence was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the evidence as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the evidence is presumed to be the predominant language in the place the evidence was created). + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * An individual or organization primarily responsible for internal coherence of the content. + */ + editor?: ContactDetail[]|undefined; + /** + * The effective period for a evidence determines when the content is applicable for usage and is independent of publication and review dates. For example, a measure intended to be used for the year 2016 might be published in 2015. + */ + effectivePeriod?: Period|undefined; + /** + * An individual or organization responsible for officially endorsing the content for use in some setting. + */ + endorser?: ContactDetail[]|undefined; + /** + * A reference to a EvidenceVariable resource that defines the population for the research. + */ + exposureBackground: Reference; + /** + * A reference to a EvidenceVariable resource that defines the exposure for the research. + */ + exposureVariant?: Reference[]|undefined; + /** + * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this evidence outside of FHIR, where it is not possible to use the logical URI. + */ + identifier?: Identifier[]|undefined; + /** + * It may be possible for the evidence to be used in jurisdictions other than those for which it was originally designed or intended. + */ + jurisdiction?: CodeableConcept[]|undefined; + /** + * If specified, this date follows the original approval date. + */ + lastReviewDate?: string|undefined; + _lastReviewDate?: Element|undefined; + /** + * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. + */ + name?: string|undefined; + _name?: Element|undefined; + /** + * A human-readable string to clarify or explain concepts about the resource. + */ + note?: Annotation[]|undefined; + /** + * A reference to a EvidenceVariable resomece that defines the outcome for the research. + */ + outcome?: Reference[]|undefined; + /** + * Usually an organization but may be an individual. The publisher (or steward) of the evidence is the organization or individual primarily responsible for the maintenance and upkeep of the evidence. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the evidence. This item SHOULD be populated unless the information is available from context. + */ + publisher?: string|undefined; + _publisher?: Element|undefined; + /** + * Each related artifact is either an attachment, or a reference to another resource, but not both. + */ + relatedArtifact?: RelatedArtifact[]|undefined; + /** + * An individual or organization primarily responsible for review of some aspect of the content. + */ + reviewer?: ContactDetail[]|undefined; + /** + * The short title provides an alternate title for use in informal descriptive contexts where the full, formal title is not necessary. + */ + shortTitle?: string|undefined; + _shortTitle?: Element|undefined; + /** + * Allows filtering of evidences that are appropriate for use versus not. + */ + status: ('draft'|'active'|'retired'|'unknown'); + _status?: Element|undefined; + /** + * An explanatory or alternate title for the Evidence giving additional information about its content. + */ + subtitle?: string|undefined; + _subtitle?: Element|undefined; + /** + * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. + */ + title?: string|undefined; + _title?: Element|undefined; + /** + * Descriptive topics related to the content of the Evidence. Topics provide a high-level categorization grouping types of Evidences that can be useful for filtering and searching. + */ + topic?: CodeableConcept[]|undefined; + /** + * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. + * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). + * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. + */ + url?: string|undefined; + _url?: Element|undefined; + /** + * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. + */ + useContext?: UsageContext[]|undefined; + /** + * There may be different evidence instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the evidence with the format [url]|[version]. + */ + version?: string|undefined; + _version?: Element|undefined; +} +/** + * Characteristics can be defined flexibly to accommodate different use cases for membership criteria, ranging from simple codes, all the way to using an expression language to express the criteria. + */ +export interface EvidenceVariableCharacteristic extends BackboneElement { + /** + * Define members of the evidence element using Codes (such as condition, medication, or observation), Expressions ( using an expression language such as FHIRPath or CQL) or DataRequirements (such as Diabetes diagnosis onset in the last year). + */ + definitionReference?: Reference|undefined; + /** + * Define members of the evidence element using Codes (such as condition, medication, or observation), Expressions ( using an expression language such as FHIRPath or CQL) or DataRequirements (such as Diabetes diagnosis onset in the last year). + */ + definitionCanonical?: string|undefined; + _definitionCanonical?: Element|undefined; + /** + * Define members of the evidence element using Codes (such as condition, medication, or observation), Expressions ( using an expression language such as FHIRPath or CQL) or DataRequirements (such as Diabetes diagnosis onset in the last year). + */ + definitionCodeableConcept?: CodeableConcept|undefined; + /** + * Define members of the evidence element using Codes (such as condition, medication, or observation), Expressions ( using an expression language such as FHIRPath or CQL) or DataRequirements (such as Diabetes diagnosis onset in the last year). + */ + definitionExpression?: Expression|undefined; + /** + * Define members of the evidence element using Codes (such as condition, medication, or observation), Expressions ( using an expression language such as FHIRPath or CQL) or DataRequirements (such as Diabetes diagnosis onset in the last year). + */ + definitionDataRequirement?: DataRequirement|undefined; + /** + * Define members of the evidence element using Codes (such as condition, medication, or observation), Expressions ( using an expression language such as FHIRPath or CQL) or DataRequirements (such as Diabetes diagnosis onset in the last year). + */ + definitionTriggerDefinition?: TriggerDefinition|undefined; + /** + * A short, natural language description of the characteristic that could be used to communicate the criteria to an end-user. + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * When true, members with this characteristic are excluded from the element. + */ + exclude?: boolean|undefined; + _exclude?: Element|undefined; + /** + * Indicates how elements are aggregated within the study effective period. + */ + groupMeasure?: ('mean'|'median'|'mean-of-mean'|'mean-of-median'|'median-of-mean'|'median-of-median')|undefined; + _groupMeasure?: Element|undefined; + /** + * Indicates what effective period the study covers. + */ + participantEffectiveDateTime?: string|undefined; + _participantEffectiveDateTime?: Element|undefined; + /** + * Indicates what effective period the study covers. + */ + participantEffectivePeriod?: Period|undefined; + /** + * Indicates what effective period the study covers. + */ + participantEffectiveDuration?: Duration|undefined; + /** + * Indicates what effective period the study covers. + */ + participantEffectiveTiming?: Timing|undefined; + /** + * Indicates duration from the participant's study entry. + */ + timeFromStart?: Duration|undefined; + /** + * Use UsageContext to define the members of the population, such as Age Ranges, Genders, Settings. + */ + usageContext?: UsageContext[]|undefined; +} +/** + * The EvidenceVariable resource describes a "PICO" element that knowledge (evidence, assertion, recommendation) is about. + */ +export interface EvidenceVariable extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'EvidenceVariable'; + /** + * The 'date' element may be more recent than the approval date because of minor changes or editorial corrections. + */ + approvalDate?: string|undefined; + _approvalDate?: Element|undefined; + /** + * An individiual or organization primarily involved in the creation and maintenance of the content. + */ + author?: ContactDetail[]|undefined; + /** + * Characteristics can be defined flexibly to accommodate different use cases for membership criteria, ranging from simple codes, all the way to using an expression language to express the criteria. + */ + characteristic: EvidenceVariableCharacteristic[]; + /** + * May be a web site, an email address, a telephone number, etc. + */ + contact?: ContactDetail[]|undefined; + /** + * A copyright statement relating to the evidence variable and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the evidence variable. + */ + copyright?: string|undefined; + _copyright?: Element|undefined; + /** + * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the evidence variable. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. + */ + date?: string|undefined; + _date?: Element|undefined; + /** + * This description can be used to capture details such as why the evidence variable was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the evidence variable as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the evidence variable is presumed to be the predominant language in the place the evidence variable was created). + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * An individual or organization primarily responsible for internal coherence of the content. + */ + editor?: ContactDetail[]|undefined; + /** + * The effective period for a evidence variable determines when the content is applicable for usage and is independent of publication and review dates. For example, a measure intended to be used for the year 2016 might be published in 2015. + */ + effectivePeriod?: Period|undefined; + /** + * An individual or organization responsible for officially endorsing the content for use in some setting. + */ + endorser?: ContactDetail[]|undefined; + /** + * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this evidence variable outside of FHIR, where it is not possible to use the logical URI. + */ + identifier?: Identifier[]|undefined; + /** + * It may be possible for the evidence variable to be used in jurisdictions other than those for which it was originally designed or intended. + */ + jurisdiction?: CodeableConcept[]|undefined; + /** + * If specified, this date follows the original approval date. + */ + lastReviewDate?: string|undefined; + _lastReviewDate?: Element|undefined; + /** + * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. + */ + name?: string|undefined; + _name?: Element|undefined; + /** + * A human-readable string to clarify or explain concepts about the resource. + */ + note?: Annotation[]|undefined; + /** + * Usually an organization but may be an individual. The publisher (or steward) of the evidence variable is the organization or individual primarily responsible for the maintenance and upkeep of the evidence variable. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the evidence variable. This item SHOULD be populated unless the information is available from context. + */ + publisher?: string|undefined; + _publisher?: Element|undefined; + /** + * Each related artifact is either an attachment, or a reference to another resource, but not both. + */ + relatedArtifact?: RelatedArtifact[]|undefined; + /** + * An individual or organization primarily responsible for review of some aspect of the content. + */ + reviewer?: ContactDetail[]|undefined; + /** + * The short title provides an alternate title for use in informal descriptive contexts where the full, formal title is not necessary. + */ + shortTitle?: string|undefined; + _shortTitle?: Element|undefined; + /** + * Allows filtering of evidence variables that are appropriate for use versus not. + */ + status: ('draft'|'active'|'retired'|'unknown'); + _status?: Element|undefined; + /** + * An explanatory or alternate title for the EvidenceVariable giving additional information about its content. + */ + subtitle?: string|undefined; + _subtitle?: Element|undefined; + /** + * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. + */ + title?: string|undefined; + _title?: Element|undefined; + /** + * Descriptive topics related to the content of the EvidenceVariable. Topics provide a high-level categorization grouping types of EvidenceVariables that can be useful for filtering and searching. + */ + topic?: CodeableConcept[]|undefined; + /** + * The type of evidence element, a population, an exposure, or an outcome. + */ + type?: ('dichotomous'|'continuous'|'descriptive')|undefined; + _type?: Element|undefined; + /** + * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. + * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). + * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. + */ + url?: string|undefined; + _url?: Element|undefined; + /** + * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. + */ + useContext?: UsageContext[]|undefined; + /** + * There may be different evidence variable instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the evidence variable with the format [url]|[version]. + */ + version?: string|undefined; + _version?: Element|undefined; +} +/** + * Actor participating in the resource. + */ +export interface ExampleScenarioActor extends BackboneElement { + /** + * should this be called ID or acronym? + */ + actorId: string; + _actorId?: Element|undefined; + /** + * Cardinality: is name and description 1..1? + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * Cardinality: is name and description 1..1? + */ + name?: string|undefined; + _name?: Element|undefined; + /** + * The type of actor - person or system. + */ + type: ('person'|'entity'); + _type?: Element|undefined; +} +/** + * A specific version of the resource. + */ +export interface ExampleScenarioInstanceVersion extends BackboneElement { + /** + * The description of the resource version. + */ + description: string; + _description?: Element|undefined; + /** + * The identifier of a specific version of a resource. + */ + versionId: string; + _versionId?: Element|undefined; +} +/** + * Resources contained in the instance (e.g. the observations contained in a bundle). + */ +export interface ExampleScenarioInstanceContainedInstance extends BackboneElement { + /** + * Each resource contained in the instance. + */ + resourceId: string; + _resourceId?: Element|undefined; + /** + * A specific version of a resource contained in the instance. + */ + versionId?: string|undefined; + _versionId?: Element|undefined; +} +/** + * Each resource and each version that is present in the workflow. + */ +export interface ExampleScenarioInstance extends BackboneElement { + /** + * Resources contained in the instance (e.g. the observations contained in a bundle). + */ + containedInstance?: ExampleScenarioInstanceContainedInstance[]|undefined; + /** + * Human-friendly description of the resource instance. + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * A short name for the resource instance. + */ + name?: string|undefined; + _name?: Element|undefined; + /** + * The id of the resource for referencing. + */ + resourceId: string; + _resourceId?: Element|undefined; + /** + * The type of the resource. + */ + resourceType: string; + _resourceType?: Element|undefined; + /** + * A specific version of the resource. + */ + version?: ExampleScenarioInstanceVersion[]|undefined; +} +/** + * Each interaction or action. + */ +export interface ExampleScenarioProcessStepOperation extends BackboneElement { + /** + * A comment to be inserted in the diagram. + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * Who starts the transaction. + */ + initiator?: string|undefined; + _initiator?: Element|undefined; + /** + * Whether the initiator is deactivated right after the transaction. + */ + initiatorActive?: boolean|undefined; + _initiatorActive?: Element|undefined; + /** + * The human-friendly name of the interaction. + */ + name?: string|undefined; + _name?: Element|undefined; + /** + * The sequential number of the interaction, e.g. 1.2.5. + */ + number: string; + _number?: Element|undefined; + /** + * Who receives the transaction. + */ + receiver?: string|undefined; + _receiver?: Element|undefined; + /** + * Whether the receiver is deactivated right after the transaction. + */ + receiverActive?: boolean|undefined; + _receiverActive?: Element|undefined; + /** + * Each resource instance used by the initiator. + */ + request?: ExampleScenarioInstanceContainedInstance|undefined; + /** + * Each resource instance used by the responder. + */ + response?: ExampleScenarioInstanceContainedInstance|undefined; + /** + * The type of operation - CRUD. + */ + type?: string|undefined; + _type?: Element|undefined; +} +/** + * Indicates an alternative step that can be taken instead of the operations on the base step in exceptional/atypical circumstances. + */ +export interface ExampleScenarioProcessStepAlternative extends BackboneElement { + /** + * A human-readable description of the alternative explaining when the alternative should occur rather than the base step. + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * What happens in each alternative option. + */ + step?: ExampleScenarioProcessStep[]|undefined; + /** + * The label to display for the alternative that gives a sense of the circumstance in which the alternative should be invoked. + */ + title: string; + _title?: Element|undefined; +} +/** + * Each step of the process. + */ +export interface ExampleScenarioProcessStep extends BackboneElement { + /** + * Indicates an alternative step that can be taken instead of the operations on the base step in exceptional/atypical circumstances. + */ + alternative?: ExampleScenarioProcessStepAlternative[]|undefined; + /** + * Each interaction or action. + */ + operation?: ExampleScenarioProcessStepOperation|undefined; + /** + * If there is a pause in the flow. + */ + pause?: boolean|undefined; + _pause?: Element|undefined; + /** + * Nested process. + */ + process?: ExampleScenarioProcess[]|undefined; +} +/** + * Each major process - a group of operations. + */ +export interface ExampleScenarioProcess extends BackboneElement { + /** + * A longer description of the group of operations. + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * Description of final status after the process ends. + */ + postConditions?: string|undefined; + _postConditions?: Element|undefined; + /** + * Description of initial status before the process starts. + */ + preConditions?: string|undefined; + _preConditions?: Element|undefined; + /** + * Each step of the process. + */ + step?: ExampleScenarioProcessStep[]|undefined; + /** + * The diagram title of the group of operations. + */ + title: string; + _title?: Element|undefined; +} +/** + * Example of workflow instance. + */ +export interface ExampleScenario extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'ExampleScenario'; + /** + * Actor participating in the resource. + */ + actor?: ExampleScenarioActor[]|undefined; + /** + * May be a web site, an email address, a telephone number, etc. + */ + contact?: ContactDetail[]|undefined; + /** + * nullFrequently, the copyright differs between the value set and the codes that are included. The copyright statement should clearly differentiate between these when required. + */ + copyright?: string|undefined; + _copyright?: Element|undefined; + /** + * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the example scenario. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. + */ + date?: string|undefined; + _date?: Element|undefined; + /** + * Allows filtering of example scenarios that are appropriate for use versus not. + */ + experimental?: boolean|undefined; + _experimental?: Element|undefined; + /** + * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this example scenario outside of FHIR, where it is not possible to use the logical URI. + */ + identifier?: Identifier[]|undefined; + /** + * Each resource and each version that is present in the workflow. + */ + instance?: ExampleScenarioInstance[]|undefined; + /** + * It may be possible for the example scenario to be used in jurisdictions other than those for which it was originally designed or intended. + */ + jurisdiction?: CodeableConcept[]|undefined; + /** + * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. + */ + name?: string|undefined; + _name?: Element|undefined; + /** + * Each major process - a group of operations. + */ + process?: ExampleScenarioProcess[]|undefined; + /** + * Usually an organization but may be an individual. The publisher (or steward) of the example scenario is the organization or individual primarily responsible for the maintenance and upkeep of the example scenario. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the example scenario. This item SHOULD be populated unless the information is available from context. + */ + publisher?: string|undefined; + _publisher?: Element|undefined; + /** + * This element does not describe the usage of the example scenario. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this example scenario. + */ + purpose?: string|undefined; + _purpose?: Element|undefined; + /** + * Allows filtering of example scenarios that are appropriate for use versus not. + */ + status: ('draft'|'active'|'retired'|'unknown'); + _status?: Element|undefined; + /** + * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. + * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). + * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. + */ + url?: string|undefined; + _url?: Element|undefined; + /** + * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. + */ + useContext?: UsageContext[]|undefined; + /** + * There may be different example scenario instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the example scenario with the format [url]|[version]. + */ + version?: string|undefined; + _version?: Element|undefined; + /** + * Another nested workflow. + */ + workflow?: string[]|undefined; + _workflow?: Element[]|undefined; +} +/** + * For example, for the original treatment and follow-up exams. + */ +export interface ExplanationOfBenefitRelated extends BackboneElement { + /** + * Reference to a related claim. + */ + claim?: Reference|undefined; + /** + * For example, Property/Casualty insurer claim number or Workers Compensation case number. + */ + reference?: Identifier|undefined; + /** + * For example, prior claim or umbrella. + */ + relationship?: CodeableConcept|undefined; +} +/** + * Often providers agree to receive the benefits payable to reduce the near-term costs to the patient. The insurer may decline to pay the provider and may choose to pay the subscriber instead. + */ +export interface ExplanationOfBenefitPayee extends BackboneElement { + /** + * Not required if the payee is 'subscriber' or 'provider'. + */ + party?: Reference|undefined; + /** + * Type of Party to be reimbursed: Subscriber, provider, other. + */ + type?: CodeableConcept|undefined; +} +/** + * The members of the team who provided the products and services. + */ +export interface ExplanationOfBenefitCareTeam extends BackboneElement { + /** + * Member of the team who provided the product or service. + */ + provider: Reference; + /** + * The qualification of the practitioner which is applicable for this service. + */ + qualification?: CodeableConcept|undefined; + /** + * Responsible might not be required when there is only a single provider listed. + */ + responsible?: boolean|undefined; + _responsible?: Element|undefined; + /** + * Role might not be required when there is only a single provider listed. + */ + role?: CodeableConcept|undefined; + /** + * A number to uniquely identify care team entries. + */ + sequence: number; +} +/** + * Often there are multiple jurisdiction specific valuesets which are required. + */ +export interface ExplanationOfBenefitSupportingInfo extends BackboneElement { + /** + * This may contain a category for the local bill type codes. + */ + category: CodeableConcept; + /** + * This may contain the local bill type codes such as the US UB-04 bill type code. + */ + code?: CodeableConcept|undefined; + /** + * For example: the reason for the additional stay, or why a tooth is missing. + */ + reason?: Coding|undefined; + /** + * A number to uniquely identify supporting information entries. + */ + sequence: number; + /** + * The date when or period to which this information refers. + */ + timingDate?: string|undefined; + _timingDate?: Element|undefined; + /** + * The date when or period to which this information refers. + */ + timingPeriod?: Period|undefined; + /** + * Could be used to provide references to other resources, document. For example, could contain a PDF in an Attachment of the Police Report for an Accident. + */ + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; + /** + * Could be used to provide references to other resources, document. For example, could contain a PDF in an Attachment of the Police Report for an Accident. + */ + valueString?: string|undefined; + _valueString?: Element|undefined; + /** + * Could be used to provide references to other resources, document. For example, could contain a PDF in an Attachment of the Police Report for an Accident. + */ + valueQuantity?: Quantity|undefined; + /** + * Could be used to provide references to other resources, document. For example, could contain a PDF in an Attachment of the Police Report for an Accident. + */ + valueAttachment?: Attachment|undefined; + /** + * Could be used to provide references to other resources, document. For example, could contain a PDF in an Attachment of the Police Report for an Accident. + */ + valueReference?: Reference|undefined; +} +/** + * Information about diagnoses relevant to the claim items. + */ +export interface ExplanationOfBenefitDiagnosis extends BackboneElement { + /** + * The nature of illness or problem in a coded form or as a reference to an external defined Condition. + */ + diagnosisCodeableConcept?: CodeableConcept|undefined; + /** + * The nature of illness or problem in a coded form or as a reference to an external defined Condition. + */ + diagnosisReference?: Reference|undefined; + /** + * Indication of whether the diagnosis was present on admission to a facility. + */ + onAdmission?: CodeableConcept|undefined; + /** + * For example, DRG (Diagnosis Related Group) or a bundled billing code. A patient may have a diagnosis of a Myocardio-infarction and a DRG for HeartAttack would assigned. The Claim item (and possible subsequent claims) would refer to the DRG for those line items that were for services related to the heart attack event. + */ + packageCode?: CodeableConcept|undefined; + /** + * Diagnosis are presented in list order to their expected importance: primary, secondary, etc. + */ + sequence: number; + /** + * For example: admitting, primary, secondary, discharge. + */ + type?: CodeableConcept[]|undefined; +} +/** + * Procedures performed on the patient relevant to the billing items with the claim. + */ +export interface ExplanationOfBenefitProcedure extends BackboneElement { + /** + * Date and optionally time the procedure was performed. + */ + date?: string|undefined; + _date?: Element|undefined; + /** + * The code or reference to a Procedure resource which identifies the clinical intervention performed. + */ + procedureCodeableConcept?: CodeableConcept|undefined; + /** + * The code or reference to a Procedure resource which identifies the clinical intervention performed. + */ + procedureReference?: Reference|undefined; + /** + * A number to uniquely identify procedure entries. + */ + sequence: number; + /** + * When the condition was observed or the relative ranking. + */ + type?: CodeableConcept[]|undefined; + /** + * Unique Device Identifiers associated with this line item. + */ + udi?: Reference[]|undefined; +} +/** + * All insurance coverages for the patient which may be applicable for reimbursement, of the products and services listed in the claim, are typically provided in the claim to allow insurers to confirm the ordering of the insurance coverages relative to local 'coordination of benefit' rules. One coverage (and only one) with 'focal=true' is to be used in the adjudication of this claim. Coverages appearing before the focal Coverage in the list, and where 'Coverage.subrogation=false', should provide a reference to the ClaimResponse containing the adjudication results of the prior claim. + */ +export interface ExplanationOfBenefitInsurance extends BackboneElement { + /** + * Reference to the insurance card level information contained in the Coverage resource. The coverage issuing insurer will use these details to locate the patient's actual coverage within the insurer's information system. + */ + coverage: Reference; + /** + * A patient may (will) have multiple insurance policies which provide reimbursement for healthcare services and products. For example, a person may also be covered by their spouse's policy and both appear in the list (and may be from the same insurer). This flag will be set to true for only one of the listed policies and that policy will be used for adjudicating this claim. Other claims would be created to request adjudication against the other listed policies. + */ + focal: boolean; + _focal?: Element|undefined; + /** + * This value is an alphanumeric string that may be provided over the phone, via text, via paper, or within a ClaimResponse resource and is not a FHIR Identifier. + */ + preAuthRef?: string[]|undefined; + _preAuthRef?: Element[]|undefined; +} +/** + * Details of a accident which resulted in injuries which required the products and services listed in the claim. + */ +export interface ExplanationOfBenefitAccident extends BackboneElement { + /** + * The date of the accident has to precede the dates of the products and services but within a reasonable timeframe. + */ + date?: string|undefined; + _date?: Element|undefined; + /** + * The physical location of the accident event. + */ + locationAddress?: Address|undefined; + /** + * The physical location of the accident event. + */ + locationReference?: Reference|undefined; + /** + * The type or context of the accident event for the purposes of selection of potential insurance coverages and determination of coordination between insurers. + */ + type?: CodeableConcept|undefined; +} +/** + * If this item is a group then the values here are a summary of the adjudication of the detail items. If this item is a simple product or service then this is the result of the adjudication of this item. + */ +export interface ExplanationOfBenefitItemAdjudication extends BackboneElement { + /** + * For example, amount submitted, eligible amount, co-payment, and benefit payable. + */ + amount?: Money|undefined; + /** + * For example, codes indicating: Co-Pay, deductible, eligible, benefit, tax, etc. + */ + category: CodeableConcept; + /** + * For example, may indicate that the funds for this benefit type have been exhausted. + */ + reason?: CodeableConcept|undefined; + /** + * For example: eligible percentage or co-payment percentage. + */ + value?: number|undefined; +} +/** + * Third-tier of goods and services. + */ +export interface ExplanationOfBenefitItemDetailSubDetail extends BackboneElement { + /** + * The adjudication results. + */ + adjudication?: ExplanationOfBenefitItemAdjudication[]|undefined; + /** + * Examples include Medical Care, Periodontics, Renal Dialysis, Vision Coverage. + */ + category?: CodeableConcept|undefined; + /** + * To show a 10% senior's discount, the value entered is: 0.90 (1.00 - 0.10). + */ + factor?: number|undefined; + /** + * For example, in Oral whether the treatment is cosmetic or associated with TMJ, or for Medical whether the treatment was outside the clinic or outside of office hours. + */ + modifier?: CodeableConcept[]|undefined; + /** + * For example, the formula: quantity * unitPrice * factor = net. Quantity and factor are assumed to be 1 if not supplied. + */ + net?: Money|undefined; + /** + * The numbers associated with notes below which apply to the adjudication of this item. + */ + noteNumber?: number[]|undefined; + /** + * If this is an actual service or product line, i.e. not a Group, then use code to indicate the Professional Service or Product supplied (e.g. CTP, HCPCS, USCLS, ICD10, NCPDP, DIN, RxNorm, ACHI, CCI). If a grouping item then use a group code to indicate the type of thing being grouped e.g. 'glasses' or 'compound'. + */ + productOrService: CodeableConcept; + /** + * For example: Neonatal program, child dental program or drug users recovery program. + */ + programCode?: CodeableConcept[]|undefined; + /** + * The number of repetitions of a service or product. + */ + quantity?: Quantity|undefined; + /** + * The type of revenue or cost center providing the product and/or service. + */ + revenue?: CodeableConcept|undefined; + /** + * A claim detail line. Either a simple (a product or service) or a 'group' of sub-details which are simple items. + */ + sequence: number; + /** + * Unique Device Identifiers associated with this line item. + */ + udi?: Reference[]|undefined; + /** + * If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group. + */ + unitPrice?: Money|undefined; +} +/** + * Second-tier of goods and services. + */ +export interface ExplanationOfBenefitItemDetail extends BackboneElement { + /** + * The adjudication results. + */ + adjudication?: ExplanationOfBenefitItemAdjudication[]|undefined; + /** + * Examples include: Medical Care, Periodontics, Renal Dialysis, Vision Coverage. + */ + category?: CodeableConcept|undefined; + /** + * To show a 10% senior's discount, the value entered is: 0.90 (1.00 - 0.10). + */ + factor?: number|undefined; + /** + * For example, in Oral whether the treatment is cosmetic or associated with TMJ, or for Medical whether the treatment was outside the clinic or out of office hours. + */ + modifier?: CodeableConcept[]|undefined; + /** + * For example, the formula: quantity * unitPrice * factor = net. Quantity and factor are assumed to be 1 if not supplied. + */ + net?: Money|undefined; + /** + * The numbers associated with notes below which apply to the adjudication of this item. + */ + noteNumber?: number[]|undefined; + /** + * If this is an actual service or product line, i.e. not a Group, then use code to indicate the Professional Service or Product supplied (e.g. CTP, HCPCS, USCLS, ICD10, NCPDP, DIN, RxNorm, ACHI, CCI). If a grouping item then use a group code to indicate the type of thing being grouped e.g. 'glasses' or 'compound'. + */ + productOrService: CodeableConcept; + /** + * For example: Neonatal program, child dental program or drug users recovery program. + */ + programCode?: CodeableConcept[]|undefined; + /** + * The number of repetitions of a service or product. + */ + quantity?: Quantity|undefined; + /** + * The type of revenue or cost center providing the product and/or service. + */ + revenue?: CodeableConcept|undefined; + /** + * A claim detail line. Either a simple (a product or service) or a 'group' of sub-details which are simple items. + */ + sequence: number; + /** + * Third-tier of goods and services. + */ + subDetail?: ExplanationOfBenefitItemDetailSubDetail[]|undefined; + /** + * Unique Device Identifiers associated with this line item. + */ + udi?: Reference[]|undefined; + /** + * If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group. + */ + unitPrice?: Money|undefined; +} +/** + * A claim line. Either a simple (a product or service) or a 'group' of details which can also be a simple items or groups of sub-details. + */ +export interface ExplanationOfBenefitItem extends BackboneElement { + /** + * If this item is a group then the values here are a summary of the adjudication of the detail items. If this item is a simple product or service then this is the result of the adjudication of this item. + */ + adjudication?: ExplanationOfBenefitItemAdjudication[]|undefined; + /** + * For example: Providing a tooth code, allows an insurer to identify a provider performing a filling on a tooth that was previously removed. + */ + bodySite?: CodeableConcept|undefined; + /** + * Care team members related to this service or product. + */ + careTeamSequence?: number[]|undefined; + /** + * Examples include Medical Care, Periodontics, Renal Dialysis, Vision Coverage. + */ + category?: CodeableConcept|undefined; + /** + * Second-tier of goods and services. + */ + detail?: ExplanationOfBenefitItemDetail[]|undefined; + /** + * Diagnoses applicable for this service or product. + */ + diagnosisSequence?: number[]|undefined; + /** + * A billed item may include goods or services provided in multiple encounters. + */ + encounter?: Reference[]|undefined; + /** + * To show a 10% senior's discount, the value entered is: 0.90 (1.00 - 0.10). + */ + factor?: number|undefined; + /** + * Exceptions, special conditions and supporting information applicable for this service or product. + */ + informationSequence?: number[]|undefined; + /** + * Where the product or service was provided. + */ + locationCodeableConcept?: CodeableConcept|undefined; + /** + * Where the product or service was provided. + */ + locationAddress?: Address|undefined; + /** + * Where the product or service was provided. + */ + locationReference?: Reference|undefined; + /** + * For example, in Oral whether the treatment is cosmetic or associated with TMJ, or for Medical whether the treatment was outside the clinic or out of office hours. + */ + modifier?: CodeableConcept[]|undefined; + /** + * For example, the formula: quantity * unitPrice * factor = net. Quantity and factor are assumed to be 1 if not supplied. + */ + net?: Money|undefined; + /** + * The numbers associated with notes below which apply to the adjudication of this item. + */ + noteNumber?: number[]|undefined; + /** + * Procedures applicable for this service or product. + */ + procedureSequence?: number[]|undefined; + /** + * If this is an actual service or product line, i.e. not a Group, then use code to indicate the Professional Service or Product supplied (e.g. CTP, HCPCS, USCLS, ICD10, NCPDP, DIN, RxNorm, ACHI, CCI). If a grouping item then use a group code to indicate the type of thing being grouped e.g. 'glasses' or 'compound'. + */ + productOrService: CodeableConcept; + /** + * For example: Neonatal program, child dental program or drug users recovery program. + */ + programCode?: CodeableConcept[]|undefined; + /** + * The number of repetitions of a service or product. + */ + quantity?: Quantity|undefined; + /** + * The type of revenue or cost center providing the product and/or service. + */ + revenue?: CodeableConcept|undefined; + /** + * A number to uniquely identify item entries. + */ + sequence: number; + /** + * The date or dates when the service or product was supplied, performed or completed. + */ + servicedDate?: string|undefined; + _servicedDate?: Element|undefined; + /** + * The date or dates when the service or product was supplied, performed or completed. + */ + servicedPeriod?: Period|undefined; + /** + * A region or surface of the bodySite, e.g. limb region or tooth surface(s). + */ + subSite?: CodeableConcept[]|undefined; + /** + * Unique Device Identifiers associated with this line item. + */ + udi?: Reference[]|undefined; + /** + * If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group. + */ + unitPrice?: Money|undefined; +} +/** + * The third-tier service adjudications for payor added services. + */ +export interface ExplanationOfBenefitAddItemDetailSubDetail extends BackboneElement { + /** + * The adjudication results. + */ + adjudication?: ExplanationOfBenefitItemAdjudication[]|undefined; + /** + * To show a 10% senior's discount, the value entered is: 0.90 (1.00 - 0.10). + */ + factor?: number|undefined; + /** + * For example, in Oral whether the treatment is cosmetic or associated with TMJ, or for Medical whether the treatment was outside the clinic or out of office hours. + */ + modifier?: CodeableConcept[]|undefined; + /** + * For example, the formula: quantity * unitPrice * factor = net. Quantity and factor are assumed to be 1 if not supplied. + */ + net?: Money|undefined; + /** + * The numbers associated with notes below which apply to the adjudication of this item. + */ + noteNumber?: number[]|undefined; + /** + * If this is an actual service or product line, i.e. not a Group, then use code to indicate the Professional Service or Product supplied (e.g. CTP, HCPCS, USCLS, ICD10, NCPDP, DIN, RxNorm, ACHI, CCI). If a grouping item then use a group code to indicate the type of thing being grouped e.g. 'glasses' or 'compound'. + */ + productOrService: CodeableConcept; + /** + * The number of repetitions of a service or product. + */ + quantity?: Quantity|undefined; + /** + * If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group. + */ + unitPrice?: Money|undefined; +} +/** + * The second-tier service adjudications for payor added services. + */ +export interface ExplanationOfBenefitAddItemDetail extends BackboneElement { + /** + * The adjudication results. + */ + adjudication?: ExplanationOfBenefitItemAdjudication[]|undefined; + /** + * To show a 10% senior's discount, the value entered is: 0.90 (1.00 - 0.10). + */ + factor?: number|undefined; + /** + * For example, in Oral whether the treatment is cosmetic or associated with TMJ, or for Medical whether the treatment was outside the clinic or out of office hours. + */ + modifier?: CodeableConcept[]|undefined; + /** + * For example, the formula: quantity * unitPrice * factor = net. Quantity and factor are assumed to be 1 if not supplied. + */ + net?: Money|undefined; + /** + * The numbers associated with notes below which apply to the adjudication of this item. + */ + noteNumber?: number[]|undefined; + /** + * If this is an actual service or product line, i.e. not a Group, then use code to indicate the Professional Service or Product supplied (e.g. CTP, HCPCS, USCLS, ICD10, NCPDP, DIN, RxNorm, ACHI, CCI). If a grouping item then use a group code to indicate the type of thing being grouped e.g. 'glasses' or 'compound'. + */ + productOrService: CodeableConcept; + /** + * The number of repetitions of a service or product. + */ + quantity?: Quantity|undefined; + /** + * The third-tier service adjudications for payor added services. + */ + subDetail?: ExplanationOfBenefitAddItemDetailSubDetail[]|undefined; + /** + * If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group. + */ + unitPrice?: Money|undefined; +} +/** + * The first-tier service adjudications for payor added product or service lines. + */ +export interface ExplanationOfBenefitAddItem extends BackboneElement { + /** + * The adjudication results. + */ + adjudication?: ExplanationOfBenefitItemAdjudication[]|undefined; + /** + * For example, providing a tooth code allows an insurer to identify a provider performing a filling on a tooth that was previously removed. + */ + bodySite?: CodeableConcept|undefined; + /** + * The second-tier service adjudications for payor added services. + */ + detail?: ExplanationOfBenefitAddItemDetail[]|undefined; + /** + * The sequence number of the details within the claim item which this line is intended to replace. + */ + detailSequence?: number[]|undefined; + /** + * To show a 10% senior's discount, the value entered is: 0.90 (1.00 - 0.10). + */ + factor?: number|undefined; + /** + * Claim items which this service line is intended to replace. + */ + itemSequence?: number[]|undefined; + /** + * Where the product or service was provided. + */ + locationCodeableConcept?: CodeableConcept|undefined; + /** + * Where the product or service was provided. + */ + locationAddress?: Address|undefined; + /** + * Where the product or service was provided. + */ + locationReference?: Reference|undefined; + /** + * For example, in Oral whether the treatment is cosmetic or associated with TMJ, or for Medical whether the treatment was outside the clinic or out of office hours. + */ + modifier?: CodeableConcept[]|undefined; + /** + * For example, the formula: quantity * unitPrice * factor = net. Quantity and factor are assumed to be 1 if not supplied. + */ + net?: Money|undefined; + /** + * The numbers associated with notes below which apply to the adjudication of this item. + */ + noteNumber?: number[]|undefined; + /** + * If this is an actual service or product line, i.e. not a Group, then use code to indicate the Professional Service or Product supplied (e.g. CTP, HCPCS, USCLS, ICD10, NCPDP, DIN, RxNorm, ACHI, CCI). If a grouping item then use a group code to indicate the type of thing being grouped e.g. 'glasses' or 'compound'. + */ + productOrService: CodeableConcept; + /** + * For example: Neonatal program, child dental program or drug users recovery program. + */ + programCode?: CodeableConcept[]|undefined; + /** + * The providers who are authorized for the services rendered to the patient. + */ + provider?: Reference[]|undefined; + /** + * The number of repetitions of a service or product. + */ + quantity?: Quantity|undefined; + /** + * The date or dates when the service or product was supplied, performed or completed. + */ + servicedDate?: string|undefined; + _servicedDate?: Element|undefined; + /** + * The date or dates when the service or product was supplied, performed or completed. + */ + servicedPeriod?: Period|undefined; + /** + * The sequence number of the sub-details woithin the details within the claim item which this line is intended to replace. + */ + subDetailSequence?: number[]|undefined; + /** + * A region or surface of the bodySite, e.g. limb region or tooth surface(s). + */ + subSite?: CodeableConcept[]|undefined; + /** + * If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group. + */ + unitPrice?: Money|undefined; +} +/** + * Totals for amounts submitted, co-pays, benefits payable etc. + */ +export interface ExplanationOfBenefitTotal extends BackboneElement { + /** + * Monetary total amount associated with the category. + */ + amount: Money; + /** + * For example, codes indicating: Co-Pay, deductible, eligible, benefit, tax, etc. + */ + category: CodeableConcept; +} +/** + * Payment details for the adjudication of the claim. + */ +export interface ExplanationOfBenefitPayment extends BackboneElement { + /** + * Insurers will deduct amounts owing from the provider (adjustment), such as a prior overpayment, from the amount owing to the provider (benefits payable) when payment is made to the provider. + */ + adjustment?: Money|undefined; + /** + * Reason for the payment adjustment. + */ + adjustmentReason?: CodeableConcept|undefined; + /** + * Benefits payable less any payment adjustment. + */ + amount?: Money|undefined; + /** + * Estimated date the payment will be issued or the actual issue date of payment. + */ + date?: string|undefined; + _date?: Element|undefined; + /** + * For example: EFT number or check number. + */ + identifier?: Identifier|undefined; + /** + * Whether this represents partial or complete payment of the benefits payable. + */ + type?: CodeableConcept|undefined; +} +/** + * A note that describes or explains adjudication results in a human readable form. + */ +export interface ExplanationOfBenefitProcessNote extends BackboneElement { + /** + * Only required if the language is different from the resource language. + */ + language?: CodeableConcept|undefined; + /** + * A number to uniquely identify a note entry. + */ + number?: number|undefined; + /** + * The explanation or description associated with the processing. + */ + text?: string|undefined; + _text?: Element|undefined; + /** + * The business purpose of the note text. + */ + type?: ('display'|'print'|'printoper')|undefined; + _type?: Element|undefined; +} +/** + * Benefits Used to date. + */ +export interface ExplanationOfBenefitBenefitBalanceFinancial extends BackboneElement { + /** + * The quantity of the benefit which is permitted under the coverage. + */ + allowedUnsignedInt?: number|undefined; + /** + * The quantity of the benefit which is permitted under the coverage. + */ + allowedString?: string|undefined; + _allowedString?: Element|undefined; + /** + * The quantity of the benefit which is permitted under the coverage. + */ + allowedMoney?: Money|undefined; + /** + * For example: deductible, visits, benefit amount. + */ + type: CodeableConcept; + /** + * The quantity of the benefit which have been consumed to date. + */ + usedUnsignedInt?: number|undefined; + /** + * The quantity of the benefit which have been consumed to date. + */ + usedMoney?: Money|undefined; +} +/** + * Balance by Benefit Category. + */ +export interface ExplanationOfBenefitBenefitBalance extends BackboneElement { + /** + * Examples include Medical Care, Periodontics, Renal Dialysis, Vision Coverage. + */ + category: CodeableConcept; + /** + * For example, 'DENT2 covers 100% of basic, 50% of major but excludes Ortho, Implants and Cosmetic services'. + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * True if the indicated class of service is excluded from the plan, missing or False indicates the product or service is included in the coverage. + */ + excluded?: boolean|undefined; + _excluded?: Element|undefined; + /** + * Benefits Used to date. + */ + financial?: ExplanationOfBenefitBenefitBalanceFinancial[]|undefined; + /** + * For example: MED01, or DENT2. + */ + name?: string|undefined; + _name?: Element|undefined; + /** + * Is a flag to indicate whether the benefits refer to in-network providers or out-of-network providers. + */ + network?: CodeableConcept|undefined; + /** + * The term or period of the values such as 'maximum lifetime benefit' or 'maximum annual visits'. + */ + term?: CodeableConcept|undefined; + /** + * Indicates if the benefits apply to an individual or to the family. + */ + unit?: CodeableConcept|undefined; +} +/** + * This resource provides: the claim details; adjudication details from the processing of a Claim; and optionally account balance information, for informing the subscriber of the benefits provided. + */ +export interface ExplanationOfBenefit extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'ExplanationOfBenefit'; + /** + * Details of a accident which resulted in injuries which required the products and services listed in the claim. + */ + accident?: ExplanationOfBenefitAccident|undefined; + /** + * The first-tier service adjudications for payor added product or service lines. + */ + addItem?: ExplanationOfBenefitAddItem[]|undefined; + /** + * The adjudication results which are presented at the header level rather than at the line-item or add-item levels. + */ + adjudication?: ExplanationOfBenefitItemAdjudication[]|undefined; + /** + * Balance by Benefit Category. + */ + benefitBalance?: ExplanationOfBenefitBenefitBalance[]|undefined; + /** + * Not applicable when use=claim. + */ + benefitPeriod?: Period|undefined; + /** + * Typically this would be today or in the past for a claim, and today or in the future for preauthorizations and prodeterminations. Typically line item dates of service should fall within the billing period if one is specified. + */ + billablePeriod?: Period|undefined; + /** + * The members of the team who provided the products and services. + */ + careTeam?: ExplanationOfBenefitCareTeam[]|undefined; + /** + * The business identifier for the instance of the adjudication request: claim predetermination or preauthorization. + */ + claim?: Reference|undefined; + /** + * The business identifier for the instance of the adjudication response: claim, predetermination or preauthorization response. + */ + claimResponse?: Reference|undefined; + /** + * This field is independent of the date of creation of the resource as it may reflect the creation date of a source document prior to digitization. Typically for claims all services must be completed as of this date. + */ + created: string; + _created?: Element|undefined; + /** + * Information about diagnoses relevant to the claim items. + */ + diagnosis?: ExplanationOfBenefitDiagnosis[]|undefined; + /** + * A human readable description of the status of the adjudication. + */ + disposition?: string|undefined; + _disposition?: Element|undefined; + /** + * Individual who created the claim, predetermination or preauthorization. + */ + enterer?: Reference|undefined; + /** + * Facility where the services were provided. + */ + facility?: Reference|undefined; + /** + * Needed to permit insurers to include the actual form. + */ + form?: Attachment|undefined; + /** + * May be needed to identify specific jurisdictional forms. + */ + formCode?: CodeableConcept|undefined; + /** + * Fund would be release by a future claim quoting the preAuthRef of this response. Examples of values include: provider, patient, none. + */ + fundsReserve?: CodeableConcept|undefined; + /** + * This field is only used for preauthorizations. + */ + fundsReserveRequested?: CodeableConcept|undefined; + /** + * A unique identifier assigned to this explanation of benefit. + */ + identifier?: Identifier[]|undefined; + /** + * All insurance coverages for the patient which may be applicable for reimbursement, of the products and services listed in the claim, are typically provided in the claim to allow insurers to confirm the ordering of the insurance coverages relative to local 'coordination of benefit' rules. One coverage (and only one) with 'focal=true' is to be used in the adjudication of this claim. Coverages appearing before the focal Coverage in the list, and where 'Coverage.subrogation=false', should provide a reference to the ClaimResponse containing the adjudication results of the prior claim. + */ + insurance: ExplanationOfBenefitInsurance[]; + /** + * The party responsible for authorization, adjudication and reimbursement. + */ + insurer: Reference; + /** + * A claim line. Either a simple (a product or service) or a 'group' of details which can also be a simple items or groups of sub-details. + */ + item?: ExplanationOfBenefitItem[]|undefined; + /** + * For example, a physician may prescribe a medication which the pharmacy determines is contraindicated, or for which the patient has an intolerance, and therefor issues a new prescription for an alternate medication which has the same therapeutic intent. The prescription from the pharmacy becomes the 'prescription' and that from the physician becomes the 'original prescription'. + */ + originalPrescription?: Reference|undefined; + /** + * The resource may be used to indicate that: the request has been held (queued) for processing; that it has been processed and errors found (error); that no errors were found and that some of the adjudication has been undertaken (partial) or that all of the adjudication has been undertaken (complete). + */ + outcome: ('queued'|'complete'|'error'|'partial'); + _outcome?: Element|undefined; + /** + * The party to whom the professional services and/or products have been supplied or are being considered and for whom actual for forecast reimbursement is sought. + */ + patient: Reference; + /** + * Often providers agree to receive the benefits payable to reduce the near-term costs to the patient. The insurer may decline to pay the provider and may choose to pay the subscriber instead. + */ + payee?: ExplanationOfBenefitPayee|undefined; + /** + * Payment details for the adjudication of the claim. + */ + payment?: ExplanationOfBenefitPayment|undefined; + /** + * This value is only present on preauthorization adjudications. + */ + preAuthRef?: string[]|undefined; + _preAuthRef?: Element[]|undefined; + /** + * This value is only present on preauthorization adjudications. + */ + preAuthRefPeriod?: Period[]|undefined; + /** + * This indicates the relative order of a series of EOBs related to different coverages for the same suite of services. + */ + precedence?: number|undefined; + /** + * Prescription to support the dispensing of pharmacy, device or vision products. + */ + prescription?: Reference|undefined; + /** + * If a claim processor is unable to complete the processing as per the priority then they should generate and error and not process the request. + */ + priority?: CodeableConcept|undefined; + /** + * Procedures performed on the patient relevant to the billing items with the claim. + */ + procedure?: ExplanationOfBenefitProcedure[]|undefined; + /** + * A note that describes or explains adjudication results in a human readable form. + */ + processNote?: ExplanationOfBenefitProcessNote[]|undefined; + /** + * Typically this field would be 1..1 where this party is responsible for the claim but not necessarily professionally responsible for the provision of the individual products and services listed below. + */ + provider: Reference; + /** + * The referral resource which lists the date, practitioner, reason and other supporting information. + */ + referral?: Reference|undefined; + /** + * For example, for the original treatment and follow-up exams. + */ + related?: ExplanationOfBenefitRelated[]|undefined; + /** + * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. + */ + status: ('active'|'cancelled'|'draft'|'entered-in-error'); + _status?: Element|undefined; + /** + * This may contain the local bill type codes such as the US UB-04 bill type code. + */ + subType?: CodeableConcept|undefined; + /** + * Often there are multiple jurisdiction specific valuesets which are required. + */ + supportingInfo?: ExplanationOfBenefitSupportingInfo[]|undefined; + /** + * Totals for amounts submitted, co-pays, benefits payable etc. + */ + total?: ExplanationOfBenefitTotal[]|undefined; + /** + * The majority of jurisdictions use: oral, pharmacy, vision, professional and institutional, or variants on those terms, as the general styles of claims. The valueset is extensible to accommodate other jurisdictional requirements. + */ + type: CodeableConcept; + /** + * A code to indicate whether the nature of the request is: to request adjudication of products and services previously rendered; or requesting authorization and adjudication for provision in the future; or requesting the non-binding adjudication of the listed products and services which could be provided in the future. + */ + use: ('claim'|'preauthorization'|'predetermination'); + _use?: Element|undefined; +} +/** + * The significant Conditions (or condition) that the family member had. This is a repeating section to allow a system to represent more than one condition per resource, though there is nothing stopping multiple resources - one per condition. + */ +export interface FamilyMemberHistoryCondition extends BackboneElement { + /** + * The actual condition specified. Could be a coded condition (like MI or Diabetes) or a less specific string like 'cancer' depending on how much is known about the condition and the capabilities of the creating system. + */ + code: CodeableConcept; + /** + * This condition contributed to the cause of death of the related person. If contributedToDeath is not populated, then it is unknown. + */ + contributedToDeath?: boolean|undefined; + _contributedToDeath?: Element|undefined; + /** + * An area where general notes can be placed about this specific condition. + */ + note?: Annotation[]|undefined; + /** + * Either the age of onset, range of approximate age or descriptive string can be recorded. For conditions with multiple occurrences, this describes the first known occurrence. + */ + onsetAge?: Age|undefined; + /** + * Either the age of onset, range of approximate age or descriptive string can be recorded. For conditions with multiple occurrences, this describes the first known occurrence. + */ + onsetRange?: Range|undefined; + /** + * Either the age of onset, range of approximate age or descriptive string can be recorded. For conditions with multiple occurrences, this describes the first known occurrence. + */ + onsetPeriod?: Period|undefined; + /** + * Either the age of onset, range of approximate age or descriptive string can be recorded. For conditions with multiple occurrences, this describes the first known occurrence. + */ + onsetString?: string|undefined; + _onsetString?: Element|undefined; + /** + * Indicates what happened following the condition. If the condition resulted in death, deceased date is captured on the relation. + */ + outcome?: CodeableConcept|undefined; +} +/** + * Significant health conditions for a person related to the patient relevant in the context of care for the patient. + */ +export interface FamilyMemberHistory extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'FamilyMemberHistory'; + /** + * use estimatedAge to indicate whether the age is actual or not. + */ + ageAge?: Age|undefined; + /** + * use estimatedAge to indicate whether the age is actual or not. + */ + ageRange?: Range|undefined; + /** + * use estimatedAge to indicate whether the age is actual or not. + */ + ageString?: string|undefined; + _ageString?: Element|undefined; + /** + * The actual or approximate date of birth of the relative. + */ + bornPeriod?: Period|undefined; + /** + * The actual or approximate date of birth of the relative. + */ + bornDate?: string|undefined; + _bornDate?: Element|undefined; + /** + * The actual or approximate date of birth of the relative. + */ + bornString?: string|undefined; + _bornString?: Element|undefined; + /** + * The significant Conditions (or condition) that the family member had. This is a repeating section to allow a system to represent more than one condition per resource, though there is nothing stopping multiple resources - one per condition. + */ + condition?: FamilyMemberHistoryCondition[]|undefined; + /** + * Describes why the family member's history is not available. + */ + dataAbsentReason?: CodeableConcept|undefined; + /** + * This should be captured even if the same as the date on the List aggregating the full family history. + */ + date?: string|undefined; + _date?: Element|undefined; + /** + * Deceased flag or the actual or approximate age of the relative at the time of death for the family member history record. + */ + deceasedBoolean?: boolean|undefined; + _deceasedBoolean?: Element|undefined; + /** + * Deceased flag or the actual or approximate age of the relative at the time of death for the family member history record. + */ + deceasedAge?: Age|undefined; + /** + * Deceased flag or the actual or approximate age of the relative at the time of death for the family member history record. + */ + deceasedRange?: Range|undefined; + /** + * Deceased flag or the actual or approximate age of the relative at the time of death for the family member history record. + */ + deceasedDate?: string|undefined; + _deceasedDate?: Element|undefined; + /** + * Deceased flag or the actual or approximate age of the relative at the time of death for the family member history record. + */ + deceasedString?: string|undefined; + _deceasedString?: Element|undefined; + /** + * This element is labeled as a modifier because the fact that age is estimated can/should change the results of any algorithm that calculates based on the specified age. + */ + estimatedAge?: boolean|undefined; + _estimatedAge?: Element|undefined; + /** + * This is a business identifier, not a resource identifier (see [discussion](resource.html#identifiers)). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and a Person resource instance might share the same social insurance number. + */ + identifier?: Identifier[]|undefined; + /** + * The URL pointing to a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this FamilyMemberHistory. + */ + instantiatesCanonical?: string[]|undefined; + _instantiatesCanonical?: Element[]|undefined; + /** + * This might be an HTML page, PDF, etc. or could just be a non-resolvable URI identifier. + */ + instantiatesUri?: string[]|undefined; + _instantiatesUri?: Element[]|undefined; + /** + * This will either be a name or a description; e.g. "Aunt Susan", "my cousin with the red hair". + */ + name?: string|undefined; + _name?: Element|undefined; + /** + * This property allows a non condition-specific note to the made about the related person. Ideally, the note would be in the condition property, but this is not always possible. + */ + note?: Annotation[]|undefined; + /** + * The person who this history concerns. + */ + patient: Reference; + /** + * Textual reasons can be captured using reasonCode.text. + */ + reasonCode?: CodeableConcept[]|undefined; + /** + * Indicates a Condition, Observation, AllergyIntolerance, or QuestionnaireResponse that justifies this family member history event. + */ + reasonReference?: Reference[]|undefined; + /** + * The type of relationship this person has to the patient (father, mother, brother etc.). + */ + relationship: CodeableConcept; + /** + * This element should ideally reflect whether the individual is genetically male or female. However, as reported information based on the knowledge of the patient or reporting friend/relative, there may be situations where the reported sex might not be totally accurate. E.g. 'Aunt Sue' might be XY rather than XX. Questions soliciting this information should be phrased to encourage capture of genetic sex where known. However, systems performing analysis should also allow for the possibility of imprecision with this element. + */ + sex?: CodeableConcept|undefined; + /** + * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. + */ + status: ('partial'|'completed'|'entered-in-error'|'health-unknown'); + _status?: Element|undefined; +} +/** + * Prospective warnings of potential issues when providing care to the patient. + */ +export interface Flag extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'Flag'; + /** + * The person, organization or device that created the flag. + */ + author?: Reference|undefined; + /** + * The value set will often need to be adjusted based on local business rules and usage context. + */ + category?: CodeableConcept[]|undefined; + /** + * If non-coded, use CodeableConcept.text. This element should always be included in the narrative. + */ + code: CodeableConcept; + /** + * If both Flag.encounter and Flag.period are valued, then Flag.period.start shall not be before Encounter.period.start and Flag.period.end shall not be after Encounter.period.end. + */ + encounter?: Reference|undefined; + /** + * This is a business identifier, not a resource identifier (see [discussion](resource.html#identifiers)). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and a Person resource instance might share the same social insurance number. + */ + identifier?: Identifier[]|undefined; + /** + * The period of time from the activation of the flag to inactivation of the flag. If the flag is active, the end of the period should be unspecified. + */ + period?: Period|undefined; + /** + * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. + */ + status: ('active'|'inactive'|'entered-in-error'); + _status?: Element|undefined; + /** + * The patient, location, group, organization, or practitioner etc. this is about record this flag is associated with. + */ + subject: Reference; +} +/** + * When multiple targets are present for a single goal instance, all targets must be met for the overall goal to be met. + */ +export interface GoalTarget extends BackboneElement { + /** + * A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Goal.target.measure defines a coded value. + */ + detailQuantity?: Quantity|undefined; + /** + * A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Goal.target.measure defines a coded value. + */ + detailRange?: Range|undefined; + /** + * A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Goal.target.measure defines a coded value. + */ + detailCodeableConcept?: CodeableConcept|undefined; + /** + * A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Goal.target.measure defines a coded value. + */ + detailString?: string|undefined; + _detailString?: Element|undefined; + /** + * A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Goal.target.measure defines a coded value. + */ + detailBoolean?: boolean|undefined; + _detailBoolean?: Element|undefined; + /** + * A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Goal.target.measure defines a coded value. + */ + detailInteger?: number|undefined; + /** + * A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Goal.target.measure defines a coded value. + */ + detailRatio?: Ratio|undefined; + /** + * Indicates either the date or the duration after start by which the goal should be met. + */ + dueDate?: string|undefined; + _dueDate?: Element|undefined; + /** + * Indicates either the date or the duration after start by which the goal should be met. + */ + dueDuration?: Duration|undefined; + /** + * The parameter whose value is being tracked, e.g. body weight, blood pressure, or hemoglobin A1c level. + */ + measure?: CodeableConcept|undefined; +} +/** + * Describes the intended objective(s) for a patient, group or organization care, for example, weight loss, restoring an activity of daily living, obtaining herd immunity via immunization, meeting a process improvement objective, etc. + */ +export interface Goal extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'Goal'; + /** + * Describes the progression, or lack thereof, towards the goal against the target. + */ + achievementStatus?: CodeableConcept|undefined; + /** + * The identified conditions and other health record elements that are intended to be addressed by the goal. + */ + addresses?: Reference[]|undefined; + /** + * Indicates a category the goal falls within. + */ + category?: CodeableConcept[]|undefined; + /** + * If no code is available, use CodeableConcept.text. + */ + description: CodeableConcept; + /** + * This is the individual responsible for establishing the goal, not necessarily who recorded it. (For that, use the Provenance resource.). + */ + expressedBy?: Reference|undefined; + /** + * This is a business identifier, not a resource identifier (see [discussion](resource.html#identifiers)). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and a Person resource instance might share the same social insurance number. + */ + identifier?: Identifier[]|undefined; + /** + * This element is labeled as a modifier because the lifecycleStatus contains codes that mark the resource as not currently valid. + */ + lifecycleStatus: ('proposed'|'planned'|'accepted'|'active'|'on-hold'|'completed'|'cancelled'|'entered-in-error'|'rejected'); + _lifecycleStatus?: Element|undefined; + /** + * May be used for progress notes, concerns or other related information that doesn't actually describe the goal itself. + */ + note?: Annotation[]|undefined; + /** + * Note that this should not duplicate the goal status. + */ + outcomeCode?: CodeableConcept[]|undefined; + /** + * The goal outcome is independent of the outcome of the related activities. For example, if the Goal is to achieve a target body weight of 150 lb and a care plan activity is defined to diet, then the care plan’s activity outcome could be calories consumed whereas goal outcome is an observation for the actual body weight measured. + */ + outcomeReference?: Reference[]|undefined; + /** + * Extensions are available to track priorities as established by each participant (i.e. Priority from the patient's perspective, different practitioners' perspectives, family member's perspectives) + * The ordinal extension on Coding can be used to convey a numerically comparable ranking to priority. (Keep in mind that different coding systems may use a "low value=important". + */ + priority?: CodeableConcept|undefined; + /** + * The date or event after which the goal should begin being pursued. + */ + startDate?: string|undefined; + _startDate?: Element|undefined; + /** + * The date or event after which the goal should begin being pursued. + */ + startCodeableConcept?: CodeableConcept|undefined; + /** + * To see the date for past statuses, query history. + */ + statusDate?: string|undefined; + _statusDate?: Element|undefined; + /** + * This will typically be captured for statuses such as rejected, on-hold or cancelled, but could be present for others. + */ + statusReason?: string|undefined; + _statusReason?: Element|undefined; + /** + * Identifies the patient, group or organization for whom the goal is being established. + */ + subject: Reference; + /** + * When multiple targets are present for a single goal instance, all targets must be met for the overall goal to be met. + */ + target?: GoalTarget[]|undefined; +} +/** + * Compartment Consistency Rules. + */ +export interface GraphDefinitionLinkTargetCompartment extends BackboneElement { + /** + * Identifies the compartment. + */ + code: ('Patient'|'Encounter'|'RelatedPerson'|'Practitioner'|'Device'); + _code?: Element|undefined; + /** + * Documentation for FHIRPath expression. + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * Custom rule, as a FHIRPath expression. + */ + expression?: string|undefined; + _expression?: Element|undefined; + /** + * identical | matching | different | no-rule | custom. + */ + rule: ('identical'|'matching'|'different'|'custom'); + _rule?: Element|undefined; + /** + * All conditional rules are evaluated; if they are true, then the rules are evaluated. + */ + use: ('condition'|'requirement'); + _use?: Element|undefined; +} +/** + * Potential target for the link. + */ +export interface GraphDefinitionLinkTarget extends BackboneElement { + /** + * Compartment Consistency Rules. + */ + compartment?: GraphDefinitionLinkTargetCompartment[]|undefined; + /** + * Additional links from target resource. + */ + link?: GraphDefinitionLink[]|undefined; + /** + * At least one of the parameters must have the value {ref} which identifies the focus resource. + */ + params?: string|undefined; + _params?: Element|undefined; + /** + * Profile for the target resource. + */ + profile?: string|undefined; + _profile?: Element|undefined; + /** + * Type of resource this link refers to. + */ + type: string; + _type?: Element|undefined; +} +/** + * Links this graph makes rules about. + */ +export interface GraphDefinitionLink extends BackboneElement { + /** + * Information about why this link is of interest in this graph definition. + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * Maximum occurrences for this link. + */ + max?: string|undefined; + _max?: Element|undefined; + /** + * Minimum occurrences for this link. + */ + min?: number|undefined; + /** + * The path expression cannot contain a resolve() function. If there is no path, the link is a reverse lookup, using target.params. If the path is "*" then this means all references in the resource. + */ + path?: string|undefined; + _path?: Element|undefined; + /** + * Which slice (if profiled). + */ + sliceName?: string|undefined; + _sliceName?: Element|undefined; + /** + * Potential target for the link. + */ + target?: GraphDefinitionLinkTarget[]|undefined; +} +/** + * A formal computable definition of a graph of resources - that is, a coherent set of resources that form a graph by following references. The Graph Definition resource defines a set and makes rules about the set. + */ +export interface GraphDefinition extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'GraphDefinition'; + /** + * May be a web site, an email address, a telephone number, etc. + */ + contact?: ContactDetail[]|undefined; + /** + * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the graph definition. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. + */ + date?: string|undefined; + _date?: Element|undefined; + /** + * This description can be used to capture details such as why the graph definition was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the graph definition as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the graph definition is presumed to be the predominant language in the place the graph definition was created). + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * Allows filtering of graph definitions that are appropriate for use versus not. + */ + experimental?: boolean|undefined; + _experimental?: Element|undefined; + /** + * It may be possible for the graph definition to be used in jurisdictions other than those for which it was originally designed or intended. + */ + jurisdiction?: CodeableConcept[]|undefined; + /** + * Links this graph makes rules about. + */ + link?: GraphDefinitionLink[]|undefined; + /** + * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. + */ + name: string; + _name?: Element|undefined; + /** + * The code does not include the '$' prefix that is always included in the URL when the operation is invoked. + */ + profile?: string|undefined; + _profile?: Element|undefined; + /** + * Usually an organization but may be an individual. The publisher (or steward) of the graph definition is the organization or individual primarily responsible for the maintenance and upkeep of the graph definition. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the graph definition. This item SHOULD be populated unless the information is available from context. + */ + publisher?: string|undefined; + _publisher?: Element|undefined; + /** + * This element does not describe the usage of the graph definition. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this graph definition. + */ + purpose?: string|undefined; + _purpose?: Element|undefined; + /** + * The type of FHIR resource at which instances of this graph start. + */ + start: string; + _start?: Element|undefined; + /** + * Allows filtering of graph definitions that are appropriate for use versus not. + */ + status: ('draft'|'active'|'retired'|'unknown'); + _status?: Element|undefined; + /** + * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. + * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). + * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. + */ + url?: string|undefined; + _url?: Element|undefined; + /** + * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. + */ + useContext?: UsageContext[]|undefined; + /** + * There may be different graph definition instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the graph definition with the format [url]|[version]. + */ + version?: string|undefined; + _version?: Element|undefined; +} +/** + * All the identified characteristics must be true for an entity to a member of the group. + */ +export interface GroupCharacteristic extends BackboneElement { + /** + * A code that identifies the kind of trait being asserted. + */ + code: CodeableConcept; + /** + * This is labeled as "Is Modifier" because applications cannot wrongly include excluded members as included or vice versa. + */ + exclude: boolean; + _exclude?: Element|undefined; + /** + * The period over which the characteristic is tested; e.g. the patient had an operation during the month of June. + */ + period?: Period|undefined; + /** + * For Range, it means members of the group have a value that falls somewhere within the specified range. + */ + valueCodeableConcept?: CodeableConcept|undefined; + /** + * For Range, it means members of the group have a value that falls somewhere within the specified range. + */ + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; + /** + * For Range, it means members of the group have a value that falls somewhere within the specified range. + */ + valueQuantity?: Quantity|undefined; + /** + * For Range, it means members of the group have a value that falls somewhere within the specified range. + */ + valueRange?: Range|undefined; + /** + * For Range, it means members of the group have a value that falls somewhere within the specified range. + */ + valueReference?: Reference|undefined; +} +/** + * Identifies the resource instances that are members of the group. + */ +export interface GroupMember extends BackboneElement { + /** + * A reference to the entity that is a member of the group. Must be consistent with Group.type. If the entity is another group, then the type must be the same. + */ + entity: Reference; + /** + * A flag to indicate that the member is no longer in the group, but previously may have been a member. + */ + inactive?: boolean|undefined; + _inactive?: Element|undefined; + /** + * The period that the member was in the group, if known. + */ + period?: Period|undefined; +} +/** + * Represents a defined collection of entities that may be discussed or acted upon collectively but which are not expected to act collectively, and are not formally or legally recognized; i.e. a collection of entities that isn't an Organization. + */ +export interface Group extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'Group'; + /** + * Indicates whether the record for the group is available for use or is merely being retained for historical purposes. + */ + active?: boolean|undefined; + _active?: Element|undefined; + /** + * If true, indicates that the resource refers to a specific group of real individuals. If false, the group defines a set of intended individuals. + */ + actual: boolean; + _actual?: Element|undefined; + /** + * All the identified characteristics must be true for an entity to a member of the group. + */ + characteristic?: GroupCharacteristic[]|undefined; + /** + * This would generally be omitted for Person resources. + */ + code?: CodeableConcept|undefined; + /** + * A unique business identifier for this group. + */ + identifier?: Identifier[]|undefined; + /** + * This does not strictly align with ownership of a herd or flock, but may suffice to represent that relationship in simple cases. More complex cases will require an extension. + */ + managingEntity?: Reference|undefined; + /** + * Identifies the resource instances that are members of the group. + */ + member?: GroupMember[]|undefined; + /** + * A label assigned to the group for human identification and communication. + */ + name?: string|undefined; + _name?: Element|undefined; + /** + * Note that the quantity may be less than the number of members if some of the members are not active. + */ + quantity?: number|undefined; + /** + * Group members SHALL be of the appropriate resource type (Patient for person or animal; or Practitioner, Device, Medication or Substance for the other types.). + */ + type: ('person'|'animal'|'practitioner'|'device'|'medication'|'substance'); + _type?: Element|undefined; +} +/** + * A guidance response is the formal response to a guidance request, including any output parameters returned by the evaluation, as well as the description of any proposed actions to be taken. + */ +export interface GuidanceResponse extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'GuidanceResponse'; + /** + * If the evaluation could not be completed due to lack of information, or additional information would potentially result in a more accurate response, this element will a description of the data required in order to proceed with the evaluation. A subsequent request to the service should include this data. + */ + dataRequirement?: DataRequirement[]|undefined; + /** + * This will typically be the encounter the event occurred within, but some activities may be initiated prior to or after the official copmletion of an encounter but still be tied to the context of the encounter. + */ + encounter?: Reference|undefined; + /** + * Messages resulting from the evaluation of the artifact or artifacts. As part of evaluating the request, the engine may produce informational or warning messages. These messages will be provided by this element. + */ + evaluationMessage?: Reference[]|undefined; + /** + * Allows a service to provide unique, business identifiers for the response. + */ + identifier?: Identifier[]|undefined; + /** + * An identifier, CodeableConcept or canonical reference to the guidance that was requested. + */ + moduleUri?: string|undefined; + _moduleUri?: Element|undefined; + /** + * An identifier, CodeableConcept or canonical reference to the guidance that was requested. + */ + moduleCanonical?: string|undefined; + _moduleCanonical?: Element|undefined; + /** + * An identifier, CodeableConcept or canonical reference to the guidance that was requested. + */ + moduleCodeableConcept?: CodeableConcept|undefined; + /** + * Provides a mechanism to communicate additional information about the response. + */ + note?: Annotation[]|undefined; + /** + * Indicates when the guidance response was processed. + */ + occurrenceDateTime?: string|undefined; + _occurrenceDateTime?: Element|undefined; + /** + * The output parameters of the evaluation, if any. Many modules will result in the return of specific resources such as procedure or communication requests that are returned as part of the operation result. However, modules may define specific outputs that would be returned as the result of the evaluation, and these would be returned in this element. + */ + outputParameters?: Reference|undefined; + /** + * Provides a reference to the device that performed the guidance. + */ + performer?: Reference|undefined; + /** + * Describes the reason for the guidance response in coded or textual form. + */ + reasonCode?: CodeableConcept[]|undefined; + /** + * Indicates the reason the request was initiated. This is typically provided as a parameter to the evaluation and echoed by the service, although for some use cases, such as subscription- or event-based scenarios, it may provide an indication of the cause for the response. + */ + reasonReference?: Reference[]|undefined; + /** + * The identifier of the request associated with this response. If an identifier was given as part of the request, it will be reproduced here to enable the requester to more easily identify the response in a multi-request scenario. + */ + requestIdentifier?: Identifier|undefined; + /** + * The actions, if any, produced by the evaluation of the artifact. + */ + result?: Reference|undefined; + /** + * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. + */ + status: ('success'|'data-requested'|'data-required'|'in-progress'|'failure'|'entered-in-error'); + _status?: Element|undefined; + /** + * The patient for which the request was processed. + */ + subject?: Reference|undefined; +} +/** + * Does this service have specific eligibility requirements that need to be met in order to use the service? + */ +export interface HealthcareServiceEligibility extends BackboneElement { + /** + * Coded value for the eligibility. + */ + code?: CodeableConcept|undefined; + /** + * The description of service eligibility should, in general, not exceed one or two paragraphs. It should be sufficient for a prospective consumer to determine if they are likely to be eligible or not. Where eligibility requirements and conditions are complex, it may simply be noted that an eligibility assessment is required. Where eligibility is determined by an outside source, such as an Act of Parliament, this should be noted, preferably with a reference to a commonly available copy of the source document such as a web page. + */ + comment?: string|undefined; + _comment?: Element|undefined; +} +/** + * More detailed availability information may be provided in associated Schedule/Slot resources. + */ +export interface HealthcareServiceAvailableTime extends BackboneElement { + /** + * Is this always available? (hence times are irrelevant) e.g. 24 hour service. + */ + allDay?: boolean|undefined; + _allDay?: Element|undefined; + /** + * The time zone is expected to be for where this HealthcareService is provided at. + */ + availableEndTime?: string|undefined; + _availableEndTime?: Element|undefined; + /** + * The time zone is expected to be for where this HealthcareService is provided at. + */ + availableStartTime?: string|undefined; + _availableStartTime?: Element|undefined; + /** + * Indicates which days of the week are available between the start and end Times. + */ + daysOfWeek?: ('mon'|'tue'|'wed'|'thu'|'fri'|'sat'|'sun')[]|undefined; + _daysOfWeek?: Element[]|undefined; +} +/** + * The HealthcareService is not available during this period of time due to the provided reason. + */ +export interface HealthcareServiceNotAvailable extends BackboneElement { + /** + * The reason that can be presented to the user as to why this time is not available. + */ + description: string; + _description?: Element|undefined; + /** + * Service is not available (seasonally or for a public holiday) from this date. + */ + during?: Period|undefined; +} +/** + * The details of a healthcare service available at a location. + */ +export interface HealthcareService extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'HealthcareService'; + /** + * This element is labeled as a modifier because it may be used to mark that the resource was created in error. + */ + active?: boolean|undefined; + _active?: Element|undefined; + /** + * Indicates whether or not a prospective consumer will require an appointment for a particular service at a site to be provided by the Organization. Indicates if an appointment is required for access to this service. + */ + appointmentRequired?: boolean|undefined; + _appointmentRequired?: Element|undefined; + /** + * A description of site availability exceptions, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as details in the available Times and not available Times. + */ + availabilityExceptions?: string|undefined; + _availabilityExceptions?: Element|undefined; + /** + * More detailed availability information may be provided in associated Schedule/Slot resources. + */ + availableTime?: HealthcareServiceAvailableTime[]|undefined; + /** + * Selecting a Service Category then determines the list of relevant service types that can be selected in the primary service type. + */ + category?: CodeableConcept[]|undefined; + /** + * These could be such things as is wheelchair accessible. + */ + characteristic?: CodeableConcept[]|undefined; + /** + * Would expect that a user would not see this information on a search results, and it would only be available when viewing the complete details of the service. + */ + comment?: string|undefined; + _comment?: Element|undefined; + /** + * When using this property it indicates that the service is available with this language, it is not derived from the practitioners, and not all are required to use this language, just that this language is available while scheduling. + */ + communication?: CodeableConcept[]|undefined; + /** + * The locations referenced by the coverage area can include both specific locations, including areas, and also conceptual domains too (mode = kind), such as a physical area (tri-state area) and some other attribute (covered by Example Care Organization). These types of Locations are often not managed by any specific organization. This could also include generic locations such as "in-home". + */ + coverageArea?: Reference[]|undefined; + /** + * Does this service have specific eligibility requirements that need to be met in order to use the service? + */ + eligibility?: HealthcareServiceEligibility[]|undefined; + /** + * Technical endpoints providing access to services operated for the specific healthcare services defined at this resource. + */ + endpoint?: Reference[]|undefined; + /** + * Extra details about the service that can't be placed in the other fields. + */ + extraDetails?: string|undefined; + _extraDetails?: Element|undefined; + /** + * External identifiers for this item. + */ + identifier?: Identifier[]|undefined; + /** + * The location(s) where this healthcare service may be provided. + */ + location?: Reference[]|undefined; + /** + * Further description of the service as it would be presented to a consumer while searching. + */ + name?: string|undefined; + _name?: Element|undefined; + /** + * The HealthcareService is not available during this period of time due to the provided reason. + */ + notAvailable?: HealthcareServiceNotAvailable[]|undefined; + /** + * If there is a photo/symbol associated with this HealthcareService, it may be included here to facilitate quick identification of the service in a list. + */ + photo?: Attachment|undefined; + /** + * Programs are often defined externally to an Organization, commonly by governments; e.g. Home and Community Care Programs, Homeless Program, …. + */ + program?: CodeableConcept[]|undefined; + /** + * This property is recommended to be the same as the Location's managingOrganization, and if not provided should be interpreted as such. If the Location does not have a managing Organization, then this property should be populated. + */ + providedBy?: Reference|undefined; + /** + * Ways that the service accepts referrals, if this is not provided then it is implied that no referral is required. + */ + referralMethod?: CodeableConcept[]|undefined; + /** + * The provision means being commissioned by, contractually obliged or financially sourced. Types of costings that may apply to this healthcare service, such if the service may be available for free, some discounts available, or fees apply. + */ + serviceProvisionCode?: CodeableConcept[]|undefined; + /** + * Collection of specialties handled by the service site. This is more of a medical term. + */ + specialty?: CodeableConcept[]|undefined; + /** + * If this is empty, then refer to the location's contacts. + */ + telecom?: ContactPoint[]|undefined; + /** + * The specific type of service that may be delivered or performed. + */ + type?: CodeableConcept[]|undefined; +} +/** + * If the person who performed the series is not known, their Organization may be recorded. A patient, or related person, may be the performer, e.g. for patient-captured images. + */ +export interface ImagingStudySeriesPerformer extends BackboneElement { + /** + * Indicates who or what performed the series. + */ + actor: Reference; + /** + * Distinguishes the type of involvement of the performer in the series. + */ + function?: CodeableConcept|undefined; +} +/** + * A single SOP instance within the series, e.g. an image, or presentation state. + */ +export interface ImagingStudySeriesInstance extends BackboneElement { + /** + * The number of instance in the series. + */ + number?: number|undefined; + /** + * DICOM instance type. + */ + sopClass: Coding; + /** + * Particularly for post-acquisition analytic objects, such as SR, presentation states, value mapping, etc. + */ + title?: string|undefined; + _title?: Element|undefined; + /** + * See [DICOM PS3.3 C.12.1](http://dicom.nema.org/medical/dicom/current/output/chtml/part03/sect_C.12.html#sect_C.12.1). + */ + uid: string; + _uid?: Element|undefined; +} +/** + * Each study has one or more series of images or other content. + */ +export interface ImagingStudySeries extends BackboneElement { + /** + * The anatomic structures examined. See DICOM Part 16 Annex L (http://dicom.nema.org/medical/dicom/current/output/chtml/part16/chapter_L.html) for DICOM to SNOMED-CT mappings. The bodySite may indicate the laterality of body part imaged; if so, it shall be consistent with any content of ImagingStudy.series.laterality. + */ + bodySite?: Coding|undefined; + /** + * A description of the series. + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * Typical endpoint types include DICOM WADO-RS, which is used to retrieve DICOM instances in native or rendered (e.g., JPG, PNG) formats using a RESTful API; DICOM WADO-URI, which can similarly retrieve native or rendered instances, except using an HTTP query-based approach; and DICOM QIDO-RS, which allows RESTful query for DICOM information without retrieving the actual instances. + */ + endpoint?: Reference[]|undefined; + /** + * A single SOP instance within the series, e.g. an image, or presentation state. + */ + instance?: ImagingStudySeriesInstance[]|undefined; + /** + * The laterality of the (possibly paired) anatomic structures examined. E.g., the left knee, both lungs, or unpaired abdomen. If present, shall be consistent with any laterality information indicated in ImagingStudy.series.bodySite. + */ + laterality?: Coding|undefined; + /** + * The modality of this series sequence. + */ + modality: Coding; + /** + * The numeric identifier of this series in the study. + */ + number?: number|undefined; + /** + * Number of SOP Instances in the Study. The value given may be larger than the number of instance elements this resource contains due to resource availability, security, or other factors. This element should be present if any instance elements are present. + */ + numberOfInstances?: number|undefined; + /** + * If the person who performed the series is not known, their Organization may be recorded. A patient, or related person, may be the performer, e.g. for patient-captured images. + */ + performer?: ImagingStudySeriesPerformer[]|undefined; + /** + * The specimen imaged, e.g., for whole slide imaging of a biopsy. + */ + specimen?: Reference[]|undefined; + /** + * The date and time the series was started. + */ + started?: string|undefined; + _started?: Element|undefined; + /** + * See [DICOM PS3.3 C.7.3](http://dicom.nema.org/medical/dicom/current/output/chtml/part03/sect_C.7.3.html). + */ + uid: string; + _uid?: Element|undefined; +} +/** + * Representation of the content produced in a DICOM imaging study. A study comprises a set of series, each of which includes a set of Service-Object Pair Instances (SOP Instances - images or other data) acquired or produced in a common context. A series is of only one modality (e.g. X-ray, CT, MR, ultrasound), but a study may have multiple series of different modalities. + */ +export interface ImagingStudy extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'ImagingStudy'; + /** + * A list of the diagnostic requests that resulted in this imaging study being performed. + */ + basedOn?: Reference[]|undefined; + /** + * The Imaging Manager description of the study. Institution-generated description or classification of the Study (component) performed. + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * This will typically be the encounter the event occurred within, but some events may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter (e.g. pre-admission test). + */ + encounter?: Reference|undefined; + /** + * Typical endpoint types include DICOM WADO-RS, which is used to retrieve DICOM instances in native or rendered (e.g., JPG, PNG), formats using a RESTful API; DICOM WADO-URI, which can similarly retrieve native or rendered instances, except using an HTTP query-based approach; DICOM QIDO-RS, which allows RESTful query for DICOM information without retrieving the actual instances; or IHE Invoke Image Display (IID), which provides standard invocation of an imaging web viewer. + */ + endpoint?: Reference[]|undefined; + /** + * See discussion under [Imaging Study Implementation Notes](imagingstudy.html#notes) for encoding of DICOM Study Instance UID. Accession Number should use ACSN Identifier type. + */ + identifier?: Identifier[]|undefined; + /** + * Who read the study and interpreted the images or other content. + */ + interpreter?: Reference[]|undefined; + /** + * The principal physical location where the ImagingStudy was performed. + */ + location?: Reference|undefined; + /** + * A list of all the series.modality values that are actual acquisition modalities, i.e. those in the DICOM Context Group 29 (value set OID 1.2.840.10008.6.1.19). + */ + modality?: Coding[]|undefined; + /** + * Per the recommended DICOM mapping, this element is derived from the Study Description attribute (0008,1030). Observations or findings about the imaging study should be recorded in another resource, e.g. Observation, and not in this element. + */ + note?: Annotation[]|undefined; + /** + * Number of SOP Instances in Study. This value given may be larger than the number of instance elements this resource contains due to resource availability, security, or other factors. This element should be present if any instance elements are present. + */ + numberOfInstances?: number|undefined; + /** + * Number of Series in the Study. This value given may be larger than the number of series elements this Resource contains due to resource availability, security, or other factors. This element should be present if any series elements are present. + */ + numberOfSeries?: number|undefined; + /** + * The code for the performed procedure type. + */ + procedureCode?: CodeableConcept[]|undefined; + /** + * The procedure which this ImagingStudy was part of. + */ + procedureReference?: Reference|undefined; + /** + * Description of clinical condition indicating why the ImagingStudy was requested. + */ + reasonCode?: CodeableConcept[]|undefined; + /** + * Indicates another resource whose existence justifies this Study. + */ + reasonReference?: Reference[]|undefined; + /** + * The requesting/referring physician. + */ + referrer?: Reference|undefined; + /** + * Each study has one or more series of images or other content. + */ + series?: ImagingStudySeries[]|undefined; + /** + * Date and time the study started. + */ + started?: string|undefined; + _started?: Element|undefined; + /** + * Unknown does not represent "other" - one of the defined statuses must apply. Unknown is used when the authoring system is not sure what the current status is. + */ + status: ('registered'|'available'|'cancelled'|'entered-in-error'|'unknown'); + _status?: Element|undefined; + /** + * QA phantoms can be recorded with a Device; multiple subjects (such as mice) can be recorded with a Group. + */ + subject: Reference; +} +/** + * Indicates who performed the immunization event. + */ +export interface ImmunizationPerformer extends BackboneElement { + /** + * When the individual practitioner who performed the action is known, it is best to send. + */ + actor: Reference; + /** + * Describes the type of performance (e.g. ordering provider, administering provider, etc.). + */ + function?: CodeableConcept|undefined; +} +/** + * Educational material presented to the patient (or guardian) at the time of vaccine administration. + */ +export interface ImmunizationEducation extends BackboneElement { + /** + * Identifier of the material presented to the patient. + */ + documentType?: string|undefined; + _documentType?: Element|undefined; + /** + * Date the educational material was given to the patient. + */ + presentationDate?: string|undefined; + _presentationDate?: Element|undefined; + /** + * Date the educational material was published. + */ + publicationDate?: string|undefined; + _publicationDate?: Element|undefined; + /** + * Reference pointer to the educational material given to the patient if the information was on line. + */ + reference?: string|undefined; + _reference?: Element|undefined; +} +/** + * A reaction may be an indication of an allergy or intolerance and, if this is determined to be the case, it should be recorded as a new AllergyIntolerance resource instance as most systems will not query against past Immunization.reaction elements. + */ +export interface ImmunizationReaction extends BackboneElement { + /** + * Date of reaction to the immunization. + */ + date?: string|undefined; + _date?: Element|undefined; + /** + * Details of the reaction. + */ + detail?: Reference|undefined; + /** + * Self-reported indicator. + */ + reported?: boolean|undefined; + _reported?: Element|undefined; +} +/** + * The protocol (set of recommendations) being followed by the provider who administered the dose. + */ +export interface ImmunizationProtocolApplied extends BackboneElement { + /** + * Indicates the authority who published the protocol (e.g. ACIP) that is being followed. + */ + authority?: Reference|undefined; + /** + * The use of an integer is preferred if known. A string should only be used in cases where an integer is not available (such as when documenting a recurring booster dose). + */ + doseNumberPositiveInt?: number|undefined; + /** + * The use of an integer is preferred if known. A string should only be used in cases where an integer is not available (such as when documenting a recurring booster dose). + */ + doseNumberString?: string|undefined; + _doseNumberString?: Element|undefined; + /** + * One possible path to achieve presumed immunity against a disease - within the context of an authority. + */ + series?: string|undefined; + _series?: Element|undefined; + /** + * The use of an integer is preferred if known. A string should only be used in cases where an integer is not available (such as when documenting a recurring booster dose). + */ + seriesDosesPositiveInt?: number|undefined; + /** + * The use of an integer is preferred if known. A string should only be used in cases where an integer is not available (such as when documenting a recurring booster dose). + */ + seriesDosesString?: string|undefined; + _seriesDosesString?: Element|undefined; + /** + * The vaccine preventable disease the dose is being administered against. + */ + targetDisease?: CodeableConcept[]|undefined; +} +/** + * Describes the event of a patient being administered a vaccine or a record of an immunization as reported by a patient, a clinician or another party. + */ +export interface Immunization extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'Immunization'; + /** + * The quantity of vaccine product that was administered. + */ + doseQuantity?: Quantity|undefined; + /** + * Educational material presented to the patient (or guardian) at the time of vaccine administration. + */ + education?: ImmunizationEducation[]|undefined; + /** + * The visit or admission or other contact between patient and health care provider the immunization was performed as part of. + */ + encounter?: Reference|undefined; + /** + * Date vaccine batch expires. + */ + expirationDate?: string|undefined; + _expirationDate?: Element|undefined; + /** + * Indicates the source of the vaccine actually administered. This may be different than the patient eligibility (e.g. the patient may be eligible for a publically purchased vaccine but due to inventory issues, vaccine purchased with private funds was actually administered). + */ + fundingSource?: CodeableConcept|undefined; + /** + * A unique identifier assigned to this immunization record. + */ + identifier?: Identifier[]|undefined; + /** + * Typically, the recognition of the dose being sub-potent is retrospective, after the administration (ex. notification of a manufacturer recall after administration). However, in the case of a partial administration (the patient moves unexpectedly and only some of the dose is actually administered), subpotency may be recognized immediately, but it is still important to record the event. + */ + isSubpotent?: boolean|undefined; + _isSubpotent?: Element|undefined; + /** + * The service delivery location where the vaccine administration occurred. + */ + location?: Reference|undefined; + /** + * Lot number of the vaccine product. + */ + lotNumber?: string|undefined; + _lotNumber?: Element|undefined; + /** + * Name of vaccine manufacturer. + */ + manufacturer?: Reference|undefined; + /** + * Extra information about the immunization that is not conveyed by the other attributes. + */ + note?: Annotation[]|undefined; + /** + * When immunizations are given a specific date and time should always be known. When immunizations are patient reported, a specific date might not be known. Although partial dates are allowed, an adult patient might not be able to recall the year a childhood immunization was given. An exact date is always preferable, but the use of the String data type is acceptable when an exact date is not known. A small number of vaccines (e.g. live oral typhoid vaccine) are given as a series of patient self-administered dose over a span of time. In cases like this, often, only the first dose (typically a provider supervised dose) is recorded with the occurrence indicating the date/time of the first dose. + */ + occurrenceDateTime?: string|undefined; + _occurrenceDateTime?: Element|undefined; + /** + * When immunizations are given a specific date and time should always be known. When immunizations are patient reported, a specific date might not be known. Although partial dates are allowed, an adult patient might not be able to recall the year a childhood immunization was given. An exact date is always preferable, but the use of the String data type is acceptable when an exact date is not known. A small number of vaccines (e.g. live oral typhoid vaccine) are given as a series of patient self-administered dose over a span of time. In cases like this, often, only the first dose (typically a provider supervised dose) is recorded with the occurrence indicating the date/time of the first dose. + */ + occurrenceString?: string|undefined; + _occurrenceString?: Element|undefined; + /** + * The patient who either received or did not receive the immunization. + */ + patient: Reference; + /** + * Indicates who performed the immunization event. + */ + performer?: ImmunizationPerformer[]|undefined; + /** + * Reflects the “reliability” of the content. + */ + primarySource?: boolean|undefined; + _primarySource?: Element|undefined; + /** + * Indicates a patient's eligibility for a funding program. + */ + programEligibility?: CodeableConcept[]|undefined; + /** + * The protocol (set of recommendations) being followed by the provider who administered the dose. + */ + protocolApplied?: ImmunizationProtocolApplied[]|undefined; + /** + * A reaction may be an indication of an allergy or intolerance and, if this is determined to be the case, it should be recorded as a new AllergyIntolerance resource instance as most systems will not query against past Immunization.reaction elements. + */ + reaction?: ImmunizationReaction[]|undefined; + /** + * Reasons why the vaccine was administered. + */ + reasonCode?: CodeableConcept[]|undefined; + /** + * Condition, Observation or DiagnosticReport that supports why the immunization was administered. + */ + reasonReference?: Reference[]|undefined; + /** + * The date the occurrence of the immunization was first captured in the record - potentially significantly after the occurrence of the event. + */ + recorded?: string|undefined; + _recorded?: Element|undefined; + /** + * Should not be populated if primarySource = True, not required even if primarySource = False. + */ + reportOrigin?: CodeableConcept|undefined; + /** + * The path by which the vaccine product is taken into the body. + */ + route?: CodeableConcept|undefined; + /** + * Body site where vaccine was administered. + */ + site?: CodeableConcept|undefined; + /** + * Will generally be set to show that the immunization has been completed or not done. This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. + */ + status: ('completed'|'entered-in-error'|'not-done'); + _status?: Element|undefined; + /** + * This is generally only used for the status of "not-done". The reason for performing the immunization event is captured in reasonCode, not here. + */ + statusReason?: CodeableConcept|undefined; + /** + * Reason why a dose is considered to be subpotent. + */ + subpotentReason?: CodeableConcept[]|undefined; + /** + * Vaccine that was administered or was to be administered. + */ + vaccineCode: CodeableConcept; +} +/** + * Describes a comparison of an immunization event against published recommendations to determine if the administration is "valid" in relation to those recommendations. + */ +export interface ImmunizationEvaluation extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'ImmunizationEvaluation'; + /** + * Indicates the authority who published the protocol (e.g. ACIP). + */ + authority?: Reference|undefined; + /** + * The date the evaluation of the vaccine administration event was performed. + */ + date?: string|undefined; + _date?: Element|undefined; + /** + * Additional information about the evaluation. + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * The use of an integer is preferred if known. A string should only be used in cases where an integer is not available (such as when documenting a recurring booster dose). + */ + doseNumberPositiveInt?: number|undefined; + /** + * The use of an integer is preferred if known. A string should only be used in cases where an integer is not available (such as when documenting a recurring booster dose). + */ + doseNumberString?: string|undefined; + _doseNumberString?: Element|undefined; + /** + * Indicates if the dose is valid or not valid with respect to the published recommendations. + */ + doseStatus: CodeableConcept; + /** + * Provides an explanation as to why the vaccine administration event is valid or not relative to the published recommendations. + */ + doseStatusReason?: CodeableConcept[]|undefined; + /** + * A unique identifier assigned to this immunization evaluation record. + */ + identifier?: Identifier[]|undefined; + /** + * The vaccine administration event being evaluated. + */ + immunizationEvent: Reference; + /** + * The individual for whom the evaluation is being done. + */ + patient: Reference; + /** + * One possible path to achieve presumed immunity against a disease - within the context of an authority. + */ + series?: string|undefined; + _series?: Element|undefined; + /** + * The use of an integer is preferred if known. A string should only be used in cases where an integer is not available (such as when documenting a recurring booster dose). + */ + seriesDosesPositiveInt?: number|undefined; + /** + * The use of an integer is preferred if known. A string should only be used in cases where an integer is not available (such as when documenting a recurring booster dose). + */ + seriesDosesString?: string|undefined; + _seriesDosesString?: Element|undefined; + /** + * Indicates the current status of the evaluation of the vaccination administration event. + */ + status: ('completed'|'entered-in-error'); + _status?: Element|undefined; + /** + * The vaccine preventable disease the dose is being evaluated against. + */ + targetDisease: CodeableConcept; +} +/** + * Vaccine date recommendations. For example, earliest date to administer, latest date to administer, etc. + */ +export interface ImmunizationRecommendationRecommendationDateCriterion extends BackboneElement { + /** + * Date classification of recommendation. For example, earliest date to give, latest date to give, etc. + */ + code: CodeableConcept; + /** + * The date whose meaning is specified by dateCriterion.code. + */ + value: string; + _value?: Element|undefined; +} +/** + * Vaccine administration recommendations. + */ +export interface ImmunizationRecommendationRecommendation extends BackboneElement { + /** + * Vaccine(s) which should not be used to fulfill the recommendation. + */ + contraindicatedVaccineCode?: CodeableConcept[]|undefined; + /** + * Vaccine date recommendations. For example, earliest date to administer, latest date to administer, etc. + */ + dateCriterion?: ImmunizationRecommendationRecommendationDateCriterion[]|undefined; + /** + * Contains the description about the protocol under which the vaccine was administered. + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * The use of an integer is prefered if known. A string should only be used in cases where an interger is not available (such as when documenting a recurring booster dose). + */ + doseNumberPositiveInt?: number|undefined; + /** + * The use of an integer is prefered if known. A string should only be used in cases where an interger is not available (such as when documenting a recurring booster dose). + */ + doseNumberString?: string|undefined; + _doseNumberString?: Element|undefined; + /** + * The reason for the assigned forecast status. + */ + forecastReason?: CodeableConcept[]|undefined; + /** + * Indicates the patient status with respect to the path to immunity for the target disease. + */ + forecastStatus: CodeableConcept; + /** + * One possible path to achieve presumed immunity against a disease - within the context of an authority. + */ + series?: string|undefined; + _series?: Element|undefined; + /** + * The use of an integer is prefered if known. A string should only be used in cases where an interger is not available (such as when documenting a recurring booster dose). + */ + seriesDosesPositiveInt?: number|undefined; + /** + * The use of an integer is prefered if known. A string should only be used in cases where an interger is not available (such as when documenting a recurring booster dose). + */ + seriesDosesString?: string|undefined; + _seriesDosesString?: Element|undefined; + /** + * Immunization event history and/or evaluation that supports the status and recommendation. + */ + supportingImmunization?: Reference[]|undefined; + /** + * Patient Information that supports the status and recommendation. This includes patient observations, adverse reactions and allergy/intolerance information. + */ + supportingPatientInformation?: Reference[]|undefined; + /** + * The targeted disease for the recommendation. + */ + targetDisease?: CodeableConcept|undefined; + /** + * Vaccine(s) or vaccine group that pertain to the recommendation. + */ + vaccineCode?: CodeableConcept[]|undefined; +} +/** + * A patient's point-in-time set of recommendations (i.e. forecasting) according to a published schedule with optional supporting justification. + */ +export interface ImmunizationRecommendation extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'ImmunizationRecommendation'; + /** + * Indicates the authority who published the protocol (e.g. ACIP). + */ + authority?: Reference|undefined; + /** + * The date the immunization recommendation(s) were created. + */ + date: string; + _date?: Element|undefined; + /** + * A unique identifier assigned to this particular recommendation record. + */ + identifier?: Identifier[]|undefined; + /** + * The patient the recommendation(s) are for. + */ + patient: Reference; + /** + * Vaccine administration recommendations. + */ + recommendation: ImmunizationRecommendationRecommendation[]; +} +/** + * Another implementation guide that this implementation depends on. Typically, an implementation guide uses value sets, profiles etc.defined in other implementation guides. + */ +export interface ImplementationGuideDependsOn extends BackboneElement { + /** + * The NPM package name for the Implementation Guide that this IG depends on. + */ + packageId?: string|undefined; + _packageId?: Element|undefined; + /** + * Usually, A canonical reference to the implementation guide is the same as the master location at which the implementation guide is published. + */ + uri: string; + _uri?: Element|undefined; + /** + * This follows the syntax of the NPM packaging version field - see [[reference]]. + */ + version?: string|undefined; + _version?: Element|undefined; +} +/** + * See [Default Profiles](implementationguide.html#default) for a discussion of which resources are 'covered' by an implementation guide. + */ +export interface ImplementationGuideGlobal extends BackboneElement { + /** + * A reference to the profile that all instances must conform to. + */ + profile: string; + _profile?: Element|undefined; + /** + * The type must match that of the profile that is referred to but is made explicit here as a denormalization so that a system processing the implementation guide resource knows which resources the profile applies to even if the profile itself is not available. + */ + type: string; + _type?: Element|undefined; +} +/** + * Groupings are arbitrary sub-divisions of content. Typically, they are used to help build Table of Contents automatically. + */ +export interface ImplementationGuideDefinitionGrouping extends BackboneElement { + /** + * Human readable text describing the package. + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * The human-readable title to display for the package of resources when rendering the implementation guide. + */ + name: string; + _name?: Element|undefined; +} +/** + * A resource that is part of the implementation guide. Conformance resources (value set, structure definition, capability statements etc.) are obvious candidates for inclusion, but any kind of resource can be included as an example resource. + */ +export interface ImplementationGuideDefinitionResource extends BackboneElement { + /** + * This is mostly used with examples to explain why it is present (though they can have extensive comments in the examples). + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * Examples: + * * StructureDefinition -> Any + * * ValueSet -> expansion + * * OperationDefinition -> Parameters + * * Questionnaire -> QuestionnaireResponse. + */ + exampleBoolean?: boolean|undefined; + _exampleBoolean?: Element|undefined; + /** + * Examples: + * * StructureDefinition -> Any + * * ValueSet -> expansion + * * OperationDefinition -> Parameters + * * Questionnaire -> QuestionnaireResponse. + */ + exampleCanonical?: string|undefined; + _exampleCanonical?: Element|undefined; + /** + * The resource SHALL be valid against all the versions it is specified to apply to. If the resource referred to is a StructureDefinition, the fhirVersion stated in the StructureDefinition cannot disagree with the version specified here; the specified versions SHALL include the version specified by the StructureDefinition, and may include additional versions using the [applicable-version](extension-structuredefinition-applicable-version.html) extension. + */ + fhirVersion?: string[]|undefined; + _fhirVersion?: Element[]|undefined; + /** + * This must correspond to a package.id element within this implementation guide. + */ + groupingId?: string|undefined; + _groupingId?: Element|undefined; + /** + * A human assigned name for the resource. All resources SHOULD have a name, but the name may be extracted from the resource (e.g. ValueSet.name). + */ + name?: string|undefined; + _name?: Element|undefined; + /** + * Usually this is a relative URL that locates the resource within the implementation guide. If you authoring an implementation guide, and will publish it using the FHIR publication tooling, use a URI that may point to a resource, or to one of various alternative representations (e.g. spreadsheet). The tooling will convert this when it publishes it. + */ + reference: Reference; +} +/** + * Pages automatically become sections if they have sub-pages. By convention, the home page is called index.html. + */ +export interface ImplementationGuideDefinitionPage extends BackboneElement { + /** + * A code that indicates how the page is generated. + */ + generation: ('html'|'markdown'|'xml'|'generated'); + _generation?: Element|undefined; + /** + * The publishing tool will autogenerate source for list (source = n/a) and inject included implementations for include (source = uri of guide to include). + */ + nameUrl?: string|undefined; + _nameUrl?: Element|undefined; + /** + * The publishing tool will autogenerate source for list (source = n/a) and inject included implementations for include (source = uri of guide to include). + */ + nameReference?: Reference|undefined; + /** + * The implementation guide breadcrumbs are generated from this structure. + */ + page?: ImplementationGuideDefinitionPage[]|undefined; + /** + * A short title used to represent this page in navigational structures such as table of contents, bread crumbs, etc. + */ + title: string; + _title?: Element|undefined; +} +/** + * Defines how IG is built by tools. + */ +export interface ImplementationGuideDefinitionParameter extends BackboneElement { + /** + * apply | path-resource | path-pages | path-tx-cache | expansion-parameter | rule-broken-links | generate-xml | generate-json | generate-turtle | html-template. + */ + code: ('apply'|'path-resource'|'path-pages'|'path-tx-cache'|'expansion-parameter'|'rule-broken-links'|'generate-xml'|'generate-json'|'generate-turtle'|'html-template'); + _code?: Element|undefined; + /** + * Value for named type. + */ + value: string; + _value?: Element|undefined; +} +/** + * A template for building resources. + */ +export interface ImplementationGuideDefinitionTemplate extends BackboneElement { + /** + * Type of template specified. + */ + code: string; + _code?: Element|undefined; + /** + * The scope in which the template applies. + */ + scope?: string|undefined; + _scope?: Element|undefined; + /** + * The source location for the template. + */ + source: string; + _source?: Element|undefined; +} +/** + * Principally, this consists of information abuot source resource and file locations, and build parameters and templates. + */ +export interface ImplementationGuideDefinition extends BackboneElement { + /** + * Groupings are arbitrary sub-divisions of content. Typically, they are used to help build Table of Contents automatically. + */ + grouping?: ImplementationGuideDefinitionGrouping[]|undefined; + /** + * Pages automatically become sections if they have sub-pages. By convention, the home page is called index.html. + */ + page?: ImplementationGuideDefinitionPage|undefined; + /** + * Defines how IG is built by tools. + */ + parameter?: ImplementationGuideDefinitionParameter[]|undefined; + /** + * A resource that is part of the implementation guide. Conformance resources (value set, structure definition, capability statements etc.) are obvious candidates for inclusion, but any kind of resource can be included as an example resource. + */ + resource: ImplementationGuideDefinitionResource[]; + /** + * A template for building resources. + */ + template?: ImplementationGuideDefinitionTemplate[]|undefined; +} +/** + * A resource that is part of the implementation guide. Conformance resources (value set, structure definition, capability statements etc.) are obvious candidates for inclusion, but any kind of resource can be included as an example resource. + */ +export interface ImplementationGuideManifestResource extends BackboneElement { + /** + * Typically, conformance resources and knowledge resources are directly part of the implementation guide, with their normal meaning, and patient linked resources are usually examples. However this is not always true. + */ + exampleBoolean?: boolean|undefined; + _exampleBoolean?: Element|undefined; + /** + * Typically, conformance resources and knowledge resources are directly part of the implementation guide, with their normal meaning, and patient linked resources are usually examples. However this is not always true. + */ + exampleCanonical?: string|undefined; + _exampleCanonical?: Element|undefined; + /** + * Usually this is a relative URL that locates the resource within the implementation guide. If you authoring an implementation guide, and will publish it using the FHIR publication tooling, use a URI that may point to a resource, or to one of various alternative representations (e.g. spreadsheet). The tooling will convert this when it publishes it. + */ + reference: Reference; + /** + * Appending 'rendering' + "/" + this should resolve to the resource page. + */ + relativePath?: string|undefined; + _relativePath?: Element|undefined; +} +/** + * Information about a page within the IG. + */ +export interface ImplementationGuideManifestPage extends BackboneElement { + /** + * Appending 'rendering' + "/" + page.name + "#" + page.anchor should resolve to the anchor. + */ + anchor?: string[]|undefined; + _anchor?: Element[]|undefined; + /** + * Appending 'rendering' + "/" + this should resolve to the page. + */ + name: string; + _name?: Element|undefined; + /** + * Label for the page intended for human display. + */ + title?: string|undefined; + _title?: Element|undefined; +} +/** + * Information about an assembled implementation guide, created by the publication tooling. + */ +export interface ImplementationGuideManifest extends BackboneElement { + /** + * Indicates a relative path to an image that exists within the IG. + */ + image?: string[]|undefined; + _image?: Element[]|undefined; + /** + * Indicates the relative path of an additional non-page, non-image file that is part of the IG - e.g. zip, jar and similar files that could be the target of a hyperlink in a derived IG. + */ + other?: string[]|undefined; + _other?: Element[]|undefined; + /** + * Information about a page within the IG. + */ + page?: ImplementationGuideManifestPage[]|undefined; + /** + * A pointer to official web page, PDF or other rendering of the implementation guide. + */ + rendering?: string|undefined; + _rendering?: Element|undefined; + /** + * A resource that is part of the implementation guide. Conformance resources (value set, structure definition, capability statements etc.) are obvious candidates for inclusion, but any kind of resource can be included as an example resource. + */ + resource: ImplementationGuideManifestResource[]; +} +/** + * A set of rules of how a particular interoperability or standards problem is solved - typically through the use of FHIR resources. This resource is used to gather all the parts of an implementation guide into a logical whole and to publish a computable definition of all the parts. + */ +export interface ImplementationGuide extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'ImplementationGuide'; + /** + * May be a web site, an email address, a telephone number, etc. + */ + contact?: ContactDetail[]|undefined; + /** + * A copyright statement relating to the implementation guide and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the implementation guide. + */ + copyright?: string|undefined; + _copyright?: Element|undefined; + /** + * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the implementation guide. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. + */ + date?: string|undefined; + _date?: Element|undefined; + /** + * Principally, this consists of information abuot source resource and file locations, and build parameters and templates. + */ + definition?: ImplementationGuideDefinition|undefined; + /** + * Another implementation guide that this implementation depends on. Typically, an implementation guide uses value sets, profiles etc.defined in other implementation guides. + */ + dependsOn?: ImplementationGuideDependsOn[]|undefined; + /** + * This description can be used to capture details such as why the implementation guide was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the implementation guide as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the implementation guide is presumed to be the predominant language in the place the implementation guide was created). + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * Allows filtering of implementation guides that are appropriate for use versus not. + */ + experimental?: boolean|undefined; + _experimental?: Element|undefined; + /** + * Most implementation guides target a single version - e.g. they describe how to use a particular version, and the profiles and examples etc are valid for that version. But some implementation guides describe how to use multiple different versions of FHIR to solve the same problem, or in concert with each other. Typically, the requirement to support multiple versions arises as implementation matures and different implementation communities are stuck at different versions by regulation or market dynamics. + */ + fhirVersion: string[]; + _fhirVersion?: Element[]|undefined; + /** + * See [Default Profiles](implementationguide.html#default) for a discussion of which resources are 'covered' by an implementation guide. + */ + global?: ImplementationGuideGlobal[]|undefined; + /** + * It may be possible for the implementation guide to be used in jurisdictions other than those for which it was originally designed or intended. + */ + jurisdiction?: CodeableConcept[]|undefined; + /** + * The license that applies to this Implementation Guide, using an SPDX license code, or 'not-open-source'. + */ + license?: string|undefined; + _license?: Element|undefined; + /** + * Information about an assembled implementation guide, created by the publication tooling. + */ + manifest?: ImplementationGuideManifest|undefined; + /** + * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. + */ + name: string; + _name?: Element|undefined; + /** + * Many (if not all) IG publishing tools will require that this element be present. For implementation guides published through HL7 or the FHIR foundation, the FHIR product director assigns package IDs. + */ + packageId: string; + _packageId?: Element|undefined; + /** + * Usually an organization but may be an individual. The publisher (or steward) of the implementation guide is the organization or individual primarily responsible for the maintenance and upkeep of the implementation guide. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the implementation guide. This item SHOULD be populated unless the information is available from context. + */ + publisher?: string|undefined; + _publisher?: Element|undefined; + /** + * Allows filtering of implementation guides that are appropriate for use versus not. + */ + status: ('draft'|'active'|'retired'|'unknown'); + _status?: Element|undefined; + /** + * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. + */ + title?: string|undefined; + _title?: Element|undefined; + /** + * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. + * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). + * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. + */ + url: string; + _url?: Element|undefined; + /** + * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. + */ + useContext?: UsageContext[]|undefined; + /** + * There may be different implementation guide instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the implementation guide with the format [url]|[version]. + */ + version?: string|undefined; + _version?: Element|undefined; +} +/** + * Where multiple contacts for the same purpose are provided there is a standard extension that can be used to determine which one is the preferred contact to use. + */ +export interface InsurancePlanContact extends BackboneElement { + /** + * Visiting or postal addresses for the contact. + */ + address?: Address|undefined; + /** + * A name associated with the contact. + */ + name?: HumanName|undefined; + /** + * Indicates a purpose for which the contact can be reached. + */ + purpose?: CodeableConcept|undefined; + /** + * A contact detail (e.g. a telephone number or an email address) by which the party may be contacted. + */ + telecom?: ContactPoint[]|undefined; +} +/** + * The specific limits on the benefit. + */ +export interface InsurancePlanCoverageBenefitLimit extends BackboneElement { + /** + * Use `CodeableConcept.text` element if the data is free (uncoded) text. + */ + code?: CodeableConcept|undefined; + /** + * May also be called “eligible expense,” “payment allowance,” or “negotiated rate.”. + */ + value?: Quantity|undefined; +} +/** + * Specific benefits under this type of coverage. + */ +export interface InsurancePlanCoverageBenefit extends BackboneElement { + /** + * The specific limits on the benefit. + */ + limit?: InsurancePlanCoverageBenefitLimit[]|undefined; + /** + * The referral requirements to have access/coverage for this benefit. + */ + requirement?: string|undefined; + _requirement?: Element|undefined; + /** + * Type of benefit (primary care; speciality care; inpatient; outpatient). + */ + type: CodeableConcept; +} +/** + * Details about the coverage offered by the insurance product. + */ +export interface InsurancePlanCoverage extends BackboneElement { + /** + * Specific benefits under this type of coverage. + */ + benefit: InsurancePlanCoverageBenefit[]; + /** + * Networks are represented as a hierarchy of organization resources. + */ + network?: Reference[]|undefined; + /** + * Type of coverage (Medical; Dental; Mental Health; Substance Abuse; Vision; Drug; Short Term; Long Term Care; Hospice; Home Health). + */ + type: CodeableConcept; +} +/** + * Overall costs associated with the plan. + */ +export interface InsurancePlanPlanGeneralCost extends BackboneElement { + /** + * Additional information about the general costs associated with this plan. + */ + comment?: string|undefined; + _comment?: Element|undefined; + /** + * Value of the cost. + */ + cost?: Money|undefined; + /** + * Number of participants enrolled in the plan. + */ + groupSize?: number|undefined; + /** + * Type of cost. + */ + type?: CodeableConcept|undefined; +} +/** + * List of the costs associated with a specific benefit. + */ +export interface InsurancePlanPlanSpecificCostBenefitCost extends BackboneElement { + /** + * Whether the cost applies to in-network or out-of-network providers (in-network; out-of-network; other). + */ + applicability?: CodeableConcept|undefined; + /** + * Additional information about the cost, such as information about funding sources (e.g. HSA, HRA, FSA, RRA). + */ + qualifiers?: CodeableConcept[]|undefined; + /** + * Type of cost (copay; individual cap; family cap; coinsurance; deductible). + */ + type: CodeableConcept; + /** + * The actual cost value. (some of the costs may be represented as percentages rather than currency, e.g. 10% coinsurance). + */ + value?: Quantity|undefined; +} +/** + * List of the specific benefits under this category of benefit. + */ +export interface InsurancePlanPlanSpecificCostBenefit extends BackboneElement { + /** + * List of the costs associated with a specific benefit. + */ + cost?: InsurancePlanPlanSpecificCostBenefitCost[]|undefined; + /** + * Type of specific benefit (preventative; primary care office visit; speciality office visit; hospitalization; emergency room; urgent care). + */ + type: CodeableConcept; +} +/** + * Costs associated with the coverage provided by the product. + */ +export interface InsurancePlanPlanSpecificCost extends BackboneElement { + /** + * List of the specific benefits under this category of benefit. + */ + benefit?: InsurancePlanPlanSpecificCostBenefit[]|undefined; + /** + * General category of benefit (Medical; Dental; Vision; Drug; Mental Health; Substance Abuse; Hospice, Home Health). + */ + category: CodeableConcept; +} +/** + * Details about an insurance plan. + */ +export interface InsurancePlanPlan extends BackboneElement { + /** + * The geographic region in which a health insurance plan's benefits apply. + */ + coverageArea?: Reference[]|undefined; + /** + * Overall costs associated with the plan. + */ + generalCost?: InsurancePlanPlanGeneralCost[]|undefined; + /** + * Business identifiers assigned to this health insurance plan which remain constant as the resource is updated and propagates from server to server. + */ + identifier?: Identifier[]|undefined; + /** + * Networks are represented as a hierarchy of organization resources. + */ + network?: Reference[]|undefined; + /** + * Costs associated with the coverage provided by the product. + */ + specificCost?: InsurancePlanPlanSpecificCost[]|undefined; + /** + * Type of plan. For example, "Platinum" or "High Deductable". + */ + type?: CodeableConcept|undefined; +} +/** + * Details of a Health Insurance product/plan provided by an organization. + */ +export interface InsurancePlan extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'InsurancePlan'; + /** + * An organization which administer other services such as underwriting, customer service and/or claims processing on behalf of the health insurance product owner. + */ + administeredBy?: Reference|undefined; + /** + * There are no dates associated with the alias/historic names, as this is not intended to track when names were used, but to assist in searching so that older names can still result in identifying the product/plan. + */ + alias?: string[]|undefined; + _alias?: Element[]|undefined; + /** + * Where multiple contacts for the same purpose are provided there is a standard extension that can be used to determine which one is the preferred contact to use. + */ + contact?: InsurancePlanContact[]|undefined; + /** + * Details about the coverage offered by the insurance product. + */ + coverage?: InsurancePlanCoverage[]|undefined; + /** + * The geographic region in which a health insurance product's benefits apply. + */ + coverageArea?: Reference[]|undefined; + /** + * The technical endpoints providing access to services operated for the health insurance product. + */ + endpoint?: Reference[]|undefined; + /** + * Business identifiers assigned to this health insurance product which remain constant as the resource is updated and propagates from server to server. + */ + identifier?: Identifier[]|undefined; + /** + * If the name of the product/plan changes, consider putting the old name in the alias column so that it can still be located through searches. + */ + name?: string|undefined; + _name?: Element|undefined; + /** + * Networks are represented as a hierarchy of organization resources. + */ + network?: Reference[]|undefined; + /** + * The entity that is providing the health insurance product and underwriting the risk. This is typically an insurance carriers, other third-party payers, or health plan sponsors comonly referred to as 'payers'. + */ + ownedBy?: Reference|undefined; + /** + * The period of time that the health insurance product is available. + */ + period?: Period|undefined; + /** + * Details about an insurance plan. + */ + plan?: InsurancePlanPlan[]|undefined; + /** + * The current state of the health insurance product. + */ + status?: ('draft'|'active'|'retired'|'unknown')|undefined; + _status?: Element|undefined; + /** + * The kind of health insurance product. + */ + type?: CodeableConcept[]|undefined; +} +/** + * Indicates who or what performed or participated in the charged service. + */ +export interface InvoiceParticipant extends BackboneElement { + /** + * The device, practitioner, etc. who performed or participated in the service. + */ + actor: Reference; + /** + * Describes the type of involvement (e.g. transcriptionist, creator etc.). If the invoice has been created automatically, the Participant may be a billing engine or another kind of device. + */ + role?: CodeableConcept|undefined; +} +/** + * The price for a ChargeItem may be calculated as a base price with surcharges/deductions that apply in certain conditions. A ChargeItemDefinition resource that defines the prices, factors and conditions that apply to a billing code is currently under development. The priceComponent element can be used to offer transparency to the recipient of the Invoice as to how the prices have been calculated. + */ +export interface InvoiceLineItemPriceComponent extends BackboneElement { + /** + * There is no reason to carry the price in the instance of a ChargeItem unless circumstances require a manual override. The list prices or are usually defined in a back catalogue of the billing codes (see ChargeItem.definition). Derived profiles may require a ChargeItem.overrideReason to be provided if either factor or price are manually overridden. + */ + amount?: Money|undefined; + /** + * A code that identifies the component. Codes may be used to differentiate between kinds of taxes, surcharges, discounts etc. + */ + code?: CodeableConcept|undefined; + /** + * There is no reason to carry the price in the instance of a ChargeItem unless circumstances require a manual override. The list prices or are usually defined in a back catalogue of the billing codes (see ChargeItem.definition). Derived profiles may require a ChargeItem.overrideReason to be provided if either factor or price are manually overridden. + */ + factor?: number|undefined; + /** + * This code identifies the type of the component. + */ + type: ('base'|'surcharge'|'deduction'|'discount'|'tax'|'informational'); + _type?: Element|undefined; +} +/** + * Each line item represents one charge for goods and services rendered. Details such as date, code and amount are found in the referenced ChargeItem resource. + */ +export interface InvoiceLineItem extends BackboneElement { + /** + * The ChargeItem contains information such as the billing code, date, amount etc. If no further details are required for the lineItem, inline billing codes can be added using the CodeableConcept data type instead of the Reference. + */ + chargeItemReference?: Reference|undefined; + /** + * The ChargeItem contains information such as the billing code, date, amount etc. If no further details are required for the lineItem, inline billing codes can be added using the CodeableConcept data type instead of the Reference. + */ + chargeItemCodeableConcept?: CodeableConcept|undefined; + /** + * The price for a ChargeItem may be calculated as a base price with surcharges/deductions that apply in certain conditions. A ChargeItemDefinition resource that defines the prices, factors and conditions that apply to a billing code is currently under development. The priceComponent element can be used to offer transparency to the recipient of the Invoice as to how the prices have been calculated. + */ + priceComponent?: InvoiceLineItemPriceComponent[]|undefined; + /** + * Sequence in which the items appear on the invoice. + */ + sequence?: number|undefined; +} +/** + * Invoice containing collected ChargeItems from an Account with calculated individual and total price for Billing purpose. + */ +export interface Invoice extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'Invoice'; + /** + * Systems posting the ChargeItems might not always be able to determine, which accounts the Items need to be places into. It is up to the potprocessing Financial System to apply internal rules to decide based on the Encounter/EpisodeOfCare/Patient/Coverage context and the type of ChargeItem, which Account is appropriate. + */ + account?: Reference|undefined; + /** + * Derived Profiles may choose to add invariants requiring this field to be populated if either priceOverride or factorOverride have been filled. + */ + cancelledReason?: string|undefined; + _cancelledReason?: Element|undefined; + /** + * The list of types may be constrained as appropriate for the type of charge item. + */ + date?: string|undefined; + _date?: Element|undefined; + /** + * Identifier of this Invoice, often used for reference in correspondence about this invoice or for tracking of payments. + */ + identifier?: Identifier[]|undefined; + /** + * Practitioners and Devices can be associated with multiple organizations. It has to be made clear, on behalf of which Organization the services have been rendered. + */ + issuer?: Reference|undefined; + /** + * Each line item represents one charge for goods and services rendered. Details such as date, code and amount are found in the referenced ChargeItem resource. + */ + lineItem?: InvoiceLineItem[]|undefined; + /** + * Comments made about the invoice by the issuer, subject, or other participants. + */ + note?: Annotation[]|undefined; + /** + * Indicates who or what performed or participated in the charged service. + */ + participant?: InvoiceParticipant[]|undefined; + /** + * Derived Profiles may chose to add invariants requiring this field to be populated if either priceOverride or factorOverride have been filled. + */ + paymentTerms?: string|undefined; + _paymentTerms?: Element|undefined; + /** + * The individual or Organization responsible for balancing of this invoice. + */ + recipient?: Reference|undefined; + /** + * The current state of the Invoice. + */ + status: ('draft'|'issued'|'balanced'|'cancelled'|'entered-in-error'); + _status?: Element|undefined; + /** + * The individual or set of individuals receiving the goods and services billed in this invoice. + */ + subject?: Reference|undefined; + /** + * There is no reason to carry the price in the instance of a ChargeItem unless circumstances require a manual override. The list prices or are usually defined in a back catalogue of the billing codes (see ChargeItem.definition). Derived profiles may require a ChargeItem.overrideReason to be provided if either factor or price are manually overridden. + */ + totalGross?: Money|undefined; + /** + * There is no reason to carry the price in the instance of a ChargeItem unless circumstances require a manual override. The list prices or are usually defined in a back catalogue of the billing codes (see ChargeItem.definition). Derived profiles may require a ChargeItem.overrideReason to be provided if either factor or price are manually overridden. + */ + totalNet?: Money|undefined; + /** + * The total amount for the Invoice may be calculated as the sum of the line items with surcharges/deductions that apply in certain conditions. The priceComponent element can be used to offer transparency to the recipient of the Invoice of how the total price was calculated. + */ + totalPriceComponent?: InvoiceLineItemPriceComponent[]|undefined; + /** + * Type of Invoice depending on domain, realm an usage (e.g. internal/external, dental, preliminary). + */ + type?: CodeableConcept|undefined; +} +/** + * The Library resource is a general-purpose container for knowledge asset definitions. It can be used to describe and expose existing knowledge assets such as logic libraries and information model descriptions, as well as to describe a collection of knowledge assets. + */ +export interface Library extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'Library'; + /** + * The 'date' element may be more recent than the approval date because of minor changes or editorial corrections. + */ + approvalDate?: string|undefined; + _approvalDate?: Element|undefined; + /** + * An individiual or organization primarily involved in the creation and maintenance of the content. + */ + author?: ContactDetail[]|undefined; + /** + * May be a web site, an email address, a telephone number, etc. + */ + contact?: ContactDetail[]|undefined; + /** + * The content of the library as an Attachment. The content may be a reference to a url, or may be directly embedded as a base-64 string. Either way, the contentType of the attachment determines how to interpret the content. + */ + content?: Attachment[]|undefined; + /** + * A copyright statement relating to the library and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the library. + */ + copyright?: string|undefined; + _copyright?: Element|undefined; + /** + * Describes a set of data that must be provided in order to be able to successfully perform the computations defined by the library. + */ + dataRequirement?: DataRequirement[]|undefined; + /** + * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the library. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. + */ + date?: string|undefined; + _date?: Element|undefined; + /** + * This description can be used to capture details such as why the library was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the library as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the library is presumed to be the predominant language in the place the library was created). + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * An individual or organization primarily responsible for internal coherence of the content. + */ + editor?: ContactDetail[]|undefined; + /** + * The effective period for a library determines when the content is applicable for usage and is independent of publication and review dates. For example, a measure intended to be used for the year 2016 might be published in 2015. + */ + effectivePeriod?: Period|undefined; + /** + * An individual or organization responsible for officially endorsing the content for use in some setting. + */ + endorser?: ContactDetail[]|undefined; + /** + * Allows filtering of librarys that are appropriate for use versus not. + */ + experimental?: boolean|undefined; + _experimental?: Element|undefined; + /** + * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this library outside of FHIR, where it is not possible to use the logical URI. + */ + identifier?: Identifier[]|undefined; + /** + * It may be possible for the library to be used in jurisdictions other than those for which it was originally designed or intended. + */ + jurisdiction?: CodeableConcept[]|undefined; + /** + * If specified, this date follows the original approval date. + */ + lastReviewDate?: string|undefined; + _lastReviewDate?: Element|undefined; + /** + * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. + */ + name?: string|undefined; + _name?: Element|undefined; + /** + * The parameter element defines parameters used by the library. + */ + parameter?: ParameterDefinition[]|undefined; + /** + * Usually an organization but may be an individual. The publisher (or steward) of the library is the organization or individual primarily responsible for the maintenance and upkeep of the library. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the library. This item SHOULD be populated unless the information is available from context. + */ + publisher?: string|undefined; + _publisher?: Element|undefined; + /** + * This element does not describe the usage of the library. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this library. + */ + purpose?: string|undefined; + _purpose?: Element|undefined; + /** + * Each related artifact is either an attachment, or a reference to another resource, but not both. + */ + relatedArtifact?: RelatedArtifact[]|undefined; + /** + * An individual or organization primarily responsible for review of some aspect of the content. + */ + reviewer?: ContactDetail[]|undefined; + /** + * Allows filtering of libraries that are appropriate for use vs. not. + */ + status: ('draft'|'active'|'retired'|'unknown'); + _status?: Element|undefined; + /** + * A code or group definition that describes the intended subject of the contents of the library. + */ + subjectCodeableConcept?: CodeableConcept|undefined; + /** + * A code or group definition that describes the intended subject of the contents of the library. + */ + subjectReference?: Reference|undefined; + /** + * An explanatory or alternate title for the library giving additional information about its content. + */ + subtitle?: string|undefined; + _subtitle?: Element|undefined; + /** + * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. + */ + title?: string|undefined; + _title?: Element|undefined; + /** + * Descriptive topics related to the content of the library. Topics provide a high-level categorization of the library that can be useful for filtering and searching. + */ + topic?: CodeableConcept[]|undefined; + /** + * Identifies the type of library such as a Logic Library, Model Definition, Asset Collection, or Module Definition. + */ + type: CodeableConcept; + /** + * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. + * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). + * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. + */ + url?: string|undefined; + _url?: Element|undefined; + /** + * A detailed description of how the library is used from a clinical perspective. + */ + usage?: string|undefined; + _usage?: Element|undefined; + /** + * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. + */ + useContext?: UsageContext[]|undefined; + /** + * There may be different library instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the library with the format [url]|[version]. + */ + version?: string|undefined; + _version?: Element|undefined; +} +/** + * Identifies which record considered as the reference to the same real-world occurrence as well as how the items should be evaluated within the collection of linked items. + */ +export interface LinkageItem extends BackboneElement { + /** + * The resource instance being linked as part of the group. + */ + resource: Reference; + /** + * Distinguishes which item is "source of truth" (if any) and which items are no longer considered to be current representations. + */ + type: ('source'|'alternate'|'historical'); + _type?: Element|undefined; +} +/** + * Identifies two or more records (resource instances) that refer to the same real-world "occurrence". + */ +export interface Linkage extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'Linkage'; + /** + * If false, any asserted linkages should not be considered current/relevant/applicable. + */ + active?: boolean|undefined; + _active?: Element|undefined; + /** + * Identifies the user or organization responsible for asserting the linkages as well as the user or organization who establishes the context in which the nature of each linkage is evaluated. + */ + author?: Reference|undefined; + /** + * Identifies which record considered as the reference to the same real-world occurrence as well as how the items should be evaluated within the collection of linked items. + */ + item: LinkageItem[]; +} +/** + * If there are no entries in the list, an emptyReason SHOULD be provided. + */ +export interface ListEntry extends BackboneElement { + /** + * When this item was added to the list. + */ + date?: string|undefined; + _date?: Element|undefined; + /** + * If the flag means that the entry has actually been deleted from the list, the deleted element SHALL be true. Both flag and deleted can only be used if the List.mode is "changes". A deleted entry should be displayed in narrative as deleted. This element is labeled as a modifier because it indicates that an item is (to be) no longer in the list. + */ + deleted?: boolean|undefined; + _deleted?: Element|undefined; + /** + * The flag can only be understood in the context of the List.code. If the flag means that the entry has actually been deleted from the list, the deleted element SHALL be true. Deleted can only be used if the List.mode is "changes". + */ + flag?: CodeableConcept|undefined; + /** + * A reference to the actual resource from which data was derived. + */ + item: Reference; +} +/** + * A list is a curated collection of resources. + */ +export interface List extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'List'; + /** + * If there is no code, the purpose of the list is implied where it is used, such as in a document section using Document.section.code. + */ + code?: CodeableConcept|undefined; + /** + * The actual important date is the date of currency of the resources that were summarized, but it is usually assumed that these are current when the preparation occurs. + */ + date?: string|undefined; + _date?: Element|undefined; + /** + * The various reasons for an empty list make a significant interpretation to its interpretation. Note that this code is for use when the entire list has been suppressed, and not for when individual items are omitted - implementers may consider using a text note or a flag on an entry in these cases. + */ + emptyReason?: CodeableConcept|undefined; + /** + * The encounter that is the context in which this list was created. + */ + encounter?: Reference|undefined; + /** + * If there are no entries in the list, an emptyReason SHOULD be provided. + */ + entry?: ListEntry[]|undefined; + /** + * Identifier for the List assigned for business purposes outside the context of FHIR. + */ + identifier?: Identifier[]|undefined; + /** + * This element is labeled as a modifier because a change list must not be misunderstood as a complete list. + */ + mode: ('working'|'snapshot'|'changes'); + _mode?: Element|undefined; + /** + * Comments that apply to the overall list. + */ + note?: Annotation[]|undefined; + /** + * Applications SHOULD render ordered lists in the order provided, but MAY allow users to re-order based on their own preferences as well. If there is no order specified, the order is unknown, though there may still be some order. + */ + orderedBy?: CodeableConcept|undefined; + /** + * The primary source is the entity that made the decisions what items are in the list. This may be software or user. + */ + source?: Reference|undefined; + /** + * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. + */ + status: ('current'|'retired'|'entered-in-error'); + _status?: Element|undefined; + /** + * Some purely arbitrary lists do not have a common subject, so this is optional. + */ + subject?: Reference|undefined; + /** + * A label for the list assigned by the author. + */ + title?: string|undefined; + _title?: Element|undefined; +} +/** + * The absolute geographic location of the Location, expressed using the WGS84 datum (This is the same co-ordinate system used in KML). + */ +export interface LocationPosition extends BackboneElement { + /** + * Altitude. The value domain and the interpretation are the same as for the text of the altitude element in KML (see notes below). + */ + altitude?: number|undefined; + /** + * Latitude. The value domain and the interpretation are the same as for the text of the latitude element in KML (see notes below). + */ + latitude: number; + /** + * Longitude. The value domain and the interpretation are the same as for the text of the longitude element in KML (see notes below). + */ + longitude: number; +} +/** + * This type of information is commonly found published in directories and on websites informing customers when the facility is available. + * Specific services within the location may have their own hours which could be shorter (or longer) than the locations hours. + */ +export interface LocationHoursOfOperation extends BackboneElement { + /** + * The Location is open all day. + */ + allDay?: boolean|undefined; + _allDay?: Element|undefined; + /** + * Time that the Location closes. + */ + closingTime?: string|undefined; + _closingTime?: Element|undefined; + /** + * Indicates which days of the week are available between the start and end Times. + */ + daysOfWeek?: ('mon'|'tue'|'wed'|'thu'|'fri'|'sat'|'sun')[]|undefined; + _daysOfWeek?: Element[]|undefined; + /** + * Time that the Location opens. + */ + openingTime?: string|undefined; + _openingTime?: Element|undefined; +} +/** + * Details and position information for a physical place where services are provided and resources and participants may be stored, found, contained, or accommodated. + */ +export interface Location extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'Location'; + /** + * Additional addresses should be recorded using another instance of the Location resource, or via the Organization. + */ + address?: Address|undefined; + /** + * There are no dates associated with the alias/historic names, as this is not intended to track when names were used, but to assist in searching so that older names can still result in identifying the location. + */ + alias?: string[]|undefined; + _alias?: Element[]|undefined; + /** + * A description of when the locations opening ours are different to normal, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as detailed in the opening hours Times. + */ + availabilityExceptions?: string|undefined; + _availabilityExceptions?: Element|undefined; + /** + * Description of the Location, which helps in finding or referencing the place. + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * Technical endpoints providing access to services operated for the location. + */ + endpoint?: Reference[]|undefined; + /** + * This type of information is commonly found published in directories and on websites informing customers when the facility is available. + * Specific services within the location may have their own hours which could be shorter (or longer) than the locations hours. + */ + hoursOfOperation?: LocationHoursOfOperation[]|undefined; + /** + * Unique code or number identifying the location to its users. + */ + identifier?: Identifier[]|undefined; + /** + * This can also be used as the part of the organization hierarchy where this location provides services. These services can be defined through the HealthcareService resource. + */ + managingOrganization?: Reference|undefined; + /** + * This is labeled as a modifier because whether or not the location is a class of locations changes how it can be used and understood. + */ + mode?: ('instance'|'kind')|undefined; + _mode?: Element|undefined; + /** + * If the name of a location changes, consider putting the old name in the alias column so that it can still be located through searches. + */ + name?: string|undefined; + _name?: Element|undefined; + /** + * The operational status covers operation values most relevant to beds (but can also apply to rooms/units/chairs/etc. such as an isolation unit/dialysis chair). This typically covers concepts such as contamination, housekeeping, and other activities like maintenance. + */ + operationalStatus?: Coding|undefined; + /** + * Another Location of which this Location is physically a part of. + */ + partOf?: Reference|undefined; + /** + * Physical form of the location, e.g. building, room, vehicle, road. + */ + physicalType?: CodeableConcept|undefined; + /** + * The absolute geographic location of the Location, expressed using the WGS84 datum (This is the same co-ordinate system used in KML). + */ + position?: LocationPosition|undefined; + /** + * The status property covers the general availability of the resource, not the current value which may be covered by the operationStatus, or by a schedule/slots if they are configured for the location. + */ + status?: ('active'|'suspended'|'inactive')|undefined; + _status?: Element|undefined; + /** + * The contact details of communication devices available at the location. This can include phone numbers, fax numbers, mobile numbers, email addresses and web sites. + */ + telecom?: ContactPoint[]|undefined; + /** + * Indicates the type of function performed at the location. + */ + type?: CodeableConcept[]|undefined; +} +/** + * A population criteria for the measure. + */ +export interface MeasureGroupPopulation extends BackboneElement { + /** + * The type of population criteria. + */ + code?: CodeableConcept|undefined; + /** + * In the case of a continuous-variable or ratio measure, this may be the name of a function that calculates the value of the individual observation for each patient or event in the population. For these types of measures, individual observations are reported as observation resources included in the evaluatedResources bundle for each patient. See the MeasureReport resource or the Quality Reporting topic for more information. + */ + criteria: Expression; + /** + * The human readable description of this population criteria. + */ + description?: string|undefined; + _description?: Element|undefined; +} +/** + * Stratifiers are defined either as a single criteria, or as a set of component criteria. + */ +export interface MeasureGroupStratifierComponent extends BackboneElement { + /** + * Indicates a meaning for the stratifier component. This can be as simple as a unique identifier, or it can establish meaning in a broader context by drawing from a terminology, allowing stratifiers to be correlated across measures. + */ + code?: CodeableConcept|undefined; + /** + * An expression that specifies the criteria for this component of the stratifier. This is typically the name of an expression defined within a referenced library, but it may also be a path to a stratifier element. + */ + criteria: Expression; + /** + * The human readable description of this stratifier criteria component. + */ + description?: string|undefined; + _description?: Element|undefined; +} +/** + * The stratifier criteria for the measure report, specified as either the name of a valid CQL expression defined within a referenced library or a valid FHIR Resource Path. + */ +export interface MeasureGroupStratifier extends BackboneElement { + /** + * Indicates a meaning for the stratifier. This can be as simple as a unique identifier, or it can establish meaning in a broader context by drawing from a terminology, allowing stratifiers to be correlated across measures. + */ + code?: CodeableConcept|undefined; + /** + * Stratifiers are defined either as a single criteria, or as a set of component criteria. + */ + component?: MeasureGroupStratifierComponent[]|undefined; + /** + * An expression that specifies the criteria for the stratifier. This is typically the name of an expression defined within a referenced library, but it may also be a path to a stratifier element. + */ + criteria?: Expression|undefined; + /** + * The human readable description of this stratifier criteria. + */ + description?: string|undefined; + _description?: Element|undefined; +} +/** + * A group of population criteria for the measure. + */ +export interface MeasureGroup extends BackboneElement { + /** + * Indicates a meaning for the group. This can be as simple as a unique identifier, or it can establish meaning in a broader context by drawing from a terminology, allowing groups to be correlated across measures. + */ + code?: CodeableConcept|undefined; + /** + * The human readable description of this population group. + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * A population criteria for the measure. + */ + population?: MeasureGroupPopulation[]|undefined; + /** + * The stratifier criteria for the measure report, specified as either the name of a valid CQL expression defined within a referenced library or a valid FHIR Resource Path. + */ + stratifier?: MeasureGroupStratifier[]|undefined; +} +/** + * Note that supplemental data are reported as observations for each patient and included in the evaluatedResources bundle. See the MeasureReport resource or the Quality Reporting topic for more information. + */ +export interface MeasureSupplementalData extends BackboneElement { + /** + * Indicates a meaning for the supplemental data. This can be as simple as a unique identifier, or it can establish meaning in a broader context by drawing from a terminology, allowing supplemental data to be correlated across measures. + */ + code?: CodeableConcept|undefined; + /** + * The criteria for the supplemental data. This is typically the name of a valid expression defined within a referenced library, but it may also be a path to a specific data element. The criteria defines the data to be returned for this element. + */ + criteria: Expression; + /** + * The human readable description of this supplemental data. + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * An indicator of the intended usage for the supplemental data element. Supplemental data indicates the data is additional information requested to augment the measure information. Risk adjustment factor indicates the data is additional information used to calculate risk adjustment factors when applying a risk model to the measure calculation. + */ + usage?: CodeableConcept[]|undefined; +} +/** + * The Measure resource provides the definition of a quality measure. + */ +export interface Measure extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'Measure'; + /** + * The 'date' element may be more recent than the approval date because of minor changes or editorial corrections. + */ + approvalDate?: string|undefined; + _approvalDate?: Element|undefined; + /** + * An individiual or organization primarily involved in the creation and maintenance of the content. + */ + author?: ContactDetail[]|undefined; + /** + * Provides a summary of relevant clinical guidelines or other clinical recommendations supporting the measure. + */ + clinicalRecommendationStatement?: string|undefined; + _clinicalRecommendationStatement?: Element|undefined; + /** + * If this is a composite measure, the scoring method used to combine the component measures to determine the composite score. + */ + compositeScoring?: CodeableConcept|undefined; + /** + * May be a web site, an email address, a telephone number, etc. + */ + contact?: ContactDetail[]|undefined; + /** + * A copyright statement relating to the measure and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the measure. + */ + copyright?: string|undefined; + _copyright?: Element|undefined; + /** + * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the measure. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. + */ + date?: string|undefined; + _date?: Element|undefined; + /** + * Provides a description of an individual term used within the measure. + */ + definition?: string[]|undefined; + _definition?: Element[]|undefined; + /** + * This description can be used to capture details such as why the measure was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the measure as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the measure is presumed to be the predominant language in the place the measure was created). + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * Notices and disclaimers regarding the use of the measure or related to intellectual property (such as code systems) referenced by the measure. + */ + disclaimer?: string|undefined; + _disclaimer?: Element|undefined; + /** + * An individual or organization primarily responsible for internal coherence of the content. + */ + editor?: ContactDetail[]|undefined; + /** + * The effective period for a measure determines when the content is applicable for usage and is independent of publication and review dates. For example, a measure intended to be used for the year 2016 might be published in 2015. + */ + effectivePeriod?: Period|undefined; + /** + * An individual or organization responsible for officially endorsing the content for use in some setting. + */ + endorser?: ContactDetail[]|undefined; + /** + * Allows filtering of measures that are appropriate for use versus not. + */ + experimental?: boolean|undefined; + _experimental?: Element|undefined; + /** + * A group of population criteria for the measure. + */ + group?: MeasureGroup[]|undefined; + /** + * Additional guidance for the measure including how it can be used in a clinical context, and the intent of the measure. + */ + guidance?: string|undefined; + _guidance?: Element|undefined; + /** + * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this measure outside of FHIR, where it is not possible to use the logical URI. + */ + identifier?: Identifier[]|undefined; + /** + * Information on whether an increase or decrease in score is the preferred result (e.g., a higher score indicates better quality OR a lower score indicates better quality OR quality is within a range). + */ + improvementNotation?: CodeableConcept|undefined; + /** + * It may be possible for the measure to be used in jurisdictions other than those for which it was originally designed or intended. + */ + jurisdiction?: CodeableConcept[]|undefined; + /** + * If specified, this date follows the original approval date. + */ + lastReviewDate?: string|undefined; + _lastReviewDate?: Element|undefined; + /** + * A reference to a Library resource containing the formal logic used by the measure. + */ + library?: string[]|undefined; + _library?: Element[]|undefined; + /** + * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. + */ + name?: string|undefined; + _name?: Element|undefined; + /** + * Usually an organization but may be an individual. The publisher (or steward) of the measure is the organization or individual primarily responsible for the maintenance and upkeep of the measure. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the measure. This item SHOULD be populated unless the information is available from context. + */ + publisher?: string|undefined; + _publisher?: Element|undefined; + /** + * This element does not describe the usage of the measure. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this measure. + */ + purpose?: string|undefined; + _purpose?: Element|undefined; + /** + * The measure rate for an organization or clinician is based upon the entities’ aggregate data and summarizes the performance of the entity over a given time period (e.g., monthly, quarterly, yearly). The aggregated data are derived from the results of a specific measure algorithm and, if appropriate, the application of specific risk adjustment models. Can also be used to describe how to risk adjust the data based on supplemental data elements described in the eMeasure (e.g., pneumonia hospital measures antibiotic selection in the ICU versus non-ICU and then the roll-up of the two). This could be applied to aggregated cohort measure definitions (e.g., CDC's aggregate reporting for TB at the state level). + */ + rateAggregation?: string|undefined; + _rateAggregation?: Element|undefined; + /** + * Provides a succinct statement of the need for the measure. Usually includes statements pertaining to importance criterion: impact, gap in care, and evidence. + */ + rationale?: string|undefined; + _rationale?: Element|undefined; + /** + * Each related artifact is either an attachment, or a reference to another resource, but not both. + */ + relatedArtifact?: RelatedArtifact[]|undefined; + /** + * An individual or organization primarily responsible for review of some aspect of the content. + */ + reviewer?: ContactDetail[]|undefined; + /** + * Describes the method of adjusting for clinical severity and conditions present at the start of care that can influence patient outcomes for making valid comparisons of outcome measures across providers. Indicates whether a measure is subject to the statistical process for reducing, removing, or clarifying the influences of confounding factors to allow for more useful comparisons. + */ + riskAdjustment?: string|undefined; + _riskAdjustment?: Element|undefined; + /** + * Indicates how the calculation is performed for the measure, including proportion, ratio, continuous-variable, and cohort. The value set is extensible, allowing additional measure scoring types to be represented. + */ + scoring?: CodeableConcept|undefined; + /** + * Allows filtering of measures that are appropriate for use versus not. + */ + status: ('draft'|'active'|'retired'|'unknown'); + _status?: Element|undefined; + /** + * The subject of the measure is critical in interpreting the criteria definitions, as the logic in the measures is evaluated with respect to a particular subject. This corresponds roughly to the notion of a Compartment in that it limits what content is available based on its relationship to the subject. In CQL, this corresponds to the context declaration. + */ + subjectCodeableConcept?: CodeableConcept|undefined; + /** + * The subject of the measure is critical in interpreting the criteria definitions, as the logic in the measures is evaluated with respect to a particular subject. This corresponds roughly to the notion of a Compartment in that it limits what content is available based on its relationship to the subject. In CQL, this corresponds to the context declaration. + */ + subjectReference?: Reference|undefined; + /** + * An explanatory or alternate title for the measure giving additional information about its content. + */ + subtitle?: string|undefined; + _subtitle?: Element|undefined; + /** + * Note that supplemental data are reported as observations for each patient and included in the evaluatedResources bundle. See the MeasureReport resource or the Quality Reporting topic for more information. + */ + supplementalData?: MeasureSupplementalData[]|undefined; + /** + * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. + */ + title?: string|undefined; + _title?: Element|undefined; + /** + * Descriptive topics related to the content of the measure. Topics provide a high-level categorization grouping types of measures that can be useful for filtering and searching. + */ + topic?: CodeableConcept[]|undefined; + /** + * Indicates whether the measure is used to examine a process, an outcome over time, a patient-reported outcome, or a structure measure such as utilization. + */ + type?: CodeableConcept[]|undefined; + /** + * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. + * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). + * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. + */ + url?: string|undefined; + _url?: Element|undefined; + /** + * A detailed description, from a clinical perspective, of how the measure is used. + */ + usage?: string|undefined; + _usage?: Element|undefined; + /** + * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. + */ + useContext?: UsageContext[]|undefined; + /** + * There may be different measure instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the measure with the format [url]|[version]. + */ + version?: string|undefined; + _version?: Element|undefined; +} +/** + * The populations that make up the population group, one for each type of population appropriate for the measure. + */ +export interface MeasureReportGroupPopulation extends BackboneElement { + /** + * The type of the population. + */ + code?: CodeableConcept|undefined; + /** + * The number of members of the population. + */ + count?: number|undefined; + /** + * This element refers to a List of subject level MeasureReport resources, one for each subject in this population. + */ + subjectResults?: Reference|undefined; +} +/** + * A stratifier component value. + */ +export interface MeasureReportGroupStratifierStratumComponent extends BackboneElement { + /** + * The code for the stratum component value. + */ + code: CodeableConcept; + /** + * The stratum component value. + */ + value: CodeableConcept; +} +/** + * The populations that make up the stratum, one for each type of population appropriate to the measure. + */ +export interface MeasureReportGroupStratifierStratumPopulation extends BackboneElement { + /** + * The type of the population. + */ + code?: CodeableConcept|undefined; + /** + * The number of members of the population in this stratum. + */ + count?: number|undefined; + /** + * This element refers to a List of subject level MeasureReport resources, one for each subject in this population in this stratum. + */ + subjectResults?: Reference|undefined; +} +/** + * This element contains the results for a single stratum within the stratifier. For example, when stratifying on administrative gender, there will be four strata, one for each possible gender value. + */ +export interface MeasureReportGroupStratifierStratum extends BackboneElement { + /** + * A stratifier component value. + */ + component?: MeasureReportGroupStratifierStratumComponent[]|undefined; + /** + * The measure score for this stratum, calculated as appropriate for the measure type and scoring method, and based on only the members of this stratum. + */ + measureScore?: Quantity|undefined; + /** + * The populations that make up the stratum, one for each type of population appropriate to the measure. + */ + population?: MeasureReportGroupStratifierStratumPopulation[]|undefined; + /** + * The value for this stratum, expressed as a CodeableConcept. When defining stratifiers on complex values, the value must be rendered such that the value for each stratum within the stratifier is unique. + */ + value?: CodeableConcept|undefined; +} +/** + * When a measure includes multiple stratifiers, there will be a stratifier group for each stratifier defined by the measure. + */ +export interface MeasureReportGroupStratifier extends BackboneElement { + /** + * The meaning of this stratifier, as defined in the measure definition. + */ + code?: CodeableConcept[]|undefined; + /** + * This element contains the results for a single stratum within the stratifier. For example, when stratifying on administrative gender, there will be four strata, one for each possible gender value. + */ + stratum?: MeasureReportGroupStratifierStratum[]|undefined; +} +/** + * The results of the calculation, one for each population group in the measure. + */ +export interface MeasureReportGroup extends BackboneElement { + /** + * The meaning of the population group as defined in the measure definition. + */ + code?: CodeableConcept|undefined; + /** + * The measure score for this population group, calculated as appropriate for the measure type and scoring method, and based on the contents of the populations defined in the group. + */ + measureScore?: Quantity|undefined; + /** + * The populations that make up the population group, one for each type of population appropriate for the measure. + */ + population?: MeasureReportGroupPopulation[]|undefined; + /** + * When a measure includes multiple stratifiers, there will be a stratifier group for each stratifier defined by the measure. + */ + stratifier?: MeasureReportGroupStratifier[]|undefined; +} +/** + * The MeasureReport resource contains the results of the calculation of a measure; and optionally a reference to the resources involved in that calculation. + */ +export interface MeasureReport extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'MeasureReport'; + /** + * The date this measure report was generated. + */ + date?: string|undefined; + _date?: Element|undefined; + /** + * A reference to a Bundle containing the Resources that were used in the calculation of this measure. + */ + evaluatedResource?: Reference[]|undefined; + /** + * The results of the calculation, one for each population group in the measure. + */ + group?: MeasureReportGroup[]|undefined; + /** + * Typically, this is used for identifiers that can go in an HL7 V3 II data type - e.g. to identify this {{title}} outside of FHIR, where the logical URL is not possible to use. + */ + identifier?: Identifier[]|undefined; + /** + * This element is typically defined by the measure, but reproduced here to ensure the measure score can be interpreted. The element is labeled as a modifier because it changes the interpretation of the reported measure score. + */ + improvementNotation?: CodeableConcept|undefined; + /** + * A reference to the Measure that was calculated to produce this report. + */ + measure: string; + _measure?: Element|undefined; + /** + * The reporting period for which the report was calculated. + */ + period: Period; + /** + * The individual, location, or organization that is reporting the data. + */ + reporter?: Reference|undefined; + /** + * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. + */ + status: ('complete'|'pending'|'error'); + _status?: Element|undefined; + /** + * Optional subject identifying the individual or individuals the report is for. + */ + subject?: Reference|undefined; + /** + * Data-collection reports are used only to communicate data-of-interest for a measure. They do not necessarily include all the data for a particular subject or population, but they may. + */ + type: ('individual'|'subject-list'|'summary'|'data-collection'); + _type?: Element|undefined; +} +/** + * A photo, video, or audio recording acquired or used in healthcare. The actual content may be inline or provided by direct reference. + */ +export interface Media extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'Media'; + /** + * A procedure that is fulfilled in whole or in part by the creation of this media. + */ + basedOn?: Reference[]|undefined; + /** + * Only used if not implicit in code found in Observation.code. In many systems, this may be represented as a related observation instead of an inline component. + * If the use case requires BodySite to be handled as a separate resource (e.g. to identify and track separately) then use the standard extension[ bodySite](extension-bodysite.html). + */ + bodySite?: CodeableConcept|undefined; + /** + * Recommended content types: image/jpeg, image/png, image/tiff, video/mpeg, audio/mp4, application/dicom. Application/dicom can contain the transfer syntax as a parameter. For media that covers a period of time (video/sound), the content.creationTime is the end time. Creation time is used for tracking, organizing versions and searching. + */ + content: Attachment; + /** + * The date and time(s) at which the media was collected. + */ + createdDateTime?: string|undefined; + _createdDateTime?: Element|undefined; + /** + * The date and time(s) at which the media was collected. + */ + createdPeriod?: Period|undefined; + /** + * An extension should be used if further typing of the device is needed. Secondary devices used to support collecting a media can be represented using either extension or through the Observation.related element. + */ + device?: Reference|undefined; + /** + * The name of the device / manufacturer of the device that was used to make the recording. + */ + deviceName?: string|undefined; + _deviceName?: Element|undefined; + /** + * The duration might differ from occurrencePeriod if recording was paused. + */ + duration?: number|undefined; + /** + * This will typically be the encounter the media occurred within. + */ + encounter?: Reference|undefined; + /** + * if the number of frames is not supplied, the value may be unknown. Applications should not assume that there is only one frame unless it is explicitly stated. + */ + frames?: number|undefined; + /** + * Height of the image in pixels (photo/video). + */ + height?: number|undefined; + /** + * The identifier label and use can be used to determine what kind of identifier it is. + */ + identifier?: Identifier[]|undefined; + /** + * It may be the same as the [`lastUpdated` ](resource-definitions.html#Meta.lastUpdated) time of the resource itself. For Observations that do require review and verification for certain updates, it might not be the same as the `lastUpdated` time of the resource itself due to a non-clinically significant update that does not require the new version to be reviewed and verified again. + */ + issued?: string|undefined; + _issued?: Element|undefined; + /** + * Details of the type of the media - usually, how it was acquired (what type of device). If images sourced from a DICOM system, are wrapped in a Media resource, then this is the modality. + */ + modality?: CodeableConcept|undefined; + /** + * Not to be used for observations, conclusions, etc. Instead use an [Observation](observation.html) based on the Media/ImagingStudy resource. + */ + note?: Annotation[]|undefined; + /** + * The person who administered the collection of the image. + */ + operator?: Reference|undefined; + /** + * Not to be used to link an event to an Encounter - use Media.encounter for that. + * [The allowed reference resources may be adjusted as appropriate for the event resource]. + */ + partOf?: Reference[]|undefined; + /** + * Textual reasons can be captured using reasonCode.text. + */ + reasonCode?: CodeableConcept[]|undefined; + /** + * A nominal state-transition diagram can be found in the [[event.html#statemachine | Event pattern]] documentation + * Unknown does not represent "other" - one of the defined statuses must apply. Unknown is used when the authoring system is not sure what the current status is. + */ + status: ('preparation'|'in-progress'|'not-done'|'on-hold'|'stopped'|'completed'|'entered-in-error'|'unknown'); + _status?: Element|undefined; + /** + * Who/What this Media is a record of. + */ + subject?: Reference|undefined; + /** + * A code that classifies whether the media is an image, video or audio recording or some other media category. + */ + type?: CodeableConcept|undefined; + /** + * The name of the imaging view e.g. Lateral or Antero-posterior (AP). + */ + view?: CodeableConcept|undefined; + /** + * Width of the image in pixels (photo/video). + */ + width?: number|undefined; +} +/** + * The ingredients need not be a complete list. If an ingredient is not specified, this does not indicate whether an ingredient is present or absent. If an ingredient is specified it does not mean that all ingredients are specified. It is possible to specify both inactive and active ingredients. + */ +export interface MedicationIngredient extends BackboneElement { + /** + * Indication of whether this ingredient affects the therapeutic action of the drug. + */ + isActive?: boolean|undefined; + _isActive?: Element|undefined; + /** + * The actual ingredient - either a substance (simple ingredient) or another medication of a medication. + */ + itemCodeableConcept?: CodeableConcept|undefined; + /** + * The actual ingredient - either a substance (simple ingredient) or another medication of a medication. + */ + itemReference?: Reference|undefined; + /** + * Specifies how many (or how much) of the items there are in this Medication. For example, 250 mg per tablet. This is expressed as a ratio where the numerator is 250mg and the denominator is 1 tablet. + */ + strength?: Ratio|undefined; +} +/** + * Information that only applies to packages (not products). + */ +export interface MedicationBatch extends BackboneElement { + /** + * When this specific batch of product will expire. + */ + expirationDate?: string|undefined; + _expirationDate?: Element|undefined; + /** + * The assigned lot number of a batch of the specified product. + */ + lotNumber?: string|undefined; + _lotNumber?: Element|undefined; +} +/** + * This resource is primarily used for the identification and definition of a medication for the purposes of prescribing, dispensing, and administering a medication as well as for making statements about medication use. + */ +export interface Medication extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'Medication'; + /** + * Specific amount of the drug in the packaged product. For example, when specifying a product that has the same strength (For example, Insulin glargine 100 unit per mL solution for injection), this attribute provides additional clarification of the package amount (For example, 3 mL, 10mL, etc.). + */ + amount?: Ratio|undefined; + /** + * Information that only applies to packages (not products). + */ + batch?: MedicationBatch|undefined; + /** + * Depending on the context of use, the code that was actually selected by the user (prescriber, dispenser, etc.) will have the coding.userSelected set to true. As described in the coding datatype: "A coding may be marked as a "userSelected" if a user selected the particular coded value in a user interface (e.g. the user selects an item in a pick-list). If a user selected coding exists, it is the preferred choice for performing translations etc. Other codes can only be literal translations to alternative code systems, or codes at a lower level of granularity (e.g. a generic code for a vendor-specific primary one). + */ + code?: CodeableConcept|undefined; + /** + * When Medication is referenced from MedicationRequest, this is the ordered form. When Medication is referenced within MedicationDispense, this is the dispensed form. When Medication is referenced within MedicationAdministration, this is administered form. + */ + form?: CodeableConcept|undefined; + /** + * The serial number could be included as an identifier. + */ + identifier?: Identifier[]|undefined; + /** + * The ingredients need not be a complete list. If an ingredient is not specified, this does not indicate whether an ingredient is present or absent. If an ingredient is specified it does not mean that all ingredients are specified. It is possible to specify both inactive and active ingredients. + */ + ingredient?: MedicationIngredient[]|undefined; + /** + * Describes the details of the manufacturer of the medication product. This is not intended to represent the distributor of a medication product. + */ + manufacturer?: Reference|undefined; + /** + * This status is intended to identify if the medication in a local system is in active use within a drug database or inventory. For example, a pharmacy system may create a new drug file record for a compounded product "ABC Hospital Special Cream" with an active status. At some point in the future, it may be determined that the drug record was created with an error and the status is changed to "entered in error". This status is not intended to specify if a medication is part of a particular formulary. It is possible that the drug record may be referenced by multiple formularies or catalogues and each of those entries would have a separate status. + */ + status?: ('active'|'inactive'|'entered-in-error')|undefined; + _status?: Element|undefined; +} +/** + * Indicates who or what performed the medication administration and how they were involved. + */ +export interface MedicationAdministrationPerformer extends BackboneElement { + /** + * Indicates who or what performed the medication administration. + */ + actor: Reference; + /** + * Distinguishes the type of involvement of the performer in the medication administration. + */ + function?: CodeableConcept|undefined; +} +/** + * Describes the medication dosage information details e.g. dose, rate, site, route, etc. + */ +export interface MedicationAdministrationDosage extends BackboneElement { + /** + * If the administration is not instantaneous (rate is present), this can be specified to convey the total amount administered over period of time of a single administration. + */ + dose?: Quantity|undefined; + /** + * One of the reasons this attribute is not used often, is that the method is often pre-coordinated with the route and/or form of administration. This means the codes used in route or form may pre-coordinate the method in the route code or the form code. The implementation decision about what coding system to use for route or form code will determine how frequently the method code will be populated e.g. if route or form code pre-coordinate method code, then this attribute will not be populated often; if there is no pre-coordination then method code may be used frequently. + */ + method?: CodeableConcept|undefined; + /** + * If the rate changes over time, and you want to capture this in MedicationAdministration, then each change should be captured as a distinct MedicationAdministration, with a specific MedicationAdministration.dosage.rate, and the date time when the rate change occurred. Typically, the MedicationAdministration.dosage.rate element is not used to convey an average rate. + */ + rateRatio?: Ratio|undefined; + /** + * If the rate changes over time, and you want to capture this in MedicationAdministration, then each change should be captured as a distinct MedicationAdministration, with a specific MedicationAdministration.dosage.rate, and the date time when the rate change occurred. Typically, the MedicationAdministration.dosage.rate element is not used to convey an average rate. + */ + rateQuantity?: Quantity|undefined; + /** + * A code specifying the route or physiological path of administration of a therapeutic agent into or onto the patient. For example, topical, intravenous, etc. + */ + route?: CodeableConcept|undefined; + /** + * If the use case requires attributes from the BodySite resource (e.g. to identify and track separately) then use the standard extension [bodySite](extension-bodysite.html). May be a summary code, or a reference to a very precise definition of the location, or both. + */ + site?: CodeableConcept|undefined; + /** + * Free text dosage can be used for cases where the dosage administered is too complex to code. When coded dosage is present, the free text dosage may still be present for display to humans. + * The dosage instructions should reflect the dosage of the medication that was administered. + */ + text?: string|undefined; + _text?: Element|undefined; +} +/** + * Describes the event of a patient consuming or otherwise being administered a medication. This may be as simple as swallowing a tablet or it may be a long running infusion. Related resources tie this event to the authorizing prescription, and the specific encounter between patient and health care practitioner. + */ +export interface MedicationAdministration extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'MedicationAdministration'; + /** + * Indicates where the medication is expected to be consumed or administered. + */ + category?: CodeableConcept|undefined; + /** + * The visit, admission, or other contact between patient and health care provider during which the medication administration was performed. + */ + context?: Reference|undefined; + /** + * The device used in administering the medication to the patient. For example, a particular infusion pump. + */ + device?: Reference[]|undefined; + /** + * Describes the medication dosage information details e.g. dose, rate, site, route, etc. + */ + dosage?: MedicationAdministrationDosage|undefined; + /** + * A specific date/time or interval of time during which the administration took place (or did not take place, when the 'notGiven' attribute is true). For many administrations, such as swallowing a tablet the use of dateTime is more appropriate. + */ + effectiveDateTime?: string|undefined; + _effectiveDateTime?: Element|undefined; + /** + * A specific date/time or interval of time during which the administration took place (or did not take place, when the 'notGiven' attribute is true). For many administrations, such as swallowing a tablet the use of dateTime is more appropriate. + */ + effectivePeriod?: Period|undefined; + /** + * This might not include provenances for all versions of the request – only those deemed “relevant” or important. This SHALL NOT include the Provenance associated with this current version of the resource. (If that provenance is deemed to be a “relevant” change, it will need to be added as part of a later update. Until then, it can be queried directly as the Provenance that points to this version using _revinclude All Provenances should have some historical version of this Request as their subject. + */ + eventHistory?: Reference[]|undefined; + /** + * This is a business identifier, not a resource identifier. + */ + identifier?: Identifier[]|undefined; + /** + * A protocol, guideline, orderset, or other definition that was adhered to in whole or in part by this event. + */ + instantiates?: string[]|undefined; + _instantiates?: Element[]|undefined; + /** + * If only a code is specified, then it needs to be a code for a specific product. If more information is required, then the use of the medication resource is recommended. For example, if you require form or lot number, then you must reference the Medication resource. + */ + medicationCodeableConcept?: CodeableConcept|undefined; + /** + * If only a code is specified, then it needs to be a code for a specific product. If more information is required, then the use of the medication resource is recommended. For example, if you require form or lot number, then you must reference the Medication resource. + */ + medicationReference?: Reference|undefined; + /** + * Extra information about the medication administration that is not conveyed by the other attributes. + */ + note?: Annotation[]|undefined; + /** + * A larger event of which this particular event is a component or step. + */ + partOf?: Reference[]|undefined; + /** + * Indicates who or what performed the medication administration and how they were involved. + */ + performer?: MedicationAdministrationPerformer[]|undefined; + /** + * A code indicating why the medication was given. + */ + reasonCode?: CodeableConcept[]|undefined; + /** + * This is a reference to a condition that is the reason for the medication request. If only a code exists, use reasonCode. + */ + reasonReference?: Reference[]|undefined; + /** + * This is a reference to the MedicationRequest where the intent is either order or instance-order. It should not reference MedicationRequests where the intent is any other value. + */ + request?: Reference|undefined; + /** + * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. + */ + status: ('in-progress'|'not-done'|'on-hold'|'completed'|'entered-in-error'|'stopped'|'unknown'); + _status?: Element|undefined; + /** + * A code indicating why the administration was not performed. + */ + statusReason?: CodeableConcept[]|undefined; + /** + * The person or animal or group receiving the medication. + */ + subject: Reference; + /** + * Additional information (for example, patient height and weight) that supports the administration of the medication. + */ + supportingInformation?: Reference[]|undefined; +} +/** + * Indicates who or what performed the event. + */ +export interface MedicationDispensePerformer extends BackboneElement { + /** + * The device, practitioner, etc. who performed the action. It should be assumed that the actor is the dispenser of the medication. + */ + actor: Reference; + /** + * Distinguishes the type of performer in the dispense. For example, date enterer, packager, final checker. + */ + function?: CodeableConcept|undefined; +} +/** + * Indicates whether or not substitution was made as part of the dispense. In some cases, substitution will be expected but does not happen, in other cases substitution is not expected but does happen. This block explains what substitution did or did not happen and why. If nothing is specified, substitution was not done. + */ +export interface MedicationDispenseSubstitution extends BackboneElement { + /** + * Indicates the reason for the substitution (or lack of substitution) from what was prescribed. + */ + reason?: CodeableConcept[]|undefined; + /** + * The person or organization that has primary responsibility for the substitution. + */ + responsibleParty?: Reference[]|undefined; + /** + * A code signifying whether a different drug was dispensed from what was prescribed. + */ + type?: CodeableConcept|undefined; + /** + * True if the dispenser dispensed a different drug or product from what was prescribed. + */ + wasSubstituted: boolean; + _wasSubstituted?: Element|undefined; +} +/** + * Indicates that a medication product is to be or has been dispensed for a named person/patient. This includes a description of the medication product (supply) provided and the instructions for administering the medication. The medication dispense is the result of a pharmacy system responding to a medication order. + */ +export interface MedicationDispense extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'MedicationDispense'; + /** + * Maps to basedOn in Event logical model. + */ + authorizingPrescription?: Reference[]|undefined; + /** + * The category can be used to include where the medication is expected to be consumed or other types of dispenses. Invariants can be used to bind to different value sets when profiling to bind. + */ + category?: CodeableConcept|undefined; + /** + * The encounter or episode of care that establishes the context for this event. + */ + context?: Reference|undefined; + /** + * The amount of medication expressed as a timing amount. + */ + daysSupply?: Quantity|undefined; + /** + * Identification of the facility/location where the medication was shipped to, as part of the dispense event. + */ + destination?: Reference|undefined; + /** + * This element can include a detected issue that has been identified either by a decision support system or by a clinician and may include information on the steps that were taken to address the issue. + */ + detectedIssue?: Reference[]|undefined; + /** + * When the dose or rate is intended to change over the entire administration period (e.g. Tapering dose prescriptions), multiple instances of dosage instructions will need to be supplied to convey the different doses/rates. + * The pharmacist reviews the medication order prior to dispense and updates the dosageInstruction based on the actual product being dispensed. + */ + dosageInstruction?: Dosage[]|undefined; + /** + * This might not include provenances for all versions of the request – only those deemed “relevant” or important. This SHALL NOT include the Provenance associated with this current version of the resource. (If that provenance is deemed to be a “relevant” change, it will need to be added as part of a later update. Until then, it can be queried directly as the Provenance that points to this version using _revinclude All Provenances should have some historical version of this Request as their subject.). + */ + eventHistory?: Reference[]|undefined; + /** + * This is a business identifier, not a resource identifier. + */ + identifier?: Identifier[]|undefined; + /** + * The principal physical location where the dispense was performed. + */ + location?: Reference|undefined; + /** + * If only a code is specified, then it needs to be a code for a specific product. If more information is required, then the use of the medication resource is recommended. For example, if you require form or lot number, then you must reference the Medication resource. + */ + medicationCodeableConcept?: CodeableConcept|undefined; + /** + * If only a code is specified, then it needs to be a code for a specific product. If more information is required, then the use of the medication resource is recommended. For example, if you require form or lot number, then you must reference the Medication resource. + */ + medicationReference?: Reference|undefined; + /** + * Extra information about the dispense that could not be conveyed in the other attributes. + */ + note?: Annotation[]|undefined; + /** + * The procedure that trigger the dispense. + */ + partOf?: Reference[]|undefined; + /** + * Indicates who or what performed the event. + */ + performer?: MedicationDispensePerformer[]|undefined; + /** + * The amount of medication that has been dispensed. Includes unit of measure. + */ + quantity?: Quantity|undefined; + /** + * Identifies the person who picked up the medication. This will usually be a patient or their caregiver, but some cases exist where it can be a healthcare professional. + */ + receiver?: Reference[]|undefined; + /** + * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. + */ + status: ('preparation'|'in-progress'|'cancelled'|'on-hold'|'completed'|'entered-in-error'|'stopped'|'declined'|'unknown'); + _status?: Element|undefined; + /** + * Indicates the reason why a dispense was not performed. + */ + statusReasonCodeableConcept?: CodeableConcept|undefined; + /** + * Indicates the reason why a dispense was not performed. + */ + statusReasonReference?: Reference|undefined; + /** + * SubstanceAdministration->subject->Patient. + */ + subject?: Reference|undefined; + /** + * Indicates whether or not substitution was made as part of the dispense. In some cases, substitution will be expected but does not happen, in other cases substitution is not expected but does happen. This block explains what substitution did or did not happen and why. If nothing is specified, substitution was not done. + */ + substitution?: MedicationDispenseSubstitution|undefined; + /** + * Additional information that supports the medication being dispensed. + */ + supportingInformation?: Reference[]|undefined; + /** + * Indicates the type of dispensing event that is performed. For example, Trial Fill, Completion of Trial, Partial Fill, Emergency Fill, Samples, etc. + */ + type?: CodeableConcept|undefined; + /** + * The time the dispensed product was provided to the patient or their representative. + */ + whenHandedOver?: string|undefined; + _whenHandedOver?: Element|undefined; + /** + * The time when the dispensed product was packaged and reviewed. + */ + whenPrepared?: string|undefined; + _whenPrepared?: Element|undefined; +} +/** + * Associated or related knowledge about a medication. + */ +export interface MedicationKnowledgeRelatedMedicationKnowledge extends BackboneElement { + /** + * Associated documentation about the associated medication knowledge. + */ + reference: Reference[]; + /** + * The category of the associated medication knowledge reference. + */ + type: CodeableConcept; +} +/** + * Associated documentation about the medication. + */ +export interface MedicationKnowledgeMonograph extends BackboneElement { + /** + * Associated documentation about the medication. + */ + source?: Reference|undefined; + /** + * The category of documentation about the medication. (e.g. professional monograph, patient education monograph). + */ + type?: CodeableConcept|undefined; +} +/** + * Identifies a particular constituent of interest in the product. + */ +export interface MedicationKnowledgeIngredient extends BackboneElement { + /** + * Indication of whether this ingredient affects the therapeutic action of the drug. + */ + isActive?: boolean|undefined; + _isActive?: Element|undefined; + /** + * The actual ingredient - either a substance (simple ingredient) or another medication. + */ + itemCodeableConcept?: CodeableConcept|undefined; + /** + * The actual ingredient - either a substance (simple ingredient) or another medication. + */ + itemReference?: Reference|undefined; + /** + * Specifies how many (or how much) of the items there are in this Medication. For example, 250 mg per tablet. This is expressed as a ratio where the numerator is 250mg and the denominator is 1 tablet. + */ + strength?: Ratio|undefined; +} +/** + * The price of the medication. + */ +export interface MedicationKnowledgeCost extends BackboneElement { + /** + * The price of the medication. + */ + cost: Money; + /** + * The source or owner that assigns the price to the medication. + */ + source?: string|undefined; + _source?: Element|undefined; + /** + * The category of the cost information. For example, manufacturers' cost, patient cost, claim reimbursement cost, actual acquisition cost. + */ + type: CodeableConcept; +} +/** + * The program under which the medication is reviewed. + */ +export interface MedicationKnowledgeMonitoringProgram extends BackboneElement { + /** + * Name of the reviewing program. + */ + name?: string|undefined; + _name?: Element|undefined; + /** + * Type of program under which the medication is monitored. + */ + type?: CodeableConcept|undefined; +} +/** + * Dosage for the medication for the specific guidelines. + */ +export interface MedicationKnowledgeAdministrationGuidelinesDosage extends BackboneElement { + /** + * Dosage for the medication for the specific guidelines. + */ + dosage: Dosage[]; + /** + * The type of dosage (for example, prophylaxis, maintenance, therapeutic, etc.). + */ + type: CodeableConcept; +} +/** + * Characteristics of the patient that are relevant to the administration guidelines (for example, height, weight, gender, etc.). + */ +export interface MedicationKnowledgeAdministrationGuidelinesPatientCharacteristics extends BackboneElement { + /** + * Specific characteristic that is relevant to the administration guideline (e.g. height, weight, gender). + */ + characteristicCodeableConcept?: CodeableConcept|undefined; + /** + * Specific characteristic that is relevant to the administration guideline (e.g. height, weight, gender). + */ + characteristicQuantity?: Quantity|undefined; + /** + * The specific characteristic (e.g. height, weight, gender, etc.). + */ + value?: string[]|undefined; + _value?: Element[]|undefined; +} +/** + * Guidelines for the administration of the medication. + */ +export interface MedicationKnowledgeAdministrationGuidelines extends BackboneElement { + /** + * Dosage for the medication for the specific guidelines. + */ + dosage?: MedicationKnowledgeAdministrationGuidelinesDosage[]|undefined; + /** + * Indication for use that apply to the specific administration guidelines. + */ + indicationCodeableConcept?: CodeableConcept|undefined; + /** + * Indication for use that apply to the specific administration guidelines. + */ + indicationReference?: Reference|undefined; + /** + * Characteristics of the patient that are relevant to the administration guidelines (for example, height, weight, gender, etc.). + */ + patientCharacteristics?: MedicationKnowledgeAdministrationGuidelinesPatientCharacteristics[]|undefined; +} +/** + * Categorization of the medication within a formulary or classification system. + */ +export interface MedicationKnowledgeMedicineClassification extends BackboneElement { + /** + * Specific category assigned to the medication (e.g. anti-infective, anti-hypertensive, antibiotic, etc.). + */ + classification?: CodeableConcept[]|undefined; + /** + * The type of category for the medication (for example, therapeutic classification, therapeutic sub-classification). + */ + type: CodeableConcept; +} +/** + * Information that only applies to packages (not products). + */ +export interface MedicationKnowledgePackaging extends BackboneElement { + /** + * The number of product units the package would contain if fully loaded. + */ + quantity?: Quantity|undefined; + /** + * A code that defines the specific type of packaging that the medication can be found in (e.g. blister sleeve, tube, bottle). + */ + type?: CodeableConcept|undefined; +} +/** + * Specifies descriptive properties of the medicine, such as color, shape, imprints, etc. + */ +export interface MedicationKnowledgeDrugCharacteristic extends BackboneElement { + /** + * A code specifying which characteristic of the medicine is being described (for example, colour, shape, imprint). + */ + type?: CodeableConcept|undefined; + /** + * The description should be provided as a CodeableConcept, SimpleQuantity or an image. The description can be a string only when these others are not available. + */ + valueCodeableConcept?: CodeableConcept|undefined; + /** + * The description should be provided as a CodeableConcept, SimpleQuantity or an image. The description can be a string only when these others are not available. + */ + valueString?: string|undefined; + _valueString?: Element|undefined; + /** + * The description should be provided as a CodeableConcept, SimpleQuantity or an image. The description can be a string only when these others are not available. + */ + valueQuantity?: Quantity|undefined; + /** + * The description should be provided as a CodeableConcept, SimpleQuantity or an image. The description can be a string only when these others are not available. + */ + valueBase64Binary?: string|undefined; + _valueBase64Binary?: Element|undefined; +} +/** + * Specifies if changes are allowed when dispensing a medication from a regulatory perspective. + */ +export interface MedicationKnowledgeRegulatorySubstitution extends BackboneElement { + /** + * Specifies if regulation allows for changes in the medication when dispensing. + */ + allowed: boolean; + _allowed?: Element|undefined; + /** + * Specifies the type of substitution allowed. + */ + type: CodeableConcept; +} +/** + * Specifies the schedule of a medication in jurisdiction. + */ +export interface MedicationKnowledgeRegulatorySchedule extends BackboneElement { + /** + * Specifies the specific drug schedule. + */ + schedule: CodeableConcept; +} +/** + * The maximum number of units of the medication that can be dispensed in a period. + */ +export interface MedicationKnowledgeRegulatoryMaxDispense extends BackboneElement { + /** + * The period that applies to the maximum number of units. + */ + period?: Duration|undefined; + /** + * The maximum number of units of the medication that can be dispensed. + */ + quantity: Quantity; +} +/** + * Regulatory information about a medication. + */ +export interface MedicationKnowledgeRegulatory extends BackboneElement { + /** + * The maximum number of units of the medication that can be dispensed in a period. + */ + maxDispense?: MedicationKnowledgeRegulatoryMaxDispense|undefined; + /** + * The authority that is specifying the regulations. + */ + regulatoryAuthority: Reference; + /** + * Specifies the schedule of a medication in jurisdiction. + */ + schedule?: MedicationKnowledgeRegulatorySchedule[]|undefined; + /** + * Specifies if changes are allowed when dispensing a medication from a regulatory perspective. + */ + substitution?: MedicationKnowledgeRegulatorySubstitution[]|undefined; +} +/** + * The time course of drug absorption, distribution, metabolism and excretion of a medication from the body. + */ +export interface MedicationKnowledgeKinetics extends BackboneElement { + /** + * The drug concentration measured at certain discrete points in time. + */ + areaUnderCurve?: Quantity[]|undefined; + /** + * The time required for any specified property (e.g., the concentration of a substance in the body) to decrease by half. + */ + halfLifePeriod?: Duration|undefined; + /** + * The median lethal dose of a drug. + */ + lethalDose50?: Quantity[]|undefined; +} +/** + * Information about a medication that is used to support knowledge. + */ +export interface MedicationKnowledge extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'MedicationKnowledge'; + /** + * Guidelines for the administration of the medication. + */ + administrationGuidelines?: MedicationKnowledgeAdministrationGuidelines[]|undefined; + /** + * This is the quantity of medication in a package. To specify the strength of the medication, the Ingredient.strength attribute is used. + */ + amount?: Quantity|undefined; + /** + * Associated or related medications. For example, if the medication is a branded product (e.g. Crestor), this is the Therapeutic Moeity (e.g. Rosuvastatin) or if this is a generic medication (e.g. Rosuvastatin), this would link to a branded product (e.g. Crestor). + */ + associatedMedication?: Reference[]|undefined; + /** + * Depending on the context of use, the code that was actually selected by the user (prescriber, dispenser, etc.) will have the coding.userSelected set to true. As described in the coding datatype: "A coding may be marked as a "userSelected" if a user selected the particular coded value in a user interface (e.g. the user selects an item in a pick-list). If a user selected coding exists, it is the preferred choice for performing translations etc. Other codes can only be literal translations to alternative code systems, or codes at a lower level of granularity (e.g. a generic code for a vendor-specific primary one). + */ + code?: CodeableConcept|undefined; + /** + * Potential clinical issue with or between medication(s) (for example, drug-drug interaction, drug-disease contraindication, drug-allergy interaction, etc.). + */ + contraindication?: Reference[]|undefined; + /** + * The price of the medication. + */ + cost?: MedicationKnowledgeCost[]|undefined; + /** + * When Medication is referenced from MedicationRequest, this is the ordered form. When Medication is referenced within MedicationDispense, this is the dispensed form. When Medication is referenced within MedicationAdministration, this is administered form. + */ + doseForm?: CodeableConcept|undefined; + /** + * Specifies descriptive properties of the medicine, such as color, shape, imprints, etc. + */ + drugCharacteristic?: MedicationKnowledgeDrugCharacteristic[]|undefined; + /** + * Identifies a particular constituent of interest in the product. + */ + ingredient?: MedicationKnowledgeIngredient[]|undefined; + /** + * The intended or approved route of administration. + */ + intendedRoute?: CodeableConcept[]|undefined; + /** + * The time course of drug absorption, distribution, metabolism and excretion of a medication from the body. + */ + kinetics?: MedicationKnowledgeKinetics[]|undefined; + /** + * Describes the details of the manufacturer of the medication product. This is not intended to represent the distributor of a medication product. + */ + manufacturer?: Reference|undefined; + /** + * Categorization of the medication within a formulary or classification system. + */ + medicineClassification?: MedicationKnowledgeMedicineClassification[]|undefined; + /** + * The program under which the medication is reviewed. + */ + monitoringProgram?: MedicationKnowledgeMonitoringProgram[]|undefined; + /** + * Associated documentation about the medication. + */ + monograph?: MedicationKnowledgeMonograph[]|undefined; + /** + * Information that only applies to packages (not products). + */ + packaging?: MedicationKnowledgePackaging|undefined; + /** + * The instructions for preparing the medication. + */ + preparationInstruction?: string|undefined; + _preparationInstruction?: Element|undefined; + /** + * Category of the medication or product (e.g. branded product, therapeutic moeity, generic product, innovator product, etc.). + */ + productType?: CodeableConcept[]|undefined; + /** + * Regulatory information about a medication. + */ + regulatory?: MedicationKnowledgeRegulatory[]|undefined; + /** + * Associated or related knowledge about a medication. + */ + relatedMedicationKnowledge?: MedicationKnowledgeRelatedMedicationKnowledge[]|undefined; + /** + * This status is intended to identify if the medication in a local system is in active use within a drug database or inventory. For example, a pharmacy system may create a new drug file record for a compounded product "ABC Hospital Special Cream" with an active status. At some point in the future, it may be determined that the drug record was created with an error and the status is changed to "entered in error". This status is not intended to specify if a medication is part of a particular formulary. It is possible that the drug record may be referenced by multiple formularies or catalogues and each of those entries would have a separate status. + */ + status?: ('active'|'inactive'|'entered-in-error')|undefined; + _status?: Element|undefined; + /** + * Additional names for a medication, for example, the name(s) given to a medication in different countries. For example, acetaminophen and paracetamol or salbutamol and albuterol. + */ + synonym?: string[]|undefined; + _synonym?: Element[]|undefined; +} +/** + * If populating this element, either the quantity or the duration must be included. + */ +export interface MedicationRequestDispenseRequestInitialFill extends BackboneElement { + /** + * The length of time that the first dispense is expected to last. + */ + duration?: Duration|undefined; + /** + * The amount or quantity to provide as part of the first dispense. + */ + quantity?: Quantity|undefined; +} +/** + * Indicates the specific details for the dispense or medication supply part of a medication request (also known as a Medication Prescription or Medication Order). Note that this information is not always sent with the order. There may be in some settings (e.g. hospitals) institutional or system support for completing the dispense details in the pharmacy department. + */ +export interface MedicationRequestDispenseRequest extends BackboneElement { + /** + * The minimum period of time that must occur between dispenses of the medication. + */ + dispenseInterval?: Duration|undefined; + /** + * In some situations, this attribute may be used instead of quantity to identify the amount supplied by how long it is expected to last, rather than the physical quantity issued, e.g. 90 days supply of medication (based on an ordered dosage). When possible, it is always better to specify quantity, as this tends to be more precise. expectedSupplyDuration will always be an estimate that can be influenced by external factors. + */ + expectedSupplyDuration?: Duration|undefined; + /** + * If populating this element, either the quantity or the duration must be included. + */ + initialFill?: MedicationRequestDispenseRequestInitialFill|undefined; + /** + * If displaying "number of authorized fills", add 1 to this number. + */ + numberOfRepeatsAllowed?: number|undefined; + /** + * Indicates the intended dispensing Organization specified by the prescriber. + */ + performer?: Reference|undefined; + /** + * The amount that is to be dispensed for one fill. + */ + quantity?: Quantity|undefined; + /** + * It reflects the prescribers' perspective for the validity of the prescription. Dispenses must not be made against the prescription outside of this period. The lower-bound of the Dispensing Window signifies the earliest date that the prescription can be filled for the first time. If an upper-bound is not specified then the Prescription is open-ended or will default to a stale-date based on regulations. + */ + validityPeriod?: Period|undefined; +} +/** + * Indicates whether or not substitution can or should be part of the dispense. In some cases, substitution must happen, in other cases substitution must not happen. This block explains the prescriber's intent. If nothing is specified substitution may be done. + */ +export interface MedicationRequestSubstitution extends BackboneElement { + /** + * This element is labeled as a modifier because whether substitution is allow or not, it cannot be ignored. + */ + allowedBoolean?: boolean|undefined; + _allowedBoolean?: Element|undefined; + /** + * This element is labeled as a modifier because whether substitution is allow or not, it cannot be ignored. + */ + allowedCodeableConcept?: CodeableConcept|undefined; + /** + * Indicates the reason for the substitution, or why substitution must or must not be performed. + */ + reason?: CodeableConcept|undefined; +} +/** + * An order or request for both supply of the medication and the instructions for administration of the medication to a patient. The resource is called "MedicationRequest" rather than "MedicationPrescription" or "MedicationOrder" to generalize the use across inpatient and outpatient settings, including care plans, etc., and to harmonize with workflow patterns. + */ +export interface MedicationRequest extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'MedicationRequest'; + /** + * The date (and perhaps time) when the prescription was initially written or authored on. + */ + authoredOn?: string|undefined; + _authoredOn?: Element|undefined; + /** + * A plan or request that is fulfilled in whole or in part by this medication request. + */ + basedOn?: Reference[]|undefined; + /** + * The category can be used to include where the medication is expected to be consumed or other types of requests. + */ + category?: CodeableConcept[]|undefined; + /** + * This attribute should not be confused with the protocol of the medication. + */ + courseOfTherapyType?: CodeableConcept|undefined; + /** + * This element can include a detected issue that has been identified either by a decision support system or by a clinician and may include information on the steps that were taken to address the issue. + */ + detectedIssue?: Reference[]|undefined; + /** + * Indicates the specific details for the dispense or medication supply part of a medication request (also known as a Medication Prescription or Medication Order). Note that this information is not always sent with the order. There may be in some settings (e.g. hospitals) institutional or system support for completing the dispense details in the pharmacy department. + */ + dispenseRequest?: MedicationRequestDispenseRequest|undefined; + /** + * If do not perform is not specified, the request is a positive request e.g. "do perform". + */ + doNotPerform?: boolean|undefined; + _doNotPerform?: Element|undefined; + /** + * There are examples where a medication request may include the option of an oral dose or an Intravenous or Intramuscular dose. For example, "Ondansetron 8mg orally or IV twice a day as needed for nausea" or "Compazine® (prochlorperazine) 5-10mg PO or 25mg PR bid prn nausea or vomiting". In these cases, two medication requests would be created that could be grouped together. The decision on which dose and route of administration to use is based on the patient's condition at the time the dose is needed. + */ + dosageInstruction?: Dosage[]|undefined; + /** + * This will typically be the encounter the event occurred within, but some activities may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter." If there is a need to link to episodes of care they will be handled with an extension. + */ + encounter?: Reference|undefined; + /** + * This might not include provenances for all versions of the request – only those deemed “relevant” or important. This SHALL NOT include the provenance associated with this current version of the resource. (If that provenance is deemed to be a “relevant” change, it will need to be added as part of a later update. Until then, it can be queried directly as the provenance that points to this version using _revinclude All Provenances should have some historical version of this Request as their subject.). + */ + eventHistory?: Reference[]|undefined; + /** + * A shared identifier common to all requests that were authorized more or less simultaneously by a single author, representing the identifier of the requisition or prescription. + */ + groupIdentifier?: Identifier|undefined; + /** + * This is a business identifier, not a resource identifier. + */ + identifier?: Identifier[]|undefined; + /** + * The URL pointing to a protocol, guideline, orderset, or other definition that is adhered to in whole or in part by this MedicationRequest. + */ + instantiatesCanonical?: string[]|undefined; + _instantiatesCanonical?: Element[]|undefined; + /** + * The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this MedicationRequest. + */ + instantiatesUri?: string[]|undefined; + _instantiatesUri?: Element[]|undefined; + /** + * Insurance plans, coverage extensions, pre-authorizations and/or pre-determinations that may be required for delivering the requested service. + */ + insurance?: Reference[]|undefined; + /** + * It is expected that the type of requester will be restricted for different stages of a MedicationRequest. For example, Proposals can be created by a patient, relatedPerson, Practitioner or Device. Plans can be created by Practitioners, Patients, RelatedPersons and Devices. Original orders can be created by a Practitioner only. + * An instance-order is an instantiation of a request or order and may be used to populate Medication Administration Record. + * This element is labeled as a modifier because the intent alters when and how the resource is actually applicable. + */ + intent: ('proposal'|'plan'|'order'|'original-order'|'reflex-order'|'filler-order'|'instance-order'|'option'); + _intent?: Element|undefined; + /** + * If only a code is specified, then it needs to be a code for a specific product. If more information is required, then the use of the Medication resource is recommended. For example, if you require form or lot number or if the medication is compounded or extemporaneously prepared, then you must reference the Medication resource. + */ + medicationCodeableConcept?: CodeableConcept|undefined; + /** + * If only a code is specified, then it needs to be a code for a specific product. If more information is required, then the use of the Medication resource is recommended. For example, if you require form or lot number or if the medication is compounded or extemporaneously prepared, then you must reference the Medication resource. + */ + medicationReference?: Reference|undefined; + /** + * Extra information about the prescription that could not be conveyed by the other attributes. + */ + note?: Annotation[]|undefined; + /** + * The specified desired performer of the medication treatment (e.g. the performer of the medication administration). + */ + performer?: Reference|undefined; + /** + * If specified without indicating a performer, this indicates that the performer must be of the specified type. If specified with a performer then it indicates the requirements of the performer if the designated performer is not available. + */ + performerType?: CodeableConcept|undefined; + /** + * Indicates how quickly the Medication Request should be addressed with respect to other requests. + */ + priority?: ('routine'|'urgent'|'asap'|'stat')|undefined; + _priority?: Element|undefined; + /** + * A link to a resource representing an earlier order related order or prescription. + */ + priorPrescription?: Reference|undefined; + /** + * This could be a diagnosis code. If a full condition record exists or additional detail is needed, use reasonReference. + */ + reasonCode?: CodeableConcept[]|undefined; + /** + * This is a reference to a condition or observation that is the reason for the medication order. If only a code exists, use reasonCode. + */ + reasonReference?: Reference[]|undefined; + /** + * The person who entered the order on behalf of another individual for example in the case of a verbal or a telephone order. + */ + recorder?: Reference|undefined; + /** + * Indicates if this record was captured as a secondary 'reported' record rather than as an original primary source-of-truth record. It may also indicate the source of the report. + */ + reportedBoolean?: boolean|undefined; + _reportedBoolean?: Element|undefined; + /** + * Indicates if this record was captured as a secondary 'reported' record rather than as an original primary source-of-truth record. It may also indicate the source of the report. + */ + reportedReference?: Reference|undefined; + /** + * The individual, organization, or device that initiated the request and has responsibility for its activation. + */ + requester?: Reference|undefined; + /** + * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. + */ + status: ('active'|'on-hold'|'cancelled'|'completed'|'entered-in-error'|'stopped'|'draft'|'unknown'); + _status?: Element|undefined; + /** + * This is generally only used for "exception" statuses such as "suspended" or "cancelled". The reason why the MedicationRequest was created at all is captured in reasonCode, not here. + */ + statusReason?: CodeableConcept|undefined; + /** + * The subject on a medication request is mandatory. For the secondary use case where the actual subject is not provided, there still must be an anonymized subject specified. + */ + subject: Reference; + /** + * Indicates whether or not substitution can or should be part of the dispense. In some cases, substitution must happen, in other cases substitution must not happen. This block explains the prescriber's intent. If nothing is specified substitution may be done. + */ + substitution?: MedicationRequestSubstitution|undefined; + /** + * Include additional information (for example, patient height and weight) that supports the ordering of the medication. + */ + supportingInformation?: Reference[]|undefined; +} +/** + * A record of a medication that is being consumed by a patient. A MedicationStatement may indicate that the patient may be taking the medication now or has taken the medication in the past or will be taking the medication in the future. The source of this information can be the patient, significant other (such as a family member or spouse), or a clinician. A common scenario where this information is captured is during the history taking process during a patient visit or stay. The medication information may come from sources such as the patient's memory, from a prescription bottle, or from a list of medications the patient, clinician or other party maintains. + * The primary difference between a medication statement and a medication administration is that the medication administration has complete administration information and is based on actual administration information from the person who administered the medication. A medication statement is often, if not always, less specific. There is no required date/time when the medication was administered, in fact we only know that a source has reported the patient is taking this medication, where details such as time, quantity, or rate or even medication product may be incomplete or missing or less precise. As stated earlier, the medication statement information may come from the patient's memory, from a prescription bottle or from a list of medications the patient, clinician or other party maintains. Medication administration is more formal and is not missing detailed information. + */ +export interface MedicationStatement extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'MedicationStatement'; + /** + * A plan, proposal or order that is fulfilled in whole or in part by this event. + */ + basedOn?: Reference[]|undefined; + /** + * Indicates where the medication is expected to be consumed or administered. + */ + category?: CodeableConcept|undefined; + /** + * The encounter or episode of care that establishes the context for this MedicationStatement. + */ + context?: Reference|undefined; + /** + * The date when the medication statement was asserted by the information source. + */ + dateAsserted?: string|undefined; + _dateAsserted?: Element|undefined; + /** + * Likely references would be to MedicationRequest, MedicationDispense, Claim, Observation or QuestionnaireAnswers. The most common use cases for deriving a MedicationStatement comes from creating a MedicationStatement from a MedicationRequest or from a lab observation or a claim. it should be noted that the amount of information that is available varies from the type resource that you derive the MedicationStatement from. + */ + derivedFrom?: Reference[]|undefined; + /** + * The dates included in the dosage on a Medication Statement reflect the dates for a given dose. For example, "from November 1, 2016 to November 3, 2016, take one tablet daily and from November 4, 2016 to November 7, 2016, take two tablets daily." It is expected that this specificity may only be populated where the patient brings in their labeled container or where the Medication Statement is derived from a MedicationRequest. + */ + dosage?: Dosage[]|undefined; + /** + * This attribute reflects the period over which the patient consumed the medication and is expected to be populated on the majority of Medication Statements. If the medication is still being taken at the time the statement is recorded, the "end" date will be omitted. The date/time attribute supports a variety of dates - year, year/month and exact date. If something more than this is required, this should be conveyed as text. + */ + effectiveDateTime?: string|undefined; + _effectiveDateTime?: Element|undefined; + /** + * This attribute reflects the period over which the patient consumed the medication and is expected to be populated on the majority of Medication Statements. If the medication is still being taken at the time the statement is recorded, the "end" date will be omitted. The date/time attribute supports a variety of dates - year, year/month and exact date. If something more than this is required, this should be conveyed as text. + */ + effectivePeriod?: Period|undefined; + /** + * This is a business identifier, not a resource identifier. + */ + identifier?: Identifier[]|undefined; + /** + * The person or organization that provided the information about the taking of this medication. Note: Use derivedFrom when a MedicationStatement is derived from other resources, e.g. Claim or MedicationRequest. + */ + informationSource?: Reference|undefined; + /** + * If only a code is specified, then it needs to be a code for a specific product. If more information is required, then the use of the medication resource is recommended. For example, if you require form or lot number, then you must reference the Medication resource. + */ + medicationCodeableConcept?: CodeableConcept|undefined; + /** + * If only a code is specified, then it needs to be a code for a specific product. If more information is required, then the use of the medication resource is recommended. For example, if you require form or lot number, then you must reference the Medication resource. + */ + medicationReference?: Reference|undefined; + /** + * Provides extra information about the medication statement that is not conveyed by the other attributes. + */ + note?: Annotation[]|undefined; + /** + * A larger event of which this particular event is a component or step. + */ + partOf?: Reference[]|undefined; + /** + * This could be a diagnosis code. If a full condition record exists or additional detail is needed, use reasonForUseReference. + */ + reasonCode?: CodeableConcept[]|undefined; + /** + * This is a reference to a condition that is the reason why the medication is being/was taken. If only a code exists, use reasonForUseCode. + */ + reasonReference?: Reference[]|undefined; + /** + * MedicationStatement is a statement at a point in time. The status is only representative at the point when it was asserted. The value set for MedicationStatement.status contains codes that assert the status of the use of the medication by the patient (for example, stopped or on hold) as well as codes that assert the status of the medication statement itself (for example, entered in error). + * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. + */ + status: ('active'|'completed'|'entered-in-error'|'intended'|'stopped'|'on-hold'|'unknown'|'not-taken'); + _status?: Element|undefined; + /** + * This is generally only used for "exception" statuses such as "not-taken", "on-hold", "cancelled" or "entered-in-error". The reason for performing the event at all is captured in reasonCode, not here. + */ + statusReason?: CodeableConcept[]|undefined; + /** + * The person, animal or group who is/was taking the medication. + */ + subject: Reference; +} +/** + * Coding words or phrases of the name. + */ +export interface MedicinalProductNameNamePart extends BackboneElement { + /** + * A fragment of a product name. + */ + part: string; + _part?: Element|undefined; + /** + * Idenifying type for this part of the name (e.g. strength part). + */ + type: Coding; +} +/** + * Country where the name applies. + */ +export interface MedicinalProductNameCountryLanguage extends BackboneElement { + /** + * Country code for where this name applies. + */ + country: CodeableConcept; + /** + * Jurisdiction code for where this name applies. + */ + jurisdiction?: CodeableConcept|undefined; + /** + * Language code for this name. + */ + language: CodeableConcept; +} +/** + * The product's name, including full name and possibly coded parts. + */ +export interface MedicinalProductName extends BackboneElement { + /** + * Country where the name applies. + */ + countryLanguage?: MedicinalProductNameCountryLanguage[]|undefined; + /** + * Coding words or phrases of the name. + */ + namePart?: MedicinalProductNameNamePart[]|undefined; + /** + * The full product name. + */ + productName: string; + _productName?: Element|undefined; +} +/** + * An operation applied to the product, for manufacturing or adminsitrative purpose. + */ +export interface MedicinalProductManufacturingBusinessOperation extends BackboneElement { + /** + * Regulatory authorization reference number. + */ + authorisationReferenceNumber?: Identifier|undefined; + /** + * To indicate if this proces is commercially confidential. + */ + confidentialityIndicator?: CodeableConcept|undefined; + /** + * Regulatory authorization date. + */ + effectiveDate?: string|undefined; + _effectiveDate?: Element|undefined; + /** + * The manufacturer or establishment associated with the process. + */ + manufacturer?: Reference[]|undefined; + /** + * The type of manufacturing operation. + */ + operationType?: CodeableConcept|undefined; + /** + * A regulator which oversees the operation. + */ + regulator?: Reference|undefined; +} +/** + * Indicates if the medicinal product has an orphan designation for the treatment of a rare disease. + */ +export interface MedicinalProductSpecialDesignation extends BackboneElement { + /** + * Date when the designation was granted. + */ + date?: string|undefined; + _date?: Element|undefined; + /** + * Identifier for the designation, or procedure number. + */ + identifier?: Identifier[]|undefined; + /** + * Condition for which the medicinal use applies. + */ + indicationCodeableConcept?: CodeableConcept|undefined; + /** + * Condition for which the medicinal use applies. + */ + indicationReference?: Reference|undefined; + /** + * The intended use of the product, e.g. prevention, treatment. + */ + intendedUse?: CodeableConcept|undefined; + /** + * Animal species for which this applies. + */ + species?: CodeableConcept|undefined; + /** + * For example granted, pending, expired or withdrawn. + */ + status?: CodeableConcept|undefined; + /** + * The type of special designation, e.g. orphan drug, minor use. + */ + type?: CodeableConcept|undefined; +} +/** + * Detailed definition of a medicinal product, typically for uses other than direct patient care (e.g. regulatory use). + */ +export interface MedicinalProduct extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'MedicinalProduct'; + /** + * Whether the Medicinal Product is subject to additional monitoring for regulatory reasons. + */ + additionalMonitoringIndicator?: CodeableConcept|undefined; + /** + * Supporting documentation, typically for regulatory submission. + */ + attachedDocument?: Reference[]|undefined; + /** + * Clinical trials or studies that this product is involved in. + */ + clinicalTrial?: Reference[]|undefined; + /** + * The dose form for a single part product, or combined form of a multiple part product. + */ + combinedPharmaceuticalDoseForm?: CodeableConcept|undefined; + /** + * A product specific contact, person (in a role), or an organization. + */ + contact?: Reference[]|undefined; + /** + * Reference to another product, e.g. for linking authorised to investigational product. + */ + crossReference?: Identifier[]|undefined; + /** + * If this medicine applies to human or veterinary uses. + */ + domain?: Coding|undefined; + /** + * Business identifier for this product. Could be an MPID. + */ + identifier?: Identifier[]|undefined; + /** + * The legal status of supply of the medicinal product as classified by the regulator. + */ + legalStatusOfSupply?: CodeableConcept|undefined; + /** + * An operation applied to the product, for manufacturing or adminsitrative purpose. + */ + manufacturingBusinessOperation?: MedicinalProductManufacturingBusinessOperation[]|undefined; + /** + * Marketing status of the medicinal product, in contrast to marketing authorizaton. + */ + marketingStatus?: MarketingStatus[]|undefined; + /** + * A master file for to the medicinal product (e.g. Pharmacovigilance System Master File). + */ + masterFile?: Reference[]|undefined; + /** + * The product's name, including full name and possibly coded parts. + */ + name: MedicinalProductName[]; + /** + * Package representation for the product. + */ + packagedMedicinalProduct?: Reference[]|undefined; + /** + * If authorised for use in children. + */ + paediatricUseIndicator?: CodeableConcept|undefined; + /** + * Pharmaceutical aspects of product. + */ + pharmaceuticalProduct?: Reference[]|undefined; + /** + * Allows the product to be classified by various systems. + */ + productClassification?: CodeableConcept[]|undefined; + /** + * Indicates if the medicinal product has an orphan designation for the treatment of a rare disease. + */ + specialDesignation?: MedicinalProductSpecialDesignation[]|undefined; + /** + * Whether the Medicinal Product is subject to special measures for regulatory reasons. + */ + specialMeasures?: string[]|undefined; + _specialMeasures?: Element[]|undefined; + /** + * Regulatory type, e.g. Investigational or Authorized. + */ + type?: CodeableConcept|undefined; +} +/** + * Authorization in areas within a country. + */ +export interface MedicinalProductAuthorizationJurisdictionalAuthorization extends BackboneElement { + /** + * Country of authorization. + */ + country?: CodeableConcept|undefined; + /** + * The assigned number for the marketing authorization. + */ + identifier?: Identifier[]|undefined; + /** + * Jurisdiction within a country. + */ + jurisdiction?: CodeableConcept[]|undefined; + /** + * The legal status of supply in a jurisdiction or region. + */ + legalStatusOfSupply?: CodeableConcept|undefined; + /** + * The start and expected end date of the authorization. + */ + validityPeriod?: Period|undefined; +} +/** + * The regulatory procedure for granting or amending a marketing authorization. + */ +export interface MedicinalProductAuthorizationProcedure extends BackboneElement { + /** + * Applcations submitted to obtain a marketing authorization. + */ + application?: MedicinalProductAuthorizationProcedure[]|undefined; + /** + * Date of procedure. + */ + datePeriod?: Period|undefined; + /** + * Date of procedure. + */ + dateDateTime?: string|undefined; + _dateDateTime?: Element|undefined; + /** + * Identifier for this procedure. + */ + identifier?: Identifier|undefined; + /** + * Type of procedure. + */ + type: CodeableConcept; +} +/** + * The regulatory authorization of a medicinal product. + */ +export interface MedicinalProductAuthorization extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'MedicinalProductAuthorization'; + /** + * The country in which the marketing authorization has been granted. + */ + country?: CodeableConcept[]|undefined; + /** + * A period of time after authorization before generic product applicatiosn can be submitted. + */ + dataExclusivityPeriod?: Period|undefined; + /** + * The date when the first authorization was granted by a Medicines Regulatory Agency. + */ + dateOfFirstAuthorization?: string|undefined; + _dateOfFirstAuthorization?: Element|undefined; + /** + * Marketing Authorization Holder. + */ + holder?: Reference|undefined; + /** + * Business identifier for the marketing authorization, as assigned by a regulator. + */ + identifier?: Identifier[]|undefined; + /** + * Date of first marketing authorization for a company's new medicinal product in any country in the World. + */ + internationalBirthDate?: string|undefined; + _internationalBirthDate?: Element|undefined; + /** + * Jurisdiction within a country. + */ + jurisdiction?: CodeableConcept[]|undefined; + /** + * Authorization in areas within a country. + */ + jurisdictionalAuthorization?: MedicinalProductAuthorizationJurisdictionalAuthorization[]|undefined; + /** + * The legal framework against which this authorization is granted. + */ + legalBasis?: CodeableConcept|undefined; + /** + * The regulatory procedure for granting or amending a marketing authorization. + */ + procedure?: MedicinalProductAuthorizationProcedure|undefined; + /** + * Medicines Regulatory Agency. + */ + regulator?: Reference|undefined; + /** + * The date when a suspended the marketing or the marketing authorization of the product is anticipated to be restored. + */ + restoreDate?: string|undefined; + _restoreDate?: Element|undefined; + /** + * The status of the marketing authorization. + */ + status?: CodeableConcept|undefined; + /** + * The date at which the given status has become applicable. + */ + statusDate?: string|undefined; + _statusDate?: Element|undefined; + /** + * The medicinal product that is being authorized. + */ + subject?: Reference|undefined; + /** + * The beginning of the time period in which the marketing authorization is in the specific status shall be specified A complete date consisting of day, month and year shall be specified using the ISO 8601 date format. + */ + validityPeriod?: Period|undefined; +} +/** + * Information about the use of the medicinal product in relation to other therapies described as part of the indication. + */ +export interface MedicinalProductContraindicationOtherTherapy extends BackboneElement { + /** + * Reference to a specific medication (active substance, medicinal product or class of products) as part of an indication or contraindication. + */ + medicationCodeableConcept?: CodeableConcept|undefined; + /** + * Reference to a specific medication (active substance, medicinal product or class of products) as part of an indication or contraindication. + */ + medicationReference?: Reference|undefined; + /** + * The type of relationship between the medicinal product indication or contraindication and another therapy. + */ + therapyRelationshipType: CodeableConcept; +} +/** + * The clinical particulars - indications, contraindications etc. of a medicinal product, including for regulatory purposes. + */ +export interface MedicinalProductContraindication extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'MedicinalProductContraindication'; + /** + * A comorbidity (concurrent condition) or coinfection. + */ + comorbidity?: CodeableConcept[]|undefined; + /** + * The disease, symptom or procedure for the contraindication. + */ + disease?: CodeableConcept|undefined; + /** + * The status of the disease or symptom for the contraindication. + */ + diseaseStatus?: CodeableConcept|undefined; + /** + * Information about the use of the medicinal product in relation to other therapies described as part of the indication. + */ + otherTherapy?: MedicinalProductContraindicationOtherTherapy[]|undefined; + /** + * The population group to which this applies. + */ + population?: Population[]|undefined; + /** + * The medication for which this is an indication. + */ + subject?: Reference[]|undefined; + /** + * Information about the use of the medicinal product in relation to other therapies as part of the indication. + */ + therapeuticIndication?: Reference[]|undefined; +} +/** + * Information about the use of the medicinal product in relation to other therapies described as part of the indication. + */ +export interface MedicinalProductIndicationOtherTherapy extends BackboneElement { + /** + * Reference to a specific medication (active substance, medicinal product or class of products) as part of an indication or contraindication. + */ + medicationCodeableConcept?: CodeableConcept|undefined; + /** + * Reference to a specific medication (active substance, medicinal product or class of products) as part of an indication or contraindication. + */ + medicationReference?: Reference|undefined; + /** + * The type of relationship between the medicinal product indication or contraindication and another therapy. + */ + therapyRelationshipType: CodeableConcept; +} +/** + * Indication for the Medicinal Product. + */ +export interface MedicinalProductIndication extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'MedicinalProductIndication'; + /** + * Comorbidity (concurrent condition) or co-infection as part of the indication. + */ + comorbidity?: CodeableConcept[]|undefined; + /** + * The status of the disease or symptom for which the indication applies. + */ + diseaseStatus?: CodeableConcept|undefined; + /** + * The disease, symptom or procedure that is the indication for treatment. + */ + diseaseSymptomProcedure?: CodeableConcept|undefined; + /** + * Timing or duration information as part of the indication. + */ + duration?: Quantity|undefined; + /** + * The intended effect, aim or strategy to be achieved by the indication. + */ + intendedEffect?: CodeableConcept|undefined; + /** + * Information about the use of the medicinal product in relation to other therapies described as part of the indication. + */ + otherTherapy?: MedicinalProductIndicationOtherTherapy[]|undefined; + /** + * The population group to which this applies. + */ + population?: Population[]|undefined; + /** + * The medication for which this is an indication. + */ + subject?: Reference[]|undefined; + /** + * Describe the undesirable effects of the medicinal product. + */ + undesirableEffect?: Reference[]|undefined; +} +/** + * Strength expressed in terms of a reference substance. + */ +export interface MedicinalProductIngredientSpecifiedSubstanceStrengthReferenceStrength extends BackboneElement { + /** + * The country or countries for which the strength range applies. + */ + country?: CodeableConcept[]|undefined; + /** + * For when strength is measured at a particular point or distance. + */ + measurementPoint?: string|undefined; + _measurementPoint?: Element|undefined; + /** + * Strength expressed in terms of a reference substance. + */ + strength: Ratio; + /** + * Strength expressed in terms of a reference substance. + */ + strengthLowLimit?: Ratio|undefined; + /** + * Relevant reference substance. + */ + substance?: CodeableConcept|undefined; +} +/** + * Quantity of the substance or specified substance present in the manufactured item or pharmaceutical product. + */ +export interface MedicinalProductIngredientSpecifiedSubstanceStrength extends BackboneElement { + /** + * The strength per unitary volume (or mass). + */ + concentration?: Ratio|undefined; + /** + * A lower limit for the strength per unitary volume (or mass), for when there is a range. The concentration attribute then becomes the upper limit. + */ + concentrationLowLimit?: Ratio|undefined; + /** + * The country or countries for which the strength range applies. + */ + country?: CodeableConcept[]|undefined; + /** + * For when strength is measured at a particular point or distance. + */ + measurementPoint?: string|undefined; + _measurementPoint?: Element|undefined; + /** + * The quantity of substance in the unit of presentation, or in the volume (or mass) of the single pharmaceutical product or manufactured item. + */ + presentation: Ratio; + /** + * A lower limit for the quantity of substance in the unit of presentation. For use when there is a range of strengths, this is the lower limit, with the presentation attribute becoming the upper limit. + */ + presentationLowLimit?: Ratio|undefined; + /** + * Strength expressed in terms of a reference substance. + */ + referenceStrength?: MedicinalProductIngredientSpecifiedSubstanceStrengthReferenceStrength[]|undefined; +} +/** + * A specified substance that comprises this ingredient. + */ +export interface MedicinalProductIngredientSpecifiedSubstance extends BackboneElement { + /** + * The specified substance. + */ + code: CodeableConcept; + /** + * Confidentiality level of the specified substance as the ingredient. + */ + confidentiality?: CodeableConcept|undefined; + /** + * The group of specified substance, e.g. group 1 to 4. + */ + group: CodeableConcept; + /** + * Quantity of the substance or specified substance present in the manufactured item or pharmaceutical product. + */ + strength?: MedicinalProductIngredientSpecifiedSubstanceStrength[]|undefined; +} +/** + * The ingredient substance. + */ +export interface MedicinalProductIngredientSubstance extends BackboneElement { + /** + * The ingredient substance. + */ + code: CodeableConcept; + /** + * Quantity of the substance or specified substance present in the manufactured item or pharmaceutical product. + */ + strength?: MedicinalProductIngredientSpecifiedSubstanceStrength[]|undefined; +} +/** + * An ingredient of a manufactured item or pharmaceutical product. + */ +export interface MedicinalProductIngredient extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'MedicinalProductIngredient'; + /** + * If the ingredient is a known or suspected allergen. + */ + allergenicIndicator?: boolean|undefined; + _allergenicIndicator?: Element|undefined; + /** + * The identifier(s) of this Ingredient that are assigned by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate. + */ + identifier?: Identifier|undefined; + /** + * Manufacturer of this Ingredient. + */ + manufacturer?: Reference[]|undefined; + /** + * Ingredient role e.g. Active ingredient, excipient. + */ + role: CodeableConcept; + /** + * A specified substance that comprises this ingredient. + */ + specifiedSubstance?: MedicinalProductIngredientSpecifiedSubstance[]|undefined; + /** + * The ingredient substance. + */ + substance?: MedicinalProductIngredientSubstance|undefined; +} +/** + * The specific medication, food or laboratory test that interacts. + */ +export interface MedicinalProductInteractionInteractant extends BackboneElement { + /** + * The specific medication, food or laboratory test that interacts. + */ + itemReference?: Reference|undefined; + /** + * The specific medication, food or laboratory test that interacts. + */ + itemCodeableConcept?: CodeableConcept|undefined; +} +/** + * The interactions of the medicinal product with other medicinal products, or other forms of interactions. + */ +export interface MedicinalProductInteraction extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'MedicinalProductInteraction'; + /** + * The interaction described. + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * The effect of the interaction, for example "reduced gastric absorption of primary medication". + */ + effect?: CodeableConcept|undefined; + /** + * The incidence of the interaction, e.g. theoretical, observed. + */ + incidence?: CodeableConcept|undefined; + /** + * The specific medication, food or laboratory test that interacts. + */ + interactant?: MedicinalProductInteractionInteractant[]|undefined; + /** + * Actions for managing the interaction. + */ + management?: CodeableConcept|undefined; + /** + * The medication for which this is a described interaction. + */ + subject?: Reference[]|undefined; + /** + * The type of the interaction e.g. drug-drug interaction, drug-food interaction, drug-lab test interaction. + */ + type?: CodeableConcept|undefined; +} +/** + * The manufactured item as contained in the packaged medicinal product. + */ +export interface MedicinalProductManufactured extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'MedicinalProductManufactured'; + /** + * Ingredient. + */ + ingredient?: Reference[]|undefined; + /** + * Dose form as manufactured and before any transformation into the pharmaceutical product. + */ + manufacturedDoseForm: CodeableConcept; + /** + * Manufacturer of the item (Note that this should be named "manufacturer" but it currently causes technical issues). + */ + manufacturer?: Reference[]|undefined; + /** + * Other codeable characteristics. + */ + otherCharacteristics?: CodeableConcept[]|undefined; + /** + * Dimensions, color etc. + */ + physicalCharacteristics?: ProdCharacteristic|undefined; + /** + * The quantity or "count number" of the manufactured item. + */ + quantity: Quantity; + /** + * The “real world” units in which the quantity of the manufactured item is described. + */ + unitOfPresentation?: CodeableConcept|undefined; +} +/** + * Batch numbering. + */ +export interface MedicinalProductPackagedBatchIdentifier extends BackboneElement { + /** + * A number appearing on the immediate packaging (and not the outer packaging). + */ + immediatePackaging?: Identifier|undefined; + /** + * A number appearing on the outer packaging of a specific batch. + */ + outerPackaging: Identifier; +} +/** + * A packaging item, as a contained for medicine, possibly with other packaging items within. + */ +export interface MedicinalProductPackagedPackageItem extends BackboneElement { + /** + * A possible alternate material for the packaging. + */ + alternateMaterial?: CodeableConcept[]|undefined; + /** + * A device accompanying a medicinal product. + */ + device?: Reference[]|undefined; + /** + * Including possibly Data Carrier Identifier. + */ + identifier?: Identifier[]|undefined; + /** + * The manufactured item as contained in the packaged medicinal product. + */ + manufacturedItem?: Reference[]|undefined; + /** + * Manufacturer of this Package Item. + */ + manufacturer?: Reference[]|undefined; + /** + * Material type of the package item. + */ + material?: CodeableConcept[]|undefined; + /** + * Other codeable characteristics. + */ + otherCharacteristics?: CodeableConcept[]|undefined; + /** + * Allows containers within containers. + */ + packageItem?: MedicinalProductPackagedPackageItem[]|undefined; + /** + * Dimensions, color etc. + */ + physicalCharacteristics?: ProdCharacteristic|undefined; + /** + * The quantity of this package in the medicinal product, at the current level of packaging. The outermost is always 1. + */ + quantity: Quantity; + /** + * Shelf Life and storage information. + */ + shelfLifeStorage?: ProductShelfLife[]|undefined; + /** + * The physical type of the container of the medicine. + */ + type: CodeableConcept; +} +/** + * A medicinal product in a container or package. + */ +export interface MedicinalProductPackaged extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'MedicinalProductPackaged'; + /** + * Batch numbering. + */ + batchIdentifier?: MedicinalProductPackagedBatchIdentifier[]|undefined; + /** + * Textual description. + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * Unique identifier. + */ + identifier?: Identifier[]|undefined; + /** + * The legal status of supply of the medicinal product as classified by the regulator. + */ + legalStatusOfSupply?: CodeableConcept|undefined; + /** + * Manufacturer of this Package Item. + */ + manufacturer?: Reference[]|undefined; + /** + * Manufacturer of this Package Item. + */ + marketingAuthorization?: Reference|undefined; + /** + * Marketing information. + */ + marketingStatus?: MarketingStatus[]|undefined; + /** + * A packaging item, as a contained for medicine, possibly with other packaging items within. + */ + packageItem: MedicinalProductPackagedPackageItem[]; + /** + * The product with this is a pack for. + */ + subject?: Reference[]|undefined; +} +/** + * Characteristics e.g. a products onset of action. + */ +export interface MedicinalProductPharmaceuticalCharacteristics extends BackboneElement { + /** + * A coded characteristic. + */ + code: CodeableConcept; + /** + * The status of characteristic e.g. assigned or pending. + */ + status?: CodeableConcept|undefined; +} +/** + * A species specific time during which consumption of animal product is not appropriate. + */ +export interface MedicinalProductPharmaceuticalRouteOfAdministrationTargetSpeciesWithdrawalPeriod extends BackboneElement { + /** + * Extra information about the withdrawal period. + */ + supportingInformation?: string|undefined; + _supportingInformation?: Element|undefined; + /** + * Coded expression for the type of tissue for which the withdrawal period applues, e.g. meat, milk. + */ + tissue: CodeableConcept; + /** + * A value for the time. + */ + value: Quantity; +} +/** + * A species for which this route applies. + */ +export interface MedicinalProductPharmaceuticalRouteOfAdministrationTargetSpecies extends BackboneElement { + /** + * Coded expression for the species. + */ + code: CodeableConcept; + /** + * A species specific time during which consumption of animal product is not appropriate. + */ + withdrawalPeriod?: MedicinalProductPharmaceuticalRouteOfAdministrationTargetSpeciesWithdrawalPeriod[]|undefined; +} +/** + * The path by which the pharmaceutical product is taken into or makes contact with the body. + */ +export interface MedicinalProductPharmaceuticalRouteOfAdministration extends BackboneElement { + /** + * Coded expression for the route. + */ + code: CodeableConcept; + /** + * The first dose (dose quantity) administered in humans can be specified, for a product under investigation, using a numerical value and its unit of measurement. + */ + firstDose?: Quantity|undefined; + /** + * The maximum dose per day (maximum dose quantity to be administered in any one 24-h period) that can be administered as per the protocol referenced in the clinical trial authorisation. + */ + maxDosePerDay?: Quantity|undefined; + /** + * The maximum dose per treatment period that can be administered as per the protocol referenced in the clinical trial authorisation. + */ + maxDosePerTreatmentPeriod?: Ratio|undefined; + /** + * The maximum single dose that can be administered as per the protocol of a clinical trial can be specified using a numerical value and its unit of measurement. + */ + maxSingleDose?: Quantity|undefined; + /** + * The maximum treatment period during which an Investigational Medicinal Product can be administered as per the protocol referenced in the clinical trial authorisation. + */ + maxTreatmentPeriod?: Duration|undefined; + /** + * A species for which this route applies. + */ + targetSpecies?: MedicinalProductPharmaceuticalRouteOfAdministrationTargetSpecies[]|undefined; +} +/** + * A pharmaceutical product described in terms of its composition and dose form. + */ +export interface MedicinalProductPharmaceutical extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'MedicinalProductPharmaceutical'; + /** + * The administrable dose form, after necessary reconstitution. + */ + administrableDoseForm: CodeableConcept; + /** + * Characteristics e.g. a products onset of action. + */ + characteristics?: MedicinalProductPharmaceuticalCharacteristics[]|undefined; + /** + * Accompanying device. + */ + device?: Reference[]|undefined; + /** + * An identifier for the pharmaceutical medicinal product. + */ + identifier?: Identifier[]|undefined; + /** + * Ingredient. + */ + ingredient?: Reference[]|undefined; + /** + * The path by which the pharmaceutical product is taken into or makes contact with the body. + */ + routeOfAdministration: MedicinalProductPharmaceuticalRouteOfAdministration[]; + /** + * Todo. + */ + unitOfPresentation?: CodeableConcept|undefined; +} +/** + * Describe the undesirable effects of the medicinal product. + */ +export interface MedicinalProductUndesirableEffect extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'MedicinalProductUndesirableEffect'; + /** + * Classification of the effect. + */ + classification?: CodeableConcept|undefined; + /** + * The frequency of occurrence of the effect. + */ + frequencyOfOccurrence?: CodeableConcept|undefined; + /** + * The population group to which this applies. + */ + population?: Population[]|undefined; + /** + * The medication for which this is an indication. + */ + subject?: Reference[]|undefined; + /** + * The symptom, condition or undesirable effect. + */ + symptomConditionEffect?: CodeableConcept|undefined; +} +/** + * Identifies the resource (or resources) that are being addressed by the event. For example, the Encounter for an admit message or two Account records for a merge. + */ +export interface MessageDefinitionFocus extends BackboneElement { + /** + * Multiple focuses addressing different resources may occasionally occur. E.g. to link or unlink a resource from a particular account or encounter, etc. + */ + code: string; + _code?: Element|undefined; + /** + * Identifies the maximum number of resources of this type that must be pointed to by a message in order for it to be valid against this MessageDefinition. + */ + max?: string|undefined; + _max?: Element|undefined; + /** + * Identifies the minimum number of resources of this type that must be pointed to by a message in order for it to be valid against this MessageDefinition. + */ + min: number; + /** + * This should be present for most message definitions. However, if the message focus is only a single resource and there is no need to include referenced resources or otherwise enforce the presence of particular elements, it can be omitted. + */ + profile?: string|undefined; + _profile?: Element|undefined; +} +/** + * This indicates an application level response to "close" a transaction implicit in a particular request message. To define a complete workflow scenario, look to the [[PlanDefinition]] resource which allows the definition of complex orchestrations, conditionality, etc. + */ +export interface MessageDefinitionAllowedResponse extends BackboneElement { + /** + * A reference to the message definition that must be adhered to by this supported response. + */ + message: string; + _message?: Element|undefined; + /** + * Provides a description of the circumstances in which this response should be used (as opposed to one of the alternative responses). + */ + situation?: string|undefined; + _situation?: Element|undefined; +} +/** + * Defines the characteristics of a message that can be shared between systems, including the type of event that initiates the message, the content to be transmitted and what response(s), if any, are permitted. + */ +export interface MessageDefinition extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'MessageDefinition'; + /** + * This indicates an application level response to "close" a transaction implicit in a particular request message. To define a complete workflow scenario, look to the [[PlanDefinition]] resource which allows the definition of complex orchestrations, conditionality, etc. + */ + allowedResponse?: MessageDefinitionAllowedResponse[]|undefined; + /** + * The MessageDefinition that is the basis for the contents of this resource. + */ + base?: string|undefined; + _base?: Element|undefined; + /** + * The impact of the content of the message. + */ + category?: ('consequence'|'currency'|'notification')|undefined; + _category?: Element|undefined; + /** + * May be a web site, an email address, a telephone number, etc. + */ + contact?: ContactDetail[]|undefined; + /** + * A copyright statement relating to the message definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the message definition. + */ + copyright?: string|undefined; + _copyright?: Element|undefined; + /** + * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the message definition. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. + */ + date: string; + _date?: Element|undefined; + /** + * This description can be used to capture details such as why the message definition was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the message definition as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the message definition is presumed to be the predominant language in the place the message definition was created). + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * Event code or link to the EventDefinition. + */ + eventCoding?: Coding|undefined; + /** + * Event code or link to the EventDefinition. + */ + eventUri?: string|undefined; + _eventUri?: Element|undefined; + /** + * Allows filtering of message definitions that are appropriate for use versus not. + */ + experimental?: boolean|undefined; + _experimental?: Element|undefined; + /** + * Identifies the resource (or resources) that are being addressed by the event. For example, the Encounter for an admit message or two Account records for a merge. + */ + focus?: MessageDefinitionFocus[]|undefined; + /** + * Canonical reference to a GraphDefinition. If a URL is provided, it is the canonical reference to a [GraphDefinition](graphdefinition.html) that it controls what resources are to be added to the bundle when building the document. The GraphDefinition can also specify profiles that apply to the various resources. + */ + graph?: string[]|undefined; + _graph?: Element[]|undefined; + /** + * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this message definition outside of FHIR, where it is not possible to use the logical URI. + */ + identifier?: Identifier[]|undefined; + /** + * It may be possible for the message definition to be used in jurisdictions other than those for which it was originally designed or intended. + */ + jurisdiction?: CodeableConcept[]|undefined; + /** + * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. + */ + name?: string|undefined; + _name?: Element|undefined; + /** + * It should be possible to use MessageDefinition to describe a message to be used by certain steps in a particular protocol as part of a PlanDefinition or ActivityDefinition. + */ + parent?: string[]|undefined; + _parent?: Element[]|undefined; + /** + * Usually an organization but may be an individual. The publisher (or steward) of the message definition is the organization or individual primarily responsible for the maintenance and upkeep of the message definition. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the message definition. This item SHOULD be populated unless the information is available from context. + */ + publisher?: string|undefined; + _publisher?: Element|undefined; + /** + * This element does not describe the usage of the message definition. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this message definition. + */ + purpose?: string|undefined; + _purpose?: Element|undefined; + /** + * A MessageDefinition that is superseded by this definition. + */ + replaces?: string[]|undefined; + _replaces?: Element[]|undefined; + /** + * This enables the capability currently available through MSH-16 (Application Level acknowledgement) in HL7 Version 2 to declare at a message instance level whether a response is required or only upon error or success, or never. + */ + responseRequired?: ('always'|'on-error'|'never'|'on-success')|undefined; + _responseRequired?: Element|undefined; + /** + * Allows filtering of message definitions that are appropriate for use versus not. + */ + status: ('draft'|'active'|'retired'|'unknown'); + _status?: Element|undefined; + /** + * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. + */ + title?: string|undefined; + _title?: Element|undefined; + /** + * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. + * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). + * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. + */ + url?: string|undefined; + _url?: Element|undefined; + /** + * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. + */ + useContext?: UsageContext[]|undefined; + /** + * There may be different message definition instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the message definition with the format [url]|[version]. + */ + version?: string|undefined; + _version?: Element|undefined; +} +/** + * There SHOULD be at least one destination, but in some circumstances, the source system is unaware of any particular destination system. + */ +export interface MessageHeaderDestination extends BackboneElement { + /** + * The id may be a non-resolvable URI for systems that do not use standard network-based addresses. + */ + endpoint: string; + _endpoint?: Element|undefined; + /** + * Human-readable name for the target system. + */ + name?: string|undefined; + _name?: Element|undefined; + /** + * Allows data conveyed by a message to be addressed to a particular person or department when routing to a specific application isn't sufficient. + */ + receiver?: Reference|undefined; + /** + * Identifies the target end system in situations where the initial message transmission is to an intermediary system. + */ + target?: Reference|undefined; +} +/** + * The source application from which this message originated. + */ +export interface MessageHeaderSource extends BackboneElement { + /** + * An e-mail, phone, website or other contact point to use to resolve issues with message communications. + */ + contact?: ContactPoint|undefined; + /** + * The id may be a non-resolvable URI for systems that do not use standard network-based addresses. + */ + endpoint: string; + _endpoint?: Element|undefined; + /** + * Human-readable name for the source system. + */ + name?: string|undefined; + _name?: Element|undefined; + /** + * May include configuration or other information useful in debugging. + */ + software?: string|undefined; + _software?: Element|undefined; + /** + * Can convey versions of multiple systems in situations where a message passes through multiple hands. + */ + version?: string|undefined; + _version?: Element|undefined; +} +/** + * Information about the message that this message is a response to. Only present if this message is a response. + */ +export interface MessageHeaderResponse extends BackboneElement { + /** + * This is a generic response to the request message. Specific data for the response will be found in MessageHeader.focus. + */ + code: ('ok'|'transient-error'|'fatal-error'); + _code?: Element|undefined; + /** + * This SHALL be contained in the bundle. If any of the issues are errors, the response code SHALL be an error. + */ + details?: Reference|undefined; + /** + * The MessageHeader.id of the message to which this message is a response. + */ + identifier: string; + _identifier?: Element|undefined; +} +/** + * The header for a message exchange that is either requesting or responding to an action. The reference(s) that are the subject of the action as well as other information related to the action are typically transmitted in a bundle in which the MessageHeader resource instance is the first resource in the bundle. + */ +export interface MessageHeader extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'MessageHeader'; + /** + * Usually only for the request but can be used in a response. + */ + author?: Reference|undefined; + /** + * Permanent link to the MessageDefinition for this message. + */ + definition?: string|undefined; + _definition?: Element|undefined; + /** + * There SHOULD be at least one destination, but in some circumstances, the source system is unaware of any particular destination system. + */ + destination?: MessageHeaderDestination[]|undefined; + /** + * Usually only for the request but can be used in a response. + */ + enterer?: Reference|undefined; + /** + * The time of the event will be found in the focus resource. The time of the message will be found in [Bundle.timestamp](bundle-definitions.html#Bundle.timestamp). + */ + eventCoding?: Coding|undefined; + /** + * The time of the event will be found in the focus resource. The time of the message will be found in [Bundle.timestamp](bundle-definitions.html#Bundle.timestamp). + */ + eventUri?: string|undefined; + _eventUri?: Element|undefined; + /** + * The data is defined where the transaction type is defined. The transaction data is always included in the bundle that is the full message. Only the root resource is specified. The resources it references should be contained in the bundle but are not also listed here. Multiple repetitions are allowed to cater for merges and other situations with multiple focal targets. + */ + focus?: Reference[]|undefined; + /** + * Coded indication of the cause for the event - indicates a reason for the occurrence of the event that is a focus of this message. + */ + reason?: CodeableConcept|undefined; + /** + * Information about the message that this message is a response to. Only present if this message is a response. + */ + response?: MessageHeaderResponse|undefined; + /** + * Usually only for the request but can be used in a response. + */ + responsible?: Reference|undefined; + /** + * Use case is for where a (trusted) sending system is responsible for multiple organizations, and therefore cannot differentiate based on source endpoint / authentication alone. + */ + sender?: Reference|undefined; + /** + * The source application from which this message originated. + */ + source: MessageHeaderSource; +} +/** + * A sequence that is used as a reference to describe variants that are present in a sequence analyzed. + */ +export interface MolecularSequenceReferenceSeq extends BackboneElement { + /** + * Structural unit composed of a nucleic acid molecule which controls its own replication through the interaction of specific proteins at one or more origins of replication ([SO:0000340](http://www.sequenceontology.org/browser/current_svn/term/SO:0000340)). + */ + chromosome?: CodeableConcept|undefined; + /** + * The Genome Build used for reference, following GRCh build versions e.g. 'GRCh 37'. Version number must be included if a versioned release of a primary build was used. + */ + genomeBuild?: string|undefined; + _genomeBuild?: Element|undefined; + /** + * A relative reference to a DNA strand based on gene orientation. The strand that contains the open reading frame of the gene is the "sense" strand, and the opposite complementary strand is the "antisense" strand. + */ + orientation?: ('sense'|'antisense')|undefined; + _orientation?: Element|undefined; + /** + * Reference identifier of reference sequence submitted to NCBI. It must match the type in the MolecularSequence.type field. For example, the prefix, “NG_” identifies reference sequence for genes, “NM_” for messenger RNA transcripts, and “NP_” for amino acid sequences. + */ + referenceSeqId?: CodeableConcept|undefined; + /** + * A pointer to another MolecularSequence entity as reference sequence. + */ + referenceSeqPointer?: Reference|undefined; + /** + * A string like "ACGT". + */ + referenceSeqString?: string|undefined; + _referenceSeqString?: Element|undefined; + /** + * An absolute reference to a strand. The Watson strand is the strand whose 5'-end is on the short arm of the chromosome, and the Crick strand as the one whose 5'-end is on the long arm. + */ + strand?: ('watson'|'crick')|undefined; + _strand?: Element|undefined; + /** + * End position of the window on the reference sequence. If the coordinate system is 0-based then end is exclusive and does not include the last position. If the coordinate system is 1-base, then end is inclusive and includes the last position. + */ + windowEnd?: number|undefined; + /** + * Start position of the window on the reference sequence. If the coordinate system is either 0-based or 1-based, then start position is inclusive. + */ + windowStart?: number|undefined; +} +/** + * The definition of variant here originates from Sequence ontology ([variant_of](http://www.sequenceontology.org/browser/current_svn/term/variant_of)). This element can represent amino acid or nucleic sequence change(including insertion,deletion,SNP,etc.) It can represent some complex mutation or segment variation with the assist of CIGAR string. + */ +export interface MolecularSequenceVariant extends BackboneElement { + /** + * Extended CIGAR string for aligning the sequence with reference bases. See detailed documentation [here](http://support.illumina.com/help/SequencingAnalysisWorkflow/Content/Vault/Informatics/Sequencing_Analysis/CASAVA/swSEQ_mCA_ExtendedCIGARFormat.htm). + */ + cigar?: string|undefined; + _cigar?: Element|undefined; + /** + * End position of the variant on the reference sequence. If the coordinate system is 0-based then end is exclusive and does not include the last position. If the coordinate system is 1-base, then end is inclusive and includes the last position. + */ + end?: number|undefined; + /** + * An allele is one of a set of coexisting sequence variants of a gene ([SO:0001023](http://www.sequenceontology.org/browser/current_svn/term/SO:0001023)). Nucleotide(s)/amino acids from start position of sequence to stop position of sequence on the positive (+) strand of the observed sequence. When the sequence type is DNA, it should be the sequence on the positive (+) strand. This will lay in the range between variant.start and variant.end. + */ + observedAllele?: string|undefined; + _observedAllele?: Element|undefined; + /** + * An allele is one of a set of coexisting sequence variants of a gene ([SO:0001023](http://www.sequenceontology.org/browser/current_svn/term/SO:0001023)). Nucleotide(s)/amino acids from start position of sequence to stop position of sequence on the positive (+) strand of the reference sequence. When the sequence type is DNA, it should be the sequence on the positive (+) strand. This will lay in the range between variant.start and variant.end. + */ + referenceAllele?: string|undefined; + _referenceAllele?: Element|undefined; + /** + * Start position of the variant on the reference sequence. If the coordinate system is either 0-based or 1-based, then start position is inclusive. + */ + start?: number|undefined; + /** + * A pointer to an Observation containing variant information. + */ + variantPointer?: Reference|undefined; +} +/** + * Receiver Operator Characteristic (ROC) Curve to give sensitivity/specificity tradeoff. + */ +export interface MolecularSequenceQualityRoc extends BackboneElement { + /** + * Calculated fScore if the GQ score threshold was set to "score" field value. + */ + fMeasure?: number[]|undefined; + /** + * The number of false negatives if the GQ score threshold was set to "score" field value. + */ + numFN?: number[]|undefined; + /** + * The number of false positives if the GQ score threshold was set to "score" field value. + */ + numFP?: number[]|undefined; + /** + * The number of true positives if the GQ score threshold was set to "score" field value. + */ + numTP?: number[]|undefined; + /** + * Calculated precision if the GQ score threshold was set to "score" field value. + */ + precision?: number[]|undefined; + /** + * Invidual data point representing the GQ (genotype quality) score threshold. + */ + score?: number[]|undefined; + /** + * Calculated sensitivity if the GQ score threshold was set to "score" field value. + */ + sensitivity?: number[]|undefined; +} +/** + * An experimental feature attribute that defines the quality of the feature in a quantitative way, such as a phred quality score ([SO:0001686](http://www.sequenceontology.org/browser/current_svn/term/SO:0001686)). + */ +export interface MolecularSequenceQuality extends BackboneElement { + /** + * End position of the sequence. If the coordinate system is 0-based then end is exclusive and does not include the last position. If the coordinate system is 1-base, then end is inclusive and includes the last position. + */ + end?: number|undefined; + /** + * Harmonic mean of Recall and Precision, computed as: 2 * precision * recall / (precision + recall). + */ + fScore?: number|undefined; + /** + * The number of false positives where the non-REF alleles in the Truth and Query Call Sets match (i.e. cases where the truth is 1/1 and the query is 0/1 or similar). + */ + gtFP?: number|undefined; + /** + * Which method is used to get sequence quality. + */ + method?: CodeableConcept|undefined; + /** + * QUERY.TP / (QUERY.TP + QUERY.FP). + */ + precision?: number|undefined; + /** + * False positives, i.e. the number of sites in the Query Call Set for which there is no path through the Truth Call Set that is consistent with this site. Sites with correct variant but incorrect genotype are counted here. + */ + queryFP?: number|undefined; + /** + * True positives, from the perspective of the query data, i.e. the number of sites in the Query Call Set for which there are paths through the Truth Call Set that are consistent with all of the alleles at this site, and for which there is an accurate genotype call for the event. + */ + queryTP?: number|undefined; + /** + * TRUTH.TP / (TRUTH.TP + TRUTH.FN). + */ + recall?: number|undefined; + /** + * Receiver Operator Characteristic (ROC) Curve to give sensitivity/specificity tradeoff. + */ + roc?: MolecularSequenceQualityRoc|undefined; + /** + * The score of an experimentally derived feature such as a p-value ([SO:0001685](http://www.sequenceontology.org/browser/current_svn/term/SO:0001685)). + */ + score?: Quantity|undefined; + /** + * Gold standard sequence used for comparing against. + */ + standardSequence?: CodeableConcept|undefined; + /** + * Start position of the sequence. If the coordinate system is either 0-based or 1-based, then start position is inclusive. + */ + start?: number|undefined; + /** + * False negatives, i.e. the number of sites in the Truth Call Set for which there is no path through the Query Call Set that is consistent with all of the alleles at this site, or sites for which there is an inaccurate genotype call for the event. Sites with correct variant but incorrect genotype are counted here. + */ + truthFN?: number|undefined; + /** + * True positives, from the perspective of the truth data, i.e. the number of sites in the Truth Call Set for which there are paths through the Query Call Set that are consistent with all of the alleles at this site, and for which there is an accurate genotype call for the event. + */ + truthTP?: number|undefined; + /** + * INDEL / SNP / Undefined variant. + */ + type: ('indel'|'snp'|'unknown'); + _type?: Element|undefined; +} +/** + * Configurations of the external repository. The repository shall store target's observedSeq or records related with target's observedSeq. + */ +export interface MolecularSequenceRepository extends BackboneElement { + /** + * Id of the variant in this external repository. The server will understand how to use this id to call for more info about datasets in external repository. + */ + datasetId?: string|undefined; + _datasetId?: Element|undefined; + /** + * URI of an external repository which contains further details about the genetics data. + */ + name?: string|undefined; + _name?: Element|undefined; + /** + * Id of the read in this external repository. + */ + readsetId?: string|undefined; + _readsetId?: Element|undefined; + /** + * Click and see / RESTful API / Need login to see / RESTful API with authentication / Other ways to see resource. + */ + type: ('directlink'|'openapi'|'login'|'oauth'|'other'); + _type?: Element|undefined; + /** + * URI of an external repository which contains further details about the genetics data. + */ + url?: string|undefined; + _url?: Element|undefined; + /** + * Id of the variantset in this external repository. The server will understand how to use this id to call for more info about variantsets in external repository. + */ + variantsetId?: string|undefined; + _variantsetId?: Element|undefined; +} +/** + * Structural variant outer. + */ +export interface MolecularSequenceStructureVariantOuter extends BackboneElement { + /** + * Structural variant outer end. If the coordinate system is 0-based then end is exclusive and does not include the last position. If the coordinate system is 1-base, then end is inclusive and includes the last position. + */ + end?: number|undefined; + /** + * Structural variant outer start. If the coordinate system is either 0-based or 1-based, then start position is inclusive. + */ + start?: number|undefined; +} +/** + * Structural variant inner. + */ +export interface MolecularSequenceStructureVariantInner extends BackboneElement { + /** + * Structural variant inner end. If the coordinate system is 0-based then end is exclusive and does not include the last position. If the coordinate system is 1-base, then end is inclusive and includes the last position. + */ + end?: number|undefined; + /** + * Structural variant inner start. If the coordinate system is either 0-based or 1-based, then start position is inclusive. + */ + start?: number|undefined; +} +/** + * Information about chromosome structure variation. + */ +export interface MolecularSequenceStructureVariant extends BackboneElement { + /** + * Used to indicate if the outer and inner start-end values have the same meaning. + */ + exact?: boolean|undefined; + _exact?: Element|undefined; + /** + * Structural variant inner. + */ + inner?: MolecularSequenceStructureVariantInner|undefined; + /** + * Length of the variant chromosome. + */ + length?: number|undefined; + /** + * Structural variant outer. + */ + outer?: MolecularSequenceStructureVariantOuter|undefined; + /** + * Information about chromosome structure variation DNA change type. + */ + variantType?: CodeableConcept|undefined; +} +/** + * Raw data describing a biological sequence. + */ +export interface MolecularSequence extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'MolecularSequence'; + /** + * Whether the sequence is numbered starting at 0 (0-based numbering or coordinates, inclusive start, exclusive end) or starting at 1 (1-based numbering, inclusive start and inclusive end). + */ + coordinateSystem: number; + /** + * The method for sequencing, for example, chip information. + */ + device?: Reference|undefined; + /** + * A unique identifier for this particular sequence instance. This is a FHIR-defined id. + */ + identifier?: Identifier[]|undefined; + /** + * Sequence that was observed. It is the result marked by referenceSeq along with variant records on referenceSeq. This shall start from referenceSeq.windowStart and end by referenceSeq.windowEnd. + */ + observedSeq?: string|undefined; + _observedSeq?: Element|undefined; + /** + * The patient whose sequencing results are described by this resource. + */ + patient?: Reference|undefined; + /** + * The organization or lab that should be responsible for this result. + */ + performer?: Reference|undefined; + /** + * Pointer to next atomic sequence which at most contains one variant. + */ + pointer?: Reference[]|undefined; + /** + * An experimental feature attribute that defines the quality of the feature in a quantitative way, such as a phred quality score ([SO:0001686](http://www.sequenceontology.org/browser/current_svn/term/SO:0001686)). + */ + quality?: MolecularSequenceQuality[]|undefined; + /** + * The number of copies of the sequence of interest. (RNASeq). + */ + quantity?: Quantity|undefined; + /** + * Coverage (read depth or depth) is the average number of reads representing a given nucleotide in the reconstructed sequence. + */ + readCoverage?: number|undefined; + /** + * A sequence that is used as a reference to describe variants that are present in a sequence analyzed. + */ + referenceSeq?: MolecularSequenceReferenceSeq|undefined; + /** + * Configurations of the external repository. The repository shall store target's observedSeq or records related with target's observedSeq. + */ + repository?: MolecularSequenceRepository[]|undefined; + /** + * Specimen used for sequencing. + */ + specimen?: Reference|undefined; + /** + * Information about chromosome structure variation. + */ + structureVariant?: MolecularSequenceStructureVariant[]|undefined; + /** + * Amino Acid Sequence/ DNA Sequence / RNA Sequence. + */ + type?: ('aa'|'dna'|'rna')|undefined; + _type?: Element|undefined; + /** + * The definition of variant here originates from Sequence ontology ([variant_of](http://www.sequenceontology.org/browser/current_svn/term/variant_of)). This element can represent amino acid or nucleic sequence change(including insertion,deletion,SNP,etc.) It can represent some complex mutation or segment variation with the assist of CIGAR string. + */ + variant?: MolecularSequenceVariant[]|undefined; +} +/** + * Multiple identifiers may exist, either due to duplicate registration, regional rules, needs of different communication technologies, etc. + */ +export interface NamingSystemUniqueId extends BackboneElement { + /** + * e.g. "must be used in Germany" or "was initially published in error with this value". + */ + comment?: string|undefined; + _comment?: Element|undefined; + /** + * Within a registry, a given identifier should only be "active" for a single namespace at a time. (Ideally, an identifier should only ever be associated with a single namespace across all time). + */ + period?: Period|undefined; + /** + * Indicates whether this identifier is the "preferred" identifier of this type. + */ + preferred?: boolean|undefined; + _preferred?: Element|undefined; + /** + * Different identifier types may be used in different types of communications (OIDs for v3, URIs for FHIR, etc.). Other includes RUIDs from v3, standard v2 code name strings, etc. + */ + type: ('oid'|'uuid'|'uri'|'other'); + _type?: Element|undefined; + /** + * If the value is a URI intended for use as FHIR system identifier, the URI should not contain "\" or "?" or "," since this makes escaping very difficult. + */ + value: string; + _value?: Element|undefined; +} +/** + * A curated namespace that issues unique symbols within that namespace for the identification of concepts, people, devices, etc. Represents a "System" used within the Identifier and Coding data types. + */ +export interface NamingSystem extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'NamingSystem'; + /** + * May be a web site, an email address, a telephone number, etc. + */ + contact?: ContactDetail[]|undefined; + /** + * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the naming system. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. + */ + date: string; + _date?: Element|undefined; + /** + * This description can be used to capture details such as why the naming system was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the naming system as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the naming system is presumed to be the predominant language in the place the naming system was created). + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * It may be possible for the naming system to be used in jurisdictions other than those for which it was originally designed or intended. + */ + jurisdiction?: CodeableConcept[]|undefined; + /** + * Indicates the purpose for the naming system - what kinds of things does it make unique? + */ + kind: ('codesystem'|'identifier'|'root'); + _kind?: Element|undefined; + /** + * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly.The"symbolic name" for an OID would be captured as an extension. + */ + name: string; + _name?: Element|undefined; + /** + * Usually an organization but may be an individual. The publisher (or steward) of the naming system is the organization or individual primarily responsible for the maintenance and upkeep of the naming system. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the naming system. This item SHOULD be populated unless the information is available from context. + */ + publisher?: string|undefined; + _publisher?: Element|undefined; + /** + * This is the primary organization. Responsibility for some aspects of a namespace may be delegated. + */ + responsible?: string|undefined; + _responsible?: Element|undefined; + /** + * Allows filtering of naming systems that are appropriate for use versus not. + */ + status: ('draft'|'active'|'retired'|'unknown'); + _status?: Element|undefined; + /** + * This will most commonly be used for identifier namespaces, but categories could potentially be useful for code systems and authorities as well. + */ + type?: CodeableConcept|undefined; + /** + * Multiple identifiers may exist, either due to duplicate registration, regional rules, needs of different communication technologies, etc. + */ + uniqueId: NamingSystemUniqueId[]; + /** + * Provides guidance on the use of the namespace, including the handling of formatting characters, use of upper vs. lower case, etc. + */ + usage?: string|undefined; + _usage?: Element|undefined; + /** + * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. + */ + useContext?: UsageContext[]|undefined; +} +/** + * Class that defines the quantity and type of nutrient modifications (for example carbohydrate, fiber or sodium) required for the oral diet. + */ +export interface NutritionOrderOralDietNutrient extends BackboneElement { + /** + * The quantity of the specified nutrient to include in diet. + */ + amount?: Quantity|undefined; + /** + * The nutrient that is being modified such as carbohydrate or sodium. + */ + modifier?: CodeableConcept|undefined; +} +/** + * Class that describes any texture modifications required for the patient to safely consume various types of solid foods. + */ +export interface NutritionOrderOralDietTexture extends BackboneElement { + /** + * Coupled with the `texture.modifier`; could be (All Foods). + */ + foodType?: CodeableConcept|undefined; + /** + * Coupled with the foodType (Meat). + */ + modifier?: CodeableConcept|undefined; +} +/** + * Diet given orally in contrast to enteral (tube) feeding. + */ +export interface NutritionOrderOralDiet extends BackboneElement { + /** + * The required consistency (e.g. honey-thick, nectar-thick, thin, thickened.) of liquids or fluids served to the patient. + */ + fluidConsistencyType?: CodeableConcept[]|undefined; + /** + * Free text dosage instructions can be used for cases where the instructions are too complex to code. + */ + instruction?: string|undefined; + _instruction?: Element|undefined; + /** + * Class that defines the quantity and type of nutrient modifications (for example carbohydrate, fiber or sodium) required for the oral diet. + */ + nutrient?: NutritionOrderOralDietNutrient[]|undefined; + /** + * The time period and frequency at which the diet should be given. The diet should be given for the combination of all schedules if more than one schedule is present. + */ + schedule?: Timing[]|undefined; + /** + * Class that describes any texture modifications required for the patient to safely consume various types of solid foods. + */ + texture?: NutritionOrderOralDietTexture[]|undefined; + /** + * The kind of diet or dietary restriction such as fiber restricted diet or diabetic diet. + */ + type?: CodeableConcept[]|undefined; +} +/** + * Oral nutritional products given in order to add further nutritional value to the patient's diet. + */ +export interface NutritionOrderSupplement extends BackboneElement { + /** + * Free text dosage instructions can be used for cases where the instructions are too complex to code. + */ + instruction?: string|undefined; + _instruction?: Element|undefined; + /** + * The product or brand name of the nutritional supplement such as "Acme Protein Shake". + */ + productName?: string|undefined; + _productName?: Element|undefined; + /** + * The amount of the nutritional supplement to be given. + */ + quantity?: Quantity|undefined; + /** + * The time period and frequency at which the supplement(s) should be given. The supplement should be given for the combination of all schedules if more than one schedule is present. + */ + schedule?: Timing[]|undefined; + /** + * The kind of nutritional supplement product required such as a high protein or pediatric clear liquid supplement. + */ + type?: CodeableConcept|undefined; +} +/** + * See implementation notes below for further discussion on how to order continuous vs bolus enteral feeding using this resource. + */ +export interface NutritionOrderEnteralFormulaAdministration extends BackboneElement { + /** + * The volume of formula to provide to the patient per the specified administration schedule. + */ + quantity?: Quantity|undefined; + /** + * Ratio is used when the quantity value in the denominator is not "1", otherwise use Quantity. For example, the Ratio datatype is used for "200 mL/4 hrs" versus the Quantity datatype for "50 mL/hr". + */ + rateQuantity?: Quantity|undefined; + /** + * Ratio is used when the quantity value in the denominator is not "1", otherwise use Quantity. For example, the Ratio datatype is used for "200 mL/4 hrs" versus the Quantity datatype for "50 mL/hr". + */ + rateRatio?: Ratio|undefined; + /** + * The time period and frequency at which the enteral formula should be delivered to the patient. + */ + schedule?: Timing|undefined; +} +/** + * Feeding provided through the gastrointestinal tract via a tube, catheter, or stoma that delivers nutrition distal to the oral cavity. + */ +export interface NutritionOrderEnteralFormula extends BackboneElement { + /** + * The product or brand name of the type of modular component to be added to the formula. + */ + additiveProductName?: string|undefined; + _additiveProductName?: Element|undefined; + /** + * Indicates the type of modular component such as protein, carbohydrate, fat or fiber to be provided in addition to or mixed with the base formula. + */ + additiveType?: CodeableConcept|undefined; + /** + * See implementation notes below for further discussion on how to order continuous vs bolus enteral feeding using this resource. + */ + administration?: NutritionOrderEnteralFormulaAdministration[]|undefined; + /** + * Free text dosage instructions can be used for cases where the instructions are too complex to code. + */ + administrationInstruction?: string|undefined; + _administrationInstruction?: Element|undefined; + /** + * The product or brand name of the enteral or infant formula product such as "ACME Adult Standard Formula". + */ + baseFormulaProductName?: string|undefined; + _baseFormulaProductName?: Element|undefined; + /** + * The type of enteral or infant formula such as an adult standard formula with fiber or a soy-based infant formula. + */ + baseFormulaType?: CodeableConcept|undefined; + /** + * The amount of energy (calories) that the formula should provide per specified volume, typically per mL or fluid oz. For example, an infant may require a formula that provides 24 calories per fluid ounce or an adult may require an enteral formula that provides 1.5 calorie/mL. + */ + caloricDensity?: Quantity|undefined; + /** + * The maximum total quantity of formula that may be administered to a subject over the period of time, e.g. 1440 mL over 24 hours. + */ + maxVolumeToDeliver?: Quantity|undefined; + /** + * The route or physiological path of administration into the patient's gastrointestinal tract for purposes of providing the formula feeding, e.g. nasogastric tube. + */ + routeofAdministration?: CodeableConcept|undefined; +} +/** + * A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident. + */ +export interface NutritionOrder extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'NutritionOrder'; + /** + * Information on a patient's food allergies and intolerances to inform healthcare personnel about the type of foods that the patient shouldn't receive or consume. + */ + allergyIntolerance?: Reference[]|undefined; + /** + * The date and time that this nutrition order was requested. + */ + dateTime: string; + _dateTime?: Element|undefined; + /** + * An encounter that provides additional information about the healthcare context in which this request is made. + */ + encounter?: Reference|undefined; + /** + * Feeding provided through the gastrointestinal tract via a tube, catheter, or stoma that delivers nutrition distal to the oral cavity. + */ + enteralFormula?: NutritionOrderEnteralFormula|undefined; + /** + * Information on a patient's food allergies, intolerances and preferences to inform healthcare personnel about the type of foods that the patient shouldn't receive or consume. + */ + excludeFoodModifier?: CodeableConcept[]|undefined; + /** + * Information on a patient's food preferences that inform healthcare personnel about the food that the patient should receive or consume. + */ + foodPreferenceModifier?: CodeableConcept[]|undefined; + /** + * The Identifier.type element can be to indicate filler vs. placer if needed. This is explained in further detail [here](servicerequest.html#notes). + */ + identifier?: Identifier[]|undefined; + /** + * The URL pointing to a protocol, guideline, orderset or other definition that is adhered to in whole or in part by this NutritionOrder. + */ + instantiates?: string[]|undefined; + _instantiates?: Element[]|undefined; + /** + * Note: This is a business identifier, not a resource identifier (see [discussion](resource.html#identifiers)). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and a Person resource instance might share the same social insurance number. + */ + instantiatesCanonical?: string[]|undefined; + _instantiatesCanonical?: Element[]|undefined; + /** + * This might be an HTML page, PDF, etc. or could just be a non-resolvable URI identifier. + */ + instantiatesUri?: string[]|undefined; + _instantiatesUri?: Element[]|undefined; + /** + * When resources map to this element, they are free to define as many codes as necessary to cover their space and will map to "proposal, plan or order". Can have multiple codes that map to one of these. E.g. "original order", "encoded order", "reflex order" would all map to "order". Expectation is that the set of codes is mutually exclusive or a strict all-encompassing hierarchy. + */ + intent: ('proposal'|'plan'|'directive'|'order'|'original-order'|'reflex-order'|'filler-order'|'instance-order'|'option'); + _intent?: Element|undefined; + /** + * This element SHALL NOT be used to supply free text instructions for the diet which are represented in the `.oralDiet.instruction`, `supplement.instruction`, or `enteralFormula.administrationInstruction` elements. + */ + note?: Annotation[]|undefined; + /** + * Diet given orally in contrast to enteral (tube) feeding. + */ + oralDiet?: NutritionOrderOralDiet|undefined; + /** + * The practitioner that holds legal responsibility for ordering the diet, nutritional supplement, or formula feedings. + */ + orderer?: Reference|undefined; + /** + * The person (patient) who needs the nutrition order for an oral diet, nutritional supplement and/or enteral or formula feeding. + */ + patient: Reference; + /** + * Typically the system placing the order sets the status to "requested". Thereafter, the order is maintained by the receiver that updates the status as the request is handled. This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. + */ + status: ('draft'|'active'|'on-hold'|'revoked'|'completed'|'entered-in-error'|'unknown'); + _status?: Element|undefined; + /** + * Oral nutritional products given in order to add further nutritional value to the patient's diet. + */ + supplement?: NutritionOrderSupplement[]|undefined; +} +/** + * Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this might not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties. + */ +export interface ObservationReferenceRange extends BackboneElement { + /** + * The age at which this reference range is applicable. This is a neonatal age (e.g. number of weeks at term) if the meaning says so. + */ + age?: Range|undefined; + /** + * This SHOULD be populated if there is more than one range. If this element is not present then the normal population is assumed. + */ + appliesTo?: CodeableConcept[]|undefined; + /** + * The value of the high bound of the reference range. The high bound of the reference range endpoint is inclusive of the value (e.g. reference range is >=5 - <=9). If the high bound is omitted, it is assumed to be meaningless (e.g. reference range is >= 2.3). + */ + high?: Quantity|undefined; + /** + * The value of the low bound of the reference range. The low bound of the reference range endpoint is inclusive of the value (e.g. reference range is >=5 - <=9). If the low bound is omitted, it is assumed to be meaningless (e.g. reference range is <=2.3). + */ + low?: Quantity|undefined; + /** + * Text based reference range in an observation which may be used when a quantitative range is not appropriate for an observation. An example would be a reference value of "Negative" or a list or table of "normals". + */ + text?: string|undefined; + _text?: Element|undefined; + /** + * This SHOULD be populated if there is more than one range. If this element is not present then the normal range is assumed. + */ + type?: CodeableConcept|undefined; +} +/** + * For a discussion on the ways Observations can be assembled in groups together see [Notes](observation.html#notes) below. + */ +export interface ObservationComponent extends BackboneElement { + /** + * *All* code-value and component.code-component.value pairs need to be taken into account to correctly understand the meaning of the observation. + */ + code: CodeableConcept; + /** + * "Null" or exceptional values can be represented two ways in FHIR Observations. One way is to simply include them in the value set and represent the exceptions in the value. For example, measurement values for a serology test could be "detected", "not detected", "inconclusive", or "test not done". + * The alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values. For example, the dataAbsentReason code "error" could be used when the measurement was not completed. Because of these options, use-case agreements are required to interpret general observations for exceptional values. + */ + dataAbsentReason?: CodeableConcept|undefined; + /** + * Historically used for laboratory results (known as 'abnormal flag' ), its use extends to other use cases where coded interpretations are relevant. Often reported as one or more simple compact codes this element is often placed adjacent to the result value in reports and flow sheets to signal the meaning/normalcy status of the result. + */ + interpretation?: CodeableConcept[]|undefined; + /** + * Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this might not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties. + */ + referenceRange?: ObservationReferenceRange[]|undefined; + /** + * Used when observation has a set of component observations. An observation may have both a value (e.g. an Apgar score) and component observations (the observations from which the Apgar score was derived). If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For additional guidance, see the [Notes section](observation.html#notes) below. + */ + valueQuantity?: Quantity|undefined; + /** + * Used when observation has a set of component observations. An observation may have both a value (e.g. an Apgar score) and component observations (the observations from which the Apgar score was derived). If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For additional guidance, see the [Notes section](observation.html#notes) below. + */ + valueCodeableConcept?: CodeableConcept|undefined; + /** + * Used when observation has a set of component observations. An observation may have both a value (e.g. an Apgar score) and component observations (the observations from which the Apgar score was derived). If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For additional guidance, see the [Notes section](observation.html#notes) below. + */ + valueString?: string|undefined; + _valueString?: Element|undefined; + /** + * Used when observation has a set of component observations. An observation may have both a value (e.g. an Apgar score) and component observations (the observations from which the Apgar score was derived). If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For additional guidance, see the [Notes section](observation.html#notes) below. + */ + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; + /** + * Used when observation has a set of component observations. An observation may have both a value (e.g. an Apgar score) and component observations (the observations from which the Apgar score was derived). If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For additional guidance, see the [Notes section](observation.html#notes) below. + */ + valueInteger?: number|undefined; + /** + * Used when observation has a set of component observations. An observation may have both a value (e.g. an Apgar score) and component observations (the observations from which the Apgar score was derived). If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For additional guidance, see the [Notes section](observation.html#notes) below. + */ + valueRange?: Range|undefined; + /** + * Used when observation has a set of component observations. An observation may have both a value (e.g. an Apgar score) and component observations (the observations from which the Apgar score was derived). If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For additional guidance, see the [Notes section](observation.html#notes) below. + */ + valueRatio?: Ratio|undefined; + /** + * Used when observation has a set of component observations. An observation may have both a value (e.g. an Apgar score) and component observations (the observations from which the Apgar score was derived). If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For additional guidance, see the [Notes section](observation.html#notes) below. + */ + valueSampledData?: SampledData|undefined; + /** + * Used when observation has a set of component observations. An observation may have both a value (e.g. an Apgar score) and component observations (the observations from which the Apgar score was derived). If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For additional guidance, see the [Notes section](observation.html#notes) below. + */ + valueTime?: string|undefined; + _valueTime?: Element|undefined; + /** + * Used when observation has a set of component observations. An observation may have both a value (e.g. an Apgar score) and component observations (the observations from which the Apgar score was derived). If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For additional guidance, see the [Notes section](observation.html#notes) below. + */ + valueDateTime?: string|undefined; + _valueDateTime?: Element|undefined; + /** + * Used when observation has a set of component observations. An observation may have both a value (e.g. an Apgar score) and component observations (the observations from which the Apgar score was derived). If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For additional guidance, see the [Notes section](observation.html#notes) below. + */ + valuePeriod?: Period|undefined; +} +/** + * Measurements and simple assertions made about a patient, device or other subject. + */ +export interface Observation extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'Observation'; + /** + * A plan, proposal or order that is fulfilled in whole or in part by this event. For example, a MedicationRequest may require a patient to have laboratory test performed before it is dispensed. + */ + basedOn?: Reference[]|undefined; + /** + * Only used if not implicit in code found in Observation.code. In many systems, this may be represented as a related observation instead of an inline component. + * If the use case requires BodySite to be handled as a separate resource (e.g. to identify and track separately) then use the standard extension[ bodySite](extension-bodysite.html). + */ + bodySite?: CodeableConcept|undefined; + /** + * In addition to the required category valueset, this element allows various categorization schemes based on the owner’s definition of the category and effectively multiple categories can be used at once. The level of granularity is defined by the category concepts in the value set. + */ + category?: CodeableConcept[]|undefined; + /** + * *All* code-value and, if present, component.code-component.value pairs need to be taken into account to correctly understand the meaning of the observation. + */ + code: CodeableConcept; + /** + * For a discussion on the ways Observations can be assembled in groups together see [Notes](observation.html#notes) below. + */ + component?: ObservationComponent[]|undefined; + /** + * Null or exceptional values can be represented two ways in FHIR Observations. One way is to simply include them in the value set and represent the exceptions in the value. For example, measurement values for a serology test could be "detected", "not detected", "inconclusive", or "specimen unsatisfactory". + * The alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values. For example, the dataAbsentReason code "error" could be used when the measurement was not completed. Note that an observation may only be reported if there are values to report. For example differential cell counts values may be reported only when > 0. Because of these options, use-case agreements are required to interpret general observations for null or exceptional values. + */ + dataAbsentReason?: CodeableConcept|undefined; + /** + * All the reference choices that are listed in this element can represent clinical observations and other measurements that may be the source for a derived value. The most common reference will be another Observation. For a discussion on the ways Observations can assembled in groups together, see [Notes](observation.html#obsgrouping) below. + */ + derivedFrom?: Reference[]|undefined; + /** + * Note that this is not meant to represent a device involved in the transmission of the result, e.g., a gateway. Such devices may be documented using the Provenance resource where relevant. + */ + device?: Reference|undefined; + /** + * At least a date should be present unless this observation is a historical report. For recording imprecise or "fuzzy" times (For example, a blood glucose measurement taken "after breakfast") use the [Timing](datatypes.html#timing) datatype which allow the measurement to be tied to regular life events. + */ + effectiveDateTime?: string|undefined; + _effectiveDateTime?: Element|undefined; + /** + * At least a date should be present unless this observation is a historical report. For recording imprecise or "fuzzy" times (For example, a blood glucose measurement taken "after breakfast") use the [Timing](datatypes.html#timing) datatype which allow the measurement to be tied to regular life events. + */ + effectivePeriod?: Period|undefined; + /** + * At least a date should be present unless this observation is a historical report. For recording imprecise or "fuzzy" times (For example, a blood glucose measurement taken "after breakfast") use the [Timing](datatypes.html#timing) datatype which allow the measurement to be tied to regular life events. + */ + effectiveTiming?: Timing|undefined; + /** + * At least a date should be present unless this observation is a historical report. For recording imprecise or "fuzzy" times (For example, a blood glucose measurement taken "after breakfast") use the [Timing](datatypes.html#timing) datatype which allow the measurement to be tied to regular life events. + */ + effectiveInstant?: string|undefined; + _effectiveInstant?: Element|undefined; + /** + * This will typically be the encounter the event occurred within, but some events may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter (e.g. pre-admission laboratory tests). + */ + encounter?: Reference|undefined; + /** + * Typically, an observation is made about the subject - a patient, or group of patients, location, or device - and the distinction between the subject and what is directly measured for an observation is specified in the observation code itself ( e.g., "Blood Glucose") and does not need to be represented separately using this element. Use `specimen` if a reference to a specimen is required. If a code is required instead of a resource use either `bodysite` for bodysites or the standard extension [focusCode](extension-observation-focuscode.html). + */ + focus?: Reference[]|undefined; + /** + * When using this element, an observation will typically have either a value or a set of related resources, although both may be present in some cases. For a discussion on the ways Observations can assembled in groups together, see [Notes](observation.html#obsgrouping) below. Note that a system may calculate results from [QuestionnaireResponse](questionnaireresponse.html) into a final score and represent the score as an Observation. + */ + hasMember?: Reference[]|undefined; + /** + * A unique identifier assigned to this observation. + */ + identifier?: Identifier[]|undefined; + /** + * Historically used for laboratory results (known as 'abnormal flag' ), its use extends to other use cases where coded interpretations are relevant. Often reported as one or more simple compact codes this element is often placed adjacent to the result value in reports and flow sheets to signal the meaning/normalcy status of the result. + */ + interpretation?: CodeableConcept[]|undefined; + /** + * For Observations that don’t require review and verification, it may be the same as the [`lastUpdated` ](resource-definitions.html#Meta.lastUpdated) time of the resource itself. For Observations that do require review and verification for certain updates, it might not be the same as the `lastUpdated` time of the resource itself due to a non-clinically significant update that doesn’t require the new version to be reviewed and verified again. + */ + issued?: string|undefined; + _issued?: Element|undefined; + /** + * Only used if not implicit in code for Observation.code. + */ + method?: CodeableConcept|undefined; + /** + * May include general statements about the observation, or statements about significant, unexpected or unreliable results values, or information about its source when relevant to its interpretation. + */ + note?: Annotation[]|undefined; + /** + * To link an Observation to an Encounter use `encounter`. See the [Notes](observation.html#obsgrouping) below for guidance on referencing another Observation. + */ + partOf?: Reference[]|undefined; + /** + * Who was responsible for asserting the observed value as "true". + */ + performer?: Reference[]|undefined; + /** + * Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this might not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties. + */ + referenceRange?: ObservationReferenceRange[]|undefined; + /** + * Should only be used if not implicit in code found in `Observation.code`. Observations are not made on specimens themselves; they are made on a subject, but in many cases by the means of a specimen. Note that although specimens are often involved, they are not always tracked and reported explicitly. Also note that observation resources may be used in contexts that track the specimen explicitly (e.g. Diagnostic Report). + */ + specimen?: Reference|undefined; + /** + * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. + */ + status: ('registered'|'preliminary'|'final'|'amended'|'corrected'|'cancelled'|'entered-in-error'|'unknown'); + _status?: Element|undefined; + /** + * One would expect this element to be a cardinality of 1..1. The only circumstance in which the subject can be missing is when the observation is made by a device that does not know the patient. In this case, the observation SHALL be matched to a patient through some context/channel matching technique, and at this point, the observation should be updated. + */ + subject?: Reference|undefined; + /** + * An observation may have; 1) a single value here, 2) both a value and a set of related or component values, or 3) only a set of related or component values. If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For additional guidance, see the [Notes section](observation.html#notes) below. + */ + valueQuantity?: Quantity|undefined; + /** + * An observation may have; 1) a single value here, 2) both a value and a set of related or component values, or 3) only a set of related or component values. If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For additional guidance, see the [Notes section](observation.html#notes) below. + */ + valueCodeableConcept?: CodeableConcept|undefined; + /** + * An observation may have; 1) a single value here, 2) both a value and a set of related or component values, or 3) only a set of related or component values. If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For additional guidance, see the [Notes section](observation.html#notes) below. + */ + valueString?: string|undefined; + _valueString?: Element|undefined; + /** + * An observation may have; 1) a single value here, 2) both a value and a set of related or component values, or 3) only a set of related or component values. If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For additional guidance, see the [Notes section](observation.html#notes) below. + */ + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; + /** + * An observation may have; 1) a single value here, 2) both a value and a set of related or component values, or 3) only a set of related or component values. If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For additional guidance, see the [Notes section](observation.html#notes) below. + */ + valueInteger?: number|undefined; + /** + * An observation may have; 1) a single value here, 2) both a value and a set of related or component values, or 3) only a set of related or component values. If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For additional guidance, see the [Notes section](observation.html#notes) below. + */ + valueRange?: Range|undefined; + /** + * An observation may have; 1) a single value here, 2) both a value and a set of related or component values, or 3) only a set of related or component values. If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For additional guidance, see the [Notes section](observation.html#notes) below. + */ + valueRatio?: Ratio|undefined; + /** + * An observation may have; 1) a single value here, 2) both a value and a set of related or component values, or 3) only a set of related or component values. If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For additional guidance, see the [Notes section](observation.html#notes) below. + */ + valueSampledData?: SampledData|undefined; + /** + * An observation may have; 1) a single value here, 2) both a value and a set of related or component values, or 3) only a set of related or component values. If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For additional guidance, see the [Notes section](observation.html#notes) below. + */ + valueTime?: string|undefined; + _valueTime?: Element|undefined; + /** + * An observation may have; 1) a single value here, 2) both a value and a set of related or component values, or 3) only a set of related or component values. If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For additional guidance, see the [Notes section](observation.html#notes) below. + */ + valueDateTime?: string|undefined; + _valueDateTime?: Element|undefined; + /** + * An observation may have; 1) a single value here, 2) both a value and a set of related or component values, or 3) only a set of related or component values. If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For additional guidance, see the [Notes section](observation.html#notes) below. + */ + valuePeriod?: Period|undefined; +} +/** + * Characteristics for quantitative results of this observation. + */ +export interface ObservationDefinitionQuantitativeDetails extends BackboneElement { + /** + * Factor for converting value expressed with SI unit to value expressed with customary unit. + */ + conversionFactor?: number|undefined; + /** + * Customary unit used to report quantitative results of observations conforming to this ObservationDefinition. + */ + customaryUnit?: CodeableConcept|undefined; + /** + * Number of digits after decimal separator when the results of such observations are of type Quantity. + */ + decimalPrecision?: number|undefined; + /** + * SI unit used to report quantitative results of observations conforming to this ObservationDefinition. + */ + unit?: CodeableConcept|undefined; +} +/** + * Multiple ranges of results qualified by different contexts for ordinal or continuous observations conforming to this ObservationDefinition. + */ +export interface ObservationDefinitionQualifiedInterval extends BackboneElement { + /** + * Some analytes vary greatly over age. + */ + age?: Range|undefined; + /** + * If this element is not present then the global population is assumed. + */ + appliesTo?: CodeableConcept[]|undefined; + /** + * The category of interval of values for continuous or ordinal observations conforming to this ObservationDefinition. + */ + category?: ('reference'|'critical'|'absolute')|undefined; + _category?: Element|undefined; + /** + * Text based condition for which the reference range is valid. + */ + condition?: string|undefined; + _condition?: Element|undefined; + /** + * Codes to indicate the health context the range applies to. For example, the normal or therapeutic range. + */ + context?: CodeableConcept|undefined; + /** + * Sex of the population the range applies to. + */ + gender?: ('male'|'female'|'other'|'unknown')|undefined; + _gender?: Element|undefined; + /** + * The gestational age to which this reference range is applicable, in the context of pregnancy. + */ + gestationalAge?: Range|undefined; + /** + * The low and high values determining the interval. There may be only one of the two. + */ + range?: Range|undefined; +} +/** + * Set of definitional characteristics for a kind of observation or measurement produced or consumed by an orderable health care service. + */ +export interface ObservationDefinition extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'ObservationDefinition'; + /** + * The set of abnormal coded results for the observation conforming to this ObservationDefinition. + */ + abnormalCodedValueSet?: Reference|undefined; + /** + * This element allows various categorization schemes based on the owner’s definition of the category and effectively multiple categories can be used for one instance of ObservationDefinition. The level of granularity is defined by the category concepts in the value set. + */ + category?: CodeableConcept[]|undefined; + /** + * Describes what will be observed. Sometimes this is called the observation "name". + */ + code: CodeableConcept; + /** + * The set of critical coded results for the observation conforming to this ObservationDefinition. + */ + criticalCodedValueSet?: Reference|undefined; + /** + * A unique identifier assigned to this ObservationDefinition artifact. + */ + identifier?: Identifier[]|undefined; + /** + * Only used if not implicit in observation code. + */ + method?: CodeableConcept|undefined; + /** + * An example of observation allowing multiple results is "bacteria identified by culture". Conversely, the measurement of a potassium level allows a single result. + */ + multipleResultsAllowed?: boolean|undefined; + _multipleResultsAllowed?: Element|undefined; + /** + * The set of normal coded results for the observations conforming to this ObservationDefinition. + */ + normalCodedValueSet?: Reference|undefined; + /** + * The data types allowed for the value element of the instance observations conforming to this ObservationDefinition. + */ + permittedDataType?: ('Quantity'|'CodeableConcept'|'string'|'boolean'|'integer'|'Range'|'Ratio'|'SampledData'|'time'|'dateTime'|'Period')[]|undefined; + _permittedDataType?: Element[]|undefined; + /** + * The preferred name to be used when reporting the results of observations conforming to this ObservationDefinition. + */ + preferredReportName?: string|undefined; + _preferredReportName?: Element|undefined; + /** + * Multiple ranges of results qualified by different contexts for ordinal or continuous observations conforming to this ObservationDefinition. + */ + qualifiedInterval?: ObservationDefinitionQualifiedInterval[]|undefined; + /** + * Characteristics for quantitative results of this observation. + */ + quantitativeDetails?: ObservationDefinitionQuantitativeDetails|undefined; + /** + * The set of valid coded results for the observations conforming to this ObservationDefinition. + */ + validCodedValueSet?: Reference|undefined; +} +/** + * Binds to a value set if this parameter is coded (code, Coding, CodeableConcept). + */ +export interface OperationDefinitionParameterBinding extends BackboneElement { + /** + * For further discussion, see [Using Terminologies](terminologies.html). + */ + strength: ('required'|'extensible'|'preferred'|'example'); + _strength?: Element|undefined; + /** + * For value sets with a referenceResource, the display can contain the value set description. The reference may be version-specific or not. + */ + valueSet: string; + _valueSet?: Element|undefined; +} +/** + * Resolution applies if the referenced parameter exists. + */ +export interface OperationDefinitionParameterReferencedFrom extends BackboneElement { + /** + * The name of the parameter or dot-separated path of parameter names pointing to the resource parameter that is expected to contain a reference to this resource. + */ + source: string; + _source?: Element|undefined; + /** + * The id of the element in the referencing resource that is expected to resolve to this resource. + */ + sourceId?: string|undefined; + _sourceId?: Element|undefined; +} +/** + * Query Definitions only have one output parameter, named "result". This might not be described, but can be to allow a profile to be defined. + */ +export interface OperationDefinitionParameter extends BackboneElement { + /** + * Binds to a value set if this parameter is coded (code, Coding, CodeableConcept). + */ + binding?: OperationDefinitionParameterBinding|undefined; + /** + * Describes the meaning or use of this parameter. + */ + documentation?: string|undefined; + _documentation?: Element|undefined; + /** + * The maximum number of times this element is permitted to appear in the request or response. + */ + max: string; + _max?: Element|undefined; + /** + * The minimum number of times this parameter SHALL appear in the request or response. + */ + min: number; + /** + * This name must be a token (start with a letter in a..z, and only contain letters, numerals, and underscore. Note that for search parameters (type = string, with a search type), the name may be altered by the search modifiers. + */ + name: string; + _name?: Element|undefined; + /** + * Query Definitions only have one output parameter, named "result". This might not be described, but can be to allow a profile to be defined. + */ + part?: OperationDefinitionParameter[]|undefined; + /** + * Resolution applies if the referenced parameter exists. + */ + referencedFrom?: OperationDefinitionParameterReferencedFrom[]|undefined; + /** + * How the parameter is understood as a search parameter. This is only used if the parameter type is 'string'. + */ + searchType?: ('number'|'date'|'string'|'token'|'reference'|'composite'|'quantity'|'uri'|'special')|undefined; + _searchType?: Element|undefined; + /** + * Often, these profiles are the base definitions from the spec (e.g. http://hl7.org/fhir/StructureDefinition/Patient). + */ + targetProfile?: string[]|undefined; + _targetProfile?: Element[]|undefined; + /** + * if there is no stated parameter, then the parameter is a multi-part parameter; type and must have at least one part defined. + */ + type?: string|undefined; + _type?: Element|undefined; + /** + * If a parameter name is used for both an input and an output parameter, the parameter should be defined twice. + */ + use: ('in'|'out'); + _use?: Element|undefined; +} +/** + * The combinations are suggestions as to which sets of parameters to use together, but the combinations are not intended to be authoritative. + */ +export interface OperationDefinitionOverload extends BackboneElement { + /** + * Comments to go on overload. + */ + comment?: string|undefined; + _comment?: Element|undefined; + /** + * Name of parameter to include in overload. + */ + parameterName?: string[]|undefined; + _parameterName?: Element[]|undefined; +} +/** + * A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction). + */ +export interface OperationDefinition extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'OperationDefinition'; + /** + * What http methods can be used for the operation depends on the .affectsState value and whether the input parameters are primitive or complex: + * 1. Servers SHALL support POST method for all operations. + * 2. Servers SHALL support GET method if all the parameters for the operation are primitive or there are no parameters and the operation has affectsState = false. + */ + affectsState?: boolean|undefined; + _affectsState?: Element|undefined; + /** + * A constrained profile can make optional parameters required or not used and clarify documentation. + */ + base?: string|undefined; + _base?: Element|undefined; + /** + * The name used to invoke the operation. + */ + code: string; + _code?: Element|undefined; + /** + * Additional information about how to use this operation or named query. + */ + comment?: string|undefined; + _comment?: Element|undefined; + /** + * May be a web site, an email address, a telephone number, etc. + */ + contact?: ContactDetail[]|undefined; + /** + * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the operation definition. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. + */ + date?: string|undefined; + _date?: Element|undefined; + /** + * This description can be used to capture details such as why the operation definition was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the operation definition as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the operation definition is presumed to be the predominant language in the place the operation definition was created). + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * Allows filtering of operation definitions that are appropriate for use versus not. + */ + experimental?: boolean|undefined; + _experimental?: Element|undefined; + /** + * If present the profile shall not conflict with what is specified in the parameters in the operation definition (max/min etc.), though it may provide additional constraints. The constraints expressed in the profile apply whether the operation is invoked by a POST wih parameters or not. + */ + inputProfile?: string|undefined; + _inputProfile?: Element|undefined; + /** + * Indicates whether this operation can be invoked on a particular instance of one of the given types. + */ + instance: boolean; + _instance?: Element|undefined; + /** + * It may be possible for the operation definition to be used in jurisdictions other than those for which it was originally designed or intended. + */ + jurisdiction?: CodeableConcept[]|undefined; + /** + * Named queries are invoked differently, and have different capabilities. + */ + kind: ('operation'|'query'); + _kind?: Element|undefined; + /** + * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. + */ + name: string; + _name?: Element|undefined; + /** + * If present the profile shall not conflict with what is specified in the parameters in the operation definition (max/min etc.), though it may provide additional constraints. The constraints expressed in the profile apply whether the operation is invoked by a POST wih parameters or not. + */ + outputProfile?: string|undefined; + _outputProfile?: Element|undefined; + /** + * The combinations are suggestions as to which sets of parameters to use together, but the combinations are not intended to be authoritative. + */ + overload?: OperationDefinitionOverload[]|undefined; + /** + * Query Definitions only have one output parameter, named "result". This might not be described, but can be to allow a profile to be defined. + */ + parameter?: OperationDefinitionParameter[]|undefined; + /** + * Usually an organization but may be an individual. The publisher (or steward) of the operation definition is the organization or individual primarily responsible for the maintenance and upkeep of the operation definition. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the operation definition. This item SHOULD be populated unless the information is available from context. + */ + publisher?: string|undefined; + _publisher?: Element|undefined; + /** + * This element does not describe the usage of the operation definition. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this operation definition. + */ + purpose?: string|undefined; + _purpose?: Element|undefined; + /** + * If the type is an abstract resource ("Resource" or "DomainResource") then the operation can be invoked on any concrete specialization. + */ + resource?: string[]|undefined; + _resource?: Element[]|undefined; + /** + * Allows filtering of operation definitions that are appropriate for use versus not. + */ + status: ('draft'|'active'|'retired'|'unknown'); + _status?: Element|undefined; + /** + * Indicates whether this operation or named query can be invoked at the system level (e.g. without needing to choose a resource type for the context). + */ + system: boolean; + _system?: Element|undefined; + /** + * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. + */ + title?: string|undefined; + _title?: Element|undefined; + /** + * Indicates whether this operation or named query can be invoked at the resource type level for any given resource type level (e.g. without needing to choose a specific resource id for the context). + */ + type: boolean; + _type?: Element|undefined; + /** + * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. + * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). + * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. + */ + url?: string|undefined; + _url?: Element|undefined; + /** + * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. + */ + useContext?: UsageContext[]|undefined; + /** + * There may be different operation definition instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the operation definition with the format [url]|[version]. + */ + version?: string|undefined; + _version?: Element|undefined; +} +/** + * An error, warning, or information message that results from a system action. + */ +export interface OperationOutcomeIssue extends BackboneElement { + /** + * Describes the type of the issue. The system that creates an OperationOutcome SHALL choose the most applicable code from the IssueType value set, and may additional provide its own code for the error in the details element. + */ + code: string; + _code?: Element|undefined; + /** + * A human readable description of the error issue SHOULD be placed in details.text. + */ + details?: CodeableConcept|undefined; + /** + * This may be a description of how a value is erroneous, a stack dump to help trace the issue or other troubleshooting information. + */ + diagnostics?: string|undefined; + _diagnostics?: Element|undefined; + /** + * The root of the FHIRPath is the resource or bundle that generated OperationOutcome. Each FHIRPath SHALL resolve to a single node. + */ + expression?: string[]|undefined; + _expression?: Element[]|undefined; + /** + * The root of the XPath is the resource or bundle that generated OperationOutcome. Each XPath SHALL resolve to a single node. This element is deprecated, and is being replaced by expression. + */ + location?: string[]|undefined; + _location?: Element[]|undefined; + /** + * This is labeled as "Is Modifier" because applications should not confuse hints and warnings with errors. + */ + severity: ('fatal'|'error'|'warning'|'information'); + _severity?: Element|undefined; +} +/** + * A collection of error, warning, or information messages that result from a system action. + */ +export interface OperationOutcome extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'OperationOutcome'; + /** + * An error, warning, or information message that results from a system action. + */ + issue: OperationOutcomeIssue[]; +} +/** + * Where multiple contacts for the same purpose are provided there is a standard extension that can be used to determine which one is the preferred contact to use. + */ +export interface OrganizationContact extends BackboneElement { + /** + * Visiting or postal addresses for the contact. + */ + address?: Address|undefined; + /** + * A name associated with the contact. + */ + name?: HumanName|undefined; + /** + * Indicates a purpose for which the contact can be reached. + */ + purpose?: CodeableConcept|undefined; + /** + * A contact detail (e.g. a telephone number or an email address) by which the party may be contacted. + */ + telecom?: ContactPoint[]|undefined; +} +/** + * A formally or informally recognized grouping of people or organizations formed for the purpose of achieving some form of collective action. Includes companies, institutions, corporations, departments, community groups, healthcare practice groups, payer/insurer, etc. + */ +export interface Organization extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'Organization'; + /** + * This active flag is not intended to be used to mark an organization as temporarily closed or under construction. Instead the Location(s) within the Organization should have the suspended status. If further details of the reason for the suspension are required, then an extension on this element should be used. + * This element is labeled as a modifier because it may be used to mark that the resource was created in error. + */ + active?: boolean|undefined; + _active?: Element|undefined; + /** + * Organization may have multiple addresses with different uses or applicable periods. The use code 'home' is not to be used. + */ + address?: Address[]|undefined; + /** + * There are no dates associated with the alias/historic names, as this is not intended to track when names were used, but to assist in searching so that older names can still result in identifying the organization. + */ + alias?: string[]|undefined; + _alias?: Element[]|undefined; + /** + * Where multiple contacts for the same purpose are provided there is a standard extension that can be used to determine which one is the preferred contact to use. + */ + contact?: OrganizationContact[]|undefined; + /** + * Technical endpoints providing access to services operated for the organization. + */ + endpoint?: Reference[]|undefined; + /** + * Identifier for the organization that is used to identify the organization across multiple disparate systems. + */ + identifier?: Identifier[]|undefined; + /** + * If the name of an organization changes, consider putting the old name in the alias column so that it can still be located through searches. + */ + name?: string|undefined; + _name?: Element|undefined; + /** + * The organization of which this organization forms a part. + */ + partOf?: Reference|undefined; + /** + * The use code 'home' is not to be used. Note that these contacts are not the contact details of people who are employed by or represent the organization, but official contacts for the organization itself. + */ + telecom?: ContactPoint[]|undefined; + /** + * Organizations can be corporations, wards, sections, clinical teams, government departments, etc. Note that code is generally a classifier of the type of organization; in many applications, codes are used to identity a particular organization (say, ward) as opposed to another of the same type - these are identifiers, not codes + * When considering if multiple types are appropriate, you should evaluate if child organizations would be a more appropriate use of the concept, as different types likely are in different sub-areas of the organization. This is most likely to be used where type values have orthogonal values, such as a religious, academic and medical center. + * We expect that some jurisdictions will profile this optionality to be a single cardinality. + */ + type?: CodeableConcept[]|undefined; +} +/** + * Defines an affiliation/assotiation/relationship between 2 distinct oganizations, that is not a part-of relationship/sub-division relationship. + */ +export interface OrganizationAffiliation extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'OrganizationAffiliation'; + /** + * If this value is false, you may refer to the period to see when the role was in active use. If there is no period specified, no inference can be made about when it was active. + */ + active?: boolean|undefined; + _active?: Element|undefined; + /** + * Definition of the role the participatingOrganization plays in the association. + */ + code?: CodeableConcept[]|undefined; + /** + * Technical endpoints providing access to services operated for this role. + */ + endpoint?: Reference[]|undefined; + /** + * Healthcare services provided through the role. + */ + healthcareService?: Reference[]|undefined; + /** + * Business identifiers that are specific to this role. + */ + identifier?: Identifier[]|undefined; + /** + * The location(s) at which the role occurs. + */ + location?: Reference[]|undefined; + /** + * Health insurance provider network in which the participatingOrganization provides the role's services (if defined) at the indicated locations (if defined). + */ + network?: Reference[]|undefined; + /** + * Organization where the role is available (primary organization/has members). + */ + organization?: Reference|undefined; + /** + * The Participating Organization provides/performs the role(s) defined by the code to the Primary Organization (e.g. providing services or is a member of). + */ + participatingOrganization?: Reference|undefined; + /** + * The period during which the participatingOrganization is affiliated with the primary organization. + */ + period?: Period|undefined; + /** + * Specific specialty of the participatingOrganization in the context of the role. + */ + specialty?: CodeableConcept[]|undefined; + /** + * Contact details at the participatingOrganization relevant to this Affiliation. + */ + telecom?: ContactPoint[]|undefined; +} +/** + * A parameter passed to or received from the operation. + */ +export interface ParametersParameter extends BackboneElement { + /** + * The name of the parameter (reference to the operation definition). + */ + name: string; + _name?: Element|undefined; + /** + * Only one level of nested parameters is allowed. + */ + part?: ParametersParameter[]|undefined; + /** + * When resolving references in resources, the operation definition may specify how references may be resolved between parameters. If a reference cannot be resolved between the parameters, the application should fall back to it's general resource resolution methods. + */ + resource?: FhirResource|undefined; + /** + * If the parameter is a data type. + */ + valueBase64Binary?: string|undefined; + _valueBase64Binary?: Element|undefined; + /** + * If the parameter is a data type. + */ + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; + /** + * If the parameter is a data type. + */ + valueCanonical?: string|undefined; + _valueCanonical?: Element|undefined; + /** + * If the parameter is a data type. + */ + valueCode?: string|undefined; + _valueCode?: Element|undefined; + /** + * If the parameter is a data type. + */ + valueDate?: string|undefined; + _valueDate?: Element|undefined; + /** + * If the parameter is a data type. + */ + valueDateTime?: string|undefined; + _valueDateTime?: Element|undefined; + /** + * If the parameter is a data type. + */ + valueDecimal?: number|undefined; + /** + * If the parameter is a data type. + */ + valueId?: string|undefined; + _valueId?: Element|undefined; + /** + * If the parameter is a data type. + */ + valueInstant?: string|undefined; + _valueInstant?: Element|undefined; + /** + * If the parameter is a data type. + */ + valueInteger?: number|undefined; + /** + * If the parameter is a data type. + */ + valueMarkdown?: string|undefined; + _valueMarkdown?: Element|undefined; + /** + * If the parameter is a data type. + */ + valueOid?: string|undefined; + _valueOid?: Element|undefined; + /** + * If the parameter is a data type. + */ + valuePositiveInt?: number|undefined; + /** + * If the parameter is a data type. + */ + valueString?: string|undefined; + _valueString?: Element|undefined; + /** + * If the parameter is a data type. + */ + valueTime?: string|undefined; + _valueTime?: Element|undefined; + /** + * If the parameter is a data type. + */ + valueUnsignedInt?: number|undefined; + /** + * If the parameter is a data type. + */ + valueUri?: string|undefined; + _valueUri?: Element|undefined; + /** + * If the parameter is a data type. + */ + valueUrl?: string|undefined; + _valueUrl?: Element|undefined; + /** + * If the parameter is a data type. + */ + valueUuid?: string|undefined; + _valueUuid?: Element|undefined; + /** + * If the parameter is a data type. + */ + valueAddress?: Address|undefined; + /** + * If the parameter is a data type. + */ + valueAge?: Age|undefined; + /** + * If the parameter is a data type. + */ + valueAnnotation?: Annotation|undefined; + /** + * If the parameter is a data type. + */ + valueAttachment?: Attachment|undefined; + /** + * If the parameter is a data type. + */ + valueCodeableConcept?: CodeableConcept|undefined; + /** + * If the parameter is a data type. + */ + valueCoding?: Coding|undefined; + /** + * If the parameter is a data type. + */ + valueContactPoint?: ContactPoint|undefined; + /** + * If the parameter is a data type. + */ + valueCount?: Count|undefined; + /** + * If the parameter is a data type. + */ + valueDistance?: Distance|undefined; + /** + * If the parameter is a data type. + */ + valueDuration?: Duration|undefined; + /** + * If the parameter is a data type. + */ + valueHumanName?: HumanName|undefined; + /** + * If the parameter is a data type. + */ + valueIdentifier?: Identifier|undefined; + /** + * If the parameter is a data type. + */ + valueMoney?: Money|undefined; + /** + * If the parameter is a data type. + */ + valuePeriod?: Period|undefined; + /** + * If the parameter is a data type. + */ + valueQuantity?: Quantity|undefined; + /** + * If the parameter is a data type. + */ + valueRange?: Range|undefined; + /** + * If the parameter is a data type. + */ + valueRatio?: Ratio|undefined; + /** + * If the parameter is a data type. + */ + valueReference?: Reference|undefined; + /** + * If the parameter is a data type. + */ + valueSampledData?: SampledData|undefined; + /** + * If the parameter is a data type. + */ + valueSignature?: Signature|undefined; + /** + * If the parameter is a data type. + */ + valueTiming?: Timing|undefined; + /** + * If the parameter is a data type. + */ + valueContactDetail?: ContactDetail|undefined; + /** + * If the parameter is a data type. + */ + valueContributor?: Contributor|undefined; + /** + * If the parameter is a data type. + */ + valueDataRequirement?: DataRequirement|undefined; + /** + * If the parameter is a data type. + */ + valueExpression?: Expression|undefined; + /** + * If the parameter is a data type. + */ + valueParameterDefinition?: ParameterDefinition|undefined; + /** + * If the parameter is a data type. + */ + valueRelatedArtifact?: RelatedArtifact|undefined; + /** + * If the parameter is a data type. + */ + valueTriggerDefinition?: TriggerDefinition|undefined; + /** + * If the parameter is a data type. + */ + valueUsageContext?: UsageContext|undefined; + /** + * If the parameter is a data type. + */ + valueDosage?: Dosage|undefined; + /** + * If the parameter is a data type. + */ + valueMeta?: Meta|undefined; +} +/** + * This resource is a non-persisted resource used to pass information into and back from an [operation](operations.html). It has no other use, and there is no RESTful endpoint associated with it. + */ +export interface Parameters extends Resource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'Parameters'; + /** + * A parameter passed to or received from the operation. + */ + parameter?: ParametersParameter[]|undefined; +} +/** + * Contact covers all kinds of contact parties: family members, business contacts, guardians, caregivers. Not applicable to register pedigree and family ties beyond use of having contact. + */ +export interface PatientContact extends BackboneElement { + /** + * Address for the contact person. + */ + address?: Address|undefined; + /** + * Administrative Gender - the gender that the contact person is considered to have for administration and record keeping purposes. + */ + gender?: ('male'|'female'|'other'|'unknown')|undefined; + _gender?: Element|undefined; + /** + * A name associated with the contact person. + */ + name?: HumanName|undefined; + /** + * Organization on behalf of which the contact is acting or for which the contact is working. + */ + organization?: Reference|undefined; + /** + * The period during which this contact person or organization is valid to be contacted relating to this patient. + */ + period?: Period|undefined; + /** + * The nature of the relationship between the patient and the contact person. + */ + relationship?: CodeableConcept[]|undefined; + /** + * Contact may have multiple ways to be contacted with different uses or applicable periods. May need to have options for contacting the person urgently, and also to help with identification. + */ + telecom?: ContactPoint[]|undefined; +} +/** + * If no language is specified, this *implies* that the default local language is spoken. If you need to convey proficiency for multiple modes, then you need multiple Patient.Communication associations. For animals, language is not a relevant field, and should be absent from the instance. If the Patient does not speak the default local language, then the Interpreter Required Standard can be used to explicitly declare that an interpreter is required. + */ +export interface PatientCommunication extends BackboneElement { + /** + * The structure aa-BB with this exact casing is one the most widely used notations for locale. However not all systems actually code this but instead have it as free text. Hence CodeableConcept instead of code as the data type. + */ + language: CodeableConcept; + /** + * This language is specifically identified for communicating healthcare information. + */ + preferred?: boolean|undefined; + _preferred?: Element|undefined; +} +/** + * There is no assumption that linked patient records have mutual links. + */ +export interface PatientLink extends BackboneElement { + /** + * Referencing a RelatedPerson here removes the need to use a Person record to associate a Patient and RelatedPerson as the same individual. + */ + other: Reference; + /** + * The type of link between this patient resource and another patient resource. + */ + type: ('replaced-by'|'replaces'|'refer'|'seealso'); + _type?: Element|undefined; +} +/** + * Demographics and other administrative information about an individual or animal receiving care or other health-related services. + */ +export interface Patient extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'Patient'; + /** + * If a record is inactive, and linked to an active record, then future patient/record updates should occur on the other patient. + */ + active?: boolean|undefined; + _active?: Element|undefined; + /** + * Patient may have multiple addresses with different uses or applicable periods. + */ + address?: Address[]|undefined; + /** + * At least an estimated year should be provided as a guess if the real DOB is unknown There is a standard extension "patient-birthTime" available that should be used where Time is required (such as in maternity/infant care systems). + */ + birthDate?: string|undefined; + _birthDate?: Element|undefined; + /** + * If no language is specified, this *implies* that the default local language is spoken. If you need to convey proficiency for multiple modes, then you need multiple Patient.Communication associations. For animals, language is not a relevant field, and should be absent from the instance. If the Patient does not speak the default local language, then the Interpreter Required Standard can be used to explicitly declare that an interpreter is required. + */ + communication?: PatientCommunication[]|undefined; + /** + * Contact covers all kinds of contact parties: family members, business contacts, guardians, caregivers. Not applicable to register pedigree and family ties beyond use of having contact. + */ + contact?: PatientContact[]|undefined; + /** + * If there's no value in the instance, it means there is no statement on whether or not the individual is deceased. Most systems will interpret the absence of a value as a sign of the person being alive. + */ + deceasedBoolean?: boolean|undefined; + _deceasedBoolean?: Element|undefined; + /** + * If there's no value in the instance, it means there is no statement on whether or not the individual is deceased. Most systems will interpret the absence of a value as a sign of the person being alive. + */ + deceasedDateTime?: string|undefined; + _deceasedDateTime?: Element|undefined; + /** + * The gender might not match the biological sex as determined by genetics or the individual's preferred identification. Note that for both humans and particularly animals, there are other legitimate possibilities than male and female, though the vast majority of systems and contexts only support male and female. Systems providing decision support or enforcing business rules should ideally do this on the basis of Observations dealing with the specific sex or gender aspect of interest (anatomical, chromosomal, social, etc.) However, because these observations are infrequently recorded, defaulting to the administrative gender is common practice. Where such defaulting occurs, rule enforcement should allow for the variation between administrative and biological, chromosomal and other gender aspects. For example, an alert about a hysterectomy on a male should be handled as a warning or overridable error, not a "hard" error. See the Patient Gender and Sex section for additional information about communicating patient gender and sex. + */ + gender?: ('male'|'female'|'other'|'unknown')|undefined; + _gender?: Element|undefined; + /** + * This may be the primary care provider (in a GP context), or it may be a patient nominated care manager in a community/disability setting, or even organization that will provide people to perform the care provider roles. It is not to be used to record Care Teams, these should be in a CareTeam resource that may be linked to the CarePlan or EpisodeOfCare resources. + * Multiple GPs may be recorded against the patient for various reasons, such as a student that has his home GP listed along with the GP at university during the school semesters, or a "fly-in/fly-out" worker that has the onsite GP also included with his home GP to remain aware of medical issues. + * Jurisdictions may decide that they can profile this down to 1 if desired, or 1 per type. + */ + generalPractitioner?: Reference[]|undefined; + /** + * An identifier for this patient. + */ + identifier?: Identifier[]|undefined; + /** + * There is no assumption that linked patient records have mutual links. + */ + link?: PatientLink[]|undefined; + /** + * There is only one managing organization for a specific patient record. Other organizations will have their own Patient record, and may use the Link property to join the records together (or a Person resource which can include confidence ratings for the association). + */ + managingOrganization?: Reference|undefined; + /** + * This field contains a patient's most recent marital (civil) status. + */ + maritalStatus?: CodeableConcept|undefined; + /** + * Where the valueInteger is provided, the number is the birth number in the sequence. E.g. The middle birth in triplets would be valueInteger=2 and the third born would have valueInteger=3 If a boolean value was provided for this triplets example, then all 3 patient records would have valueBoolean=true (the ordering is not indicated). + */ + multipleBirthBoolean?: boolean|undefined; + _multipleBirthBoolean?: Element|undefined; + /** + * Where the valueInteger is provided, the number is the birth number in the sequence. E.g. The middle birth in triplets would be valueInteger=2 and the third born would have valueInteger=3 If a boolean value was provided for this triplets example, then all 3 patient records would have valueBoolean=true (the ordering is not indicated). + */ + multipleBirthInteger?: number|undefined; + /** + * A patient may have multiple names with different uses or applicable periods. For animals, the name is a "HumanName" in the sense that is assigned and used by humans and has the same patterns. + */ + name?: HumanName[]|undefined; + /** + * Guidelines: + * * Use id photos, not clinical photos. + * * Limit dimensions to thumbnail. + * * Keep byte count low to ease resource updates. + */ + photo?: Attachment[]|undefined; + /** + * A Patient may have multiple ways to be contacted with different uses or applicable periods. May need to have options for contacting the person urgently and also to help with identification. The address might not go directly to the individual, but may reach another party that is able to proxy for the patient (i.e. home phone, or pet owner's phone). + */ + telecom?: ContactPoint[]|undefined; +} +/** + * This resource provides the status of the payment for goods and services rendered, and the request and response resource references. + */ +export interface PaymentNotice extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'PaymentNotice'; + /** + * The amount sent to the payee. + */ + amount: Money; + /** + * The date when this resource was created. + */ + created: string; + _created?: Element|undefined; + /** + * A unique identifier assigned to this payment notice. + */ + identifier?: Identifier[]|undefined; + /** + * The party who will receive or has received payment that is the subject of this notification. + */ + payee?: Reference|undefined; + /** + * A reference to the payment which is the subject of this notice. + */ + payment: Reference; + /** + * The date when the above payment action occurred. + */ + paymentDate?: string|undefined; + _paymentDate?: Element|undefined; + /** + * Typically paid: payment sent, cleared: payment received. + */ + paymentStatus?: CodeableConcept|undefined; + /** + * The practitioner who is responsible for the services rendered to the patient. + */ + provider?: Reference|undefined; + /** + * The party who is notified of the payment status. + */ + recipient: Reference; + /** + * Reference of resource for which payment is being made. + */ + request?: Reference|undefined; + /** + * Reference of response to resource for which payment is being made. + */ + response?: Reference|undefined; + /** + * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. + */ + status: ('active'|'cancelled'|'draft'|'entered-in-error'); + _status?: Element|undefined; +} +/** + * Distribution of the payment amount for a previously acknowledged payable. + */ +export interface PaymentReconciliationDetail extends BackboneElement { + /** + * The monetary amount allocated from the total payment to the payable. + */ + amount?: Money|undefined; + /** + * The date from the response resource containing a commitment to pay. + */ + date?: string|undefined; + _date?: Element|undefined; + /** + * Unique identifier for the current payment item for the referenced payable. + */ + identifier?: Identifier|undefined; + /** + * The party which is receiving the payment. + */ + payee?: Reference|undefined; + /** + * Unique identifier for the prior payment item for the referenced payable. + */ + predecessor?: Identifier|undefined; + /** + * A resource, such as a Claim, the evaluation of which could lead to payment. + */ + request?: Reference|undefined; + /** + * A resource, such as a ClaimResponse, which contains a commitment to payment. + */ + response?: Reference|undefined; + /** + * A reference to the individual who is responsible for inquiries regarding the response and its payment. + */ + responsible?: Reference|undefined; + /** + * The party which submitted the claim or financial transaction. + */ + submitter?: Reference|undefined; + /** + * For example: payment, adjustment, funds advance, etc. + */ + type: CodeableConcept; +} +/** + * A note that describes or explains the processing in a human readable form. + */ +export interface PaymentReconciliationProcessNote extends BackboneElement { + /** + * The explanation or description associated with the processing. + */ + text?: string|undefined; + _text?: Element|undefined; + /** + * The business purpose of the note text. + */ + type?: ('display'|'print'|'printoper')|undefined; + _type?: Element|undefined; +} +/** + * This resource provides the details including amount of a payment and allocates the payment items being paid. + */ +export interface PaymentReconciliation extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'PaymentReconciliation'; + /** + * The date when the resource was created. + */ + created: string; + _created?: Element|undefined; + /** + * Distribution of the payment amount for a previously acknowledged payable. + */ + detail?: PaymentReconciliationDetail[]|undefined; + /** + * A human readable description of the status of the request for the reconciliation. + */ + disposition?: string|undefined; + _disposition?: Element|undefined; + /** + * May be needed to identify specific jurisdictional forms. + */ + formCode?: CodeableConcept|undefined; + /** + * A unique identifier assigned to this payment reconciliation. + */ + identifier?: Identifier[]|undefined; + /** + * The resource may be used to indicate that: the request has been held (queued) for processing; that it has been processed and errors found (error); that no errors were found and that some of the adjudication has been undertaken (partial) or that all of the adjudication has been undertaken (complete). + */ + outcome?: ('queued'|'complete'|'error'|'partial')|undefined; + _outcome?: Element|undefined; + /** + * Total payment amount as indicated on the financial instrument. + */ + paymentAmount: Money; + /** + * The date of payment as indicated on the financial instrument. + */ + paymentDate: string; + _paymentDate?: Element|undefined; + /** + * For example: EFT number or check number. + */ + paymentIdentifier?: Identifier|undefined; + /** + * This party is also responsible for the reconciliation. + */ + paymentIssuer?: Reference|undefined; + /** + * The period of time for which payments have been gathered into this bulk payment for settlement. + */ + period?: Period|undefined; + /** + * A note that describes or explains the processing in a human readable form. + */ + processNote?: PaymentReconciliationProcessNote[]|undefined; + /** + * Original request resource reference. + */ + request?: Reference|undefined; + /** + * The practitioner who is responsible for the services rendered to the patient. + */ + requestor?: Reference|undefined; + /** + * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. + */ + status: ('active'|'cancelled'|'draft'|'entered-in-error'); + _status?: Element|undefined; +} +/** + * Link to a resource that concerns the same actual person. + */ +export interface PersonLink extends BackboneElement { + /** + * Level of assurance that this link is associated with the target resource. + */ + assurance?: ('level1'|'level2'|'level3'|'level4')|undefined; + _assurance?: Element|undefined; + /** + * The resource to which this actual person is associated. + */ + target: Reference; +} +/** + * Demographics and administrative information about a person independent of a specific health-related context. + */ +export interface Person extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'Person'; + /** + * Whether this person's record is in active use. + */ + active?: boolean|undefined; + _active?: Element|undefined; + /** + * Person may have multiple addresses with different uses or applicable periods. + */ + address?: Address[]|undefined; + /** + * At least an estimated year should be provided as a guess if the real DOB is unknown. + */ + birthDate?: string|undefined; + _birthDate?: Element|undefined; + /** + * The gender might not match the biological sex as determined by genetics, or the individual's preferred identification. Note that for both humans and particularly animals, there are other legitimate possibilities than M and F, though a clear majority of systems and contexts only support M and F. + */ + gender?: ('male'|'female'|'other'|'unknown')|undefined; + _gender?: Element|undefined; + /** + * Identifier for a person within a particular scope. + */ + identifier?: Identifier[]|undefined; + /** + * Link to a resource that concerns the same actual person. + */ + link?: PersonLink[]|undefined; + /** + * The organization that is the custodian of the person record. + */ + managingOrganization?: Reference|undefined; + /** + * Person may have multiple names with different uses or applicable periods. + */ + name?: HumanName[]|undefined; + /** + * An image that can be displayed as a thumbnail of the person to enhance the identification of the individual. + */ + photo?: Attachment|undefined; + /** + * Person may have multiple ways to be contacted with different uses or applicable periods. May need to have options for contacting the person urgently and also to help with identification. + */ + telecom?: ContactPoint[]|undefined; +} +/** + * Indicates what should be done and within what timeframe. + */ +export interface PlanDefinitionGoalTarget extends BackboneElement { + /** + * The target value of the measure to be achieved to signify fulfillment of the goal, e.g. 150 pounds or 7.0%. Either the high or low or both values of the range can be specified. When a low value is missing, it indicates that the goal is achieved at any value at or below the high value. Similarly, if the high value is missing, it indicates that the goal is achieved at any value at or above the low value. + */ + detailQuantity?: Quantity|undefined; + /** + * The target value of the measure to be achieved to signify fulfillment of the goal, e.g. 150 pounds or 7.0%. Either the high or low or both values of the range can be specified. When a low value is missing, it indicates that the goal is achieved at any value at or below the high value. Similarly, if the high value is missing, it indicates that the goal is achieved at any value at or above the low value. + */ + detailRange?: Range|undefined; + /** + * The target value of the measure to be achieved to signify fulfillment of the goal, e.g. 150 pounds or 7.0%. Either the high or low or both values of the range can be specified. When a low value is missing, it indicates that the goal is achieved at any value at or below the high value. Similarly, if the high value is missing, it indicates that the goal is achieved at any value at or above the low value. + */ + detailCodeableConcept?: CodeableConcept|undefined; + /** + * Indicates the timeframe after the start of the goal in which the goal should be met. + */ + due?: Duration|undefined; + /** + * The parameter whose value is to be tracked, e.g. body weight, blood pressure, or hemoglobin A1c level. + */ + measure?: CodeableConcept|undefined; +} +/** + * Goals that describe what the activities within the plan are intended to achieve. For example, weight loss, restoring an activity of daily living, obtaining herd immunity via immunization, meeting a process improvement objective, etc. + */ +export interface PlanDefinitionGoal extends BackboneElement { + /** + * Identifies problems, conditions, issues, or concerns the goal is intended to address. + */ + addresses?: CodeableConcept[]|undefined; + /** + * Indicates a category the goal falls within. + */ + category?: CodeableConcept|undefined; + /** + * If no code is available, use CodeableConcept.text. + */ + description: CodeableConcept; + /** + * Didactic or other informational resources associated with the goal that provide further supporting information about the goal. Information resources can include inline text commentary and links to web resources. + */ + documentation?: RelatedArtifact[]|undefined; + /** + * Identifies the expected level of importance associated with reaching/sustaining the defined goal. + */ + priority?: CodeableConcept|undefined; + /** + * The event after which the goal should begin being pursued. + */ + start?: CodeableConcept|undefined; + /** + * Indicates what should be done and within what timeframe. + */ + target?: PlanDefinitionGoalTarget[]|undefined; +} +/** + * When multiple conditions of the same kind are present, the effects are combined using AND semantics, so the overall condition is true only if all the conditions are true. + */ +export interface PlanDefinitionActionCondition extends BackboneElement { + /** + * The expression may be inlined or may be a reference to a named expression within a logic library referenced by the library element. + */ + expression?: Expression|undefined; + /** + * Applicability criteria are used to determine immediate applicability when a plan definition is applied to a given context. Start and stop criteria are carried through application and used to describe enter/exit criteria for an action. + */ + kind: ('applicability'|'start'|'stop'); + _kind?: Element|undefined; +} +/** + * When an action depends on multiple actions, the meaning is that all actions are dependencies, rather than that any of the actions are a dependency. + */ +export interface PlanDefinitionActionRelatedAction extends BackboneElement { + /** + * The element id of the related action. + */ + actionId: string; + _actionId?: Element|undefined; + /** + * A duration or range of durations to apply to the relationship. For example, 30-60 minutes before. + */ + offsetDuration?: Duration|undefined; + /** + * A duration or range of durations to apply to the relationship. For example, 30-60 minutes before. + */ + offsetRange?: Range|undefined; + /** + * The relationship of this action to the related action. + */ + relationship: ('before-start'|'before'|'before-end'|'concurrent-with-start'|'concurrent'|'concurrent-with-end'|'after-start'|'after'|'after-end'); + _relationship?: Element|undefined; +} +/** + * Indicates who should participate in performing the action described. + */ +export interface PlanDefinitionActionParticipant extends BackboneElement { + /** + * The role the participant should play in performing the described action. + */ + role?: CodeableConcept|undefined; + /** + * The type of participant in the action. + */ + type: ('patient'|'practitioner'|'related-person'|'device'); + _type?: Element|undefined; +} +/** + * Dynamic values are applied in the order in which they are defined in the PlanDefinition resource. Note that when dynamic values are also specified by a referenced ActivityDefinition, the dynamicValues from the ActivityDefinition are applied first, followed by the dynamicValues specified here. In addition, if both a transform and dynamic values are specific, the dynamic values are applied to the result of the transform. + */ +export interface PlanDefinitionActionDynamicValue extends BackboneElement { + /** + * The expression may be inlined or may be a reference to a named expression within a logic library referenced by the library element. + */ + expression?: Expression|undefined; + /** + * To specify the path to the current action being realized, the %action environment variable is available in this path. For example, to specify the description element of the target action, the path would be %action.description. The path attribute contains a [Simple FHIRPath Subset](fhirpath.html#simple) that allows path traversal, but not calculation. + */ + path?: string|undefined; + _path?: Element|undefined; +} +/** + * Note that there is overlap between many of the elements defined here and the ActivityDefinition resource. When an ActivityDefinition is referenced (using the definition element), the overlapping elements in the plan override the content of the referenced ActivityDefinition unless otherwise documented in the specific elements. See the PlanDefinition resource for more detailed information. + */ +export interface PlanDefinitionAction extends BackboneElement { + /** + * Sub actions that are contained within the action. The behavior of this action determines the functionality of the sub-actions. For example, a selection behavior of at-most-one indicates that of the sub-actions, at most one may be chosen as part of realizing the action definition. + */ + action?: PlanDefinitionAction[]|undefined; + /** + * Defines whether the action can be selected multiple times. + */ + cardinalityBehavior?: ('single'|'multiple')|undefined; + _cardinalityBehavior?: Element|undefined; + /** + * A code that provides meaning for the action or action group. For example, a section may have a LOINC code for the section of a documentation template. + */ + code?: CodeableConcept[]|undefined; + /** + * When multiple conditions of the same kind are present, the effects are combined using AND semantics, so the overall condition is true only if all the conditions are true. + */ + condition?: PlanDefinitionActionCondition[]|undefined; + /** + * Note that the definition is optional, and if no definition is specified, a dynamicValue with a root ($this) path can be used to define the entire resource dynamically. + */ + definitionCanonical?: string|undefined; + _definitionCanonical?: Element|undefined; + /** + * Note that the definition is optional, and if no definition is specified, a dynamicValue with a root ($this) path can be used to define the entire resource dynamically. + */ + definitionUri?: string|undefined; + _definitionUri?: Element|undefined; + /** + * A brief description of the action used to provide a summary to display to the user. + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * Didactic or other informational resources associated with the action that can be provided to the CDS recipient. Information resources can include inline text commentary and links to web resources. + */ + documentation?: RelatedArtifact[]|undefined; + /** + * Dynamic values are applied in the order in which they are defined in the PlanDefinition resource. Note that when dynamic values are also specified by a referenced ActivityDefinition, the dynamicValues from the ActivityDefinition are applied first, followed by the dynamicValues specified here. In addition, if both a transform and dynamic values are specific, the dynamic values are applied to the result of the transform. + */ + dynamicValue?: PlanDefinitionActionDynamicValue[]|undefined; + /** + * Identifies goals that this action supports. The reference must be to a goal element defined within this plan definition. + */ + goalId?: string[]|undefined; + _goalId?: Element[]|undefined; + /** + * Defines the grouping behavior for the action and its children. + */ + groupingBehavior?: ('visual-group'|'logical-group'|'sentence-group')|undefined; + _groupingBehavior?: Element|undefined; + /** + * Defines input data requirements for the action. + */ + input?: DataRequirement[]|undefined; + /** + * Defines the outputs of the action, if any. + */ + output?: DataRequirement[]|undefined; + /** + * Indicates who should participate in performing the action described. + */ + participant?: PlanDefinitionActionParticipant[]|undefined; + /** + * Defines whether the action should usually be preselected. + */ + precheckBehavior?: ('yes'|'no')|undefined; + _precheckBehavior?: Element|undefined; + /** + * A user-visible prefix for the action. + */ + prefix?: string|undefined; + _prefix?: Element|undefined; + /** + * Indicates how quickly the action should be addressed with respect to other actions. + */ + priority?: ('routine'|'urgent'|'asap'|'stat')|undefined; + _priority?: Element|undefined; + /** + * This is different than the clinical evidence documentation, it's an actual business description of the reason for performing the action. + */ + reason?: CodeableConcept[]|undefined; + /** + * When an action depends on multiple actions, the meaning is that all actions are dependencies, rather than that any of the actions are a dependency. + */ + relatedAction?: PlanDefinitionActionRelatedAction[]|undefined; + /** + * Defines the required behavior for the action. + */ + requiredBehavior?: ('must'|'could'|'must-unless-documented')|undefined; + _requiredBehavior?: Element|undefined; + /** + * Defines the selection behavior for the action and its children. + */ + selectionBehavior?: ('any'|'all'|'all-or-none'|'exactly-one'|'at-most-one'|'one-or-more')|undefined; + _selectionBehavior?: Element|undefined; + /** + * The subject of an action overrides the subject at a parent action or on the root of the PlanDefinition if specified. + * In addition, because the subject needs to be resolved during realization, use of subjects in actions (or in the ActivityDefinition referenced by the action) resolves based on the set of subjects supplied in context and by type (i.e. the patient subject would resolve to a resource of type Patient). + */ + subjectCodeableConcept?: CodeableConcept|undefined; + /** + * The subject of an action overrides the subject at a parent action or on the root of the PlanDefinition if specified. + * In addition, because the subject needs to be resolved during realization, use of subjects in actions (or in the ActivityDefinition referenced by the action) resolves based on the set of subjects supplied in context and by type (i.e. the patient subject would resolve to a resource of type Patient). + */ + subjectReference?: Reference|undefined; + /** + * A text equivalent of the action to be performed. This provides a human-interpretable description of the action when the definition is consumed by a system that might not be capable of interpreting it dynamically. + */ + textEquivalent?: string|undefined; + _textEquivalent?: Element|undefined; + /** + * An optional value describing when the action should be performed. + */ + timingDateTime?: string|undefined; + _timingDateTime?: Element|undefined; + /** + * An optional value describing when the action should be performed. + */ + timingAge?: Age|undefined; + /** + * An optional value describing when the action should be performed. + */ + timingPeriod?: Period|undefined; + /** + * An optional value describing when the action should be performed. + */ + timingDuration?: Duration|undefined; + /** + * An optional value describing when the action should be performed. + */ + timingRange?: Range|undefined; + /** + * An optional value describing when the action should be performed. + */ + timingTiming?: Timing|undefined; + /** + * The title of the action displayed to a user. + */ + title?: string|undefined; + _title?: Element|undefined; + /** + * Note that when a referenced ActivityDefinition also defines a transform, the transform specified here generally takes precedence. In addition, if both a transform and dynamic values are specific, the dynamic values are applied to the result of the transform. + */ + transform?: string|undefined; + _transform?: Element|undefined; + /** + * A description of when the action should be triggered. + */ + trigger?: TriggerDefinition[]|undefined; + /** + * The type of action to perform (create, update, remove). + */ + type?: CodeableConcept|undefined; +} +/** + * This resource allows for the definition of various types of plans as a sharable, consumable, and executable artifact. The resource is general enough to support the description of a broad range of clinical artifacts such as clinical decision support rules, order sets and protocols. + */ +export interface PlanDefinition extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'PlanDefinition'; + /** + * Note that there is overlap between many of the elements defined here and the ActivityDefinition resource. When an ActivityDefinition is referenced (using the definition element), the overlapping elements in the plan override the content of the referenced ActivityDefinition unless otherwise documented in the specific elements. See the PlanDefinition resource for more detailed information. + */ + action?: PlanDefinitionAction[]|undefined; + /** + * The 'date' element may be more recent than the approval date because of minor changes or editorial corrections. + */ + approvalDate?: string|undefined; + _approvalDate?: Element|undefined; + /** + * An individiual or organization primarily involved in the creation and maintenance of the content. + */ + author?: ContactDetail[]|undefined; + /** + * May be a web site, an email address, a telephone number, etc. + */ + contact?: ContactDetail[]|undefined; + /** + * A copyright statement relating to the plan definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the plan definition. + */ + copyright?: string|undefined; + _copyright?: Element|undefined; + /** + * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the plan definition. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. + */ + date?: string|undefined; + _date?: Element|undefined; + /** + * This description can be used to capture details such as why the plan definition was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the plan definition as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the plan definition is presumed to be the predominant language in the place the plan definition was created). + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * An individual or organization primarily responsible for internal coherence of the content. + */ + editor?: ContactDetail[]|undefined; + /** + * The effective period for a plan definition determines when the content is applicable for usage and is independent of publication and review dates. For example, a measure intended to be used for the year 2016 might be published in 2015. + */ + effectivePeriod?: Period|undefined; + /** + * An individual or organization responsible for officially endorsing the content for use in some setting. + */ + endorser?: ContactDetail[]|undefined; + /** + * Allows filtering of plan definitions that are appropriate for use versus not. + */ + experimental?: boolean|undefined; + _experimental?: Element|undefined; + /** + * Goals that describe what the activities within the plan are intended to achieve. For example, weight loss, restoring an activity of daily living, obtaining herd immunity via immunization, meeting a process improvement objective, etc. + */ + goal?: PlanDefinitionGoal[]|undefined; + /** + * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this plan definition outside of FHIR, where it is not possible to use the logical URI. + */ + identifier?: Identifier[]|undefined; + /** + * It may be possible for the plan definition to be used in jurisdictions other than those for which it was originally designed or intended. + */ + jurisdiction?: CodeableConcept[]|undefined; + /** + * If specified, this date follows the original approval date. + */ + lastReviewDate?: string|undefined; + _lastReviewDate?: Element|undefined; + /** + * A reference to a Library resource containing any formal logic used by the plan definition. + */ + library?: string[]|undefined; + _library?: Element[]|undefined; + /** + * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. + */ + name?: string|undefined; + _name?: Element|undefined; + /** + * Usually an organization but may be an individual. The publisher (or steward) of the plan definition is the organization or individual primarily responsible for the maintenance and upkeep of the plan definition. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the plan definition. This item SHOULD be populated unless the information is available from context. + */ + publisher?: string|undefined; + _publisher?: Element|undefined; + /** + * This element does not describe the usage of the plan definition. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this plan definition. + */ + purpose?: string|undefined; + _purpose?: Element|undefined; + /** + * Each related artifact is either an attachment, or a reference to another resource, but not both. + */ + relatedArtifact?: RelatedArtifact[]|undefined; + /** + * An individual or organization primarily responsible for review of some aspect of the content. + */ + reviewer?: ContactDetail[]|undefined; + /** + * Allows filtering of plan definitions that are appropriate for use versus not. + */ + status: ('draft'|'active'|'retired'|'unknown'); + _status?: Element|undefined; + /** + * A code or group definition that describes the intended subject of the plan definition. + */ + subjectCodeableConcept?: CodeableConcept|undefined; + /** + * A code or group definition that describes the intended subject of the plan definition. + */ + subjectReference?: Reference|undefined; + /** + * An explanatory or alternate title for the plan definition giving additional information about its content. + */ + subtitle?: string|undefined; + _subtitle?: Element|undefined; + /** + * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. + */ + title?: string|undefined; + _title?: Element|undefined; + /** + * Descriptive topics related to the content of the plan definition. Topics provide a high-level categorization of the definition that can be useful for filtering and searching. + */ + topic?: CodeableConcept[]|undefined; + /** + * A high-level category for the plan definition that distinguishes the kinds of systems that would be interested in the plan definition. + */ + type?: CodeableConcept|undefined; + /** + * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. + * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). + * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. + */ + url?: string|undefined; + _url?: Element|undefined; + /** + * A detailed description of how the plan definition is used from a clinical perspective. + */ + usage?: string|undefined; + _usage?: Element|undefined; + /** + * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. + */ + useContext?: UsageContext[]|undefined; + /** + * There may be different plan definition instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the plan definition with the format [url]|[version]. + */ + version?: string|undefined; + _version?: Element|undefined; +} +/** + * The official certifications, training, and licenses that authorize or otherwise pertain to the provision of care by the practitioner. For example, a medical license issued by a medical board authorizing the practitioner to practice medicine within a certian locality. + */ +export interface PractitionerQualification extends BackboneElement { + /** + * Coded representation of the qualification. + */ + code: CodeableConcept; + /** + * An identifier that applies to this person's qualification in this role. + */ + identifier?: Identifier[]|undefined; + /** + * Organization that regulates and issues the qualification. + */ + issuer?: Reference|undefined; + /** + * Period during which the qualification is valid. + */ + period?: Period|undefined; +} +/** + * A person who is directly or indirectly involved in the provisioning of healthcare. + */ +export interface Practitioner extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'Practitioner'; + /** + * If the practitioner is not in use by one organization, then it should mark the period on the PractitonerRole with an end date (even if they are active) as they may be active in another role. + */ + active?: boolean|undefined; + _active?: Element|undefined; + /** + * The PractitionerRole does not have an address value on it, as it is expected that the location property be used for this purpose (which has an address). + */ + address?: Address[]|undefined; + /** + * The date of birth for the practitioner. + */ + birthDate?: string|undefined; + _birthDate?: Element|undefined; + /** + * The structure aa-BB with this exact casing is one the most widely used notations for locale. However not all systems code this but instead have it as free text. Hence CodeableConcept instead of code as the data type. + */ + communication?: CodeableConcept[]|undefined; + /** + * Administrative Gender - the gender that the person is considered to have for administration and record keeping purposes. + */ + gender?: ('male'|'female'|'other'|'unknown')|undefined; + _gender?: Element|undefined; + /** + * An identifier that applies to this person in this role. + */ + identifier?: Identifier[]|undefined; + /** + * The selection of the use property should ensure that there is a single usual name specified, and others use the nickname (alias), old, or other values as appropriate. + * In general, select the value to be used in the ResourceReference.display based on this: + * 1. There is more than 1 name + * 2. Use = usual + * 3. Period is current to the date of the usage + * 4. Use = official + * 5. Other order as decided by internal business rules. + */ + name?: HumanName[]|undefined; + /** + * Image of the person. + */ + photo?: Attachment[]|undefined; + /** + * The official certifications, training, and licenses that authorize or otherwise pertain to the provision of care by the practitioner. For example, a medical license issued by a medical board authorizing the practitioner to practice medicine within a certian locality. + */ + qualification?: PractitionerQualification[]|undefined; + /** + * Person may have multiple ways to be contacted with different uses or applicable periods. May need to have options for contacting the person urgently and to help with identification. These typically will have home numbers, or mobile numbers that are not role specific. + */ + telecom?: ContactPoint[]|undefined; +} +/** + * More detailed availability information may be provided in associated Schedule/Slot resources. + */ +export interface PractitionerRoleAvailableTime extends BackboneElement { + /** + * Is this always available? (hence times are irrelevant) e.g. 24 hour service. + */ + allDay?: boolean|undefined; + _allDay?: Element|undefined; + /** + * The timezone is expected to be for where this HealthcareService is provided at. + */ + availableEndTime?: string|undefined; + _availableEndTime?: Element|undefined; + /** + * The timezone is expected to be for where this HealthcareService is provided at. + */ + availableStartTime?: string|undefined; + _availableStartTime?: Element|undefined; + /** + * Indicates which days of the week are available between the start and end Times. + */ + daysOfWeek?: ('mon'|'tue'|'wed'|'thu'|'fri'|'sat'|'sun')[]|undefined; + _daysOfWeek?: Element[]|undefined; +} +/** + * The practitioner is not available or performing this role during this period of time due to the provided reason. + */ +export interface PractitionerRoleNotAvailable extends BackboneElement { + /** + * The reason that can be presented to the user as to why this time is not available. + */ + description: string; + _description?: Element|undefined; + /** + * Service is not available (seasonally or for a public holiday) from this date. + */ + during?: Period|undefined; +} +/** + * A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time. + */ +export interface PractitionerRole extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'PractitionerRole'; + /** + * If this value is false, you may refer to the period to see when the role was in active use. If there is no period specified, no inference can be made about when it was active. + */ + active?: boolean|undefined; + _active?: Element|undefined; + /** + * A description of site availability exceptions, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as details in the available Times and not available Times. + */ + availabilityExceptions?: string|undefined; + _availabilityExceptions?: Element|undefined; + /** + * More detailed availability information may be provided in associated Schedule/Slot resources. + */ + availableTime?: PractitionerRoleAvailableTime[]|undefined; + /** + * A person may have more than one role. + */ + code?: CodeableConcept[]|undefined; + /** + * Technical endpoints providing access to services operated for the practitioner with this role. + */ + endpoint?: Reference[]|undefined; + /** + * The list of healthcare services that this worker provides for this role's Organization/Location(s). + */ + healthcareService?: Reference[]|undefined; + /** + * Business Identifiers that are specific to a role/location. + */ + identifier?: Identifier[]|undefined; + /** + * The location(s) at which this practitioner provides care. + */ + location?: Reference[]|undefined; + /** + * The practitioner is not available or performing this role during this period of time due to the provided reason. + */ + notAvailable?: PractitionerRoleNotAvailable[]|undefined; + /** + * The organization where the Practitioner performs the roles associated. + */ + organization?: Reference|undefined; + /** + * The period during which the person is authorized to act as a practitioner in these role(s) for the organization. + */ + period?: Period|undefined; + /** + * Practitioner that is able to provide the defined services for the organization. + */ + practitioner?: Reference|undefined; + /** + * Specific specialty of the practitioner. + */ + specialty?: CodeableConcept[]|undefined; + /** + * Contact details that are specific to the role/location/service. + */ + telecom?: ContactPoint[]|undefined; +} +/** + * Limited to "real" people rather than equipment. + */ +export interface ProcedurePerformer extends BackboneElement { + /** + * The practitioner who was involved in the procedure. + */ + actor: Reference; + /** + * Distinguishes the type of involvement of the performer in the procedure. For example, surgeon, anaesthetist, endoscopist. + */ + function?: CodeableConcept|undefined; + /** + * The organization the device or practitioner was acting on behalf of. + */ + onBehalfOf?: Reference|undefined; +} +/** + * A device that is implanted, removed or otherwise manipulated (calibration, battery replacement, fitting a prosthesis, attaching a wound-vac, etc.) as a focal portion of the Procedure. + */ +export interface ProcedureFocalDevice extends BackboneElement { + /** + * The kind of change that happened to the device during the procedure. + */ + action?: CodeableConcept|undefined; + /** + * The device that was manipulated (changed) during the procedure. + */ + manipulated: Reference; +} +/** + * An action that is or was performed on or for a patient. This can be a physical intervention like an operation, or less invasive like long term services, counseling, or hypnotherapy. + */ +export interface Procedure extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'Procedure'; + /** + * Individual who is making the procedure statement. + */ + asserter?: Reference|undefined; + /** + * A reference to a resource that contains details of the request for this procedure. + */ + basedOn?: Reference[]|undefined; + /** + * If the use case requires attributes from the BodySite resource (e.g. to identify and track separately) then use the standard extension [procedure-targetbodystructure](extension-procedure-targetbodystructure.html). + */ + bodySite?: CodeableConcept[]|undefined; + /** + * A code that classifies the procedure for searching, sorting and display purposes (e.g. "Surgical Procedure"). + */ + category?: CodeableConcept|undefined; + /** + * The specific procedure that is performed. Use text if the exact nature of the procedure cannot be coded (e.g. "Laparoscopic Appendectomy"). + */ + code?: CodeableConcept|undefined; + /** + * If complications are only expressed by the narrative text, they can be captured using the CodeableConcept.text. + */ + complication?: CodeableConcept[]|undefined; + /** + * Any complications that occurred during the procedure, or in the immediate post-performance period. + */ + complicationDetail?: Reference[]|undefined; + /** + * This will typically be the encounter the event occurred within, but some activities may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter. + */ + encounter?: Reference|undefined; + /** + * A device that is implanted, removed or otherwise manipulated (calibration, battery replacement, fitting a prosthesis, attaching a wound-vac, etc.) as a focal portion of the Procedure. + */ + focalDevice?: ProcedureFocalDevice[]|undefined; + /** + * If the procedure required specific follow up - e.g. removal of sutures. The follow up may be represented as a simple note or could potentially be more complex, in which case the CarePlan resource can be used. + */ + followUp?: CodeableConcept[]|undefined; + /** + * This is a business identifier, not a resource identifier (see [discussion](resource.html#identifiers)). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and Person resource instances might share the same social insurance number. + */ + identifier?: Identifier[]|undefined; + /** + * The URL pointing to a FHIR-defined protocol, guideline, order set or other definition that is adhered to in whole or in part by this Procedure. + */ + instantiatesCanonical?: string[]|undefined; + _instantiatesCanonical?: Element[]|undefined; + /** + * This might be an HTML page, PDF, etc. or could just be a non-resolvable URI identifier. + */ + instantiatesUri?: string[]|undefined; + _instantiatesUri?: Element[]|undefined; + /** + * The location where the procedure actually happened. E.g. a newborn at home, a tracheostomy at a restaurant. + */ + location?: Reference|undefined; + /** + * Any other notes and comments about the procedure. + */ + note?: Annotation[]|undefined; + /** + * If outcome contains narrative text only, it can be captured using the CodeableConcept.text. + */ + outcome?: CodeableConcept|undefined; + /** + * The MedicationAdministration resource has a partOf reference to Procedure, but this is not a circular reference. For example, the anesthesia MedicationAdministration is part of the surgical Procedure (MedicationAdministration.partOf = Procedure). For example, the procedure to insert the IV port for an IV medication administration is part of the medication administration (Procedure.partOf = MedicationAdministration). + */ + partOf?: Reference[]|undefined; + /** + * Age is generally used when the patient reports an age at which the procedure was performed. Range is generally used when the patient reports an age range when the procedure was performed, such as sometime between 20-25 years old. dateTime supports a range of precision due to some procedures being reported as past procedures that might not have millisecond precision while other procedures performed and documented during the encounter might have more precise UTC timestamps with timezone. + */ + performedDateTime?: string|undefined; + _performedDateTime?: Element|undefined; + /** + * Age is generally used when the patient reports an age at which the procedure was performed. Range is generally used when the patient reports an age range when the procedure was performed, such as sometime between 20-25 years old. dateTime supports a range of precision due to some procedures being reported as past procedures that might not have millisecond precision while other procedures performed and documented during the encounter might have more precise UTC timestamps with timezone. + */ + performedPeriod?: Period|undefined; + /** + * Age is generally used when the patient reports an age at which the procedure was performed. Range is generally used when the patient reports an age range when the procedure was performed, such as sometime between 20-25 years old. dateTime supports a range of precision due to some procedures being reported as past procedures that might not have millisecond precision while other procedures performed and documented during the encounter might have more precise UTC timestamps with timezone. + */ + performedString?: string|undefined; + _performedString?: Element|undefined; + /** + * Age is generally used when the patient reports an age at which the procedure was performed. Range is generally used when the patient reports an age range when the procedure was performed, such as sometime between 20-25 years old. dateTime supports a range of precision due to some procedures being reported as past procedures that might not have millisecond precision while other procedures performed and documented during the encounter might have more precise UTC timestamps with timezone. + */ + performedAge?: Age|undefined; + /** + * Age is generally used when the patient reports an age at which the procedure was performed. Range is generally used when the patient reports an age range when the procedure was performed, such as sometime between 20-25 years old. dateTime supports a range of precision due to some procedures being reported as past procedures that might not have millisecond precision while other procedures performed and documented during the encounter might have more precise UTC timestamps with timezone. + */ + performedRange?: Range|undefined; + /** + * Limited to "real" people rather than equipment. + */ + performer?: ProcedurePerformer[]|undefined; + /** + * Use Procedure.reasonCode when a code sufficiently describes the reason. Use Procedure.reasonReference when referencing a resource, which allows more information to be conveyed, such as onset date. Procedure.reasonCode and Procedure.reasonReference are not meant to be duplicative. For a single reason, either Procedure.reasonCode or Procedure.reasonReference can be used. Procedure.reasonCode may be a summary code, or Procedure.reasonReference may be used to reference a very precise definition of the reason using Condition | Observation | Procedure | DiagnosticReport | DocumentReference. Both Procedure.reasonCode and Procedure.reasonReference can be used if they are describing different reasons for the procedure. + */ + reasonCode?: CodeableConcept[]|undefined; + /** + * It is possible for a procedure to be a reason (such as C-Section) for another procedure (such as an epidural). Other examples include endoscopy for dilatation and biopsy (a combination of diagnostic and therapeutic use). + * Use Procedure.reasonCode when a code sufficiently describes the reason. Use Procedure.reasonReference when referencing a resource, which allows more information to be conveyed, such as onset date. Procedure.reasonCode and Procedure.reasonReference are not meant to be duplicative. For a single reason, either Procedure.reasonCode or Procedure.reasonReference can be used. Procedure.reasonCode may be a summary code, or Procedure.reasonReference may be used to reference a very precise definition of the reason using Condition | Observation | Procedure | DiagnosticReport | DocumentReference. Both Procedure.reasonCode and Procedure.reasonReference can be used if they are describing different reasons for the procedure. + */ + reasonReference?: Reference[]|undefined; + /** + * Individual who recorded the record and takes responsibility for its content. + */ + recorder?: Reference|undefined; + /** + * There could potentially be multiple reports - e.g. if this was a procedure which took multiple biopsies resulting in a number of anatomical pathology reports. + */ + report?: Reference[]|undefined; + /** + * The "unknown" code is not to be used to convey other statuses. The "unknown" code should be used when one of the statuses applies, but the authoring system doesn't know the current state of the procedure. + * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. + */ + status: ('preparation'|'in-progress'|'not-done'|'on-hold'|'stopped'|'completed'|'entered-in-error'|'unknown'); + _status?: Element|undefined; + /** + * This is generally only used for "exception" statuses such as "not-done", "suspended" or "aborted". The reason for performing the event at all is captured in reasonCode, not here. + */ + statusReason?: CodeableConcept|undefined; + /** + * The person, animal or group on which the procedure was performed. + */ + subject: Reference; + /** + * For devices actually implanted or removed, use Procedure.device. + */ + usedCode?: CodeableConcept[]|undefined; + /** + * For devices actually implanted or removed, use Procedure.device. + */ + usedReference?: Reference[]|undefined; +} +/** + * Several agents may be associated (i.e. has some responsibility for an activity) with an activity and vice-versa. + */ +export interface ProvenanceAgent extends BackboneElement { + /** + * onBehalfOfIdentity should be used when the agent is not a Resource type. + */ + onBehalfOf?: Reference|undefined; + /** + * For example: doctor, nurse, clerk, etc. + */ + role?: CodeableConcept[]|undefined; + /** + * For example: author, performer, enterer, attester, etc. + */ + type?: CodeableConcept|undefined; + /** + * whoIdentity should be used when the agent is not a Resource type. + */ + who: Reference; +} +/** + * An entity used in this activity. + */ +export interface ProvenanceEntity extends BackboneElement { + /** + * A usecase where one Provenance.entity.agent is used where the Entity that was used in the creation/updating of the Target, is not in the context of the same custodianship as the Target, and thus the meaning of Provenance.entity.agent is to say that the entity referenced is managed elsewhere and that this Agent provided access to it. This would be similar to where the Entity being referenced is managed outside FHIR, such as through HL7 v2, v3, or XDS. This might be where the Entity being referenced is managed in another FHIR resource server. Thus it explains the Provenance of that Entity's use in the context of this Provenance activity. + */ + agent?: ProvenanceAgent[]|undefined; + /** + * How the entity was used during the activity. + */ + role: ('derivation'|'revision'|'quotation'|'source'|'removal'); + _role?: Element|undefined; + /** + * whatIdentity should be used for entities that are not a Resource type. + */ + what: Reference; +} +/** + * Provenance of a resource is a record that describes entities and processes involved in producing and delivering or otherwise influencing that resource. Provenance provides a critical foundation for assessing authenticity, enabling trust, and allowing reproducibility. Provenance assertions are a form of contextual metadata and can themselves become important records with their own provenance. Provenance statement indicates clinical significance in terms of confidence in authenticity, reliability, and trustworthiness, integrity, and stage in lifecycle (e.g. Document Completion - has the artifact been legally authenticated), all of which may impact security, privacy, and trust policies. + */ +export interface Provenance extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'Provenance'; + /** + * An activity is something that occurs over a period of time and acts upon or with entities; it may include consuming, processing, transforming, modifying, relocating, using, or generating entities. + */ + activity?: CodeableConcept|undefined; + /** + * Several agents may be associated (i.e. has some responsibility for an activity) with an activity and vice-versa. + */ + agent: ProvenanceAgent[]; + /** + * An entity used in this activity. + */ + entity?: ProvenanceEntity[]|undefined; + /** + * Where the activity occurred, if relevant. + */ + location?: Reference|undefined; + /** + * The period can be a little arbitrary; where possible, the time should correspond to human assessment of the activity time. + */ + occurredPeriod?: Period|undefined; + /** + * The period can be a little arbitrary; where possible, the time should correspond to human assessment of the activity time. + */ + occurredDateTime?: string|undefined; + _occurredDateTime?: Element|undefined; + /** + * For example: Where an OAuth token authorizes, the unique identifier from the OAuth token is placed into the policy element Where a policy engine (e.g. XACML) holds policy logic, the unique policy identifier is placed into the policy element. + */ + policy?: string[]|undefined; + _policy?: Element[]|undefined; + /** + * The reason that the activity was taking place. + */ + reason?: CodeableConcept[]|undefined; + /** + * This can be a little different from the time stamp on the resource if there is a delay between recording the event and updating the provenance and target resource. + */ + recorded: string; + _recorded?: Element|undefined; + /** + * A digital signature on the target Reference(s). The signer should match a Provenance.agent. The purpose of the signature is indicated. + */ + signature?: Signature[]|undefined; + /** + * Target references are usually version specific, but might not be, if a version has not been assigned or if the provenance information is part of the set of resources being maintained (i.e. a document). When using the RESTful API, the identity of the resource might not be known (especially not the version specific one); the client may either submit the resource first, and then the provenance, or it may submit both using a single transaction. See the notes on transaction for further discussion. + */ + target: Reference[]; +} +/** + * If multiple repetitions of this extension are present, the item should be enabled when the condition for *any* of the repetitions is true. I.e. treat "enableWhen"s as being joined by an "or" clause. This element is a modifier because if enableWhen is present for an item, "required" is ignored unless one of the enableWhen conditions is met. When an item is disabled, all of its descendants are disabled, regardless of what their own enableWhen logic might evaluate to. + */ +export interface QuestionnaireItemEnableWhen extends BackboneElement { + /** + * A value that the referenced question is tested using the specified operator in order for the item to be enabled. + */ + answerBoolean?: boolean|undefined; + _answerBoolean?: Element|undefined; + /** + * A value that the referenced question is tested using the specified operator in order for the item to be enabled. + */ + answerDecimal?: number|undefined; + /** + * A value that the referenced question is tested using the specified operator in order for the item to be enabled. + */ + answerInteger?: number|undefined; + /** + * A value that the referenced question is tested using the specified operator in order for the item to be enabled. + */ + answerDate?: string|undefined; + _answerDate?: Element|undefined; + /** + * A value that the referenced question is tested using the specified operator in order for the item to be enabled. + */ + answerDateTime?: string|undefined; + _answerDateTime?: Element|undefined; + /** + * A value that the referenced question is tested using the specified operator in order for the item to be enabled. + */ + answerTime?: string|undefined; + _answerTime?: Element|undefined; + /** + * A value that the referenced question is tested using the specified operator in order for the item to be enabled. + */ + answerString?: string|undefined; + _answerString?: Element|undefined; + /** + * A value that the referenced question is tested using the specified operator in order for the item to be enabled. + */ + answerCoding?: Coding|undefined; + /** + * A value that the referenced question is tested using the specified operator in order for the item to be enabled. + */ + answerQuantity?: Quantity|undefined; + /** + * A value that the referenced question is tested using the specified operator in order for the item to be enabled. + */ + answerReference?: Reference|undefined; + /** + * Specifies the criteria by which the question is enabled. + */ + operator: ('exists'|'='|'!='|'>'|'<'|'>='|'<='); + _operator?: Element|undefined; + /** + * If multiple question occurrences are present for the same question (same linkId), then this refers to the nearest question occurrence reachable by tracing first the "ancestor" axis and then the "preceding" axis and then the "following" axis. + */ + question: string; + _question?: Element|undefined; +} +/** + * This element can be used when the value set machinery of answerValueSet is deemed too cumbersome or when there's a need to capture possible answers that are not codes. + */ +export interface QuestionnaireItemAnswerOption extends BackboneElement { + /** + * Use this instead of initial[v] if answerValueSet is present. + */ + initialSelected?: boolean|undefined; + _initialSelected?: Element|undefined; + /** + * The data type of the value must agree with the item.type. + */ + valueInteger?: number|undefined; + /** + * The data type of the value must agree with the item.type. + */ + valueDate?: string|undefined; + _valueDate?: Element|undefined; + /** + * The data type of the value must agree with the item.type. + */ + valueTime?: string|undefined; + _valueTime?: Element|undefined; + /** + * The data type of the value must agree with the item.type. + */ + valueString?: string|undefined; + _valueString?: Element|undefined; + /** + * The data type of the value must agree with the item.type. + */ + valueCoding?: Coding|undefined; + /** + * The data type of the value must agree with the item.type. + */ + valueReference?: Reference|undefined; +} +/** + * The user is allowed to change the value and override the default (unless marked as read-only). If the user doesn't change the value, then this initial value will be persisted when the QuestionnaireResponse is initially created. Note that initial values can influence results. The data type of initial[x] must agree with the item.type, and only repeating items can have more then one initial value. + */ +export interface QuestionnaireItemInitial extends BackboneElement { + /** + * The type of the initial value must be consistent with the type of the item. + */ + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; + /** + * The type of the initial value must be consistent with the type of the item. + */ + valueDecimal?: number|undefined; + /** + * The type of the initial value must be consistent with the type of the item. + */ + valueInteger?: number|undefined; + /** + * The type of the initial value must be consistent with the type of the item. + */ + valueDate?: string|undefined; + _valueDate?: Element|undefined; + /** + * The type of the initial value must be consistent with the type of the item. + */ + valueDateTime?: string|undefined; + _valueDateTime?: Element|undefined; + /** + * The type of the initial value must be consistent with the type of the item. + */ + valueTime?: string|undefined; + _valueTime?: Element|undefined; + /** + * The type of the initial value must be consistent with the type of the item. + */ + valueString?: string|undefined; + _valueString?: Element|undefined; + /** + * The type of the initial value must be consistent with the type of the item. + */ + valueUri?: string|undefined; + _valueUri?: Element|undefined; + /** + * The type of the initial value must be consistent with the type of the item. + */ + valueAttachment?: Attachment|undefined; + /** + * The type of the initial value must be consistent with the type of the item. + */ + valueCoding?: Coding|undefined; + /** + * The type of the initial value must be consistent with the type of the item. + */ + valueQuantity?: Quantity|undefined; + /** + * The type of the initial value must be consistent with the type of the item. + */ + valueReference?: Reference|undefined; +} +/** + * The content of the questionnaire is constructed from an ordered, hierarchical collection of items. + */ +export interface QuestionnaireItem extends BackboneElement { + /** + * This element can be used when the value set machinery of answerValueSet is deemed too cumbersome or when there's a need to capture possible answers that are not codes. + */ + answerOption?: QuestionnaireItemAnswerOption[]|undefined; + /** + * LOINC defines many useful value sets for questionnaire responses. See [LOINC Answer Lists](loinc.html#alist). The value may come from the ElementDefinition referred to by .definition. + */ + answerValueSet?: string|undefined; + _answerValueSet?: Element|undefined; + /** + * The value may come from the ElementDefinition referred to by .definition. + */ + code?: Coding[]|undefined; + /** + * The uri refers to an ElementDefinition in a [StructureDefinition](structuredefinition.html#) and always starts with the [canonical URL](references.html#canonical) for the target resource. When referring to a StructureDefinition, a fragment identifier is used to specify the element definition by its id [Element.id](element-definitions.html#Element.id). E.g. http://hl7.org/fhir/StructureDefinition/Observation#Observation.value[x]. In the absence of a fragment identifier, the first/root element definition in the target is the matching element definition. + */ + definition?: string|undefined; + _definition?: Element|undefined; + /** + * This element must be specified if more than one enableWhen value is provided. + */ + enableBehavior?: ('all'|'any')|undefined; + _enableBehavior?: Element|undefined; + /** + * If multiple repetitions of this extension are present, the item should be enabled when the condition for *any* of the repetitions is true. I.e. treat "enableWhen"s as being joined by an "or" clause. This element is a modifier because if enableWhen is present for an item, "required" is ignored unless one of the enableWhen conditions is met. When an item is disabled, all of its descendants are disabled, regardless of what their own enableWhen logic might evaluate to. + */ + enableWhen?: QuestionnaireItemEnableWhen[]|undefined; + /** + * The user is allowed to change the value and override the default (unless marked as read-only). If the user doesn't change the value, then this initial value will be persisted when the QuestionnaireResponse is initially created. Note that initial values can influence results. The data type of initial[x] must agree with the item.type, and only repeating items can have more then one initial value. + */ + initial?: QuestionnaireItemInitial[]|undefined; + /** + * There is no specified limit to the depth of nesting. However, Questionnaire authors are encouraged to consider the impact on the user and user interface of overly deep nesting. + */ + item?: QuestionnaireItem[]|undefined; + /** + * This ''can'' be a meaningful identifier (e.g. a LOINC code) but is not intended to have any meaning. GUIDs or sequential numbers are appropriate here. + */ + linkId: string; + _linkId?: Element|undefined; + /** + * For base64binary, reflects the number of characters representing the encoded data, not the number of bytes of the binary data. The value may come from the ElementDefinition referred to by .definition. + */ + maxLength?: number|undefined; + /** + * These are generally unique within a questionnaire, though this is not guaranteed. Some questionnaires may have multiple questions with the same label with logic to control which gets exposed. Typically, these won't be used for "display" items, though such use is not prohibited. Systems SHOULD NOT generate their own prefixes if prefixes are defined for any items within a Questionnaire. + */ + prefix?: string|undefined; + _prefix?: Element|undefined; + /** + * The value of readOnly elements can be established by asserting extensions for defaultValues, linkages that support pre-population and/or extensions that support calculation based on other answers. + */ + readOnly?: boolean|undefined; + _readOnly?: Element|undefined; + /** + * If a question is marked as repeats=true, then multiple answers can be provided for the question in the corresponding QuestionnaireResponse. When rendering the questionnaire, it is up to the rendering software whether to render the question text for each answer repetition (i.e. "repeat the question") or to simply allow entry/selection of multiple answers for the question (repeat the answers). Which is most appropriate visually may depend on the type of answer as well as whether there are nested items. + * The resulting QuestionnaireResponse will be populated the same way regardless of rendering - one 'question' item with multiple answer values. + * The value may come from the ElementDefinition referred to by .definition. + */ + repeats?: boolean|undefined; + _repeats?: Element|undefined; + /** + * Questionnaire.item.required only has meaning for elements that are conditionally enabled with enableWhen if the condition evaluates to true. If an item that contains other items is marked as required, that does not automatically make the contained elements required (though required groups must contain at least one child element). The value may come from the ElementDefinition referred to by .definition. + */ + required?: boolean|undefined; + _required?: Element|undefined; + /** + * When using this element to represent the name of a section, use group type item and also make sure to limit the text element to a short string suitable for display as a section heading. Group item instructions should be included as a display type item within the group. + */ + text?: string|undefined; + _text?: Element|undefined; + /** + * Additional constraints on the type of answer can be conveyed by extensions. The value may come from the ElementDefinition referred to by .definition. + */ + type: ('group'|'display'|'question'|'boolean'|'decimal'|'integer'|'date'|'dateTime'|'time'|'string'|'text'|'url'|'choice'|'open-choice'|'attachment'|'reference'|'quantity'); + _type?: Element|undefined; +} +/** + * A structured set of questions intended to guide the collection of answers from end-users. Questionnaires provide detailed control over order, presentation, phraseology and grouping to allow coherent, consistent data collection. + */ +export interface Questionnaire extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'Questionnaire'; + /** + * The 'date' element may be more recent than the approval date because of minor changes or editorial corrections. + */ + approvalDate?: string|undefined; + _approvalDate?: Element|undefined; + /** + * An identifier for this question or group of questions in a particular terminology such as LOINC. + */ + code?: Coding[]|undefined; + /** + * May be a web site, an email address, a telephone number, etc. + */ + contact?: ContactDetail[]|undefined; + /** + * A copyright statement relating to the questionnaire and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the questionnaire. + */ + copyright?: string|undefined; + _copyright?: Element|undefined; + /** + * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the questionnaire. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. + */ + date?: string|undefined; + _date?: Element|undefined; + /** + * The URL of a Questionnaire that this Questionnaire is based on. + */ + derivedFrom?: string[]|undefined; + _derivedFrom?: Element[]|undefined; + /** + * This description can be used to capture details such as why the questionnaire was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the questionnaire as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the questionnaire is presumed to be the predominant language in the place the questionnaire was created). + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * The effective period for a questionnaire determines when the content is applicable for usage and is independent of publication and review dates. For example, a measure intended to be used for the year 2016 might be published in 2015. + */ + effectivePeriod?: Period|undefined; + /** + * Allows filtering of questionnaires that are appropriate for use versus not. + */ + experimental?: boolean|undefined; + _experimental?: Element|undefined; + /** + * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this questionnaire outside of FHIR, where it is not possible to use the logical URI. + */ + identifier?: Identifier[]|undefined; + /** + * The content of the questionnaire is constructed from an ordered, hierarchical collection of items. + */ + item?: QuestionnaireItem[]|undefined; + /** + * It may be possible for the questionnaire to be used in jurisdictions other than those for which it was originally designed or intended. + */ + jurisdiction?: CodeableConcept[]|undefined; + /** + * If specified, this date follows the original approval date. + */ + lastReviewDate?: string|undefined; + _lastReviewDate?: Element|undefined; + /** + * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. + */ + name?: string|undefined; + _name?: Element|undefined; + /** + * Usually an organization but may be an individual. The publisher (or steward) of the questionnaire is the organization or individual primarily responsible for the maintenance and upkeep of the questionnaire. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the questionnaire. This item SHOULD be populated unless the information is available from context. + */ + publisher?: string|undefined; + _publisher?: Element|undefined; + /** + * This element does not describe the usage of the questionnaire. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this questionnaire. + */ + purpose?: string|undefined; + _purpose?: Element|undefined; + /** + * Allows filtering of questionnaires that are appropriate for use versus not. + */ + status: ('draft'|'active'|'retired'|'unknown'); + _status?: Element|undefined; + /** + * If none are specified, then the subject is unlimited. + */ + subjectType?: string[]|undefined; + _subjectType?: Element[]|undefined; + /** + * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. + */ + title?: string|undefined; + _title?: Element|undefined; + /** + * The name of the referenced questionnaire can be conveyed using the http://hl7.org/fhir/StructureDefinition/display extension. + */ + url?: string|undefined; + _url?: Element|undefined; + /** + * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. + */ + useContext?: UsageContext[]|undefined; + /** + * There may be different questionnaire instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the questionnaire with the format [url]|[version]. + */ + version?: string|undefined; + _version?: Element|undefined; +} +/** + * The value is nested because we cannot have a repeating structure that has variable type. + */ +export interface QuestionnaireResponseItemAnswer extends BackboneElement { + /** + * Nested groups and/or questions found within this particular answer. + */ + item?: QuestionnaireResponseItem[]|undefined; + /** + * More complex structures (Attachment, Resource and Quantity) will typically be limited to electronic forms that can expose an appropriate user interface to capture the components and enforce the constraints of a complex data type. Additional complex types can be introduced through extensions. Must match the datatype specified by Questionnaire.item.type in the corresponding Questionnaire. + */ + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; + /** + * More complex structures (Attachment, Resource and Quantity) will typically be limited to electronic forms that can expose an appropriate user interface to capture the components and enforce the constraints of a complex data type. Additional complex types can be introduced through extensions. Must match the datatype specified by Questionnaire.item.type in the corresponding Questionnaire. + */ + valueDecimal?: number|undefined; + /** + * More complex structures (Attachment, Resource and Quantity) will typically be limited to electronic forms that can expose an appropriate user interface to capture the components and enforce the constraints of a complex data type. Additional complex types can be introduced through extensions. Must match the datatype specified by Questionnaire.item.type in the corresponding Questionnaire. + */ + valueInteger?: number|undefined; + /** + * More complex structures (Attachment, Resource and Quantity) will typically be limited to electronic forms that can expose an appropriate user interface to capture the components and enforce the constraints of a complex data type. Additional complex types can be introduced through extensions. Must match the datatype specified by Questionnaire.item.type in the corresponding Questionnaire. + */ + valueDate?: string|undefined; + _valueDate?: Element|undefined; + /** + * More complex structures (Attachment, Resource and Quantity) will typically be limited to electronic forms that can expose an appropriate user interface to capture the components and enforce the constraints of a complex data type. Additional complex types can be introduced through extensions. Must match the datatype specified by Questionnaire.item.type in the corresponding Questionnaire. + */ + valueDateTime?: string|undefined; + _valueDateTime?: Element|undefined; + /** + * More complex structures (Attachment, Resource and Quantity) will typically be limited to electronic forms that can expose an appropriate user interface to capture the components and enforce the constraints of a complex data type. Additional complex types can be introduced through extensions. Must match the datatype specified by Questionnaire.item.type in the corresponding Questionnaire. + */ + valueTime?: string|undefined; + _valueTime?: Element|undefined; + /** + * More complex structures (Attachment, Resource and Quantity) will typically be limited to electronic forms that can expose an appropriate user interface to capture the components and enforce the constraints of a complex data type. Additional complex types can be introduced through extensions. Must match the datatype specified by Questionnaire.item.type in the corresponding Questionnaire. + */ + valueString?: string|undefined; + _valueString?: Element|undefined; + /** + * More complex structures (Attachment, Resource and Quantity) will typically be limited to electronic forms that can expose an appropriate user interface to capture the components and enforce the constraints of a complex data type. Additional complex types can be introduced through extensions. Must match the datatype specified by Questionnaire.item.type in the corresponding Questionnaire. + */ + valueUri?: string|undefined; + _valueUri?: Element|undefined; + /** + * More complex structures (Attachment, Resource and Quantity) will typically be limited to electronic forms that can expose an appropriate user interface to capture the components and enforce the constraints of a complex data type. Additional complex types can be introduced through extensions. Must match the datatype specified by Questionnaire.item.type in the corresponding Questionnaire. + */ + valueAttachment?: Attachment|undefined; + /** + * More complex structures (Attachment, Resource and Quantity) will typically be limited to electronic forms that can expose an appropriate user interface to capture the components and enforce the constraints of a complex data type. Additional complex types can be introduced through extensions. Must match the datatype specified by Questionnaire.item.type in the corresponding Questionnaire. + */ + valueCoding?: Coding|undefined; + /** + * More complex structures (Attachment, Resource and Quantity) will typically be limited to electronic forms that can expose an appropriate user interface to capture the components and enforce the constraints of a complex data type. Additional complex types can be introduced through extensions. Must match the datatype specified by Questionnaire.item.type in the corresponding Questionnaire. + */ + valueQuantity?: Quantity|undefined; + /** + * More complex structures (Attachment, Resource and Quantity) will typically be limited to electronic forms that can expose an appropriate user interface to capture the components and enforce the constraints of a complex data type. Additional complex types can be introduced through extensions. Must match the datatype specified by Questionnaire.item.type in the corresponding Questionnaire. + */ + valueReference?: Reference|undefined; +} +/** + * Groups cannot have answers and therefore must nest directly within item. When dealing with questions, nesting must occur within each answer because some questions may have multiple answers (and the nesting occurs for each answer). + */ +export interface QuestionnaireResponseItem extends BackboneElement { + /** + * The value is nested because we cannot have a repeating structure that has variable type. + */ + answer?: QuestionnaireResponseItemAnswer[]|undefined; + /** + * The ElementDefinition must be in a [StructureDefinition](structuredefinition.html#), and must have a fragment identifier that identifies the specific data element by its id (Element.id). E.g. http://hl7.org/fhir/StructureDefinition/Observation#Observation.value[x]. + * There is no need for this element if the item pointed to by the linkId has a definition listed. + */ + definition?: string|undefined; + _definition?: Element|undefined; + /** + * Questions or sub-groups nested beneath a question or group. + */ + item?: QuestionnaireResponseItem[]|undefined; + /** + * The item from the Questionnaire that corresponds to this item in the QuestionnaireResponse resource. + */ + linkId: string; + _linkId?: Element|undefined; + /** + * Text that is displayed above the contents of the group or as the text of the question being answered. + */ + text?: string|undefined; + _text?: Element|undefined; +} +/** + * A structured set of questions and their answers. The questions are ordered and grouped into coherent subsets, corresponding to the structure of the grouping of the questionnaire being responded to. + */ +export interface QuestionnaireResponse extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'QuestionnaireResponse'; + /** + * Mapping a subject's answers to multiple choice options and determining what to put in the textual answer is a matter of interpretation. Authoring by device would indicate that some portion of the questionnaire had been auto-populated. + */ + author?: Reference|undefined; + /** + * May be different from the lastUpdateTime of the resource itself, because that reflects when the data was known to the server, not when the data was captured. + * This element is optional to allow for systems that might not know the value, however it SHOULD be populated if possible. + */ + authored?: string|undefined; + _authored?: Element|undefined; + /** + * The order, proposal or plan that is fulfilled in whole or in part by this QuestionnaireResponse. For example, a ServiceRequest seeking an intake assessment or a decision support recommendation to assess for post-partum depression. + */ + basedOn?: Reference[]|undefined; + /** + * This will typically be the encounter the event occurred within, but some activities may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter. A questionnaire that was initiated during an encounter but not fully completed during the encounter would still generally be associated with the encounter. + */ + encounter?: Reference|undefined; + /** + * A business identifier assigned to a particular completed (or partially completed) questionnaire. + */ + identifier?: Identifier|undefined; + /** + * Groups cannot have answers and therefore must nest directly within item. When dealing with questions, nesting must occur within each answer because some questions may have multiple answers (and the nesting occurs for each answer). + */ + item?: QuestionnaireResponseItem[]|undefined; + /** + * Composition of questionnaire responses will be handled by the parent questionnaire having answers that reference the child questionnaire. For relationships to referrals, and other types of requests, use basedOn. + */ + partOf?: Reference[]|undefined; + /** + * If a QuestionnaireResponse references a Questionnaire, then the QuestionnaireResponse structure must be consistent with the Questionnaire (i.e. questions must be organized into the same groups, nested questions must still be nested, etc.). + */ + questionnaire?: string|undefined; + _questionnaire?: Element|undefined; + /** + * If not specified, no inference can be made about who provided the data. + */ + source?: Reference|undefined; + /** + * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. + */ + status: ('in-progress'|'completed'|'amended'|'entered-in-error'|'stopped'); + _status?: Element|undefined; + /** + * If the Questionnaire declared a subjectType, the resource pointed to by this element must be an instance of one of the listed types. + */ + subject?: Reference|undefined; +} +/** + * If no language is specified, this *implies* that the default local language is spoken. If you need to convey proficiency for multiple modes, then you need multiple RelatedPerson.Communication associations. If the RelatedPerson does not speak the default local language, then the Interpreter Required Standard can be used to explicitly declare that an interpreter is required. + */ +export interface RelatedPersonCommunication extends BackboneElement { + /** + * The structure aa-BB with this exact casing is one the most widely used notations for locale. However not all systems actually code this but instead have it as free text. Hence CodeableConcept instead of code as the data type. + */ + language: CodeableConcept; + /** + * This language is specifically identified for communicating healthcare information. + */ + preferred?: boolean|undefined; + _preferred?: Element|undefined; +} +/** + * Information about a person that is involved in the care for a patient, but who is not the target of healthcare, nor has a formal responsibility in the care process. + */ +export interface RelatedPerson extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'RelatedPerson'; + /** + * This element is labeled as a modifier because it may be used to mark that the resource was created in error. + */ + active?: boolean|undefined; + _active?: Element|undefined; + /** + * Address where the related person can be contacted or visited. + */ + address?: Address[]|undefined; + /** + * The date on which the related person was born. + */ + birthDate?: string|undefined; + _birthDate?: Element|undefined; + /** + * If no language is specified, this *implies* that the default local language is spoken. If you need to convey proficiency for multiple modes, then you need multiple RelatedPerson.Communication associations. If the RelatedPerson does not speak the default local language, then the Interpreter Required Standard can be used to explicitly declare that an interpreter is required. + */ + communication?: RelatedPersonCommunication[]|undefined; + /** + * Administrative Gender - the gender that the person is considered to have for administration and record keeping purposes. + */ + gender?: ('male'|'female'|'other'|'unknown')|undefined; + _gender?: Element|undefined; + /** + * Identifier for a person within a particular scope. + */ + identifier?: Identifier[]|undefined; + /** + * A name associated with the person. + */ + name?: HumanName[]|undefined; + /** + * The patient this person is related to. + */ + patient: Reference; + /** + * The period of time during which this relationship is or was active. If there are no dates defined, then the interval is unknown. + */ + period?: Period|undefined; + /** + * Image of the person. + */ + photo?: Attachment[]|undefined; + /** + * The nature of the relationship between a patient and the related person. + */ + relationship?: CodeableConcept[]|undefined; + /** + * Person may have multiple ways to be contacted with different uses or applicable periods. May need to have options for contacting the person urgently, and also to help with identification. + */ + telecom?: ContactPoint[]|undefined; +} +/** + * When multiple conditions of the same kind are present, the effects are combined using AND semantics, so the overall condition is true only if all of the conditions are true. + */ +export interface RequestGroupActionCondition extends BackboneElement { + /** + * The expression may be inlined, or may be a reference to a named expression within a logic library referenced by the library element. + */ + expression?: Expression|undefined; + /** + * Applicability criteria are used to determine immediate applicability when a plan definition is applied to a given context. Start and stop criteria are carried through application and used to describe enter/exit criteria for an action. + */ + kind: ('applicability'|'start'|'stop'); + _kind?: Element|undefined; +} +/** + * A relationship to another action such as "before" or "30-60 minutes after start of". + */ +export interface RequestGroupActionRelatedAction extends BackboneElement { + /** + * The element id of the action this is related to. + */ + actionId: string; + _actionId?: Element|undefined; + /** + * A duration or range of durations to apply to the relationship. For example, 30-60 minutes before. + */ + offsetDuration?: Duration|undefined; + /** + * A duration or range of durations to apply to the relationship. For example, 30-60 minutes before. + */ + offsetRange?: Range|undefined; + /** + * The relationship of this action to the related action. + */ + relationship: ('before-start'|'before'|'before-end'|'concurrent-with-start'|'concurrent'|'concurrent-with-end'|'after-start'|'after'|'after-end'); + _relationship?: Element|undefined; +} +/** + * The actions, if any, produced by the evaluation of the artifact. + */ +export interface RequestGroupAction extends BackboneElement { + /** + * Sub actions. + */ + action?: RequestGroupAction[]|undefined; + /** + * Defines whether the action can be selected multiple times. + */ + cardinalityBehavior?: ('single'|'multiple')|undefined; + _cardinalityBehavior?: Element|undefined; + /** + * A code that provides meaning for the action or action group. For example, a section may have a LOINC code for a section of a documentation template. + */ + code?: CodeableConcept[]|undefined; + /** + * When multiple conditions of the same kind are present, the effects are combined using AND semantics, so the overall condition is true only if all of the conditions are true. + */ + condition?: RequestGroupActionCondition[]|undefined; + /** + * A short description of the action used to provide a summary to display to the user. + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * Didactic or other informational resources associated with the action that can be provided to the CDS recipient. Information resources can include inline text commentary and links to web resources. + */ + documentation?: RelatedArtifact[]|undefined; + /** + * Defines the grouping behavior for the action and its children. + */ + groupingBehavior?: ('visual-group'|'logical-group'|'sentence-group')|undefined; + _groupingBehavior?: Element|undefined; + /** + * The participant that should perform or be responsible for this action. + */ + participant?: Reference[]|undefined; + /** + * Defines whether the action should usually be preselected. + */ + precheckBehavior?: ('yes'|'no')|undefined; + _precheckBehavior?: Element|undefined; + /** + * A user-visible prefix for the action. + */ + prefix?: string|undefined; + _prefix?: Element|undefined; + /** + * Indicates how quickly the action should be addressed with respect to other actions. + */ + priority?: ('routine'|'urgent'|'asap'|'stat')|undefined; + _priority?: Element|undefined; + /** + * A relationship to another action such as "before" or "30-60 minutes after start of". + */ + relatedAction?: RequestGroupActionRelatedAction[]|undefined; + /** + * Defines expectations around whether an action is required. + */ + requiredBehavior?: ('must'|'could'|'must-unless-documented')|undefined; + _requiredBehavior?: Element|undefined; + /** + * The target resource SHALL be a [Request](request.html) resource with a Request.intent set to "option". + */ + resource?: Reference|undefined; + /** + * Defines the selection behavior for the action and its children. + */ + selectionBehavior?: ('any'|'all'|'all-or-none'|'exactly-one'|'at-most-one'|'one-or-more')|undefined; + _selectionBehavior?: Element|undefined; + /** + * A text equivalent of the action to be performed. This provides a human-interpretable description of the action when the definition is consumed by a system that might not be capable of interpreting it dynamically. + */ + textEquivalent?: string|undefined; + _textEquivalent?: Element|undefined; + /** + * An optional value describing when the action should be performed. + */ + timingDateTime?: string|undefined; + _timingDateTime?: Element|undefined; + /** + * An optional value describing when the action should be performed. + */ + timingAge?: Age|undefined; + /** + * An optional value describing when the action should be performed. + */ + timingPeriod?: Period|undefined; + /** + * An optional value describing when the action should be performed. + */ + timingDuration?: Duration|undefined; + /** + * An optional value describing when the action should be performed. + */ + timingRange?: Range|undefined; + /** + * An optional value describing when the action should be performed. + */ + timingTiming?: Timing|undefined; + /** + * The title of the action displayed to a user. + */ + title?: string|undefined; + _title?: Element|undefined; + /** + * The type of action to perform (create, update, remove). + */ + type?: CodeableConcept|undefined; +} +/** + * A group of related requests that can be used to capture intended activities that have inter-dependencies such as "give this medication after that one". + */ +export interface RequestGroup extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'RequestGroup'; + /** + * The actions, if any, produced by the evaluation of the artifact. + */ + action?: RequestGroupAction[]|undefined; + /** + * Provides a reference to the author of the request group. + */ + author?: Reference|undefined; + /** + * Indicates when the request group was created. + */ + authoredOn?: string|undefined; + _authoredOn?: Element|undefined; + /** + * A plan, proposal or order that is fulfilled in whole or in part by this request. + */ + basedOn?: Reference[]|undefined; + /** + * This element can be used to provide a code that captures the meaning of the request group as a whole, as opposed to the code of the action element, which captures the meaning of the individual actions within the request group. + */ + code?: CodeableConcept|undefined; + /** + * Describes the context of the request group, if any. + */ + encounter?: Reference|undefined; + /** + * Requests are linked either by a "basedOn" relationship (i.e. one request is fulfilling another) or by having a common requisition. Requests that are part of the same requisition are generally treated independently from the perspective of changing their state or maintaining them after initial creation. + */ + groupIdentifier?: Identifier|undefined; + /** + * Allows a service to provide a unique, business identifier for the request. + */ + identifier?: Identifier[]|undefined; + /** + * A canonical URL referencing a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this request. + */ + instantiatesCanonical?: string[]|undefined; + _instantiatesCanonical?: Element[]|undefined; + /** + * A URL referencing an externally defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this request. + */ + instantiatesUri?: string[]|undefined; + _instantiatesUri?: Element[]|undefined; + /** + * Indicates the level of authority/intentionality associated with the request and where the request fits into the workflow chain. + */ + intent: ('proposal'|'plan'|'directive'|'order'|'original-order'|'reflex-order'|'filler-order'|'instance-order'|'option'); + _intent?: Element|undefined; + /** + * Provides a mechanism to communicate additional information about the response. + */ + note?: Annotation[]|undefined; + /** + * Indicates how quickly the request should be addressed with respect to other requests. + */ + priority?: ('routine'|'urgent'|'asap'|'stat')|undefined; + _priority?: Element|undefined; + /** + * Describes the reason for the request group in coded or textual form. + */ + reasonCode?: CodeableConcept[]|undefined; + /** + * Indicates another resource whose existence justifies this request group. + */ + reasonReference?: Reference[]|undefined; + /** + * The replacement could be because the initial request was immediately rejected (due to an issue) or because the previous request was completed, but the need for the action described by the request remains ongoing. + */ + replaces?: Reference[]|undefined; + /** + * The current state of the request. For request groups, the status reflects the status of all the requests in the group. + */ + status: ('draft'|'active'|'on-hold'|'revoked'|'completed'|'entered-in-error'|'unknown'); + _status?: Element|undefined; + /** + * The subject for which the request group was created. + */ + subject?: Reference|undefined; +} +/** + * The ResearchDefinition resource describes the conditional state (population and any exposures being compared within the population) and outcome (if specified) that the knowledge (evidence, assertion, recommendation) is about. + */ +export interface ResearchDefinition extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'ResearchDefinition'; + /** + * The 'date' element may be more recent than the approval date because of minor changes or editorial corrections. + */ + approvalDate?: string|undefined; + _approvalDate?: Element|undefined; + /** + * An individiual or organization primarily involved in the creation and maintenance of the content. + */ + author?: ContactDetail[]|undefined; + /** + * A human-readable string to clarify or explain concepts about the resource. + */ + comment?: string[]|undefined; + _comment?: Element[]|undefined; + /** + * May be a web site, an email address, a telephone number, etc. + */ + contact?: ContactDetail[]|undefined; + /** + * A copyright statement relating to the research definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the research definition. + */ + copyright?: string|undefined; + _copyright?: Element|undefined; + /** + * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the research definition. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. + */ + date?: string|undefined; + _date?: Element|undefined; + /** + * This description can be used to capture details such as why the research definition was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the research definition as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the research definition is presumed to be the predominant language in the place the research definition was created). + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * An individual or organization primarily responsible for internal coherence of the content. + */ + editor?: ContactDetail[]|undefined; + /** + * The effective period for a research definition determines when the content is applicable for usage and is independent of publication and review dates. For example, a measure intended to be used for the year 2016 might be published in 2015. + */ + effectivePeriod?: Period|undefined; + /** + * An individual or organization responsible for officially endorsing the content for use in some setting. + */ + endorser?: ContactDetail[]|undefined; + /** + * Allows filtering of research definitions that are appropriate for use versus not. + */ + experimental?: boolean|undefined; + _experimental?: Element|undefined; + /** + * A reference to a ResearchElementDefinition resource that defines the exposure for the research. + */ + exposure?: Reference|undefined; + /** + * A reference to a ResearchElementDefinition resource that defines the exposureAlternative for the research. + */ + exposureAlternative?: Reference|undefined; + /** + * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this research definition outside of FHIR, where it is not possible to use the logical URI. + */ + identifier?: Identifier[]|undefined; + /** + * It may be possible for the research definition to be used in jurisdictions other than those for which it was originally designed or intended. + */ + jurisdiction?: CodeableConcept[]|undefined; + /** + * If specified, this date follows the original approval date. + */ + lastReviewDate?: string|undefined; + _lastReviewDate?: Element|undefined; + /** + * A reference to a Library resource containing the formal logic used by the ResearchDefinition. + */ + library?: string[]|undefined; + _library?: Element[]|undefined; + /** + * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. + */ + name?: string|undefined; + _name?: Element|undefined; + /** + * A reference to a ResearchElementDefinition resomece that defines the outcome for the research. + */ + outcome?: Reference|undefined; + /** + * A reference to a ResearchElementDefinition resource that defines the population for the research. + */ + population: Reference; + /** + * Usually an organization but may be an individual. The publisher (or steward) of the research definition is the organization or individual primarily responsible for the maintenance and upkeep of the research definition. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the research definition. This item SHOULD be populated unless the information is available from context. + */ + publisher?: string|undefined; + _publisher?: Element|undefined; + /** + * This element does not describe the usage of the research definition. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this research definition. + */ + purpose?: string|undefined; + _purpose?: Element|undefined; + /** + * Each related artifact is either an attachment, or a reference to another resource, but not both. + */ + relatedArtifact?: RelatedArtifact[]|undefined; + /** + * An individual or organization primarily responsible for review of some aspect of the content. + */ + reviewer?: ContactDetail[]|undefined; + /** + * The short title provides an alternate title for use in informal descriptive contexts where the full, formal title is not necessary. + */ + shortTitle?: string|undefined; + _shortTitle?: Element|undefined; + /** + * Allows filtering of research definitions that are appropriate for use versus not. + */ + status: ('draft'|'active'|'retired'|'unknown'); + _status?: Element|undefined; + /** + * The subject of the ResearchDefinition is critical in interpreting the criteria definitions, as the logic in the ResearchDefinitions is evaluated with respect to a particular subject. This corresponds roughly to the notion of a Compartment in that it limits what content is available based on its relationship to the subject. In CQL, this corresponds to the context declaration. + */ + subjectCodeableConcept?: CodeableConcept|undefined; + /** + * The subject of the ResearchDefinition is critical in interpreting the criteria definitions, as the logic in the ResearchDefinitions is evaluated with respect to a particular subject. This corresponds roughly to the notion of a Compartment in that it limits what content is available based on its relationship to the subject. In CQL, this corresponds to the context declaration. + */ + subjectReference?: Reference|undefined; + /** + * An explanatory or alternate title for the ResearchDefinition giving additional information about its content. + */ + subtitle?: string|undefined; + _subtitle?: Element|undefined; + /** + * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. + */ + title?: string|undefined; + _title?: Element|undefined; + /** + * Descriptive topics related to the content of the ResearchDefinition. Topics provide a high-level categorization grouping types of ResearchDefinitions that can be useful for filtering and searching. + */ + topic?: CodeableConcept[]|undefined; + /** + * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. + * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). + * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. + */ + url?: string|undefined; + _url?: Element|undefined; + /** + * A detailed description, from a clinical perspective, of how the ResearchDefinition is used. + */ + usage?: string|undefined; + _usage?: Element|undefined; + /** + * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. + */ + useContext?: UsageContext[]|undefined; + /** + * There may be different research definition instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the research definition with the format [url]|[version]. + */ + version?: string|undefined; + _version?: Element|undefined; +} +/** + * Characteristics can be defined flexibly to accommodate different use cases for membership criteria, ranging from simple codes, all the way to using an expression language to express the criteria. + */ +export interface ResearchElementDefinitionCharacteristic extends BackboneElement { + /** + * Define members of the research element using Codes (such as condition, medication, or observation), Expressions ( using an expression language such as FHIRPath or CQL) or DataRequirements (such as Diabetes diagnosis onset in the last year). + */ + definitionCodeableConcept?: CodeableConcept|undefined; + /** + * Define members of the research element using Codes (such as condition, medication, or observation), Expressions ( using an expression language such as FHIRPath or CQL) or DataRequirements (such as Diabetes diagnosis onset in the last year). + */ + definitionCanonical?: string|undefined; + _definitionCanonical?: Element|undefined; + /** + * Define members of the research element using Codes (such as condition, medication, or observation), Expressions ( using an expression language such as FHIRPath or CQL) or DataRequirements (such as Diabetes diagnosis onset in the last year). + */ + definitionExpression?: Expression|undefined; + /** + * Define members of the research element using Codes (such as condition, medication, or observation), Expressions ( using an expression language such as FHIRPath or CQL) or DataRequirements (such as Diabetes diagnosis onset in the last year). + */ + definitionDataRequirement?: DataRequirement|undefined; + /** + * When true, members with this characteristic are excluded from the element. + */ + exclude?: boolean|undefined; + _exclude?: Element|undefined; + /** + * Indicates what effective period the study covers. + */ + participantEffectiveDateTime?: string|undefined; + _participantEffectiveDateTime?: Element|undefined; + /** + * Indicates what effective period the study covers. + */ + participantEffectivePeriod?: Period|undefined; + /** + * Indicates what effective period the study covers. + */ + participantEffectiveDuration?: Duration|undefined; + /** + * Indicates what effective period the study covers. + */ + participantEffectiveTiming?: Timing|undefined; + /** + * A narrative description of the time period the study covers. + */ + participantEffectiveDescription?: string|undefined; + _participantEffectiveDescription?: Element|undefined; + /** + * Indicates how elements are aggregated within the study effective period. + */ + participantEffectiveGroupMeasure?: ('mean'|'median'|'mean-of-mean'|'mean-of-median'|'median-of-mean'|'median-of-median')|undefined; + _participantEffectiveGroupMeasure?: Element|undefined; + /** + * Indicates duration from the participant's study entry. + */ + participantEffectiveTimeFromStart?: Duration|undefined; + /** + * Indicates what effective period the study covers. + */ + studyEffectiveDateTime?: string|undefined; + _studyEffectiveDateTime?: Element|undefined; + /** + * Indicates what effective period the study covers. + */ + studyEffectivePeriod?: Period|undefined; + /** + * Indicates what effective period the study covers. + */ + studyEffectiveDuration?: Duration|undefined; + /** + * Indicates what effective period the study covers. + */ + studyEffectiveTiming?: Timing|undefined; + /** + * A narrative description of the time period the study covers. + */ + studyEffectiveDescription?: string|undefined; + _studyEffectiveDescription?: Element|undefined; + /** + * Indicates how elements are aggregated within the study effective period. + */ + studyEffectiveGroupMeasure?: ('mean'|'median'|'mean-of-mean'|'mean-of-median'|'median-of-mean'|'median-of-median')|undefined; + _studyEffectiveGroupMeasure?: Element|undefined; + /** + * Indicates duration from the study initiation. + */ + studyEffectiveTimeFromStart?: Duration|undefined; + /** + * Specifies the UCUM unit for the outcome. + */ + unitOfMeasure?: CodeableConcept|undefined; + /** + * Use UsageContext to define the members of the population, such as Age Ranges, Genders, Settings. + */ + usageContext?: UsageContext[]|undefined; +} +/** + * The ResearchElementDefinition resource describes a "PICO" element that knowledge (evidence, assertion, recommendation) is about. + */ +export interface ResearchElementDefinition extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'ResearchElementDefinition'; + /** + * The 'date' element may be more recent than the approval date because of minor changes or editorial corrections. + */ + approvalDate?: string|undefined; + _approvalDate?: Element|undefined; + /** + * An individiual or organization primarily involved in the creation and maintenance of the content. + */ + author?: ContactDetail[]|undefined; + /** + * Characteristics can be defined flexibly to accommodate different use cases for membership criteria, ranging from simple codes, all the way to using an expression language to express the criteria. + */ + characteristic: ResearchElementDefinitionCharacteristic[]; + /** + * A human-readable string to clarify or explain concepts about the resource. + */ + comment?: string[]|undefined; + _comment?: Element[]|undefined; + /** + * May be a web site, an email address, a telephone number, etc. + */ + contact?: ContactDetail[]|undefined; + /** + * A copyright statement relating to the research element definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the research element definition. + */ + copyright?: string|undefined; + _copyright?: Element|undefined; + /** + * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the research element definition. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. + */ + date?: string|undefined; + _date?: Element|undefined; + /** + * This description can be used to capture details such as why the research element definition was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the research element definition as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the research element definition is presumed to be the predominant language in the place the research element definition was created). + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * An individual or organization primarily responsible for internal coherence of the content. + */ + editor?: ContactDetail[]|undefined; + /** + * The effective period for a research element definition determines when the content is applicable for usage and is independent of publication and review dates. For example, a measure intended to be used for the year 2016 might be published in 2015. + */ + effectivePeriod?: Period|undefined; + /** + * An individual or organization responsible for officially endorsing the content for use in some setting. + */ + endorser?: ContactDetail[]|undefined; + /** + * Allows filtering of research element definitions that are appropriate for use versus not. + */ + experimental?: boolean|undefined; + _experimental?: Element|undefined; + /** + * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this research element definition outside of FHIR, where it is not possible to use the logical URI. + */ + identifier?: Identifier[]|undefined; + /** + * It may be possible for the research element definition to be used in jurisdictions other than those for which it was originally designed or intended. + */ + jurisdiction?: CodeableConcept[]|undefined; + /** + * If specified, this date follows the original approval date. + */ + lastReviewDate?: string|undefined; + _lastReviewDate?: Element|undefined; + /** + * A reference to a Library resource containing the formal logic used by the ResearchElementDefinition. + */ + library?: string[]|undefined; + _library?: Element[]|undefined; + /** + * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. + */ + name?: string|undefined; + _name?: Element|undefined; + /** + * Usually an organization but may be an individual. The publisher (or steward) of the research element definition is the organization or individual primarily responsible for the maintenance and upkeep of the research element definition. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the research element definition. This item SHOULD be populated unless the information is available from context. + */ + publisher?: string|undefined; + _publisher?: Element|undefined; + /** + * This element does not describe the usage of the research element definition. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this research element definition. + */ + purpose?: string|undefined; + _purpose?: Element|undefined; + /** + * Each related artifact is either an attachment, or a reference to another resource, but not both. + */ + relatedArtifact?: RelatedArtifact[]|undefined; + /** + * An individual or organization primarily responsible for review of some aspect of the content. + */ + reviewer?: ContactDetail[]|undefined; + /** + * The short title provides an alternate title for use in informal descriptive contexts where the full, formal title is not necessary. + */ + shortTitle?: string|undefined; + _shortTitle?: Element|undefined; + /** + * Allows filtering of research element definitions that are appropriate for use versus not. + */ + status: ('draft'|'active'|'retired'|'unknown'); + _status?: Element|undefined; + /** + * The subject of the ResearchElementDefinition is critical in interpreting the criteria definitions, as the logic in the ResearchElementDefinitions is evaluated with respect to a particular subject. This corresponds roughly to the notion of a Compartment in that it limits what content is available based on its relationship to the subject. In CQL, this corresponds to the context declaration. + */ + subjectCodeableConcept?: CodeableConcept|undefined; + /** + * The subject of the ResearchElementDefinition is critical in interpreting the criteria definitions, as the logic in the ResearchElementDefinitions is evaluated with respect to a particular subject. This corresponds roughly to the notion of a Compartment in that it limits what content is available based on its relationship to the subject. In CQL, this corresponds to the context declaration. + */ + subjectReference?: Reference|undefined; + /** + * An explanatory or alternate title for the ResearchElementDefinition giving additional information about its content. + */ + subtitle?: string|undefined; + _subtitle?: Element|undefined; + /** + * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. + */ + title?: string|undefined; + _title?: Element|undefined; + /** + * Descriptive topics related to the content of the ResearchElementDefinition. Topics provide a high-level categorization grouping types of ResearchElementDefinitions that can be useful for filtering and searching. + */ + topic?: CodeableConcept[]|undefined; + /** + * The type of research element, a population, an exposure, or an outcome. + */ + type: ('population'|'exposure'|'outcome'); + _type?: Element|undefined; + /** + * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. + * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). + * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. + */ + url?: string|undefined; + _url?: Element|undefined; + /** + * A detailed description, from a clinical perspective, of how the ResearchElementDefinition is used. + */ + usage?: string|undefined; + _usage?: Element|undefined; + /** + * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. + */ + useContext?: UsageContext[]|undefined; + /** + * The type of the outcome (e.g. Dichotomous, Continuous, or Descriptive). + */ + variableType?: ('dichotomous'|'continuous'|'descriptive')|undefined; + _variableType?: Element|undefined; + /** + * There may be different research element definition instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the research element definition with the format [url]|[version]. + */ + version?: string|undefined; + _version?: Element|undefined; +} +/** + * Describes an expected sequence of events for one of the participants of a study. E.g. Exposure to drug A, wash-out, exposure to drug B, wash-out, follow-up. + */ +export interface ResearchStudyArm extends BackboneElement { + /** + * A succinct description of the path through the study that would be followed by a subject adhering to this arm. + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * Unique, human-readable label for this arm of the study. + */ + name: string; + _name?: Element|undefined; + /** + * Categorization of study arm, e.g. experimental, active comparator, placebo comparater. + */ + type?: CodeableConcept|undefined; +} +/** + * A goal that the study is aiming to achieve in terms of a scientific question to be answered by the analysis of data collected during the study. + */ +export interface ResearchStudyObjective extends BackboneElement { + /** + * Unique, human-readable label for this objective of the study. + */ + name?: string|undefined; + _name?: Element|undefined; + /** + * The kind of study objective. + */ + type?: CodeableConcept|undefined; +} +/** + * A process where a researcher or organization plans and then executes a series of steps intended to increase the field of healthcare-related knowledge. This includes studies of safety, efficacy, comparative effectiveness and other information about medications, devices, therapies and other interventional and investigative techniques. A ResearchStudy involves the gathering of information about human or animal subjects. + */ +export interface ResearchStudy extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'ResearchStudy'; + /** + * Describes an expected sequence of events for one of the participants of a study. E.g. Exposure to drug A, wash-out, exposure to drug B, wash-out, follow-up. + */ + arm?: ResearchStudyArm[]|undefined; + /** + * Codes categorizing the type of study such as investigational vs. observational, type of blinding, type of randomization, safety vs. efficacy, etc. + */ + category?: CodeableConcept[]|undefined; + /** + * The condition that is the focus of the study. For example, In a study to examine risk factors for Lupus, might have as an inclusion criterion "healthy volunteer", but the target condition code would be a Lupus SNOMED code. + */ + condition?: CodeableConcept[]|undefined; + /** + * Contact details to assist a user in learning more about or engaging with the study. + */ + contact?: ContactDetail[]|undefined; + /** + * A full description of how the study is being conducted. + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * The Group referenced should not generally enumerate specific subjects. Subjects will be linked to the study using the ResearchSubject resource. + */ + enrollment?: Reference[]|undefined; + /** + * The medication(s), food(s), therapy(ies), device(s) or other concerns or interventions that the study is seeking to gain more information about. + */ + focus?: CodeableConcept[]|undefined; + /** + * Identifiers assigned to this research study by the sponsor or other systems. + */ + identifier?: Identifier[]|undefined; + /** + * Key terms to aid in searching for or filtering the study. + */ + keyword?: CodeableConcept[]|undefined; + /** + * Indicates a country, state or other region where the study is taking place. + */ + location?: CodeableConcept[]|undefined; + /** + * Comments made about the study by the performer, subject or other participants. + */ + note?: Annotation[]|undefined; + /** + * A goal that the study is aiming to achieve in terms of a scientific question to be answered by the analysis of data collected during the study. + */ + objective?: ResearchStudyObjective[]|undefined; + /** + * A larger research study of which this particular study is a component or step. + */ + partOf?: Reference[]|undefined; + /** + * Identifies the start date and the expected (or actual, depending on status) end date for the study. + */ + period?: Period|undefined; + /** + * The stage in the progression of a therapy from initial experimental use in humans in clinical trials to post-market evaluation. + */ + phase?: CodeableConcept|undefined; + /** + * The type of study based upon the intent of the study's activities. A classification of the intent of the study. + */ + primaryPurposeType?: CodeableConcept|undefined; + /** + * A researcher in a study who oversees multiple aspects of the study, such as concept development, protocol writing, protocol submission for IRB approval, participant recruitment, informed consent, data collection, analysis, interpretation and presentation. + */ + principalInvestigator?: Reference|undefined; + /** + * The set of steps expected to be performed as part of the execution of the study. + */ + protocol?: Reference[]|undefined; + /** + * A description and/or code explaining the premature termination of the study. + */ + reasonStopped?: CodeableConcept|undefined; + /** + * Citations, references and other related documents. + */ + relatedArtifact?: RelatedArtifact[]|undefined; + /** + * A facility in which study activities are conducted. + */ + site?: Reference[]|undefined; + /** + * An organization that initiates the investigation and is legally responsible for the study. + */ + sponsor?: Reference|undefined; + /** + * The current state of the study. + */ + status: ('active'|'administratively-completed'|'approved'|'closed-to-accrual'|'closed-to-accrual-and-intervention'|'completed'|'disapproved'|'in-review'|'temporarily-closed-to-accrual'|'temporarily-closed-to-accrual-and-intervention'|'withdrawn'); + _status?: Element|undefined; + /** + * A short, descriptive user-friendly label for the study. + */ + title?: string|undefined; + _title?: Element|undefined; +} +/** + * A physical entity which is the primary unit of operational and/or administrative interest in a study. + */ +export interface ResearchSubject extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'ResearchSubject'; + /** + * The name of the arm in the study the subject actually followed as part of this study. + */ + actualArm?: string|undefined; + _actualArm?: Element|undefined; + /** + * The name of the arm in the study the subject is expected to follow as part of this study. + */ + assignedArm?: string|undefined; + _assignedArm?: Element|undefined; + /** + * A record of the patient's informed agreement to participate in the study. + */ + consent?: Reference|undefined; + /** + * Identifiers assigned to this research subject for a study. + */ + identifier?: Identifier[]|undefined; + /** + * The record of the person or animal who is involved in the study. + */ + individual: Reference; + /** + * The dates the subject began and ended their participation in the study. + */ + period?: Period|undefined; + /** + * The current state of the subject. + */ + status: ('candidate'|'eligible'|'follow-up'|'ineligible'|'not-registered'|'off-study'|'on-study'|'on-study-intervention'|'on-study-observation'|'pending-on-study'|'potential-candidate'|'screening'|'withdrawn'); + _status?: Element|undefined; + /** + * Reference to the study the subject is participating in. + */ + study: Reference; +} +/** + * This is the base resource type for everything. + */ +export interface Resource { + /** Resource Type Name (for serialization) */ + readonly resourceType: string; + /** + * The only time that a resource does not have an id is when it is being submitted to the server using a create operation. + */ + id?: string|undefined; + _id?: Element|undefined; + /** + * Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc. + */ + implicitRules?: string|undefined; + _implicitRules?: Element|undefined; + /** + * Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute). + */ + language?: string|undefined; + _language?: Element|undefined; + /** + * The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource. + */ + meta?: Meta|undefined; +} +/** + * Multiple repetitions can be used to identify the same type of outcome in different timeframes as well as different types of outcomes. + */ +export interface RiskAssessmentPrediction extends BackboneElement { + /** + * One of the potential outcomes for the patient (e.g. remission, death, a particular condition). + */ + outcome?: CodeableConcept|undefined; + /** + * If range is used, it represents the lower and upper bounds of certainty; e.g. 40-60% Decimal values are expressed as percentages as well (max = 100). + */ + probabilityDecimal?: number|undefined; + /** + * If range is used, it represents the lower and upper bounds of certainty; e.g. 40-60% Decimal values are expressed as percentages as well (max = 100). + */ + probabilityRange?: Range|undefined; + /** + * Indicates how likely the outcome is (in the specified timeframe), expressed as a qualitative value (e.g. low, medium, or high). + */ + qualitativeRisk?: CodeableConcept|undefined; + /** + * Additional information explaining the basis for the prediction. + */ + rationale?: string|undefined; + _rationale?: Element|undefined; + /** + * Indicates the risk for this particular subject (with their specific characteristics) divided by the risk of the population in general. (Numbers greater than 1 = higher risk than the population, numbers less than 1 = lower risk.). + */ + relativeRisk?: number|undefined; + /** + * If not specified, the risk applies "over the subject's lifespan". + */ + whenPeriod?: Period|undefined; + /** + * If not specified, the risk applies "over the subject's lifespan". + */ + whenRange?: Range|undefined; +} +/** + * An assessment of the likely outcome(s) for a patient or other subject as well as the likelihood of each outcome. + */ +export interface RiskAssessment extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'RiskAssessment'; + /** + * A reference to the request that is fulfilled by this risk assessment. + */ + basedOn?: Reference|undefined; + /** + * Indicates the source data considered as part of the assessment (for example, FamilyHistory, Observations, Procedures, Conditions, etc.). + */ + basis?: Reference[]|undefined; + /** + * The type of the risk assessment performed. + */ + code?: CodeableConcept|undefined; + /** + * For assessments or prognosis specific to a particular condition, indicates the condition being assessed. + */ + condition?: Reference|undefined; + /** + * The encounter where the assessment was performed. + */ + encounter?: Reference|undefined; + /** + * Business identifier assigned to the risk assessment. + */ + identifier?: Identifier[]|undefined; + /** + * The algorithm, process or mechanism used to evaluate the risk. + */ + method?: CodeableConcept|undefined; + /** + * A description of the steps that might be taken to reduce the identified risk(s). + */ + mitigation?: string|undefined; + _mitigation?: Element|undefined; + /** + * Additional comments about the risk assessment. + */ + note?: Annotation[]|undefined; + /** + * The date (and possibly time) the risk assessment was performed. + */ + occurrenceDateTime?: string|undefined; + _occurrenceDateTime?: Element|undefined; + /** + * The date (and possibly time) the risk assessment was performed. + */ + occurrencePeriod?: Period|undefined; + /** + * A reference to a resource that this risk assessment is part of, such as a Procedure. + */ + parent?: Reference|undefined; + /** + * The provider or software application that performed the assessment. + */ + performer?: Reference|undefined; + /** + * Multiple repetitions can be used to identify the same type of outcome in different timeframes as well as different types of outcomes. + */ + prediction?: RiskAssessmentPrediction[]|undefined; + /** + * The reason the risk assessment was performed. + */ + reasonCode?: CodeableConcept[]|undefined; + /** + * Resources supporting the reason the risk assessment was performed. + */ + reasonReference?: Reference[]|undefined; + /** + * The status of the RiskAssessment, using the same statuses as an Observation. + */ + status: ('registered'|'preliminary'|'final'|'amended'|'corrected'|'cancelled'|'entered-in-error'|'unknown'); + _status?: Element|undefined; + /** + * The patient or group the risk assessment applies to. + */ + subject: Reference; +} +/** + * A description of the size of the sample involved in the synthesis. + */ +export interface RiskEvidenceSynthesisSampleSize extends BackboneElement { + /** + * Human-readable summary of sample size. + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * Number of participants included in this evidence synthesis. + */ + numberOfParticipants?: number|undefined; + /** + * Number of studies included in this evidence synthesis. + */ + numberOfStudies?: number|undefined; +} +/** + * A description of the precision of the estimate for the effect. + */ +export interface RiskEvidenceSynthesisRiskEstimatePrecisionEstimate extends BackboneElement { + /** + * Lower bound of confidence interval. + */ + from?: number|undefined; + /** + * Use 95 for a 95% confidence interval. + */ + level?: number|undefined; + /** + * Upper bound of confidence interval. + */ + to?: number|undefined; + /** + * Examples include confidence interval and interquartile range. + */ + type?: CodeableConcept|undefined; +} +/** + * The estimated risk of the outcome. + */ +export interface RiskEvidenceSynthesisRiskEstimate extends BackboneElement { + /** + * The sample size for the group that was measured for this risk estimate. + */ + denominatorCount?: number|undefined; + /** + * Human-readable summary of risk estimate. + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * The number of group members with the outcome of interest. + */ + numeratorCount?: number|undefined; + /** + * A description of the precision of the estimate for the effect. + */ + precisionEstimate?: RiskEvidenceSynthesisRiskEstimatePrecisionEstimate[]|undefined; + /** + * Examples include proportion and mean. + */ + type?: CodeableConcept|undefined; + /** + * Specifies the UCUM unit for the outcome. + */ + unitOfMeasure?: CodeableConcept|undefined; + /** + * The point estimate of the risk estimate. + */ + value?: number|undefined; +} +/** + * A description of a component of the overall certainty. + */ +export interface RiskEvidenceSynthesisCertaintyCertaintySubcomponent extends BackboneElement { + /** + * A human-readable string to clarify or explain concepts about the resource. + */ + note?: Annotation[]|undefined; + /** + * A rating of a subcomponent of rating certainty. + */ + rating?: CodeableConcept[]|undefined; + /** + * Type of subcomponent of certainty rating. + */ + type?: CodeableConcept|undefined; +} +/** + * A description of the certainty of the risk estimate. + */ +export interface RiskEvidenceSynthesisCertainty extends BackboneElement { + /** + * A description of a component of the overall certainty. + */ + certaintySubcomponent?: RiskEvidenceSynthesisCertaintyCertaintySubcomponent[]|undefined; + /** + * A human-readable string to clarify or explain concepts about the resource. + */ + note?: Annotation[]|undefined; + /** + * A rating of the certainty of the effect estimate. + */ + rating?: CodeableConcept[]|undefined; +} +/** + * The RiskEvidenceSynthesis resource describes the likelihood of an outcome in a population plus exposure state where the risk estimate is derived from a combination of research studies. + */ +export interface RiskEvidenceSynthesis extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'RiskEvidenceSynthesis'; + /** + * The 'date' element may be more recent than the approval date because of minor changes or editorial corrections. + */ + approvalDate?: string|undefined; + _approvalDate?: Element|undefined; + /** + * An individiual or organization primarily involved in the creation and maintenance of the content. + */ + author?: ContactDetail[]|undefined; + /** + * A description of the certainty of the risk estimate. + */ + certainty?: RiskEvidenceSynthesisCertainty[]|undefined; + /** + * May be a web site, an email address, a telephone number, etc. + */ + contact?: ContactDetail[]|undefined; + /** + * A copyright statement relating to the risk evidence synthesis and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the risk evidence synthesis. + */ + copyright?: string|undefined; + _copyright?: Element|undefined; + /** + * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the risk evidence synthesis. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. + */ + date?: string|undefined; + _date?: Element|undefined; + /** + * This description can be used to capture details such as why the risk evidence synthesis was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the risk evidence synthesis as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the risk evidence synthesis is presumed to be the predominant language in the place the risk evidence synthesis was created). + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * An individual or organization primarily responsible for internal coherence of the content. + */ + editor?: ContactDetail[]|undefined; + /** + * The effective period for a risk evidence synthesis determines when the content is applicable for usage and is independent of publication and review dates. For example, a measure intended to be used for the year 2016 might be published in 2015. + */ + effectivePeriod?: Period|undefined; + /** + * An individual or organization responsible for officially endorsing the content for use in some setting. + */ + endorser?: ContactDetail[]|undefined; + /** + * A reference to a EvidenceVariable resource that defines the exposure for the research. + */ + exposure?: Reference|undefined; + /** + * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this risk evidence synthesis outside of FHIR, where it is not possible to use the logical URI. + */ + identifier?: Identifier[]|undefined; + /** + * It may be possible for the risk evidence synthesis to be used in jurisdictions other than those for which it was originally designed or intended. + */ + jurisdiction?: CodeableConcept[]|undefined; + /** + * If specified, this date follows the original approval date. + */ + lastReviewDate?: string|undefined; + _lastReviewDate?: Element|undefined; + /** + * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. + */ + name?: string|undefined; + _name?: Element|undefined; + /** + * A human-readable string to clarify or explain concepts about the resource. + */ + note?: Annotation[]|undefined; + /** + * A reference to a EvidenceVariable resomece that defines the outcome for the research. + */ + outcome: Reference; + /** + * A reference to a EvidenceVariable resource that defines the population for the research. + */ + population: Reference; + /** + * Usually an organization but may be an individual. The publisher (or steward) of the risk evidence synthesis is the organization or individual primarily responsible for the maintenance and upkeep of the risk evidence synthesis. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the risk evidence synthesis. This item SHOULD be populated unless the information is available from context. + */ + publisher?: string|undefined; + _publisher?: Element|undefined; + /** + * Each related artifact is either an attachment, or a reference to another resource, but not both. + */ + relatedArtifact?: RelatedArtifact[]|undefined; + /** + * An individual or organization primarily responsible for review of some aspect of the content. + */ + reviewer?: ContactDetail[]|undefined; + /** + * The estimated risk of the outcome. + */ + riskEstimate?: RiskEvidenceSynthesisRiskEstimate|undefined; + /** + * A description of the size of the sample involved in the synthesis. + */ + sampleSize?: RiskEvidenceSynthesisSampleSize|undefined; + /** + * Allows filtering of risk evidence synthesiss that are appropriate for use versus not. + */ + status: ('draft'|'active'|'retired'|'unknown'); + _status?: Element|undefined; + /** + * Type of study eg randomized trial. + */ + studyType?: CodeableConcept|undefined; + /** + * Type of synthesis eg meta-analysis. + */ + synthesisType?: CodeableConcept|undefined; + /** + * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. + */ + title?: string|undefined; + _title?: Element|undefined; + /** + * Descriptive topics related to the content of the RiskEvidenceSynthesis. Topics provide a high-level categorization grouping types of EffectEvidenceSynthesiss that can be useful for filtering and searching. + */ + topic?: CodeableConcept[]|undefined; + /** + * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. + * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). + * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. + */ + url?: string|undefined; + _url?: Element|undefined; + /** + * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. + */ + useContext?: UsageContext[]|undefined; + /** + * There may be different risk evidence synthesis instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the risk evidence synthesis with the format [url]|[version]. + */ + version?: string|undefined; + _version?: Element|undefined; +} +/** + * A container for slots of time that may be available for booking appointments. + */ +export interface Schedule extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'Schedule'; + /** + * This element is labeled as a modifier because it may be used to mark that the resource was created in error. + */ + active?: boolean|undefined; + _active?: Element|undefined; + /** + * The capacity to support multiple referenced resource types should be used in cases where the specific resources themselves cannot be scheduled without the other, and thus only make sense to the system exposing them as a group. Common examples of this are where the combination of a practitioner and a room (Location) are always required by a system. + */ + actor: Reference[]; + /** + * Comments on the availability to describe any extended information. Such as custom constraints on the slots that may be associated. + */ + comment?: string|undefined; + _comment?: Element|undefined; + /** + * External Ids for this item. + */ + identifier?: Identifier[]|undefined; + /** + * The period of time that the slots that reference this Schedule resource cover (even if none exist). These cover the amount of time that an organization's planning horizon; the interval for which they are currently accepting appointments. This does not define a "template" for planning outside these dates. + */ + planningHorizon?: Period|undefined; + /** + * A broad categorization of the service that is to be performed during this appointment. + */ + serviceCategory?: CodeableConcept[]|undefined; + /** + * The specific service that is to be performed during this appointment. + */ + serviceType?: CodeableConcept[]|undefined; + /** + * The specialty of a practitioner that would be required to perform the service requested in this appointment. + */ + specialty?: CodeableConcept[]|undefined; +} +/** + * Used to define the parts of a composite search parameter. + */ +export interface SearchParameterComponent extends BackboneElement { + /** + * The definition of the search parameter that describes this part. + */ + definition: string; + _definition?: Element|undefined; + /** + * This expression overrides the expression in the definition and extracts the index values from the outcome of the composite expression. + */ + expression: string; + _expression?: Element|undefined; +} +/** + * A search parameter that defines a named search item that can be used to search/filter on a resource. + */ +export interface SearchParameter extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'SearchParameter'; + /** + * A search parameter must always apply to at least one resource type. When search parameters apply to more than one resource type, they can be used against any of the listed resource types, or in a cross-type search (see [Cross Resource Search](http.html#xres-search)). + */ + base: string[]; + _base?: Element[]|undefined; + /** + * Systems are not required to list all the chain names they support, but if they don't list them, clients might not know to use them. + */ + chain?: string[]|undefined; + _chain?: Element[]|undefined; + /** + * For maximum compatibility, use only lowercase ASCII characters. + */ + code: string; + _code?: Element|undefined; + /** + * If no comparators are listed, clients should not expect servers to support any comparators. + */ + comparator?: ('eq'|'ne'|'gt'|'lt'|'ge'|'le'|'sa'|'eb'|'ap')[]|undefined; + _comparator?: Element[]|undefined; + /** + * Used to define the parts of a composite search parameter. + */ + component?: SearchParameterComponent[]|undefined; + /** + * May be a web site, an email address, a telephone number, etc. + */ + contact?: ContactDetail[]|undefined; + /** + * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the search parameter. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. + */ + date?: string|undefined; + _date?: Element|undefined; + /** + * The intent of this is that a server can designate that it provides support for a search parameter defined in the specification itself (e.g. [`value-quantity`](http://hl7.org/fhir/SearchParameter/Observation-value-quantity), but detail how it is supported by the server. + */ + derivedFrom?: string|undefined; + _derivedFrom?: Element|undefined; + /** + * This description can be used to capture details such as why the search parameter was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the search parameter as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the search parameter is presumed to be the predominant language in the place the search parameter was created). + */ + description: string; + _description?: Element|undefined; + /** + * Allows filtering of search parameters that are appropriate for use versus not. + */ + experimental?: boolean|undefined; + _experimental?: Element|undefined; + /** + * Note that the elements returned by the expression are sometimes complex elements where logic is required to determine quite how to handle them; e.g. CodeableConcepts may contain text and/or multiple codings, where the codings themselves contain a code and a system. For composite search parameters, the outcome of the expression must a collection of base elements from which the composites are derived. + */ + expression?: string|undefined; + _expression?: Element|undefined; + /** + * It may be possible for the search parameter to be used in jurisdictions other than those for which it was originally designed or intended. + */ + jurisdiction?: CodeableConcept[]|undefined; + /** + * A modifier supported for the search parameter. + */ + modifier?: ('missing'|'exact'|'contains'|'not'|'text'|'in'|'not-in'|'below'|'above'|'type'|'identifier'|'ofType')[]|undefined; + _modifier?: Element[]|undefined; + /** + * Whether multiple parameters are allowed - e.g. more than one parameter with the same name. The search matches if all the parameters match. + */ + multipleAnd?: boolean|undefined; + _multipleAnd?: Element|undefined; + /** + * Whether multiple values are allowed for each time the parameter exists. Values are separated by commas, and the parameter matches if any of the values match. + */ + multipleOr?: boolean|undefined; + _multipleOr?: Element|undefined; + /** + * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. + */ + name: string; + _name?: Element|undefined; + /** + * Usually an organization but may be an individual. The publisher (or steward) of the search parameter is the organization or individual primarily responsible for the maintenance and upkeep of the search parameter. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the search parameter. This item SHOULD be populated unless the information is available from context. + */ + publisher?: string|undefined; + _publisher?: Element|undefined; + /** + * This element does not describe the usage of the search parameter. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this search parameter. + */ + purpose?: string|undefined; + _purpose?: Element|undefined; + /** + * Allows filtering of search parameters that are appropriate for use versus not. + */ + status: ('draft'|'active'|'retired'|'unknown'); + _status?: Element|undefined; + /** + * Types of resource (if a resource is referenced). + */ + target?: string[]|undefined; + _target?: Element[]|undefined; + /** + * The type of value that a search parameter may contain, and how the content is interpreted. + */ + type: ('number'|'date'|'string'|'token'|'reference'|'composite'|'quantity'|'uri'|'special'); + _type?: Element|undefined; + /** + * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. + * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). + * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. + */ + url: string; + _url?: Element|undefined; + /** + * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. + */ + useContext?: UsageContext[]|undefined; + /** + * There may be different search parameter instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the search parameter with the format [url]|[version]. + */ + version?: string|undefined; + _version?: Element|undefined; + /** + * Note that the elements returned by the XPath are sometimes complex elements where logic is required to determine quite how to handle them; e.g. CodeableConcepts may contain text and/or multiple codings, where the codings themselves contain a code and a system. + */ + xpath?: string|undefined; + _xpath?: Element|undefined; + /** + * How the search parameter relates to the set of elements returned by evaluating the xpath query. + */ + xpathUsage?: ('normal'|'phonetic'|'nearby'|'distance'|'other')|undefined; + _xpathUsage?: Element|undefined; +} +/** + * A record of a request for service such as diagnostic investigations, treatments, or operations to be performed. + */ +export interface ServiceRequest extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'ServiceRequest'; + /** + * If a CodeableConcept is present, it indicates the pre-condition for performing the service. For example "pain", "on flare-up", etc. + */ + asNeededBoolean?: boolean|undefined; + _asNeededBoolean?: Element|undefined; + /** + * If a CodeableConcept is present, it indicates the pre-condition for performing the service. For example "pain", "on flare-up", etc. + */ + asNeededCodeableConcept?: CodeableConcept|undefined; + /** + * When the request transitioned to being actionable. + */ + authoredOn?: string|undefined; + _authoredOn?: Element|undefined; + /** + * Plan/proposal/order fulfilled by this request. + */ + basedOn?: Reference[]|undefined; + /** + * Only used if not implicit in the code found in ServiceRequest.code. If the use case requires BodySite to be handled as a separate resource instead of an inline coded element (e.g. to identify and track separately) then use the standard extension [procedure-targetBodyStructure](extension-procedure-targetbodystructure.html). + */ + bodySite?: CodeableConcept[]|undefined; + /** + * There may be multiple axis of categorization depending on the context or use case for retrieving or displaying the resource. The level of granularity is defined by the category concepts in the value set. + */ + category?: CodeableConcept[]|undefined; + /** + * Many laboratory and radiology procedure codes embed the specimen/organ system in the test order name, for example, serum or serum/plasma glucose, or a chest x-ray. The specimen might not be recorded separately from the test code. + */ + code?: CodeableConcept|undefined; + /** + * In general, only the code and timeframe will be present, though occasional additional qualifiers such as body site or even performer could be included to narrow the scope of the prohibition. If the ServiceRequest.code and ServiceRequest.doNotPerform both contain negation, that will reinforce prohibition and should not have a double negative interpretation. + */ + doNotPerform?: boolean|undefined; + _doNotPerform?: Element|undefined; + /** + * An encounter that provides additional information about the healthcare context in which this request is made. + */ + encounter?: Reference|undefined; + /** + * The identifier.type element is used to distinguish between the identifiers assigned by the orderer (known as the 'Placer' in HL7 v2) and the producer of the observations in response to the order (known as the 'Filler' in HL7 v2). For further discussion and examples see the resource notes section below. + */ + identifier?: Identifier[]|undefined; + /** + * Note: This is a business identifier, not a resource identifier (see [discussion](resource.html#identifiers)). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and a Person resource instance might share the same social insurance number. + */ + instantiatesCanonical?: string[]|undefined; + _instantiatesCanonical?: Element[]|undefined; + /** + * This might be an HTML page, PDF, etc. or could just be a non-resolvable URI identifier. + */ + instantiatesUri?: string[]|undefined; + _instantiatesUri?: Element[]|undefined; + /** + * Insurance plans, coverage extensions, pre-authorizations and/or pre-determinations that may be needed for delivering the requested service. + */ + insurance?: Reference[]|undefined; + /** + * This element is labeled as a modifier because the intent alters when and how the resource is actually applicable. + */ + intent: ('proposal'|'plan'|'directive'|'order'|'original-order'|'reflex-order'|'filler-order'|'instance-order'|'option'); + _intent?: Element|undefined; + /** + * The preferred location(s) where the procedure should actually happen in coded or free text form. E.g. at home or nursing day care center. + */ + locationCode?: CodeableConcept[]|undefined; + /** + * A reference to the the preferred location(s) where the procedure should actually happen. E.g. at home or nursing day care center. + */ + locationReference?: Reference[]|undefined; + /** + * Any other notes and comments made about the service request. For example, internal billing notes. + */ + note?: Annotation[]|undefined; + /** + * The date/time at which the requested service should occur. + */ + occurrenceDateTime?: string|undefined; + _occurrenceDateTime?: Element|undefined; + /** + * The date/time at which the requested service should occur. + */ + occurrencePeriod?: Period|undefined; + /** + * The date/time at which the requested service should occur. + */ + occurrenceTiming?: Timing|undefined; + /** + * For information from the medical record intended to support the delivery of the requested services, use the `supportingInformation` element. + */ + orderDetail?: CodeableConcept[]|undefined; + /** + * Instructions in terms that are understood by the patient or consumer. + */ + patientInstruction?: string|undefined; + _patientInstruction?: Element|undefined; + /** + * If multiple performers are present, it is interpreted as a list of *alternative* performers without any preference regardless of order. If order of preference is needed use the [request-performerOrder extension](extension-request-performerorder.html). Use CareTeam to represent a group of performers (for example, Practitioner A *and* Practitioner B). + */ + performer?: Reference[]|undefined; + /** + * This is a role, not a participation type. In other words, does not describe the task but describes the capacity. For example, “compounding pharmacy”, “psychiatrist” or “internal referral”. + */ + performerType?: CodeableConcept|undefined; + /** + * Indicates how quickly the ServiceRequest should be addressed with respect to other requests. + */ + priority?: ('routine'|'urgent'|'asap'|'stat')|undefined; + _priority?: Element|undefined; + /** + * An amount of service being requested which can be a quantity ( for example $1,500 home modification), a ratio ( for example, 20 half day visits per month), or a range (2.0 to 1.8 Gy per fraction). + */ + quantityQuantity?: Quantity|undefined; + /** + * An amount of service being requested which can be a quantity ( for example $1,500 home modification), a ratio ( for example, 20 half day visits per month), or a range (2.0 to 1.8 Gy per fraction). + */ + quantityRatio?: Ratio|undefined; + /** + * An amount of service being requested which can be a quantity ( for example $1,500 home modification), a ratio ( for example, 20 half day visits per month), or a range (2.0 to 1.8 Gy per fraction). + */ + quantityRange?: Range|undefined; + /** + * This element represents why the referral is being made and may be used to decide how the service will be performed, or even if it will be performed at all. Use `CodeableConcept.text` element if the data is free (uncoded) text as shown in the [CT Scan example](servicerequest-example-di.html). + */ + reasonCode?: CodeableConcept[]|undefined; + /** + * This element represents why the referral is being made and may be used to decide how the service will be performed, or even if it will be performed at all. To be as specific as possible, a reference to *Observation* or *Condition* should be used if available. Otherwise when referencing *DiagnosticReport* it should contain a finding in `DiagnosticReport.conclusion` and/or `DiagnosticReport.conclusionCode`. When using a reference to *DocumentReference*, the target document should contain clear findings language providing the relevant reason for this service request. Use the CodeableConcept text element in `ServiceRequest.reasonCode` if the data is free (uncoded) text as shown in the [CT Scan example](servicerequest-example-di.html). + */ + reasonReference?: Reference[]|undefined; + /** + * This might not include provenances for all versions of the request – only those deemed “relevant” or important. + * This SHALL NOT include the Provenance associated with this current version of the resource. (If that provenance is deemed to be a “relevant” change, it will need to be added as part of a later update. Until then, it can be queried directly as the Provenance that points to this version using _revinclude + * All Provenances should have some historical version of this Request as their subject. + */ + relevantHistory?: Reference[]|undefined; + /** + * The request takes the place of the referenced completed or terminated request(s). + */ + replaces?: Reference[]|undefined; + /** + * This not the dispatcher, but rather who is the authorizer. This element is not intended to handle delegation which would generally be managed through the Provenance resource. + */ + requester?: Reference|undefined; + /** + * Requests are linked either by a "basedOn" relationship (i.e. one request is fulfilling another) or by having a common requisition. Requests that are part of the same requisition are generally treated independently from the perspective of changing their state or maintaining them after initial creation. + */ + requisition?: Identifier|undefined; + /** + * Many diagnostic procedures need a specimen, but the request itself is not actually about the specimen. This element is for when the diagnostic is requested on already existing specimens and the request points to the specimen it applies to. Conversely, if the request is entered first with an unknown specimen, then the [Specimen](specimen.html) resource points to the ServiceRequest. + */ + specimen?: Reference[]|undefined; + /** + * The status is generally fully in the control of the requester - they determine whether the order is draft or active and, after it has been activated, competed, cancelled or suspended. States relating to the activities of the performer are reflected on either the corresponding event (see [Event Pattern](event.html) for general discussion) or using the [Task](task.html) resource. + */ + status: ('draft'|'active'|'on-hold'|'revoked'|'completed'|'entered-in-error'|'unknown'); + _status?: Element|undefined; + /** + * On whom or what the service is to be performed. This is usually a human patient, but can also be requested on animals, groups of humans or animals, devices such as dialysis machines, or even locations (typically for environmental scans). + */ + subject: Reference; + /** + * To represent information about how the services are to be delivered use the `instructions` element. + */ + supportingInfo?: Reference[]|undefined; +} +/** + * A slot of time on a schedule that may be available for booking appointments. + */ +export interface Slot extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'Slot'; + /** + * The style of appointment or patient that may be booked in the slot (not service type). + */ + appointmentType?: CodeableConcept|undefined; + /** + * Comments on the slot to describe any extended information. Such as custom constraints on the slot. + */ + comment?: string|undefined; + _comment?: Element|undefined; + /** + * Date/Time that the slot is to conclude. + */ + end: string; + _end?: Element|undefined; + /** + * External Ids for this item. + */ + identifier?: Identifier[]|undefined; + /** + * This slot has already been overbooked, appointments are unlikely to be accepted for this time. + */ + overbooked?: boolean|undefined; + _overbooked?: Element|undefined; + /** + * The schedule resource that this slot defines an interval of status information. + */ + schedule: Reference; + /** + * A broad categorization of the service that is to be performed during this appointment. + */ + serviceCategory?: CodeableConcept[]|undefined; + /** + * The type of appointments that can be booked into this slot (ideally this would be an identifiable service - which is at a location, rather than the location itself). If provided then this overrides the value provided on the availability resource. + */ + serviceType?: CodeableConcept[]|undefined; + /** + * The specialty of a practitioner that would be required to perform the service requested in this appointment. + */ + specialty?: CodeableConcept[]|undefined; + /** + * Date/Time that the slot is to begin. + */ + start: string; + _start?: Element|undefined; + /** + * busy | free | busy-unavailable | busy-tentative | entered-in-error. + */ + status: ('busy'|'free'|'busy-unavailable'|'busy-tentative'|'entered-in-error'); + _status?: Element|undefined; +} +/** + * Details concerning the specimen collection. + */ +export interface SpecimenCollection extends BackboneElement { + /** + * If the use case requires BodySite to be handled as a separate resource instead of an inline coded element (e.g. to identify and track separately) then use the standard extension [bodySite](extension-bodysite.html). + */ + bodySite?: CodeableConcept|undefined; + /** + * Time when specimen was collected from subject - the physiologically relevant time. + */ + collectedDateTime?: string|undefined; + _collectedDateTime?: Element|undefined; + /** + * Time when specimen was collected from subject - the physiologically relevant time. + */ + collectedPeriod?: Period|undefined; + /** + * Person who collected the specimen. + */ + collector?: Reference|undefined; + /** + * The span of time over which the collection of a specimen occurred. + */ + duration?: Duration|undefined; + /** + * Representing fasting status using this element is preferred to representing it with an observation using a 'pre-coordinated code' such as LOINC 2005-7 (Calcium [Moles/​time] in 2 hour Urine --12 hours fasting), or using a component observation ` such as `Observation.component code` = LOINC 49541-6 (Fasting status - Reported). + */ + fastingStatusCodeableConcept?: CodeableConcept|undefined; + /** + * Representing fasting status using this element is preferred to representing it with an observation using a 'pre-coordinated code' such as LOINC 2005-7 (Calcium [Moles/​time] in 2 hour Urine --12 hours fasting), or using a component observation ` such as `Observation.component code` = LOINC 49541-6 (Fasting status - Reported). + */ + fastingStatusDuration?: Duration|undefined; + /** + * A coded value specifying the technique that is used to perform the procedure. + */ + method?: CodeableConcept|undefined; + /** + * The quantity of specimen collected; for instance the volume of a blood sample, or the physical measurement of an anatomic pathology sample. + */ + quantity?: Quantity|undefined; +} +/** + * Details concerning processing and processing steps for the specimen. + */ +export interface SpecimenProcessing extends BackboneElement { + /** + * Material used in the processing step. + */ + additive?: Reference[]|undefined; + /** + * Textual description of procedure. + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * A coded value specifying the procedure used to process the specimen. + */ + procedure?: CodeableConcept|undefined; + /** + * A record of the time or period when the specimen processing occurred. For example the time of sample fixation or the period of time the sample was in formalin. + */ + timeDateTime?: string|undefined; + _timeDateTime?: Element|undefined; + /** + * A record of the time or period when the specimen processing occurred. For example the time of sample fixation or the period of time the sample was in formalin. + */ + timePeriod?: Period|undefined; +} +/** + * The container holding the specimen. The recursive nature of containers; i.e. blood in tube in tray in rack is not addressed here. + */ +export interface SpecimenContainer extends BackboneElement { + /** + * Introduced substance to preserve, maintain or enhance the specimen. Examples: Formalin, Citrate, EDTA. + */ + additiveCodeableConcept?: CodeableConcept|undefined; + /** + * Introduced substance to preserve, maintain or enhance the specimen. Examples: Formalin, Citrate, EDTA. + */ + additiveReference?: Reference|undefined; + /** + * The capacity (volume or other measure) the container may contain. + */ + capacity?: Quantity|undefined; + /** + * Textual description of the container. + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * Id for container. There may be multiple; a manufacturer's bar code, lab assigned identifier, etc. The container ID may differ from the specimen id in some circumstances. + */ + identifier?: Identifier[]|undefined; + /** + * The quantity of specimen in the container; may be volume, dimensions, or other appropriate measurements, depending on the specimen type. + */ + specimenQuantity?: Quantity|undefined; + /** + * The type of container associated with the specimen (e.g. slide, aliquot, etc.). + */ + type?: CodeableConcept|undefined; +} +/** + * A sample to be used for analysis. + */ +export interface Specimen extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'Specimen'; + /** + * The identifier assigned by the lab when accessioning specimen(s). This is not necessarily the same as the specimen identifier, depending on local lab procedures. + */ + accessionIdentifier?: Identifier|undefined; + /** + * Details concerning the specimen collection. + */ + collection?: SpecimenCollection|undefined; + /** + * Specimen condition is an observation made about the specimen. It's a point-in-time assessment. It can be used to assess its quality or appropriateness for a specific test. + */ + condition?: CodeableConcept[]|undefined; + /** + * The container holding the specimen. The recursive nature of containers; i.e. blood in tube in tray in rack is not addressed here. + */ + container?: SpecimenContainer[]|undefined; + /** + * Id for specimen. + */ + identifier?: Identifier[]|undefined; + /** + * To communicate any details or issues about the specimen or during the specimen collection. (for example: broken vial, sent with patient, frozen). + */ + note?: Annotation[]|undefined; + /** + * The parent specimen could be the source from which the current specimen is derived by some processing step (e.g. an aliquot or isolate or extracted nucleic acids from clinical samples) or one of many specimens that were combined to create a pooled sample. + */ + parent?: Reference[]|undefined; + /** + * Details concerning processing and processing steps for the specimen. + */ + processing?: SpecimenProcessing[]|undefined; + /** + * Time when specimen was received for processing or testing. + */ + receivedTime?: string|undefined; + _receivedTime?: Element|undefined; + /** + * The request may be explicit or implied such with a ServiceRequest that requires a blood draw. + */ + request?: Reference[]|undefined; + /** + * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. + */ + status?: ('available'|'unavailable'|'unsatisfactory'|'entered-in-error')|undefined; + _status?: Element|undefined; + /** + * Where the specimen came from. This may be from patient(s), from a location (e.g., the source of an environmental sample), or a sampling of a substance or a device. + */ + subject?: Reference|undefined; + /** + * The type can change the way that a specimen is handled and drives what kind of analyses can properly be performed on the specimen. It is frequently used in diagnostic work flow decision making systems. + */ + type?: CodeableConcept|undefined; +} +/** + * Substance introduced in the kind of container to preserve, maintain or enhance the specimen. Examples: Formalin, Citrate, EDTA. + */ +export interface SpecimenDefinitionTypeTestedContainerAdditive extends BackboneElement { + /** + * Substance introduced in the kind of container to preserve, maintain or enhance the specimen. Examples: Formalin, Citrate, EDTA. + */ + additiveCodeableConcept?: CodeableConcept|undefined; + /** + * Substance introduced in the kind of container to preserve, maintain or enhance the specimen. Examples: Formalin, Citrate, EDTA. + */ + additiveReference?: Reference|undefined; +} +/** + * The specimen's container. + */ +export interface SpecimenDefinitionTypeTestedContainer extends BackboneElement { + /** + * Substance introduced in the kind of container to preserve, maintain or enhance the specimen. Examples: Formalin, Citrate, EDTA. + */ + additive?: SpecimenDefinitionTypeTestedContainerAdditive[]|undefined; + /** + * Color of container cap. + */ + cap?: CodeableConcept|undefined; + /** + * The capacity (volume or other measure) of this kind of container. + */ + capacity?: Quantity|undefined; + /** + * The textual description of the kind of container. + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * The type of material of the container. + */ + material?: CodeableConcept|undefined; + /** + * The minimum volume to be conditioned in the container. + */ + minimumVolumeQuantity?: Quantity|undefined; + /** + * The minimum volume to be conditioned in the container. + */ + minimumVolumeString?: string|undefined; + _minimumVolumeString?: Element|undefined; + /** + * Special processing that should be applied to the container for this kind of specimen. + */ + preparation?: string|undefined; + _preparation?: Element|undefined; + /** + * The type of container used to contain this kind of specimen. + */ + type?: CodeableConcept|undefined; +} +/** + * Set of instructions for preservation/transport of the specimen at a defined temperature interval, prior the testing process. + */ +export interface SpecimenDefinitionTypeTestedHandling extends BackboneElement { + /** + * Additional textual instructions for the preservation or transport of the specimen. For instance, 'Protect from light exposure'. + */ + instruction?: string|undefined; + _instruction?: Element|undefined; + /** + * The maximum time interval of preservation of the specimen with these conditions. + */ + maxDuration?: Duration|undefined; + /** + * It qualifies the interval of temperature, which characterizes an occurrence of handling. Conditions that are not related to temperature may be handled in the instruction element. + */ + temperatureQualifier?: CodeableConcept|undefined; + /** + * The temperature interval for this set of handling instructions. + */ + temperatureRange?: Range|undefined; +} +/** + * Specimen conditioned in a container as expected by the testing laboratory. + */ +export interface SpecimenDefinitionTypeTested extends BackboneElement { + /** + * The specimen's container. + */ + container?: SpecimenDefinitionTypeTestedContainer|undefined; + /** + * Set of instructions for preservation/transport of the specimen at a defined temperature interval, prior the testing process. + */ + handling?: SpecimenDefinitionTypeTestedHandling[]|undefined; + /** + * Primary of secondary specimen. + */ + isDerived?: boolean|undefined; + _isDerived?: Element|undefined; + /** + * The preference for this type of conditioned specimen. + */ + preference: ('preferred'|'alternate'); + _preference?: Element|undefined; + /** + * Criterion for rejection of the specimen in its container by the laboratory. + */ + rejectionCriterion?: CodeableConcept[]|undefined; + /** + * Requirements for delivery and special handling of this kind of conditioned specimen. + */ + requirement?: string|undefined; + _requirement?: Element|undefined; + /** + * The usual time that a specimen of this kind is retained after the ordered tests are completed, for the purpose of additional testing. + */ + retentionTime?: Duration|undefined; + /** + * The kind of specimen conditioned for testing expected by lab. + */ + type?: CodeableConcept|undefined; +} +/** + * A kind of specimen with associated set of requirements. + */ +export interface SpecimenDefinition extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'SpecimenDefinition'; + /** + * The action to be performed for collecting the specimen. + */ + collection?: CodeableConcept[]|undefined; + /** + * A business identifier associated with the kind of specimen. + */ + identifier?: Identifier|undefined; + /** + * Preparation of the patient for specimen collection. + */ + patientPreparation?: CodeableConcept[]|undefined; + /** + * Time aspect of specimen collection (duration or offset). + */ + timeAspect?: string|undefined; + _timeAspect?: Element|undefined; + /** + * The kind of material to be collected. + */ + typeCollected?: CodeableConcept|undefined; + /** + * Specimen conditioned in a container as expected by the testing laboratory. + */ + typeTested?: SpecimenDefinitionTypeTested[]|undefined; +} +/** + * An external specification that the content is mapped to. + */ +export interface StructureDefinitionMapping extends BackboneElement { + /** + * Comments about this mapping, including version notes, issues, scope limitations, and other important notes for usage. + */ + comment?: string|undefined; + _comment?: Element|undefined; + /** + * The specification is described once, with general comments, and then specific mappings are made that reference this declaration. + */ + identity: string; + _identity?: Element|undefined; + /** + * A name for the specification that is being mapped to. + */ + name?: string|undefined; + _name?: Element|undefined; + /** + * A formal identity for the specification being mapped to helps with identifying maps consistently. + */ + uri?: string|undefined; + _uri?: Element|undefined; +} +/** + * Identifies the types of resource or data type elements to which the extension can be applied. + */ +export interface StructureDefinitionContext extends BackboneElement { + /** + * An expression that defines where an extension can be used in resources. + */ + expression: string; + _expression?: Element|undefined; + /** + * Defines how to interpret the expression that defines what the context of the extension is. + */ + type: ('fhirpath'|'element'|'extension'); + _type?: Element|undefined; +} +/** + * A snapshot view is expressed in a standalone form that can be used and interpreted without considering the base StructureDefinition. + */ +export interface StructureDefinitionSnapshot extends BackboneElement { + /** + * Captures constraints on each element within the resource. + */ + element: ElementDefinition[]; +} +/** + * A differential view is expressed relative to the base StructureDefinition - a statement of differences that it applies. + */ +export interface StructureDefinitionDifferential extends BackboneElement { + /** + * Captures constraints on each element within the resource. + */ + element: ElementDefinition[]; +} +/** + * A definition of a FHIR structure. This resource is used to describe the underlying resources, data types defined in FHIR, and also for describing extensions and constraints on resources and data types. + */ +export interface StructureDefinition extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'StructureDefinition'; + /** + * Abstract Resources cannot be instantiated - a concrete sub-type must be used. Abstract datatypes and extensions cannot be used in an instance. For logical models, the exact implication of "abstract" will rest with the author, depending how the logical model is used. Flagging a constraint structure as abstract conveys design intent but makes no difference to how the structure definition is handled. Note that inline declared elements that are given the type "Element" in the StructureDefinition, but have children described, are anonymous concrete types that specialize Element. + */ + abstract: boolean; + _abstract?: Element|undefined; + /** + * If differential constraints are specified in this structure, they are applied to the base in a "differential" fashion. If there is no base, then the differential constraints cannot be provided (snapshot only). Differential structures are useful for the editing perspective, and snapshot structures are suitable for operational use. The FHIR Project provides a number of tools/services to populate snapshots from differential constraints. Logical Models have a base of "Element" or another logical model. + */ + baseDefinition?: string|undefined; + _baseDefinition?: Element|undefined; + /** + * May be a web site, an email address, a telephone number, etc. + */ + contact?: ContactDetail[]|undefined; + /** + * Identifies the types of resource or data type elements to which the extension can be applied. + */ + context?: StructureDefinitionContext[]|undefined; + /** + * The rules are only evaluated when the extension is present. When evaluating the invariant, the FHIRPath focus is the element that holds the extension, and %extension refers to the extension itself. + */ + contextInvariant?: string[]|undefined; + _contextInvariant?: Element[]|undefined; + /** + * A copyright statement relating to the structure definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the structure definition. + */ + copyright?: string|undefined; + _copyright?: Element|undefined; + /** + * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the structure definition. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. + */ + date?: string|undefined; + _date?: Element|undefined; + /** + * If the definition is a specialization, then it adds new elements in the differential, and the snapshot includes the inherited elements. If the definition is a constraint, then it cannot define new elements, it can only make new rules about existing content (see [Profiling Resources](profiling.html#resources)). + */ + derivation?: ('specialization'|'constraint')|undefined; + _derivation?: Element|undefined; + /** + * This description can be used to capture details such as why the structure definition was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the structure definition as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the structure definition is presumed to be the predominant language in the place the structure definition was created). + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * A differential view is expressed relative to the base StructureDefinition - a statement of differences that it applies. + */ + differential?: StructureDefinitionDifferential|undefined; + /** + * Allows filtering of structure definitions that are appropriate for use versus not. + */ + experimental?: boolean|undefined; + _experimental?: Element|undefined; + /** + * A StructureDefinition does not need to specify the target it applies to as StructureDefinitions will often be valid across multiple versions of FHIR. FHIR tooling can determine whether a StructureDefinition is consistent with a particular StructureDefinition if desired. + */ + fhirVersion?: string|undefined; + _fhirVersion?: Element|undefined; + /** + * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this structure definition outside of FHIR, where it is not possible to use the logical URI. + */ + identifier?: Identifier[]|undefined; + /** + * It may be possible for the structure definition to be used in jurisdictions other than those for which it was originally designed or intended. + */ + jurisdiction?: CodeableConcept[]|undefined; + /** + * A set of key words or terms from external terminologies that may be used to assist with indexing and searching of templates nby describing the use of this structure definition, or the content it describes. + */ + keyword?: Coding[]|undefined; + /** + * Defines the kind of structure that this definition is describing. + */ + kind: ('primitive-type'|'complex-type'|'resource'|'logical'); + _kind?: Element|undefined; + /** + * An external specification that the content is mapped to. + */ + mapping?: StructureDefinitionMapping[]|undefined; + /** + * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly.Some Examples: + * * O2SatObservation + * * PresentationReport + * * Immunization2 + * * AcmeAdmissionRecordOld. + */ + name: string; + _name?: Element|undefined; + /** + * Usually an organization but may be an individual. The publisher (or steward) of the structure definition is the organization or individual primarily responsible for the maintenance and upkeep of the structure definition. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the structure definition. This item SHOULD be populated unless the information is available from context. + */ + publisher?: string|undefined; + _publisher?: Element|undefined; + /** + * This element does not describe the usage of the structure definition. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this structure definition. + */ + purpose?: string|undefined; + _purpose?: Element|undefined; + /** + * A snapshot view is expressed in a standalone form that can be used and interpreted without considering the base StructureDefinition. + */ + snapshot?: StructureDefinitionSnapshot|undefined; + /** + * Allows filtering of structure definitions that are appropriate for use versus not. + */ + status: ('draft'|'active'|'retired'|'unknown'); + _status?: Element|undefined; + /** + * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc.Applications don't have to use this name but can always fall back to it. The title also corresponds to the label for the root element. + */ + title?: string|undefined; + _title?: Element|undefined; + /** + * Note that in the case of constraints, the type could be determined by chasing through the baseDefinition references until a concrete structure (derivation = specialization) is reached, or by looking at the path of the first element in the snapshot - if present - but providing the type directly makes for simpler tooling and indexing. + * The type must match the elements defined in the differential and the snapshot. For all FHIR defined types, the path name of the element will start with the type name. For logical models, where the type is a URL, the type name SHOULD start with the tail of the type URL where required. + */ + type: string; + _type?: Element|undefined; + /** + * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. + * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). + * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. + */ + url: string; + _url?: Element|undefined; + /** + * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. + */ + useContext?: UsageContext[]|undefined; + /** + * There may be different structure definition instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the structure definition with the format [url]|[version]. + */ + version?: string|undefined; + _version?: Element|undefined; +} +/** + * It is not necessary for a structure map to identify any dependent structures, though not listing them may restrict its usefulness. + */ +export interface StructureMapStructure extends BackboneElement { + /** + * This is needed if both types have the same name (e.g. version conversion). + */ + alias?: string|undefined; + _alias?: Element|undefined; + /** + * Documentation that describes how the structure is used in the mapping. + */ + documentation?: string|undefined; + _documentation?: Element|undefined; + /** + * How the referenced structure is used in this mapping. + */ + mode: ('source'|'queried'|'target'|'produced'); + _mode?: Element|undefined; + /** + * The canonical reference to the structure. + */ + url: string; + _url?: Element|undefined; +} +/** + * If no inputs are named, then the entry mappings are type based. + */ +export interface StructureMapGroupInput extends BackboneElement { + /** + * Documentation for this instance of data. + */ + documentation?: string|undefined; + _documentation?: Element|undefined; + /** + * Mode for this instance of data. + */ + mode: ('source'|'target'); + _mode?: Element|undefined; + /** + * Name for this instance of data. + */ + name: string; + _name?: Element|undefined; + /** + * Type for this instance of data. + */ + type?: string|undefined; + _type?: Element|undefined; +} +/** + * Source inputs to the mapping. + */ +export interface StructureMapGroupRuleSource extends BackboneElement { + /** + * FHIRPath expression - must be true or the mapping engine throws an error instead of completing. + */ + check?: string|undefined; + _check?: Element|undefined; + /** + * FHIRPath expression - must be true or the rule does not apply. + */ + condition?: string|undefined; + _condition?: Element|undefined; + /** + * Type or variable this rule applies to. + */ + context: string; + _context?: Element|undefined; + /** + * If there's a default value on an item that can repeat, it will only be used once. + */ + defaultValueBase64Binary?: string|undefined; + _defaultValueBase64Binary?: Element|undefined; + /** + * If there's a default value on an item that can repeat, it will only be used once. + */ + defaultValueBoolean?: boolean|undefined; + _defaultValueBoolean?: Element|undefined; + /** + * If there's a default value on an item that can repeat, it will only be used once. + */ + defaultValueCanonical?: string|undefined; + _defaultValueCanonical?: Element|undefined; + /** + * If there's a default value on an item that can repeat, it will only be used once. + */ + defaultValueCode?: string|undefined; + _defaultValueCode?: Element|undefined; + /** + * If there's a default value on an item that can repeat, it will only be used once. + */ + defaultValueDate?: string|undefined; + _defaultValueDate?: Element|undefined; + /** + * If there's a default value on an item that can repeat, it will only be used once. + */ + defaultValueDateTime?: string|undefined; + _defaultValueDateTime?: Element|undefined; + /** + * If there's a default value on an item that can repeat, it will only be used once. + */ + defaultValueDecimal?: number|undefined; + /** + * If there's a default value on an item that can repeat, it will only be used once. + */ + defaultValueId?: string|undefined; + _defaultValueId?: Element|undefined; + /** + * If there's a default value on an item that can repeat, it will only be used once. + */ + defaultValueInstant?: string|undefined; + _defaultValueInstant?: Element|undefined; + /** + * If there's a default value on an item that can repeat, it will only be used once. + */ + defaultValueInteger?: number|undefined; + /** + * If there's a default value on an item that can repeat, it will only be used once. + */ + defaultValueMarkdown?: string|undefined; + _defaultValueMarkdown?: Element|undefined; + /** + * If there's a default value on an item that can repeat, it will only be used once. + */ + defaultValueOid?: string|undefined; + _defaultValueOid?: Element|undefined; + /** + * If there's a default value on an item that can repeat, it will only be used once. + */ + defaultValuePositiveInt?: number|undefined; + /** + * If there's a default value on an item that can repeat, it will only be used once. + */ + defaultValueString?: string|undefined; + _defaultValueString?: Element|undefined; + /** + * If there's a default value on an item that can repeat, it will only be used once. + */ + defaultValueTime?: string|undefined; + _defaultValueTime?: Element|undefined; + /** + * If there's a default value on an item that can repeat, it will only be used once. + */ + defaultValueUnsignedInt?: number|undefined; + /** + * If there's a default value on an item that can repeat, it will only be used once. + */ + defaultValueUri?: string|undefined; + _defaultValueUri?: Element|undefined; + /** + * If there's a default value on an item that can repeat, it will only be used once. + */ + defaultValueUrl?: string|undefined; + _defaultValueUrl?: Element|undefined; + /** + * If there's a default value on an item that can repeat, it will only be used once. + */ + defaultValueUuid?: string|undefined; + _defaultValueUuid?: Element|undefined; + /** + * If there's a default value on an item that can repeat, it will only be used once. + */ + defaultValueAddress?: Address|undefined; + /** + * If there's a default value on an item that can repeat, it will only be used once. + */ + defaultValueAge?: Age|undefined; + /** + * If there's a default value on an item that can repeat, it will only be used once. + */ + defaultValueAnnotation?: Annotation|undefined; + /** + * If there's a default value on an item that can repeat, it will only be used once. + */ + defaultValueAttachment?: Attachment|undefined; + /** + * If there's a default value on an item that can repeat, it will only be used once. + */ + defaultValueCodeableConcept?: CodeableConcept|undefined; + /** + * If there's a default value on an item that can repeat, it will only be used once. + */ + defaultValueCoding?: Coding|undefined; + /** + * If there's a default value on an item that can repeat, it will only be used once. + */ + defaultValueContactPoint?: ContactPoint|undefined; + /** + * If there's a default value on an item that can repeat, it will only be used once. + */ + defaultValueCount?: Count|undefined; + /** + * If there's a default value on an item that can repeat, it will only be used once. + */ + defaultValueDistance?: Distance|undefined; + /** + * If there's a default value on an item that can repeat, it will only be used once. + */ + defaultValueDuration?: Duration|undefined; + /** + * If there's a default value on an item that can repeat, it will only be used once. + */ + defaultValueHumanName?: HumanName|undefined; + /** + * If there's a default value on an item that can repeat, it will only be used once. + */ + defaultValueIdentifier?: Identifier|undefined; + /** + * If there's a default value on an item that can repeat, it will only be used once. + */ + defaultValueMoney?: Money|undefined; + /** + * If there's a default value on an item that can repeat, it will only be used once. + */ + defaultValuePeriod?: Period|undefined; + /** + * If there's a default value on an item that can repeat, it will only be used once. + */ + defaultValueQuantity?: Quantity|undefined; + /** + * If there's a default value on an item that can repeat, it will only be used once. + */ + defaultValueRange?: Range|undefined; + /** + * If there's a default value on an item that can repeat, it will only be used once. + */ + defaultValueRatio?: Ratio|undefined; + /** + * If there's a default value on an item that can repeat, it will only be used once. + */ + defaultValueReference?: Reference|undefined; + /** + * If there's a default value on an item that can repeat, it will only be used once. + */ + defaultValueSampledData?: SampledData|undefined; + /** + * If there's a default value on an item that can repeat, it will only be used once. + */ + defaultValueSignature?: Signature|undefined; + /** + * If there's a default value on an item that can repeat, it will only be used once. + */ + defaultValueTiming?: Timing|undefined; + /** + * If there's a default value on an item that can repeat, it will only be used once. + */ + defaultValueContactDetail?: ContactDetail|undefined; + /** + * If there's a default value on an item that can repeat, it will only be used once. + */ + defaultValueContributor?: Contributor|undefined; + /** + * If there's a default value on an item that can repeat, it will only be used once. + */ + defaultValueDataRequirement?: DataRequirement|undefined; + /** + * If there's a default value on an item that can repeat, it will only be used once. + */ + defaultValueExpression?: Expression|undefined; + /** + * If there's a default value on an item that can repeat, it will only be used once. + */ + defaultValueParameterDefinition?: ParameterDefinition|undefined; + /** + * If there's a default value on an item that can repeat, it will only be used once. + */ + defaultValueRelatedArtifact?: RelatedArtifact|undefined; + /** + * If there's a default value on an item that can repeat, it will only be used once. + */ + defaultValueTriggerDefinition?: TriggerDefinition|undefined; + /** + * If there's a default value on an item that can repeat, it will only be used once. + */ + defaultValueUsageContext?: UsageContext|undefined; + /** + * If there's a default value on an item that can repeat, it will only be used once. + */ + defaultValueDosage?: Dosage|undefined; + /** + * If there's a default value on an item that can repeat, it will only be used once. + */ + defaultValueMeta?: Meta|undefined; + /** + * Optional field for this source. + */ + element?: string|undefined; + _element?: Element|undefined; + /** + * How to handle the list mode for this element. + */ + listMode?: ('first'|'not_first'|'last'|'not_last'|'only_one')|undefined; + _listMode?: Element|undefined; + /** + * This is typically used for recording that something Is not transformed to the target for some reason. + */ + logMessage?: string|undefined; + _logMessage?: Element|undefined; + /** + * Specified maximum cardinality for the element - a number or a "*". This is optional; if present, it acts an implicit check on the input content (* just serves as documentation; it's the default value). + */ + max?: string|undefined; + _max?: Element|undefined; + /** + * Specified minimum cardinality for the element. This is optional; if present, it acts an implicit check on the input content. + */ + min?: number|undefined; + /** + * Specified type for the element. This works as a condition on the mapping - use for polymorphic elements. + */ + type?: string|undefined; + _type?: Element|undefined; + /** + * Named context for field, if a field is specified. + */ + variable?: string|undefined; + _variable?: Element|undefined; +} +/** + * Parameters to the transform. + */ +export interface StructureMapGroupRuleTargetParameter extends BackboneElement { + /** + * Parameter value - variable or literal. + */ + valueId?: string|undefined; + _valueId?: Element|undefined; + /** + * Parameter value - variable or literal. + */ + valueString?: string|undefined; + _valueString?: Element|undefined; + /** + * Parameter value - variable or literal. + */ + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; + /** + * Parameter value - variable or literal. + */ + valueInteger?: number|undefined; + /** + * Parameter value - variable or literal. + */ + valueDecimal?: number|undefined; +} +/** + * Content to create because of this mapping rule. + */ +export interface StructureMapGroupRuleTarget extends BackboneElement { + /** + * Type or variable this rule applies to. + */ + context?: string|undefined; + _context?: Element|undefined; + /** + * How to interpret the context. + */ + contextType?: ('type'|'variable')|undefined; + _contextType?: Element|undefined; + /** + * Field to create in the context. + */ + element?: string|undefined; + _element?: Element|undefined; + /** + * If field is a list, how to manage the list. + */ + listMode?: ('first'|'share'|'last'|'collate')[]|undefined; + _listMode?: Element[]|undefined; + /** + * Internal rule reference for shared list items. + */ + listRuleId?: string|undefined; + _listRuleId?: Element|undefined; + /** + * Parameters to the transform. + */ + parameter?: StructureMapGroupRuleTargetParameter[]|undefined; + /** + * How the data is copied / created. + */ + transform?: ('create'|'copy'|'truncate'|'escape'|'cast'|'append'|'translate'|'reference'|'dateOp'|'uuid'|'pointer'|'evaluate'|'cc'|'c'|'qty'|'id'|'cp')|undefined; + _transform?: Element|undefined; + /** + * Named context for field, if desired, and a field is specified. + */ + variable?: string|undefined; + _variable?: Element|undefined; +} +/** + * Which other rules to apply in the context of this rule. + */ +export interface StructureMapGroupRuleDependent extends BackboneElement { + /** + * Name of a rule or group to apply. + */ + name: string; + _name?: Element|undefined; + /** + * Variable to pass to the rule or group. + */ + variable: string[]; + _variable?: Element[]|undefined; +} +/** + * Transform Rule from source to target. + */ +export interface StructureMapGroupRule extends BackboneElement { + /** + * Which other rules to apply in the context of this rule. + */ + dependent?: StructureMapGroupRuleDependent[]|undefined; + /** + * Documentation for this instance of data. + */ + documentation?: string|undefined; + _documentation?: Element|undefined; + /** + * Name of the rule for internal references. + */ + name: string; + _name?: Element|undefined; + /** + * Rules contained in this rule. + */ + rule?: StructureMapGroupRule[]|undefined; + /** + * Source inputs to the mapping. + */ + source: StructureMapGroupRuleSource[]; + /** + * Content to create because of this mapping rule. + */ + target?: StructureMapGroupRuleTarget[]|undefined; +} +/** + * Organizes the mapping into manageable chunks for human review/ease of maintenance. + */ +export interface StructureMapGroup extends BackboneElement { + /** + * Additional supporting documentation that explains the purpose of the group and the types of mappings within it. + */ + documentation?: string|undefined; + _documentation?: Element|undefined; + /** + * Another group that this group adds rules to. + */ + extends?: string|undefined; + _extends?: Element|undefined; + /** + * If no inputs are named, then the entry mappings are type based. + */ + input: StructureMapGroupInput[]; + /** + * A unique name for the group for the convenience of human readers. + */ + name: string; + _name?: Element|undefined; + /** + * Transform Rule from source to target. + */ + rule: StructureMapGroupRule[]; + /** + * Not applicable if the underlying model is untyped. There can only be one default mapping for any particular type combination. + */ + typeMode: ('none'|'types'|'type-and-types'); + _typeMode?: Element|undefined; +} +/** + * A Map of relationships between 2 structures that can be used to transform data. + */ +export interface StructureMap extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'StructureMap'; + /** + * May be a web site, an email address, a telephone number, etc. + */ + contact?: ContactDetail[]|undefined; + /** + * A copyright statement relating to the structure map and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the structure map. + */ + copyright?: string|undefined; + _copyright?: Element|undefined; + /** + * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the structure map. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. + */ + date?: string|undefined; + _date?: Element|undefined; + /** + * This description can be used to capture details such as why the structure map was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the structure map as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the structure map is presumed to be the predominant language in the place the structure map was created). + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * Allows filtering of structure maps that are appropriate for use versus not. + */ + experimental?: boolean|undefined; + _experimental?: Element|undefined; + /** + * Organizes the mapping into manageable chunks for human review/ease of maintenance. + */ + group: StructureMapGroup[]; + /** + * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this structure map outside of FHIR, where it is not possible to use the logical URI. + */ + identifier?: Identifier[]|undefined; + /** + * Other maps used by this map (canonical URLs). + */ + import?: string[]|undefined; + _import?: Element[]|undefined; + /** + * It may be possible for the structure map to be used in jurisdictions other than those for which it was originally designed or intended. + */ + jurisdiction?: CodeableConcept[]|undefined; + /** + * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. + */ + name: string; + _name?: Element|undefined; + /** + * Usually an organization but may be an individual. The publisher (or steward) of the structure map is the organization or individual primarily responsible for the maintenance and upkeep of the structure map. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the structure map. This item SHOULD be populated unless the information is available from context. + */ + publisher?: string|undefined; + _publisher?: Element|undefined; + /** + * This element does not describe the usage of the structure map. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this structure map. + */ + purpose?: string|undefined; + _purpose?: Element|undefined; + /** + * Allows filtering of structure maps that are appropriate for use versus not. + */ + status: ('draft'|'active'|'retired'|'unknown'); + _status?: Element|undefined; + /** + * It is not necessary for a structure map to identify any dependent structures, though not listing them may restrict its usefulness. + */ + structure?: StructureMapStructure[]|undefined; + /** + * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. + */ + title?: string|undefined; + _title?: Element|undefined; + /** + * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. + * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). + * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. + */ + url: string; + _url?: Element|undefined; + /** + * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. + */ + useContext?: UsageContext[]|undefined; + /** + * There may be different structure map instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the structure map with the format [url]|[version]. + */ + version?: string|undefined; + _version?: Element|undefined; +} +/** + * Details where to send notifications when resources are received that meet the criteria. + */ +export interface SubscriptionChannel extends BackboneElement { + /** + * For rest-hook, and websocket, the end-point must be an http: or https: URL; for email, a mailto: url, for sms, a tel: url, and for message the endpoint can be in any form of url the server understands (usually, http: or mllp:). The URI is allowed to be relative; in which case, it is relative to the server end-point (since there may be more than one, clients should avoid using relative URIs). + */ + endpoint?: string|undefined; + _endpoint?: Element|undefined; + /** + * Exactly what these mean depend on the channel type. They can convey additional information to the recipient and/or meet security requirements; for example, support of multiple headers in the outgoing notifications for rest-hook type subscriptions. + */ + header?: string[]|undefined; + _header?: Element[]|undefined; + /** + * Sending the payload has obvious security implications. The server is responsible for ensuring that the content is appropriately secured. + */ + payload?: string|undefined; + _payload?: Element|undefined; + /** + * The type of channel to send notifications on. + */ + type: ('rest-hook'|'websocket'|'email'|'sms'|'message'); + _type?: Element|undefined; +} +/** + * The subscription resource is used to define a push-based subscription from a server to another system. Once a subscription is registered with the server, the server checks every resource that is created or updated, and if the resource matches the given criteria, it sends a message on the defined "channel" so that another system can take an appropriate action. + */ +export interface Subscription extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'Subscription'; + /** + * Details where to send notifications when resources are received that meet the criteria. + */ + channel: SubscriptionChannel; + /** + * Contact details for a human to contact about the subscription. The primary use of this for system administrator troubleshooting. + */ + contact?: ContactPoint[]|undefined; + /** + * The rules are search criteria (without the [base] part). Like Bundle.entry.request.url, it has no leading "/". + */ + criteria: string; + _criteria?: Element|undefined; + /** + * The server is permitted to deviate from this time but should observe it. + */ + end?: string|undefined; + _end?: Element|undefined; + /** + * A record of the last error that occurred when the server processed a notification. + */ + error?: string|undefined; + _error?: Element|undefined; + /** + * A description of why this subscription is defined. + */ + reason: string; + _reason?: Element|undefined; + /** + * A client can only submit subscription resources in the requested or off state. Only the server can move a subscription from requested to active, and then to error. Either the server or the client can turn a subscription off. + * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. + */ + status: ('requested'|'active'|'error'|'off'); + _status?: Element|undefined; +} +/** + * Substance may be used to describe a kind of substance, or a specific package/container of the substance: an instance. + */ +export interface SubstanceInstance extends BackboneElement { + /** + * When the substance is no longer valid to use. For some substances, a single arbitrary date is used for expiry. + */ + expiry?: string|undefined; + _expiry?: Element|undefined; + /** + * Identifier associated with the package/container (usually a label affixed directly). + */ + identifier?: Identifier|undefined; + /** + * The amount of the substance. + */ + quantity?: Quantity|undefined; +} +/** + * A substance can be composed of other substances. + */ +export interface SubstanceIngredient extends BackboneElement { + /** + * The amount of the ingredient in the substance - a concentration ratio. + */ + quantity?: Ratio|undefined; + /** + * Another substance that is a component of this substance. + */ + substanceCodeableConcept?: CodeableConcept|undefined; + /** + * Another substance that is a component of this substance. + */ + substanceReference?: Reference|undefined; +} +/** + * A homogeneous material with a definite composition. + */ +export interface Substance extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'Substance'; + /** + * The level of granularity is defined by the category concepts in the value set. More fine-grained filtering can be performed using the metadata and/or terminology hierarchy in Substance.code. + */ + category?: CodeableConcept[]|undefined; + /** + * This could be a reference to an externally defined code. It could also be a locally assigned code (e.g. a formulary), optionally with translations to the standard drug codes. + */ + code: CodeableConcept; + /** + * A description of the substance - its appearance, handling requirements, and other usage notes. + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * This identifier is associated with the kind of substance in contrast to the Substance.instance.identifier which is associated with the package/container. + */ + identifier?: Identifier[]|undefined; + /** + * A substance can be composed of other substances. + */ + ingredient?: SubstanceIngredient[]|undefined; + /** + * Substance may be used to describe a kind of substance, or a specific package/container of the substance: an instance. + */ + instance?: SubstanceInstance[]|undefined; + /** + * A code to indicate if the substance is actively used. + */ + status?: ('active'|'inactive'|'entered-in-error')|undefined; + _status?: Element|undefined; +} +/** + * The linkages between sugar residues will also be captured. + */ +export interface SubstanceNucleicAcidSubunitLinkage extends BackboneElement { + /** + * The entity that links the sugar residues together should also be captured for nearly all naturally occurring nucleic acid the linkage is a phosphate group. For many synthetic oligonucleotides phosphorothioate linkages are often seen. Linkage connectivity is assumed to be 3’-5’. If the linkage is either 3’-3’ or 5’-5’ this should be specified. + */ + connectivity?: string|undefined; + _connectivity?: Element|undefined; + /** + * Each linkage will be registered as a fragment and have an ID. + */ + identifier?: Identifier|undefined; + /** + * Each linkage will be registered as a fragment and have at least one name. A single name shall be assigned to each linkage. + */ + name?: string|undefined; + _name?: Element|undefined; + /** + * Residues shall be captured as described in 5.3.6.8.3. + */ + residueSite?: string|undefined; + _residueSite?: Element|undefined; +} +/** + * 5.3.6.8.1 Sugar ID (Mandatory). + */ +export interface SubstanceNucleicAcidSubunitSugar extends BackboneElement { + /** + * The Substance ID of the sugar or sugar-like component that make up the nucleotide. + */ + identifier?: Identifier|undefined; + /** + * The name of the sugar or sugar-like component that make up the nucleotide. + */ + name?: string|undefined; + _name?: Element|undefined; + /** + * The residues that contain a given sugar will be captured. The order of given residues will be captured in the 5‘-3‘direction consistent with the base sequences listed above. + */ + residueSite?: string|undefined; + _residueSite?: Element|undefined; +} +/** + * Subunits are listed in order of decreasing length; sequences of the same length will be ordered by molecular weight; subunits that have identical sequences will be repeated multiple times. + */ +export interface SubstanceNucleicAcidSubunit extends BackboneElement { + /** + * The nucleotide present at the 5’ terminal shall be specified based on a controlled vocabulary. Since the sequence is represented from the 5' to the 3' end, the 5’ prime nucleotide is the letter at the first position in the sequence. A separate representation would be redundant. + */ + fivePrime?: CodeableConcept|undefined; + /** + * The length of the sequence shall be captured. + */ + length?: number|undefined; + /** + * The linkages between sugar residues will also be captured. + */ + linkage?: SubstanceNucleicAcidSubunitLinkage[]|undefined; + /** + * Actual nucleotide sequence notation from 5' to 3' end using standard single letter codes. In addition to the base sequence, sugar and type of phosphate or non-phosphate linkage should also be captured. + */ + sequence?: string|undefined; + _sequence?: Element|undefined; + /** + * (TBC). + */ + sequenceAttachment?: Attachment|undefined; + /** + * Index of linear sequences of nucleic acids in order of decreasing length. Sequences of the same length will be ordered by molecular weight. Subunits that have identical sequences will be repeated and have sequential subscripts. + */ + subunit?: number|undefined; + /** + * 5.3.6.8.1 Sugar ID (Mandatory). + */ + sugar?: SubstanceNucleicAcidSubunitSugar[]|undefined; + /** + * The nucleotide present at the 3’ terminal shall be specified based on a controlled vocabulary. Since the sequence is represented from the 5' to the 3' end, the 5’ prime nucleotide is the letter at the last position in the sequence. A separate representation would be redundant. + */ + threePrime?: CodeableConcept|undefined; +} +/** + * Nucleic acids are defined by three distinct elements: the base, sugar and linkage. Individual substance/moiety IDs will be created for each of these elements. The nucleotide sequence will be always entered in the 5’-3’ direction. + */ +export interface SubstanceNucleicAcid extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'SubstanceNucleicAcid'; + /** + * The area of hybridisation shall be described if applicable for double stranded RNA or DNA. The number associated with the subunit followed by the number associated to the residue shall be specified in increasing order. The underscore “” shall be used as separator as follows: “Subunitnumber Residue”. + */ + areaOfHybridisation?: string|undefined; + _areaOfHybridisation?: Element|undefined; + /** + * The number of linear sequences of nucleotides linked through phosphodiester bonds shall be described. Subunits would be strands of nucleic acids that are tightly associated typically through Watson-Crick base pairing. NOTE: If not specified in the reference source, the assumption is that there is 1 subunit. + */ + numberOfSubunits?: number|undefined; + /** + * (TBC). + */ + oligoNucleotideType?: CodeableConcept|undefined; + /** + * The type of the sequence shall be specified based on a controlled vocabulary. + */ + sequenceType?: CodeableConcept|undefined; + /** + * Subunits are listed in order of decreasing length; sequences of the same length will be ordered by molecular weight; subunits that have identical sequences will be repeated multiple times. + */ + subunit?: SubstanceNucleicAcidSubunit[]|undefined; +} +/** + * Todo. + */ +export interface SubstancePolymerMonomerSetStartingMaterial extends BackboneElement { + /** + * Todo. + */ + amount?: SubstanceAmount|undefined; + /** + * Todo. + */ + isDefining?: boolean|undefined; + _isDefining?: Element|undefined; + /** + * Todo. + */ + material?: CodeableConcept|undefined; + /** + * Todo. + */ + type?: CodeableConcept|undefined; +} +/** + * Todo. + */ +export interface SubstancePolymerMonomerSet extends BackboneElement { + /** + * Todo. + */ + ratioType?: CodeableConcept|undefined; + /** + * Todo. + */ + startingMaterial?: SubstancePolymerMonomerSetStartingMaterial[]|undefined; +} +/** + * Todo. + */ +export interface SubstancePolymerRepeatRepeatUnitDegreeOfPolymerisation extends BackboneElement { + /** + * Todo. + */ + amount?: SubstanceAmount|undefined; + /** + * Todo. + */ + degree?: CodeableConcept|undefined; +} +/** + * Todo. + */ +export interface SubstancePolymerRepeatRepeatUnitStructuralRepresentation extends BackboneElement { + /** + * Todo. + */ + attachment?: Attachment|undefined; + /** + * Todo. + */ + representation?: string|undefined; + _representation?: Element|undefined; + /** + * Todo. + */ + type?: CodeableConcept|undefined; +} +/** + * Todo. + */ +export interface SubstancePolymerRepeatRepeatUnit extends BackboneElement { + /** + * Todo. + */ + amount?: SubstanceAmount|undefined; + /** + * Todo. + */ + degreeOfPolymerisation?: SubstancePolymerRepeatRepeatUnitDegreeOfPolymerisation[]|undefined; + /** + * Todo. + */ + orientationOfPolymerisation?: CodeableConcept|undefined; + /** + * Todo. + */ + repeatUnit?: string|undefined; + _repeatUnit?: Element|undefined; + /** + * Todo. + */ + structuralRepresentation?: SubstancePolymerRepeatRepeatUnitStructuralRepresentation[]|undefined; +} +/** + * Todo. + */ +export interface SubstancePolymerRepeat extends BackboneElement { + /** + * Todo. + */ + averageMolecularFormula?: string|undefined; + _averageMolecularFormula?: Element|undefined; + /** + * Todo. + */ + numberOfUnits?: number|undefined; + /** + * Todo. + */ + repeatUnit?: SubstancePolymerRepeatRepeatUnit[]|undefined; + /** + * Todo. + */ + repeatUnitAmountType?: CodeableConcept|undefined; +} +/** + * Todo. + */ +export interface SubstancePolymer extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'SubstancePolymer'; + /** + * Todo. + */ + class?: CodeableConcept|undefined; + /** + * Todo. + */ + copolymerConnectivity?: CodeableConcept[]|undefined; + /** + * Todo. + */ + geometry?: CodeableConcept|undefined; + /** + * Todo. + */ + modification?: string[]|undefined; + _modification?: Element[]|undefined; + /** + * Todo. + */ + monomerSet?: SubstancePolymerMonomerSet[]|undefined; + /** + * Todo. + */ + repeat?: SubstancePolymerRepeat[]|undefined; +} +/** + * This subclause refers to the description of each subunit constituting the SubstanceProtein. A subunit is a linear sequence of amino acids linked through peptide bonds. The Subunit information shall be provided when the finished SubstanceProtein is a complex of multiple sequences; subunits are not used to delineate domains within a single sequence. Subunits are listed in order of decreasing length; sequences of the same length will be ordered by decreasing molecular weight; subunits that have identical sequences will be repeated multiple times. + */ +export interface SubstanceProteinSubunit extends BackboneElement { + /** + * The modification at the C-terminal shall be specified. + */ + cTerminalModification?: string|undefined; + _cTerminalModification?: Element|undefined; + /** + * Unique identifier for molecular fragment modification based on the ISO 11238 Substance ID. + */ + cTerminalModificationId?: Identifier|undefined; + /** + * Length of linear sequences of amino acids contained in the subunit. + */ + length?: number|undefined; + /** + * The name of the fragment modified at the N-terminal of the SubstanceProtein shall be specified. + */ + nTerminalModification?: string|undefined; + _nTerminalModification?: Element|undefined; + /** + * Unique identifier for molecular fragment modification based on the ISO 11238 Substance ID. + */ + nTerminalModificationId?: Identifier|undefined; + /** + * The sequence information shall be provided enumerating the amino acids from N- to C-terminal end using standard single-letter amino acid codes. Uppercase shall be used for L-amino acids and lowercase for D-amino acids. Transcribed SubstanceProteins will always be described using the translated sequence; for synthetic peptide containing amino acids that are not represented with a single letter code an X should be used within the sequence. The modified amino acids will be distinguished by their position in the sequence. + */ + sequence?: string|undefined; + _sequence?: Element|undefined; + /** + * The sequence information shall be provided enumerating the amino acids from N- to C-terminal end using standard single-letter amino acid codes. Uppercase shall be used for L-amino acids and lowercase for D-amino acids. Transcribed SubstanceProteins will always be described using the translated sequence; for synthetic peptide containing amino acids that are not represented with a single letter code an X should be used within the sequence. The modified amino acids will be distinguished by their position in the sequence. + */ + sequenceAttachment?: Attachment|undefined; + /** + * Index of primary sequences of amino acids linked through peptide bonds in order of decreasing length. Sequences of the same length will be ordered by molecular weight. Subunits that have identical sequences will be repeated and have sequential subscripts. + */ + subunit?: number|undefined; +} +/** + * A SubstanceProtein is defined as a single unit of a linear amino acid sequence, or a combination of subunits that are either covalently linked or have a defined invariant stoichiometric relationship. This includes all synthetic, recombinant and purified SubstanceProteins of defined sequence, whether the use is therapeutic or prophylactic. This set of elements will be used to describe albumins, coagulation factors, cytokines, growth factors, peptide/SubstanceProtein hormones, enzymes, toxins, toxoids, recombinant vaccines, and immunomodulators. + */ +export interface SubstanceProtein extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'SubstanceProtein'; + /** + * The disulphide bond between two cysteine residues either on the same subunit or on two different subunits shall be described. The position of the disulfide bonds in the SubstanceProtein shall be listed in increasing order of subunit number and position within subunit followed by the abbreviation of the amino acids involved. The disulfide linkage positions shall actually contain the amino acid Cysteine at the respective positions. + */ + disulfideLinkage?: string[]|undefined; + _disulfideLinkage?: Element[]|undefined; + /** + * Number of linear sequences of amino acids linked through peptide bonds. The number of subunits constituting the SubstanceProtein shall be described. It is possible that the number of subunits can be variable. + */ + numberOfSubunits?: number|undefined; + /** + * The SubstanceProtein descriptive elements will only be used when a complete or partial amino acid sequence is available or derivable from a nucleic acid sequence. + */ + sequenceType?: CodeableConcept|undefined; + /** + * This subclause refers to the description of each subunit constituting the SubstanceProtein. A subunit is a linear sequence of amino acids linked through peptide bonds. The Subunit information shall be provided when the finished SubstanceProtein is a complex of multiple sequences; subunits are not used to delineate domains within a single sequence. Subunits are listed in order of decreasing length; sequences of the same length will be ordered by decreasing molecular weight; subunits that have identical sequences will be repeated multiple times. + */ + subunit?: SubstanceProteinSubunit[]|undefined; +} +/** + * Todo. + */ +export interface SubstanceReferenceInformationGene extends BackboneElement { + /** + * Todo. + */ + gene?: CodeableConcept|undefined; + /** + * Todo. + */ + geneSequenceOrigin?: CodeableConcept|undefined; + /** + * Todo. + */ + source?: Reference[]|undefined; +} +/** + * Todo. + */ +export interface SubstanceReferenceInformationGeneElement extends BackboneElement { + /** + * Todo. + */ + element?: Identifier|undefined; + /** + * Todo. + */ + source?: Reference[]|undefined; + /** + * Todo. + */ + type?: CodeableConcept|undefined; +} +/** + * Todo. + */ +export interface SubstanceReferenceInformationClassification extends BackboneElement { + /** + * Todo. + */ + classification?: CodeableConcept|undefined; + /** + * Todo. + */ + domain?: CodeableConcept|undefined; + /** + * Todo. + */ + source?: Reference[]|undefined; + /** + * Todo. + */ + subtype?: CodeableConcept[]|undefined; +} +/** + * Todo. + */ +export interface SubstanceReferenceInformationTarget extends BackboneElement { + /** + * Todo. + */ + amountQuantity?: Quantity|undefined; + /** + * Todo. + */ + amountRange?: Range|undefined; + /** + * Todo. + */ + amountString?: string|undefined; + _amountString?: Element|undefined; + /** + * Todo. + */ + amountType?: CodeableConcept|undefined; + /** + * Todo. + */ + interaction?: CodeableConcept|undefined; + /** + * Todo. + */ + organism?: CodeableConcept|undefined; + /** + * Todo. + */ + organismType?: CodeableConcept|undefined; + /** + * Todo. + */ + source?: Reference[]|undefined; + /** + * Todo. + */ + target?: Identifier|undefined; + /** + * Todo. + */ + type?: CodeableConcept|undefined; +} +/** + * Todo. + */ +export interface SubstanceReferenceInformation extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'SubstanceReferenceInformation'; + /** + * Todo. + */ + classification?: SubstanceReferenceInformationClassification[]|undefined; + /** + * Todo. + */ + comment?: string|undefined; + _comment?: Element|undefined; + /** + * Todo. + */ + gene?: SubstanceReferenceInformationGene[]|undefined; + /** + * Todo. + */ + geneElement?: SubstanceReferenceInformationGeneElement[]|undefined; + /** + * Todo. + */ + target?: SubstanceReferenceInformationTarget[]|undefined; +} +/** + * Many complex materials are fractions of parts of plants, animals, or minerals. Fraction elements are often necessary to define both Substances and Specified Group 1 Substances. For substances derived from Plants, fraction information will be captured at the Substance information level ( . Oils, Juices and Exudates). Additional information for Extracts, such as extraction solvent composition, will be captured at the Specified Substance Group 1 information level. For plasma-derived products fraction information will be captured at the Substance and the Specified Substance Group 1 levels. + */ +export interface SubstanceSourceMaterialFractionDescription extends BackboneElement { + /** + * This element is capturing information about the fraction of a plant part, or human plasma for fractionation. + */ + fraction?: string|undefined; + _fraction?: Element|undefined; + /** + * The specific type of the material constituting the component. For Herbal preparations the particulars of the extracts (liquid/dry) is described in Specified Substance Group 1. + */ + materialType?: CodeableConcept|undefined; +} +/** + * 4.9.13.6.1 Author type (Conditional). + */ +export interface SubstanceSourceMaterialOrganismAuthor extends BackboneElement { + /** + * The author of an organism species shall be specified. The author year of an organism shall also be specified when applicable; refers to the year in which the first author(s) published the infraspecific plant/animal name (of any rank). + */ + authorDescription?: string|undefined; + _authorDescription?: Element|undefined; + /** + * The type of author of an organism species shall be specified. The parenthetical author of an organism species refers to the first author who published the plant/animal name (of any rank). The primary author of an organism species refers to the first author(s), who validly published the plant/animal name. + */ + authorType?: CodeableConcept|undefined; +} +/** + * 4.9.13.8.1 Hybrid species maternal organism ID (Optional). + */ +export interface SubstanceSourceMaterialOrganismHybrid extends BackboneElement { + /** + * The hybrid type of an organism shall be specified. + */ + hybridType?: CodeableConcept|undefined; + /** + * The identifier of the maternal species constituting the hybrid organism shall be specified based on a controlled vocabulary. For plants, the parents aren’t always known, and it is unlikely that it will be known which is maternal and which is paternal. + */ + maternalOrganismId?: string|undefined; + _maternalOrganismId?: Element|undefined; + /** + * The name of the maternal species constituting the hybrid organism shall be specified. For plants, the parents aren’t always known, and it is unlikely that it will be known which is maternal and which is paternal. + */ + maternalOrganismName?: string|undefined; + _maternalOrganismName?: Element|undefined; + /** + * The identifier of the paternal species constituting the hybrid organism shall be specified based on a controlled vocabulary. + */ + paternalOrganismId?: string|undefined; + _paternalOrganismId?: Element|undefined; + /** + * The name of the paternal species constituting the hybrid organism shall be specified. + */ + paternalOrganismName?: string|undefined; + _paternalOrganismName?: Element|undefined; +} +/** + * 4.9.13.7.1 Kingdom (Conditional). + */ +export interface SubstanceSourceMaterialOrganismOrganismGeneral extends BackboneElement { + /** + * The class of an organism shall be specified. + */ + class?: CodeableConcept|undefined; + /** + * The kingdom of an organism shall be specified. + */ + kingdom?: CodeableConcept|undefined; + /** + * The order of an organism shall be specified,. + */ + order?: CodeableConcept|undefined; + /** + * The phylum of an organism shall be specified. + */ + phylum?: CodeableConcept|undefined; +} +/** + * This subclause describes the organism which the substance is derived from. For vaccines, the parent organism shall be specified based on these subclause elements. As an example, full taxonomy will be described for the Substance Name: ., Leaf. + */ +export interface SubstanceSourceMaterialOrganism extends BackboneElement { + /** + * 4.9.13.6.1 Author type (Conditional). + */ + author?: SubstanceSourceMaterialOrganismAuthor[]|undefined; + /** + * The family of an organism shall be specified. + */ + family?: CodeableConcept|undefined; + /** + * The genus of an organism shall be specified; refers to the Latin epithet of the genus element of the plant/animal scientific name; it is present in names for genera, species and infraspecies. + */ + genus?: CodeableConcept|undefined; + /** + * 4.9.13.8.1 Hybrid species maternal organism ID (Optional). + */ + hybrid?: SubstanceSourceMaterialOrganismHybrid|undefined; + /** + * The intraspecific description of an organism shall be specified based on a controlled vocabulary. For Influenza Vaccine, the intraspecific description shall contain the syntax of the antigen in line with the WHO convention. + */ + intraspecificDescription?: string|undefined; + _intraspecificDescription?: Element|undefined; + /** + * The Intraspecific type of an organism shall be specified. + */ + intraspecificType?: CodeableConcept|undefined; + /** + * 4.9.13.7.1 Kingdom (Conditional). + */ + organismGeneral?: SubstanceSourceMaterialOrganismOrganismGeneral|undefined; + /** + * The species of an organism shall be specified; refers to the Latin epithet of the species of the plant/animal; it is present in names for species and infraspecies. + */ + species?: CodeableConcept|undefined; +} +/** + * To do. + */ +export interface SubstanceSourceMaterialPartDescription extends BackboneElement { + /** + * Entity of anatomical origin of source material within an organism. + */ + part?: CodeableConcept|undefined; + /** + * The detailed anatomic location when the part can be extracted from different anatomical locations of the organism. Multiple alternative locations may apply. + */ + partLocation?: CodeableConcept|undefined; +} +/** + * Source material shall capture information on the taxonomic and anatomical origins as well as the fraction of a material that can result in or can be modified to form a substance. This set of data elements shall be used to define polymer substances isolated from biological matrices. Taxonomic and anatomical origins shall be described using a controlled vocabulary as required. This information is captured for naturally derived polymers ( . starch) and structurally diverse substances. For Organisms belonging to the Kingdom Plantae the Substance level defines the fresh material of a single species or infraspecies, the Herbal Drug and the Herbal preparation. For Herbal preparations, the fraction information will be captured at the Substance information level and additional information for herbal extracts will be captured at the Specified Substance Group 1 information level. See for further explanation the Substance Class: Structurally Diverse and the herbal annex. + */ +export interface SubstanceSourceMaterial extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'SubstanceSourceMaterial'; + /** + * The country where the plant material is harvested or the countries where the plasma is sourced from as laid down in accordance with the Plasma Master File. For “Plasma-derived substances” the attribute country of origin provides information about the countries used for the manufacturing of the Cryopoor plama or Crioprecipitate. + */ + countryOfOrigin?: CodeableConcept[]|undefined; + /** + * Stage of life for animals, plants, insects and microorganisms. This information shall be provided only when the substance is significantly different in these stages (e.g. foetal bovine serum). + */ + developmentStage?: CodeableConcept|undefined; + /** + * Many complex materials are fractions of parts of plants, animals, or minerals. Fraction elements are often necessary to define both Substances and Specified Group 1 Substances. For substances derived from Plants, fraction information will be captured at the Substance information level ( . Oils, Juices and Exudates). Additional information for Extracts, such as extraction solvent composition, will be captured at the Specified Substance Group 1 information level. For plasma-derived products fraction information will be captured at the Substance and the Specified Substance Group 1 levels. + */ + fractionDescription?: SubstanceSourceMaterialFractionDescription[]|undefined; + /** + * The place/region where the plant is harvested or the places/regions where the animal source material has its habitat. + */ + geographicalLocation?: string[]|undefined; + _geographicalLocation?: Element[]|undefined; + /** + * This subclause describes the organism which the substance is derived from. For vaccines, the parent organism shall be specified based on these subclause elements. As an example, full taxonomy will be described for the Substance Name: ., Leaf. + */ + organism?: SubstanceSourceMaterialOrganism|undefined; + /** + * The unique identifier associated with the source material parent organism shall be specified. + */ + organismId?: Identifier|undefined; + /** + * The organism accepted Scientific name shall be provided based on the organism taxonomy. + */ + organismName?: string|undefined; + _organismName?: Element|undefined; + /** + * The parent of the herbal drug Ginkgo biloba, Leaf is the substance ID of the substance (fresh) of Ginkgo biloba L. or Ginkgo biloba L. (Whole plant). + */ + parentSubstanceId?: Identifier[]|undefined; + /** + * The parent substance of the Herbal Drug, or Herbal preparation. + */ + parentSubstanceName?: string[]|undefined; + _parentSubstanceName?: Element[]|undefined; + /** + * To do. + */ + partDescription?: SubstanceSourceMaterialPartDescription[]|undefined; + /** + * General high level classification of the source material specific to the origin of the material. + */ + sourceMaterialClass?: CodeableConcept|undefined; + /** + * The state of the source material when extracted. + */ + sourceMaterialState?: CodeableConcept|undefined; + /** + * The type of the source material shall be specified based on a controlled vocabulary. For vaccines, this subclause refers to the class of infectious agent. + */ + sourceMaterialType?: CodeableConcept|undefined; +} +/** + * Moiety, for structural modifications. + */ +export interface SubstanceSpecificationMoiety extends BackboneElement { + /** + * Quantitative value for this moiety. + */ + amountQuantity?: Quantity|undefined; + /** + * Quantitative value for this moiety. + */ + amountString?: string|undefined; + _amountString?: Element|undefined; + /** + * Identifier by which this moiety substance is known. + */ + identifier?: Identifier|undefined; + /** + * Molecular formula. + */ + molecularFormula?: string|undefined; + _molecularFormula?: Element|undefined; + /** + * Textual name for this moiety substance. + */ + name?: string|undefined; + _name?: Element|undefined; + /** + * Optical activity type. + */ + opticalActivity?: CodeableConcept|undefined; + /** + * Role that the moiety is playing. + */ + role?: CodeableConcept|undefined; + /** + * Stereochemistry type. + */ + stereochemistry?: CodeableConcept|undefined; +} +/** + * General specifications for this substance, including how it is related to other substances. + */ +export interface SubstanceSpecificationProperty extends BackboneElement { + /** + * Quantitative value for this property. + */ + amountQuantity?: Quantity|undefined; + /** + * Quantitative value for this property. + */ + amountString?: string|undefined; + _amountString?: Element|undefined; + /** + * A category for this property, e.g. Physical, Chemical, Enzymatic. + */ + category?: CodeableConcept|undefined; + /** + * Property type e.g. viscosity, pH, isoelectric point. + */ + code?: CodeableConcept|undefined; + /** + * A substance upon which a defining property depends (e.g. for solubility: in water, in alcohol). + */ + definingSubstanceReference?: Reference|undefined; + /** + * A substance upon which a defining property depends (e.g. for solubility: in water, in alcohol). + */ + definingSubstanceCodeableConcept?: CodeableConcept|undefined; + /** + * Parameters that were used in the measurement of a property (e.g. for viscosity: measured at 20C with a pH of 7.1). + */ + parameters?: string|undefined; + _parameters?: Element|undefined; +} +/** + * The molecular weight or weight range (for proteins, polymers or nucleic acids). + */ +export interface SubstanceSpecificationStructureIsotopeMolecularWeight extends BackboneElement { + /** + * Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field. + */ + amount?: Quantity|undefined; + /** + * The method by which the molecular weight was determined. + */ + method?: CodeableConcept|undefined; + /** + * Type of molecular weight such as exact, average (also known as. number average), weight average. + */ + type?: CodeableConcept|undefined; +} +/** + * Applicable for single substances that contain a radionuclide or a non-natural isotopic ratio. + */ +export interface SubstanceSpecificationStructureIsotope extends BackboneElement { + /** + * Half life - for a non-natural nuclide. + */ + halfLife?: Quantity|undefined; + /** + * Substance identifier for each non-natural or radioisotope. + */ + identifier?: Identifier|undefined; + /** + * The molecular weight or weight range (for proteins, polymers or nucleic acids). + */ + molecularWeight?: SubstanceSpecificationStructureIsotopeMolecularWeight|undefined; + /** + * Substance name for each non-natural or radioisotope. + */ + name?: CodeableConcept|undefined; + /** + * The type of isotopic substitution present in a single substance. + */ + substitution?: CodeableConcept|undefined; +} +/** + * Molecular structural representation. + */ +export interface SubstanceSpecificationStructureRepresentation extends BackboneElement { + /** + * An attached file with the structural representation. + */ + attachment?: Attachment|undefined; + /** + * The structural representation as text string in a format e.g. InChI, SMILES, MOLFILE, CDX. + */ + representation?: string|undefined; + _representation?: Element|undefined; + /** + * The type of structure (e.g. Full, Partial, Representative). + */ + type?: CodeableConcept|undefined; +} +/** + * Structural information. + */ +export interface SubstanceSpecificationStructure extends BackboneElement { + /** + * Applicable for single substances that contain a radionuclide or a non-natural isotopic ratio. + */ + isotope?: SubstanceSpecificationStructureIsotope[]|undefined; + /** + * Molecular formula. + */ + molecularFormula?: string|undefined; + _molecularFormula?: Element|undefined; + /** + * Specified per moiety according to the Hill system, i.e. first C, then H, then alphabetical, each moiety separated by a dot. + */ + molecularFormulaByMoiety?: string|undefined; + _molecularFormulaByMoiety?: Element|undefined; + /** + * The molecular weight or weight range (for proteins, polymers or nucleic acids). + */ + molecularWeight?: SubstanceSpecificationStructureIsotopeMolecularWeight|undefined; + /** + * Optical activity type. + */ + opticalActivity?: CodeableConcept|undefined; + /** + * Molecular structural representation. + */ + representation?: SubstanceSpecificationStructureRepresentation[]|undefined; + /** + * Supporting literature. + */ + source?: Reference[]|undefined; + /** + * Stereochemistry type. + */ + stereochemistry?: CodeableConcept|undefined; +} +/** + * Codes associated with the substance. + */ +export interface SubstanceSpecificationCode extends BackboneElement { + /** + * The specific code. + */ + code?: CodeableConcept|undefined; + /** + * Any comment can be provided in this field, if necessary. + */ + comment?: string|undefined; + _comment?: Element|undefined; + /** + * Supporting literature. + */ + source?: Reference[]|undefined; + /** + * Status of the code assignment. + */ + status?: CodeableConcept|undefined; + /** + * The date at which the code status is changed as part of the terminology maintenance. + */ + statusDate?: string|undefined; + _statusDate?: Element|undefined; +} +/** + * Details of the official nature of this name. + */ +export interface SubstanceSpecificationNameOfficial extends BackboneElement { + /** + * Which authority uses this official name. + */ + authority?: CodeableConcept|undefined; + /** + * Date of official name change. + */ + date?: string|undefined; + _date?: Element|undefined; + /** + * The status of the official name. + */ + status?: CodeableConcept|undefined; +} +/** + * Names applicable to this substance. + */ +export interface SubstanceSpecificationName extends BackboneElement { + /** + * The use context of this name for example if there is a different name a drug active ingredient as opposed to a food colour additive. + */ + domain?: CodeableConcept[]|undefined; + /** + * The jurisdiction where this name applies. + */ + jurisdiction?: CodeableConcept[]|undefined; + /** + * Language of the name. + */ + language?: CodeableConcept[]|undefined; + /** + * The actual name. + */ + name: string; + _name?: Element|undefined; + /** + * Details of the official nature of this name. + */ + official?: SubstanceSpecificationNameOfficial[]|undefined; + /** + * If this is the preferred name for this substance. + */ + preferred?: boolean|undefined; + _preferred?: Element|undefined; + /** + * Supporting literature. + */ + source?: Reference[]|undefined; + /** + * The status of the name. + */ + status?: CodeableConcept|undefined; + /** + * A synonym of this name. + */ + synonym?: SubstanceSpecificationName[]|undefined; + /** + * A translation for this name. + */ + translation?: SubstanceSpecificationName[]|undefined; + /** + * Name type. + */ + type?: CodeableConcept|undefined; +} +/** + * A link between this substance and another, with details of the relationship. + */ +export interface SubstanceSpecificationRelationship extends BackboneElement { + /** + * A numeric factor for the relationship, for instance to express that the salt of a substance has some percentage of the active substance in relation to some other. + */ + amountQuantity?: Quantity|undefined; + /** + * A numeric factor for the relationship, for instance to express that the salt of a substance has some percentage of the active substance in relation to some other. + */ + amountRange?: Range|undefined; + /** + * A numeric factor for the relationship, for instance to express that the salt of a substance has some percentage of the active substance in relation to some other. + */ + amountRatio?: Ratio|undefined; + /** + * A numeric factor for the relationship, for instance to express that the salt of a substance has some percentage of the active substance in relation to some other. + */ + amountString?: string|undefined; + _amountString?: Element|undefined; + /** + * For use when the numeric. + */ + amountRatioLowLimit?: Ratio|undefined; + /** + * An operator for the amount, for example "average", "approximately", "less than". + */ + amountType?: CodeableConcept|undefined; + /** + * For example where an enzyme strongly bonds with a particular substance, this is a defining relationship for that enzyme, out of several possible substance relationships. + */ + isDefining?: boolean|undefined; + _isDefining?: Element|undefined; + /** + * For example "salt to parent", "active moiety", "starting material". + */ + relationship?: CodeableConcept|undefined; + /** + * Supporting literature. + */ + source?: Reference[]|undefined; + /** + * A pointer to another substance, as a resource or just a representational code. + */ + substanceReference?: Reference|undefined; + /** + * A pointer to another substance, as a resource or just a representational code. + */ + substanceCodeableConcept?: CodeableConcept|undefined; +} +/** + * The detailed description of a substance, typically at a level beyond what is used for prescribing. + */ +export interface SubstanceSpecification extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'SubstanceSpecification'; + /** + * Codes associated with the substance. + */ + code?: SubstanceSpecificationCode[]|undefined; + /** + * Textual comment about this record of a substance. + */ + comment?: string|undefined; + _comment?: Element|undefined; + /** + * Textual description of the substance. + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * If the substance applies to only human or veterinary use. + */ + domain?: CodeableConcept|undefined; + /** + * Identifier by which this substance is known. + */ + identifier?: Identifier|undefined; + /** + * Moiety, for structural modifications. + */ + moiety?: SubstanceSpecificationMoiety[]|undefined; + /** + * The molecular weight or weight range (for proteins, polymers or nucleic acids). + */ + molecularWeight?: SubstanceSpecificationStructureIsotopeMolecularWeight[]|undefined; + /** + * Names applicable to this substance. + */ + name?: SubstanceSpecificationName[]|undefined; + /** + * Data items specific to nucleic acids. + */ + nucleicAcid?: Reference|undefined; + /** + * Data items specific to polymers. + */ + polymer?: Reference|undefined; + /** + * General specifications for this substance, including how it is related to other substances. + */ + property?: SubstanceSpecificationProperty[]|undefined; + /** + * Data items specific to proteins. + */ + protein?: Reference|undefined; + /** + * General information detailing this substance. + */ + referenceInformation?: Reference|undefined; + /** + * A link between this substance and another, with details of the relationship. + */ + relationship?: SubstanceSpecificationRelationship[]|undefined; + /** + * Supporting literature. + */ + source?: Reference[]|undefined; + /** + * Material or taxonomic/anatomical source for the substance. + */ + sourceMaterial?: Reference|undefined; + /** + * Status of substance within the catalogue e.g. approved. + */ + status?: CodeableConcept|undefined; + /** + * Structural information. + */ + structure?: SubstanceSpecificationStructure|undefined; + /** + * High level categorization, e.g. polymer or nucleic acid. + */ + type?: CodeableConcept|undefined; +} +/** + * The item that is being delivered or has been supplied. + */ +export interface SupplyDeliverySuppliedItem extends BackboneElement { + /** + * Identifies the medication, substance or device being dispensed. This is either a link to a resource representing the details of the item or a code that identifies the item from a known list. + */ + itemCodeableConcept?: CodeableConcept|undefined; + /** + * Identifies the medication, substance or device being dispensed. This is either a link to a resource representing the details of the item or a code that identifies the item from a known list. + */ + itemReference?: Reference|undefined; + /** + * The amount of supply that has been dispensed. Includes unit of measure. + */ + quantity?: Quantity|undefined; +} +/** + * Record of delivery of what is supplied. + */ +export interface SupplyDelivery extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'SupplyDelivery'; + /** + * A plan, proposal or order that is fulfilled in whole or in part by this event. + */ + basedOn?: Reference[]|undefined; + /** + * Identification of the facility/location where the Supply was shipped to, as part of the dispense event. + */ + destination?: Reference|undefined; + /** + * This identifier is typically assigned by the dispenser, and may be used to reference the delivery when exchanging information about it with other systems. + */ + identifier?: Identifier[]|undefined; + /** + * [The list of types may be constrained as appropriate for the type of event]. + */ + occurrenceDateTime?: string|undefined; + _occurrenceDateTime?: Element|undefined; + /** + * [The list of types may be constrained as appropriate for the type of event]. + */ + occurrencePeriod?: Period|undefined; + /** + * [The list of types may be constrained as appropriate for the type of event]. + */ + occurrenceTiming?: Timing|undefined; + /** + * Not to be used to link an event to an Encounter - use Event.context for that. + * [The allowed reference resources may be adjusted as appropriate for the event resource]. + */ + partOf?: Reference[]|undefined; + /** + * A link to a resource representing the person whom the delivered item is for. + */ + patient?: Reference|undefined; + /** + * Identifies the person who picked up the Supply. + */ + receiver?: Reference[]|undefined; + /** + * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. + */ + status?: ('in-progress'|'completed'|'abandoned'|'entered-in-error')|undefined; + _status?: Element|undefined; + /** + * The item that is being delivered or has been supplied. + */ + suppliedItem?: SupplyDeliverySuppliedItem|undefined; + /** + * The individual responsible for dispensing the medication, supplier or device. + */ + supplier?: Reference|undefined; + /** + * Indicates the type of dispensing event that is performed. Examples include: Trial Fill, Completion of Trial, Partial Fill, Emergency Fill, Samples, etc. + */ + type?: CodeableConcept|undefined; +} +/** + * Specific parameters for the ordered item. For example, the size of the indicated item. + */ +export interface SupplyRequestParameter extends BackboneElement { + /** + * A code or string that identifies the device detail being asserted. + */ + code?: CodeableConcept|undefined; + /** + * Range means device should have a value that falls somewhere within the specified range. + */ + valueCodeableConcept?: CodeableConcept|undefined; + /** + * Range means device should have a value that falls somewhere within the specified range. + */ + valueQuantity?: Quantity|undefined; + /** + * Range means device should have a value that falls somewhere within the specified range. + */ + valueRange?: Range|undefined; + /** + * Range means device should have a value that falls somewhere within the specified range. + */ + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; +} +/** + * A record of a request for a medication, substance or device used in the healthcare setting. + */ +export interface SupplyRequest extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'SupplyRequest'; + /** + * When the request was made. + */ + authoredOn?: string|undefined; + _authoredOn?: Element|undefined; + /** + * Category of supply, e.g. central, non-stock, etc. This is used to support work flows associated with the supply process. + */ + category?: CodeableConcept|undefined; + /** + * Where the supply is expected to come from. + */ + deliverFrom?: Reference|undefined; + /** + * Where the supply is destined to go. + */ + deliverTo?: Reference|undefined; + /** + * The identifier.type element is used to distinguish between the identifiers assigned by the requester/placer and the performer/filler. + */ + identifier?: Identifier[]|undefined; + /** + * Note that there's a difference between a prescription - an instruction to take a medication, along with a (sometimes) implicit supply, and an explicit request to supply, with no explicit instructions. + */ + itemCodeableConcept?: CodeableConcept|undefined; + /** + * Note that there's a difference between a prescription - an instruction to take a medication, along with a (sometimes) implicit supply, and an explicit request to supply, with no explicit instructions. + */ + itemReference?: Reference|undefined; + /** + * When the request should be fulfilled. + */ + occurrenceDateTime?: string|undefined; + _occurrenceDateTime?: Element|undefined; + /** + * When the request should be fulfilled. + */ + occurrencePeriod?: Period|undefined; + /** + * When the request should be fulfilled. + */ + occurrenceTiming?: Timing|undefined; + /** + * Specific parameters for the ordered item. For example, the size of the indicated item. + */ + parameter?: SupplyRequestParameter[]|undefined; + /** + * Indicates how quickly this SupplyRequest should be addressed with respect to other requests. + */ + priority?: ('routine'|'urgent'|'asap'|'stat')|undefined; + _priority?: Element|undefined; + /** + * The amount that is being ordered of the indicated item. + */ + quantity: Quantity; + /** + * The reason why the supply item was requested. + */ + reasonCode?: CodeableConcept[]|undefined; + /** + * The reason why the supply item was requested. + */ + reasonReference?: Reference[]|undefined; + /** + * The device, practitioner, etc. who initiated the request. + */ + requester?: Reference|undefined; + /** + * Status of the supply request. + */ + status?: ('draft'|'active'|'suspended'|'cancelled'|'completed'|'entered-in-error'|'unknown')|undefined; + _status?: Element|undefined; + /** + * Who is intended to fulfill the request. + */ + supplier?: Reference[]|undefined; +} +/** + * If the Task.focus is a request resource and the task is seeking fulfillment (i.e. is asking for the request to be actioned), this element identifies any limitations on what parts of the referenced request should be actioned. + */ +export interface TaskRestriction extends BackboneElement { + /** + * Note that period.high is the due date representing the time by which the task should be completed. + */ + period?: Period|undefined; + /** + * For requests that are targeted to more than on potential recipient/target, for whom is fulfillment sought? + */ + recipient?: Reference[]|undefined; + /** + * Indicates the number of times the requested action should occur. + */ + repetitions?: number|undefined; +} +/** + * Additional information that may be needed in the execution of the task. + */ +export interface TaskInput extends BackboneElement { + /** + * If referencing a BPMN workflow or Protocol, the "system" is the URL for the workflow definition and the code is the "name" of the required input. + */ + type: CodeableConcept; + /** + * The value of the input parameter as a basic type. + */ + valueBase64Binary?: string|undefined; + _valueBase64Binary?: Element|undefined; + /** + * The value of the input parameter as a basic type. + */ + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; + /** + * The value of the input parameter as a basic type. + */ + valueCanonical?: string|undefined; + _valueCanonical?: Element|undefined; + /** + * The value of the input parameter as a basic type. + */ + valueCode?: string|undefined; + _valueCode?: Element|undefined; + /** + * The value of the input parameter as a basic type. + */ + valueDate?: string|undefined; + _valueDate?: Element|undefined; + /** + * The value of the input parameter as a basic type. + */ + valueDateTime?: string|undefined; + _valueDateTime?: Element|undefined; + /** + * The value of the input parameter as a basic type. + */ + valueDecimal?: number|undefined; + /** + * The value of the input parameter as a basic type. + */ + valueId?: string|undefined; + _valueId?: Element|undefined; + /** + * The value of the input parameter as a basic type. + */ + valueInstant?: string|undefined; + _valueInstant?: Element|undefined; + /** + * The value of the input parameter as a basic type. + */ + valueInteger?: number|undefined; + /** + * The value of the input parameter as a basic type. + */ + valueMarkdown?: string|undefined; + _valueMarkdown?: Element|undefined; + /** + * The value of the input parameter as a basic type. + */ + valueOid?: string|undefined; + _valueOid?: Element|undefined; + /** + * The value of the input parameter as a basic type. + */ + valuePositiveInt?: number|undefined; + /** + * The value of the input parameter as a basic type. + */ + valueString?: string|undefined; + _valueString?: Element|undefined; + /** + * The value of the input parameter as a basic type. + */ + valueTime?: string|undefined; + _valueTime?: Element|undefined; + /** + * The value of the input parameter as a basic type. + */ + valueUnsignedInt?: number|undefined; + /** + * The value of the input parameter as a basic type. + */ + valueUri?: string|undefined; + _valueUri?: Element|undefined; + /** + * The value of the input parameter as a basic type. + */ + valueUrl?: string|undefined; + _valueUrl?: Element|undefined; + /** + * The value of the input parameter as a basic type. + */ + valueUuid?: string|undefined; + _valueUuid?: Element|undefined; + /** + * The value of the input parameter as a basic type. + */ + valueAddress?: Address|undefined; + /** + * The value of the input parameter as a basic type. + */ + valueAge?: Age|undefined; + /** + * The value of the input parameter as a basic type. + */ + valueAnnotation?: Annotation|undefined; + /** + * The value of the input parameter as a basic type. + */ + valueAttachment?: Attachment|undefined; + /** + * The value of the input parameter as a basic type. + */ + valueCodeableConcept?: CodeableConcept|undefined; + /** + * The value of the input parameter as a basic type. + */ + valueCoding?: Coding|undefined; + /** + * The value of the input parameter as a basic type. + */ + valueContactPoint?: ContactPoint|undefined; + /** + * The value of the input parameter as a basic type. + */ + valueCount?: Count|undefined; + /** + * The value of the input parameter as a basic type. + */ + valueDistance?: Distance|undefined; + /** + * The value of the input parameter as a basic type. + */ + valueDuration?: Duration|undefined; + /** + * The value of the input parameter as a basic type. + */ + valueHumanName?: HumanName|undefined; + /** + * The value of the input parameter as a basic type. + */ + valueIdentifier?: Identifier|undefined; + /** + * The value of the input parameter as a basic type. + */ + valueMoney?: Money|undefined; + /** + * The value of the input parameter as a basic type. + */ + valuePeriod?: Period|undefined; + /** + * The value of the input parameter as a basic type. + */ + valueQuantity?: Quantity|undefined; + /** + * The value of the input parameter as a basic type. + */ + valueRange?: Range|undefined; + /** + * The value of the input parameter as a basic type. + */ + valueRatio?: Ratio|undefined; + /** + * The value of the input parameter as a basic type. + */ + valueReference?: Reference|undefined; + /** + * The value of the input parameter as a basic type. + */ + valueSampledData?: SampledData|undefined; + /** + * The value of the input parameter as a basic type. + */ + valueSignature?: Signature|undefined; + /** + * The value of the input parameter as a basic type. + */ + valueTiming?: Timing|undefined; + /** + * The value of the input parameter as a basic type. + */ + valueContactDetail?: ContactDetail|undefined; + /** + * The value of the input parameter as a basic type. + */ + valueContributor?: Contributor|undefined; + /** + * The value of the input parameter as a basic type. + */ + valueDataRequirement?: DataRequirement|undefined; + /** + * The value of the input parameter as a basic type. + */ + valueExpression?: Expression|undefined; + /** + * The value of the input parameter as a basic type. + */ + valueParameterDefinition?: ParameterDefinition|undefined; + /** + * The value of the input parameter as a basic type. + */ + valueRelatedArtifact?: RelatedArtifact|undefined; + /** + * The value of the input parameter as a basic type. + */ + valueTriggerDefinition?: TriggerDefinition|undefined; + /** + * The value of the input parameter as a basic type. + */ + valueUsageContext?: UsageContext|undefined; + /** + * The value of the input parameter as a basic type. + */ + valueDosage?: Dosage|undefined; + /** + * The value of the input parameter as a basic type. + */ + valueMeta?: Meta|undefined; +} +/** + * Outputs produced by the Task. + */ +export interface TaskOutput extends BackboneElement { + /** + * The name of the Output parameter. + */ + type: CodeableConcept; + /** + * The value of the Output parameter as a basic type. + */ + valueBase64Binary?: string|undefined; + _valueBase64Binary?: Element|undefined; + /** + * The value of the Output parameter as a basic type. + */ + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; + /** + * The value of the Output parameter as a basic type. + */ + valueCanonical?: string|undefined; + _valueCanonical?: Element|undefined; + /** + * The value of the Output parameter as a basic type. + */ + valueCode?: string|undefined; + _valueCode?: Element|undefined; + /** + * The value of the Output parameter as a basic type. + */ + valueDate?: string|undefined; + _valueDate?: Element|undefined; + /** + * The value of the Output parameter as a basic type. + */ + valueDateTime?: string|undefined; + _valueDateTime?: Element|undefined; + /** + * The value of the Output parameter as a basic type. + */ + valueDecimal?: number|undefined; + /** + * The value of the Output parameter as a basic type. + */ + valueId?: string|undefined; + _valueId?: Element|undefined; + /** + * The value of the Output parameter as a basic type. + */ + valueInstant?: string|undefined; + _valueInstant?: Element|undefined; + /** + * The value of the Output parameter as a basic type. + */ + valueInteger?: number|undefined; + /** + * The value of the Output parameter as a basic type. + */ + valueMarkdown?: string|undefined; + _valueMarkdown?: Element|undefined; + /** + * The value of the Output parameter as a basic type. + */ + valueOid?: string|undefined; + _valueOid?: Element|undefined; + /** + * The value of the Output parameter as a basic type. + */ + valuePositiveInt?: number|undefined; + /** + * The value of the Output parameter as a basic type. + */ + valueString?: string|undefined; + _valueString?: Element|undefined; + /** + * The value of the Output parameter as a basic type. + */ + valueTime?: string|undefined; + _valueTime?: Element|undefined; + /** + * The value of the Output parameter as a basic type. + */ + valueUnsignedInt?: number|undefined; + /** + * The value of the Output parameter as a basic type. + */ + valueUri?: string|undefined; + _valueUri?: Element|undefined; + /** + * The value of the Output parameter as a basic type. + */ + valueUrl?: string|undefined; + _valueUrl?: Element|undefined; + /** + * The value of the Output parameter as a basic type. + */ + valueUuid?: string|undefined; + _valueUuid?: Element|undefined; + /** + * The value of the Output parameter as a basic type. + */ + valueAddress?: Address|undefined; + /** + * The value of the Output parameter as a basic type. + */ + valueAge?: Age|undefined; + /** + * The value of the Output parameter as a basic type. + */ + valueAnnotation?: Annotation|undefined; + /** + * The value of the Output parameter as a basic type. + */ + valueAttachment?: Attachment|undefined; + /** + * The value of the Output parameter as a basic type. + */ + valueCodeableConcept?: CodeableConcept|undefined; + /** + * The value of the Output parameter as a basic type. + */ + valueCoding?: Coding|undefined; + /** + * The value of the Output parameter as a basic type. + */ + valueContactPoint?: ContactPoint|undefined; + /** + * The value of the Output parameter as a basic type. + */ + valueCount?: Count|undefined; + /** + * The value of the Output parameter as a basic type. + */ + valueDistance?: Distance|undefined; + /** + * The value of the Output parameter as a basic type. + */ + valueDuration?: Duration|undefined; + /** + * The value of the Output parameter as a basic type. + */ + valueHumanName?: HumanName|undefined; + /** + * The value of the Output parameter as a basic type. + */ + valueIdentifier?: Identifier|undefined; + /** + * The value of the Output parameter as a basic type. + */ + valueMoney?: Money|undefined; + /** + * The value of the Output parameter as a basic type. + */ + valuePeriod?: Period|undefined; + /** + * The value of the Output parameter as a basic type. + */ + valueQuantity?: Quantity|undefined; + /** + * The value of the Output parameter as a basic type. + */ + valueRange?: Range|undefined; + /** + * The value of the Output parameter as a basic type. + */ + valueRatio?: Ratio|undefined; + /** + * The value of the Output parameter as a basic type. + */ + valueReference?: Reference|undefined; + /** + * The value of the Output parameter as a basic type. + */ + valueSampledData?: SampledData|undefined; + /** + * The value of the Output parameter as a basic type. + */ + valueSignature?: Signature|undefined; + /** + * The value of the Output parameter as a basic type. + */ + valueTiming?: Timing|undefined; + /** + * The value of the Output parameter as a basic type. + */ + valueContactDetail?: ContactDetail|undefined; + /** + * The value of the Output parameter as a basic type. + */ + valueContributor?: Contributor|undefined; + /** + * The value of the Output parameter as a basic type. + */ + valueDataRequirement?: DataRequirement|undefined; + /** + * The value of the Output parameter as a basic type. + */ + valueExpression?: Expression|undefined; + /** + * The value of the Output parameter as a basic type. + */ + valueParameterDefinition?: ParameterDefinition|undefined; + /** + * The value of the Output parameter as a basic type. + */ + valueRelatedArtifact?: RelatedArtifact|undefined; + /** + * The value of the Output parameter as a basic type. + */ + valueTriggerDefinition?: TriggerDefinition|undefined; + /** + * The value of the Output parameter as a basic type. + */ + valueUsageContext?: UsageContext|undefined; + /** + * The value of the Output parameter as a basic type. + */ + valueDosage?: Dosage|undefined; + /** + * The value of the Output parameter as a basic type. + */ + valueMeta?: Meta|undefined; +} +/** + * A task to be performed. + */ +export interface Task extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'Task'; + /** + * The date and time this task was created. + */ + authoredOn?: string|undefined; + _authoredOn?: Element|undefined; + /** + * BasedOn refers to a higher-level authorization that triggered the creation of the task. It references a "request" resource such as a ServiceRequest, MedicationRequest, ServiceRequest, CarePlan, etc. which is distinct from the "request" resource the task is seeking to fulfill. This latter resource is referenced by FocusOn. For example, based on a ServiceRequest (= BasedOn), a task is created to fulfill a procedureRequest ( = FocusOn ) to collect a specimen from a patient. + */ + basedOn?: Reference[]|undefined; + /** + * Contains business-specific nuances of the business state. + */ + businessStatus?: CodeableConcept|undefined; + /** + * The title (eg "My Tasks", "Outstanding Tasks for Patient X") should go into the code. + */ + code?: CodeableConcept|undefined; + /** + * A free-text description of what is to be performed. + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * The healthcare event (e.g. a patient and healthcare provider interaction) during which this task was created. + */ + encounter?: Reference|undefined; + /** + * Identifies the time action was first taken against the task (start) and/or the time final action was taken against the task prior to marking it as completed (end). + */ + executionPeriod?: Period|undefined; + /** + * If multiple resources need to be manipulated, use sub-tasks. (This ensures that status can be tracked independently for each referenced resource.). + */ + focus?: Reference|undefined; + /** + * The entity who benefits from the performance of the service specified in the task (e.g., the patient). + */ + for?: Reference|undefined; + /** + * An identifier that links together multiple tasks and other requests that were created in the same context. + */ + groupIdentifier?: Identifier|undefined; + /** + * The business identifier for this task. + */ + identifier?: Identifier[]|undefined; + /** + * Additional information that may be needed in the execution of the task. + */ + input?: TaskInput[]|undefined; + /** + * The URL pointing to a *FHIR*-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this Task. + */ + instantiatesCanonical?: string|undefined; + _instantiatesCanonical?: Element|undefined; + /** + * The URL pointing to an *externally* maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this Task. + */ + instantiatesUri?: string|undefined; + _instantiatesUri?: Element|undefined; + /** + * Insurance plans, coverage extensions, pre-authorizations and/or pre-determinations that may be relevant to the Task. + */ + insurance?: Reference[]|undefined; + /** + * This element is immutable. Proposed tasks, planned tasks, etc. must be distinct instances. + * In most cases, Tasks will have an intent of "order". + */ + intent: ('unknown'|'proposal'|'plan'|'order'|'original-order'|'reflex-order'|'filler-order'|'instance-order'|'option'); + _intent?: Element|undefined; + /** + * The date and time of last modification to this task. + */ + lastModified?: string|undefined; + _lastModified?: Element|undefined; + /** + * Principal physical location where the this task is performed. + */ + location?: Reference|undefined; + /** + * Free-text information captured about the task as it progresses. + */ + note?: Annotation[]|undefined; + /** + * Outputs produced by the Task. + */ + output?: TaskOutput[]|undefined; + /** + * Tasks may be created with an owner not yet identified. + */ + owner?: Reference|undefined; + /** + * This should usually be 0..1. + */ + partOf?: Reference[]|undefined; + /** + * The kind of participant that should perform the task. + */ + performerType?: CodeableConcept[]|undefined; + /** + * Indicates how quickly the Task should be addressed with respect to other requests. + */ + priority?: ('routine'|'urgent'|'asap'|'stat')|undefined; + _priority?: Element|undefined; + /** + * This should only be included if there is no focus or if it differs from the reason indicated on the focus. + */ + reasonCode?: CodeableConcept|undefined; + /** + * Tasks might be justified based on an Observation, a Condition, a past or planned procedure, etc. This should only be included if there is no focus or if it differs from the reason indicated on the focus. Use the CodeableConcept text element in `Task.reasonCode` if the data is free (uncoded) text. + */ + reasonReference?: Reference|undefined; + /** + * This element does not point to the Provenance associated with the *current* version of the resource - as it would be created after this version existed. The Provenance for the current version can be retrieved with a _revinclude. + */ + relevantHistory?: Reference[]|undefined; + /** + * The creator of the task. + */ + requester?: Reference|undefined; + /** + * If the Task.focus is a request resource and the task is seeking fulfillment (i.e. is asking for the request to be actioned), this element identifies any limitations on what parts of the referenced request should be actioned. + */ + restriction?: TaskRestriction|undefined; + /** + * The current status of the task. + */ + status: ('draft'|'requested'|'received'|'accepted'|'rejected'|'ready'|'cancelled'|'in-progress'|'on-hold'|'failed'|'completed'|'entered-in-error'); + _status?: Element|undefined; + /** + * This applies to the current status. Look at the history of the task to see reasons for past statuses. + */ + statusReason?: CodeableConcept|undefined; +} +/** + * Software that is covered by this terminology capability statement. It is used when the statement describes the capabilities of a particular software version, independent of an installation. + */ +export interface TerminologyCapabilitiesSoftware extends BackboneElement { + /** + * Name the software is known by. + */ + name: string; + _name?: Element|undefined; + /** + * If possible, a version should be specified, as statements are likely to be different for different versions of software. + */ + version?: string|undefined; + _version?: Element|undefined; +} +/** + * Identifies a specific implementation instance that is described by the terminology capability statement - i.e. a particular installation, rather than the capabilities of a software program. + */ +export interface TerminologyCapabilitiesImplementation extends BackboneElement { + /** + * Information about the specific installation that this terminology capability statement relates to. + */ + description: string; + _description?: Element|undefined; + /** + * An absolute base URL for the implementation. + */ + url?: string|undefined; + _url?: Element|undefined; +} +/** + * Filter Properties supported. + */ +export interface TerminologyCapabilitiesCodeSystemVersionFilter extends BackboneElement { + /** + * Code of the property supported. + */ + code: string; + _code?: Element|undefined; + /** + * Operations supported for the property. + */ + op: string[]; + _op?: Element[]|undefined; +} +/** + * Language translations might not be available for all codes. + */ +export interface TerminologyCapabilitiesCodeSystemVersion extends BackboneElement { + /** + * For version-less code systems, there should be a single version with no identifier. + */ + code?: string|undefined; + _code?: Element|undefined; + /** + * If the compositional grammar defined by the code system is supported. + */ + compositional?: boolean|undefined; + _compositional?: Element|undefined; + /** + * Filter Properties supported. + */ + filter?: TerminologyCapabilitiesCodeSystemVersionFilter[]|undefined; + /** + * If this is the default version for this code system. + */ + isDefault?: boolean|undefined; + _isDefault?: Element|undefined; + /** + * Language Displays supported. + */ + language?: string[]|undefined; + _language?: Element[]|undefined; + /** + * Properties supported for $lookup. + */ + property?: string[]|undefined; + _property?: Element[]|undefined; +} +/** + * The code system - identified by its system URL - may also be declared explicitly as a Code System Resource at /CodeSystem, but it might not be. + */ +export interface TerminologyCapabilitiesCodeSystem extends BackboneElement { + /** + * True if subsumption is supported for this version of the code system. + */ + subsumption?: boolean|undefined; + _subsumption?: Element|undefined; + /** + * URI for the Code System. + */ + uri?: string|undefined; + _uri?: Element|undefined; + /** + * Language translations might not be available for all codes. + */ + version?: TerminologyCapabilitiesCodeSystemVersion[]|undefined; +} +/** + * Supported expansion parameter. + */ +export interface TerminologyCapabilitiesExpansionParameter extends BackboneElement { + /** + * Description of support for parameter. + */ + documentation?: string|undefined; + _documentation?: Element|undefined; + /** + * Expansion Parameter name. + */ + name: string; + _name?: Element|undefined; +} +/** + * Information about the [ValueSet/$expand](valueset-operation-expand.html) operation. + */ +export interface TerminologyCapabilitiesExpansion extends BackboneElement { + /** + * Whether the server can return nested value sets. + */ + hierarchical?: boolean|undefined; + _hierarchical?: Element|undefined; + /** + * Allow request for incomplete expansions? + */ + incomplete?: boolean|undefined; + _incomplete?: Element|undefined; + /** + * Whether the server supports paging on expansion. + */ + paging?: boolean|undefined; + _paging?: Element|undefined; + /** + * Supported expansion parameter. + */ + parameter?: TerminologyCapabilitiesExpansionParameter[]|undefined; + /** + * This documentation should cover things like case sensitivity, use of punctuation if not ignored, what wild cards are supported (if any), whether text is starts with or contains, and whether word order matters. + */ + textFilter?: string|undefined; + _textFilter?: Element|undefined; +} +/** + * Information about the [ValueSet/$validate-code](valueset-operation-validate-code.html) operation. + */ +export interface TerminologyCapabilitiesValidateCode extends BackboneElement { + /** + * Whether translations are validated. + */ + translations: boolean; + _translations?: Element|undefined; +} +/** + * Information about the [ConceptMap/$translate](conceptmap-operation-translate.html) operation. + */ +export interface TerminologyCapabilitiesTranslation extends BackboneElement { + /** + * Whether the client must identify the map. + */ + needsMap: boolean; + _needsMap?: Element|undefined; +} +/** + * Whether the $closure operation is supported. + */ +export interface TerminologyCapabilitiesClosure extends BackboneElement { + /** + * If cross-system closure is supported. + */ + translation?: boolean|undefined; + _translation?: Element|undefined; +} +/** + * A TerminologyCapabilities resource documents a set of capabilities (behaviors) of a FHIR Terminology Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation. + */ +export interface TerminologyCapabilities extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'TerminologyCapabilities'; + /** + * Whether the $closure operation is supported. + */ + closure?: TerminologyCapabilitiesClosure|undefined; + /** + * See notes on the [ValueSet](valueset.html#) resource. + */ + codeSearch?: ('explicit'|'all')|undefined; + _codeSearch?: Element|undefined; + /** + * The code system - identified by its system URL - may also be declared explicitly as a Code System Resource at /CodeSystem, but it might not be. + */ + codeSystem?: TerminologyCapabilitiesCodeSystem[]|undefined; + /** + * May be a web site, an email address, a telephone number, etc. + */ + contact?: ContactDetail[]|undefined; + /** + * A copyright statement relating to the terminology capabilities and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the terminology capabilities. + */ + copyright?: string|undefined; + _copyright?: Element|undefined; + /** + * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the terminology capabilities. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. + */ + date: string; + _date?: Element|undefined; + /** + * This description can be used to capture details such as why the terminology capabilities was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the terminology capabilities as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the terminology capabilities is presumed to be the predominant language in the place the terminology capabilities was created).This does not need to be populated if the description is adequately implied by the software or implementation details. + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * Information about the [ValueSet/$expand](valueset-operation-expand.html) operation. + */ + expansion?: TerminologyCapabilitiesExpansion|undefined; + /** + * Allows filtering of terminology capabilitiess that are appropriate for use versus not. + */ + experimental?: boolean|undefined; + _experimental?: Element|undefined; + /** + * Identifies a specific implementation instance that is described by the terminology capability statement - i.e. a particular installation, rather than the capabilities of a software program. + */ + implementation?: TerminologyCapabilitiesImplementation|undefined; + /** + * It may be possible for the terminology capabilities to be used in jurisdictions other than those for which it was originally designed or intended. + */ + jurisdiction?: CodeableConcept[]|undefined; + /** + * The way that this statement is intended to be used, to describe an actual running instance of software, a particular product (kind, not instance of software) or a class of implementation (e.g. a desired purchase). + */ + kind: ('instance'|'capability'|'requirements'); + _kind?: Element|undefined; + /** + * Whether the server supports lockedDate. + */ + lockedDate?: boolean|undefined; + _lockedDate?: Element|undefined; + /** + * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. + */ + name?: string|undefined; + _name?: Element|undefined; + /** + * Usually an organization but may be an individual. The publisher (or steward) of the terminology capabilities is the organization or individual primarily responsible for the maintenance and upkeep of the terminology capabilities. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the terminology capabilities. This item SHOULD be populated unless the information is available from context. + */ + publisher?: string|undefined; + _publisher?: Element|undefined; + /** + * This element does not describe the usage of the terminology capabilities. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this terminology capabilities. + */ + purpose?: string|undefined; + _purpose?: Element|undefined; + /** + * Software that is covered by this terminology capability statement. It is used when the statement describes the capabilities of a particular software version, independent of an installation. + */ + software?: TerminologyCapabilitiesSoftware|undefined; + /** + * Allows filtering of terminology capabilitiess that are appropriate for use versus not.This is not intended for use with actual capability statements, but where capability statements are used to describe possible or desired systems. + */ + status: ('draft'|'active'|'retired'|'unknown'); + _status?: Element|undefined; + /** + * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. + */ + title?: string|undefined; + _title?: Element|undefined; + /** + * Information about the [ConceptMap/$translate](conceptmap-operation-translate.html) operation. + */ + translation?: TerminologyCapabilitiesTranslation|undefined; + /** + * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. + * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). + * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. + */ + url?: string|undefined; + _url?: Element|undefined; + /** + * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. + */ + useContext?: UsageContext[]|undefined; + /** + * Information about the [ValueSet/$validate-code](valueset-operation-validate-code.html) operation. + */ + validateCode?: TerminologyCapabilitiesValidateCode|undefined; + /** + * There may be different terminology capabilities instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the terminology capabilities with the format [url]|[version]. + */ + version?: string|undefined; + _version?: Element|undefined; +} +/** + * A participant in the test execution, either the execution engine, a client, or a server. + */ +export interface TestReportParticipant extends BackboneElement { + /** + * The display name of the participant. + */ + display?: string|undefined; + _display?: Element|undefined; + /** + * The type of participant. + */ + type: ('test-engine'|'client'|'server'); + _type?: Element|undefined; + /** + * The uri of the participant. An absolute URL is preferred. + */ + uri: string; + _uri?: Element|undefined; +} +/** + * The operation performed. + */ +export interface TestReportSetupActionOperation extends BackboneElement { + /** + * A link to further details on the result. + */ + detail?: string|undefined; + _detail?: Element|undefined; + /** + * An explanatory message associated with the result. + */ + message?: string|undefined; + _message?: Element|undefined; + /** + * The result of this operation. + */ + result: ('pass'|'skip'|'fail'|'warning'|'error'); + _result?: Element|undefined; +} +/** + * The results of the assertion performed on the previous operations. + */ +export interface TestReportSetupActionAssert extends BackboneElement { + /** + * A link to further details on the result. + */ + detail?: string|undefined; + _detail?: Element|undefined; + /** + * An explanatory message associated with the result. + */ + message?: string|undefined; + _message?: Element|undefined; + /** + * The result of this assertion. + */ + result: ('pass'|'skip'|'fail'|'warning'|'error'); + _result?: Element|undefined; +} +/** + * An action should contain either an operation or an assertion but not both. It can contain any number of variables. + */ +export interface TestReportSetupAction extends BackboneElement { + /** + * The results of the assertion performed on the previous operations. + */ + assert?: TestReportSetupActionAssert|undefined; + /** + * The operation performed. + */ + operation?: TestReportSetupActionOperation|undefined; +} +/** + * The results of the series of required setup operations before the tests were executed. + */ +export interface TestReportSetup extends BackboneElement { + /** + * An action should contain either an operation or an assertion but not both. It can contain any number of variables. + */ + action: TestReportSetupAction[]; +} +/** + * An action should contain either an operation or an assertion but not both. It can contain any number of variables. + */ +export interface TestReportTestAction extends BackboneElement { + /** + * The results of the assertion performed on the previous operations. + */ + assert?: TestReportSetupActionAssert|undefined; + /** + * An operation would involve a REST request to a server. + */ + operation?: TestReportSetupActionOperation|undefined; +} +/** + * A test executed from the test script. + */ +export interface TestReportTest extends BackboneElement { + /** + * An action should contain either an operation or an assertion but not both. It can contain any number of variables. + */ + action: TestReportTestAction[]; + /** + * A short description of the test used by test engines for tracking and reporting purposes. + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * The name of this test used for tracking/logging purposes by test engines. + */ + name?: string|undefined; + _name?: Element|undefined; +} +/** + * An action should contain either an operation or an assertion but not both. It can contain any number of variables. + */ +export interface TestReportTeardownAction extends BackboneElement { + /** + * An operation would involve a REST request to a server. + */ + operation: TestReportSetupActionOperation; +} +/** + * The results of the series of operations required to clean up after all the tests were executed (successfully or otherwise). + */ +export interface TestReportTeardown extends BackboneElement { + /** + * An action should contain either an operation or an assertion but not both. It can contain any number of variables. + */ + action: TestReportTeardownAction[]; +} +/** + * A summary of information based on the results of executing a TestScript. + */ +export interface TestReport extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'TestReport'; + /** + * Identifier for the TestScript assigned for external purposes outside the context of FHIR. + */ + identifier?: Identifier|undefined; + /** + * Additional specific dates may be added as extensions. + */ + issued?: string|undefined; + _issued?: Element|undefined; + /** + * Not expected to be globally unique. + */ + name?: string|undefined; + _name?: Element|undefined; + /** + * A participant in the test execution, either the execution engine, a client, or a server. + */ + participant?: TestReportParticipant[]|undefined; + /** + * The pass and fail result represents a completed test script execution. The pending result represents a test script execution that has not yet started or is currently in progress. + */ + result: ('pass'|'fail'|'pending'); + _result?: Element|undefined; + /** + * The final score (percentage of tests passed) resulting from the execution of the TestScript. + */ + score?: number|undefined; + /** + * The results of the series of required setup operations before the tests were executed. + */ + setup?: TestReportSetup|undefined; + /** + * The status represents where the execution is currently within the test script execution life cycle. + * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. + */ + status: ('completed'|'in-progress'|'waiting'|'stopped'|'entered-in-error'); + _status?: Element|undefined; + /** + * The results of the series of operations required to clean up after all the tests were executed (successfully or otherwise). + */ + teardown?: TestReportTeardown|undefined; + /** + * A test executed from the test script. + */ + test?: TestReportTest[]|undefined; + /** + * Usually an organization, but may be an individual. This item SHOULD be populated unless the information is available from context. + */ + tester?: string|undefined; + _tester?: Element|undefined; + /** + * Ideally this is an absolute URL that is used to identify the version-specific TestScript that was executed, matching the `TestScript.url`. + */ + testScript: Reference; +} +/** + * The purpose of this element is to define the profile of an origin element used elsewhere in the script. Test engines could then use the origin-profile mapping to offer a filtered list of test systems that can serve as the sender for the interaction. + */ +export interface TestScriptOrigin extends BackboneElement { + /** + * A given origin index (e.g. 1) can appear only once in the list (e.g. Origin 1 cannot be specified twice ... once as FormFiller and again as FormProcessor within the same script as that could get confusing during test configuration). + * Different origin indices could play the same actor in the same test script (e.g. You could have two different test systems acting as Form-Filler). + * The origin indices provided elsewhere in the test script must be one of these origin indices. + */ + index: number; + /** + * Must be a "sender"/"client" profile. + */ + profile: Coding; +} +/** + * The purpose of this element is to define the profile of a destination element used elsewhere in the script. Test engines could then use the destination-profile mapping to offer a filtered list of test systems that can serve as the receiver for the interaction. + */ +export interface TestScriptDestination extends BackboneElement { + /** + * A given destination index (e.g. 1) can appear only once in the list (e.g. Destination 1 cannot be specified twice ... once as Form-Manager and again as Form-Processor within the same script as that could get confusing during test configuration). + * Different destination indices could play the same actor in the same test script (e.g. You could have two different test systems acting as Form-Manager). + * The destination indices provided elsewhere in the test script must be one of these destination indices. + */ + index: number; + /** + * Must be a "receiver"/"server" profile. + */ + profile: Coding; +} +/** + * A link to the FHIR specification that this test is covering. + */ +export interface TestScriptMetadataLink extends BackboneElement { + /** + * Short description of the link. + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * URL to a particular requirement or feature within the FHIR specification. + */ + url: string; + _url?: Element|undefined; +} +/** + * When the metadata capabilities section is defined at TestScript.metadata or at TestScript.setup.metadata, and the server's conformance statement does not contain the elements defined in the minimal conformance statement, then all the tests in the TestScript are skipped. When the metadata capabilities section is defined at TestScript.test.metadata and the server's conformance statement does not contain the elements defined in the minimal conformance statement, then only that test is skipped. The "metadata.capabilities.required" and "metadata.capabilities.validated" elements only indicate whether the capabilities are the primary focus of the test script or not. They do not impact the skipping logic. Capabilities whose "metadata.capabilities.validated" flag is true are the primary focus of the test script. + */ +export interface TestScriptMetadataCapability extends BackboneElement { + /** + * The conformance statement of the server has to contain at a minimum the contents of the reference pointed to by this element. + */ + capabilities: string; + _capabilities?: Element|undefined; + /** + * Description of the capabilities that this test script is requiring the server to support. + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * Which server these requirements apply to. + */ + destination?: number|undefined; + /** + * Links to the FHIR specification that describes this interaction and the resources involved in more detail. + */ + link?: string[]|undefined; + _link?: Element[]|undefined; + /** + * Which origin server these requirements apply to. + */ + origin?: number[]|undefined; + /** + * Whether or not the test execution will require the given capabilities of the server in order for this test script to execute. + */ + required: boolean; + _required?: Element|undefined; + /** + * Whether or not the test execution will validate the given capabilities of the server in order for this test script to execute. + */ + validated: boolean; + _validated?: Element|undefined; +} +/** + * The required capability must exist and are assumed to function correctly on the FHIR server being tested. + */ +export interface TestScriptMetadata extends BackboneElement { + /** + * When the metadata capabilities section is defined at TestScript.metadata or at TestScript.setup.metadata, and the server's conformance statement does not contain the elements defined in the minimal conformance statement, then all the tests in the TestScript are skipped. When the metadata capabilities section is defined at TestScript.test.metadata and the server's conformance statement does not contain the elements defined in the minimal conformance statement, then only that test is skipped. The "metadata.capabilities.required" and "metadata.capabilities.validated" elements only indicate whether the capabilities are the primary focus of the test script or not. They do not impact the skipping logic. Capabilities whose "metadata.capabilities.validated" flag is true are the primary focus of the test script. + */ + capability: TestScriptMetadataCapability[]; + /** + * A link to the FHIR specification that this test is covering. + */ + link?: TestScriptMetadataLink[]|undefined; +} +/** + * Fixture in the test script - by reference (uri). All fixtures are required for the test script to execute. + */ +export interface TestScriptFixture extends BackboneElement { + /** + * Whether or not to implicitly create the fixture during setup. If true, the fixture is automatically created on each server being tested during setup, therefore no create operation is required for this fixture in the TestScript.setup section. + */ + autocreate: boolean; + _autocreate?: Element|undefined; + /** + * Whether or not to implicitly delete the fixture during teardown. If true, the fixture is automatically deleted on each server being tested during teardown, therefore no delete operation is required for this fixture in the TestScript.teardown section. + */ + autodelete: boolean; + _autodelete?: Element|undefined; + /** + * See http://build.fhir.org/resourcelist.html for complete list of resource types. + */ + resource?: Reference|undefined; +} +/** + * Variables would be set based either on XPath/JSONPath expressions against fixtures (static and response), or headerField evaluations against response headers. If variable evaluates to nodelist or anything other than a primitive value, then test engine would report an error. Variables would be used to perform clean replacements in "operation.params", "operation.requestHeader.value", and "operation.url" element values during operation calls and in "assert.value" during assertion evaluations. This limits the places that test engines would need to look for placeholders "${}". Variables are scoped to the whole script. They are NOT evaluated at declaration. They are evaluated by test engine when used for substitutions in "operation.params", "operation.requestHeader.value", and "operation.url" element values during operation calls and in "assert.value" during assertion evaluations. See example testscript-search.xml. + */ +export interface TestScriptVariable extends BackboneElement { + /** + * The purpose of this element is to allow for a pre-defined value that can be used as a default or as an override value. Test engines can optionally use this as a placeholder for user-defined execution time values. + */ + defaultValue?: string|undefined; + _defaultValue?: Element|undefined; + /** + * A free text natural language description of the variable and its purpose. + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * If headerField is defined, then the variable will be evaluated against the headers that sourceId is pointing to. If expression or path is defined, then the variable will be evaluated against the fixture body that sourceId is pointing to. It is an error to define any combination of expression, headerField and path. + */ + expression?: string|undefined; + _expression?: Element|undefined; + /** + * If headerField is defined, then the variable will be evaluated against the headers that sourceId is pointing to. If path is defined, then the variable will be evaluated against the fixture body that sourceId is pointing to. It is an error to define both headerField and path. + */ + headerField?: string|undefined; + _headerField?: Element|undefined; + /** + * Displayable text string with hint help information to the user when entering a default value. + */ + hint?: string|undefined; + _hint?: Element|undefined; + /** + * Placeholders would contain the variable name wrapped in ${} in "operation.params", "operation.requestHeader.value", and "operation.url" elements. These placeholders would need to be replaced by the variable value before the operation is executed. + */ + name: string; + _name?: Element|undefined; + /** + * If headerField is defined, then the variable will be evaluated against the headers that sourceId is pointing to. If expression or path is defined, then the variable will be evaluated against the fixture body that sourceId is pointing to. It is an error to define any combination of expression, headerField and path. + */ + path?: string|undefined; + _path?: Element|undefined; + /** + * This can be a statically defined fixture (at the top of the TestScript) or a dynamically set fixture created by responseId of the `action.operation` element. + */ + sourceId?: string|undefined; + _sourceId?: Element|undefined; +} +/** + * This gives control to test-script writers to set headers explicitly based on test requirements. It will allow for testing using: - "If-Modified-Since" and "If-None-Match" headers. See http://build.fhir.org/http.html#2.1.0.5.1 - "If-Match" header. See http://build.fhir.org/http.html#2.1.0.11 - Conditional Create using "If-None-Exist". See http://build.fhir.org/http.html#2.1.0.13.1 - Invalid "Content-Type" header for negative testing. - etc. + */ +export interface TestScriptSetupActionOperationRequestHeader extends BackboneElement { + /** + * If header element is specified, then field is required. + */ + field: string; + _field?: Element|undefined; + /** + * If header element is specified, then value is required. No conversions will be done by the test engine e.g. "xml" to "application/fhir+xml". The values will be set in HTTP headers "as-is". Test engines do have to look for placeholders (${}) and replace the variable placeholders with the variable values at runtime before sending the request. + */ + value: string; + _value?: Element|undefined; +} +/** + * The operation to perform. + */ +export interface TestScriptSetupActionOperation extends BackboneElement { + /** + * If this is specified, then test engine shall set the 'Accept' header to the corresponding value. If you'd like to explicitly set the 'Accept' to some other value then use the 'requestHeader' element. + */ + accept?: string|undefined; + _accept?: Element|undefined; + /** + * If this is specified, then test engine shall set the 'Content-Type' header to the corresponding value. If you'd like to explicitly set the 'Content-Type' to some other value then use the 'requestHeader' element. + */ + contentType?: string|undefined; + _contentType?: Element|undefined; + /** + * This has no impact on the verification itself. + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * If multiple TestScript.destination elements are defined and operation.destination is undefined, test engine will report an error as it cannot determine what destination to use for the exchange. + */ + destination?: number|undefined; + /** + * Whether or not to implicitly send the request url in encoded format. The default is true to match the standard RESTful client behavior. Set to false when communicating with a server that does not support encoded url paths. + */ + encodeRequestUrl: boolean; + _encodeRequestUrl?: Element|undefined; + /** + * This has no impact on the verification itself. + */ + label?: string|undefined; + _label?: Element|undefined; + /** + * The primary purpose of the explicit HTTP method is support of HTTP POST method invocation of the FHIR search. Other uses will include support of negative testing. + */ + method?: ('delete'|'get'|'options'|'patch'|'post'|'put'|'head')|undefined; + _method?: Element|undefined; + /** + * If absent, test engine will send the message. When present, test engine will not send the request message but will wait for the request message to be sent from this origin server. + */ + origin?: number|undefined; + /** + * If "url" element is specified, then "targetId", "params", and "resource" elements will be ignored as "url" element will have everything needed for constructing the request url. If "params" element is specified, then "targetId" element is ignored. For FHIR operations that require a resource (e.g. "read" and "vread" operations), the "resource" element must be specified when "params" element is specified. If "url" and "params" elements are absent, then the request url will be constructed from "targetId" fixture if present. For "read" operation, the resource and id values will be extracted from "targetId" fixture and used to construct the url. For "vread" and "history" operations, the versionId value will also be used. Test engines would append whatever is specified for "params" to the URL after the resource type without tampering with the string (beyond encoding the URL for HTTP). The "params" element does not correspond exactly to "search parameters". Nor is it the "path". It corresponds to the part of the URL that comes after the [type] (when "resource" element is specified); e.g. It corresponds to "/[id]/_history/[vid] {?_format=[mime-type]}" in the following operation: GET [base]/[type]/[id]/_history/[vid] {?_format=[mime-type]} Test engines do have to look for placeholders (${}) and replace the variable placeholders with the variable values at runtime before sending the request. + */ + params?: string|undefined; + _params?: Element|undefined; + /** + * This gives control to test-script writers to set headers explicitly based on test requirements. It will allow for testing using: - "If-Modified-Since" and "If-None-Match" headers. See http://build.fhir.org/http.html#2.1.0.5.1 - "If-Match" header. See http://build.fhir.org/http.html#2.1.0.11 - Conditional Create using "If-None-Exist". See http://build.fhir.org/http.html#2.1.0.13.1 - Invalid "Content-Type" header for negative testing. - etc. + */ + requestHeader?: TestScriptSetupActionOperationRequestHeader[]|undefined; + /** + * If a requestId is supplied, then the resulting request (both headers and body) is mapped to the fixture ID (which may be entirely new and previously undeclared) designated by "requestId". If requestId is not specified, it is the test engine's responsibility to store the request and use it as the requestId in subsequent assertions when assertion path and/or headerField is specified, direction is equal to request, and the requestId in not specified. + */ + requestId?: string|undefined; + _requestId?: Element|undefined; + /** + * If "url" element is specified, then "targetId", "params", and "resource" elements will be ignored as "url" element will have everything needed for constructing the request url. If "params" element is specified, then "targetId" element is ignored. For FHIR operations that require a resource (e.g. "read" and "vread" operations), the "resource" element must be specified when "params" element is specified. If "url" and "params" elements are absent, then the request url will be constructed from "targetId" fixture if present. For "read" operation, the resource and id values will be extracted from "targetId" fixture and used to construct the url. For "vread" and "history" operations, the versionId value will also be used. + */ + resource?: string|undefined; + _resource?: Element|undefined; + /** + * If a responseId is supplied, and the server responds, then the resulting response (both headers and body) is mapped to the fixture ID (which may be entirely new and previously undeclared) designated by "responseId". If responseId is not specified, it is the test engine's responsibility to store the response and use it as the responseId in subsequent assertions when assertion path and/or headerField is specified and the responseId is not specified. + */ + responseId?: string|undefined; + _responseId?: Element|undefined; + /** + * The id of the fixture used as the body of a PUT or POST request. + */ + sourceId?: string|undefined; + _sourceId?: Element|undefined; + /** + * If "url" element is specified, then "targetId", "params", and "resource" elements will be ignored as "url" element will have everything needed for constructing the request url. If "params" element is specified, then "targetId" element is ignored. For FHIR operations that require a resource (e.g. "read" and "vread" operations), the "resource" element must be specified when "params" element is specified. If "url" and "params" elements are absent, then the request url will be constructed from "targetId" fixture if present. For "read" operation, the resource and id values will be extracted from "targetId" fixture and used to construct the url. For "vread" and "history" operations, the versionId value will also be used. + */ + targetId?: string|undefined; + _targetId?: Element|undefined; + /** + * See http://build.fhir.org/http.html for list of server interactions. + */ + type?: Coding|undefined; + /** + * Used to set the request URL explicitly. If "url" element is defined, then "targetId", "resource", and "params" elements will be ignored. Test engines would use whatever is specified in "url" without tampering with the string (beyond encoding the URL for HTTP). Test engines do have to look for placeholders (${}) and replace the variable placeholders with the variable values at runtime before sending the request. + */ + url?: string|undefined; + _url?: Element|undefined; +} +/** + * In order to evaluate an assertion, the request, response, and results of the most recently executed operation must always be maintained by the test engine. + */ +export interface TestScriptSetupActionAssert extends BackboneElement { + /** + * Thefhirpath expression to be evaluated against the expected fixture to compare to. Ignored if "assert.value" is used. The evaluation will be done before the assertion is evaluated. + */ + compareToSourceExpression?: string|undefined; + _compareToSourceExpression?: Element|undefined; + /** + * Id of the source fixture used as the contents to be evaluated by either the "source/expression" or "sourceId/path" definition. + */ + compareToSourceId?: string|undefined; + _compareToSourceId?: Element|undefined; + /** + * The XPath or JSONPath expression to be evaluated against the expected fixture to compare to. Ignored if "assert.value" is used. The evaluation will be done before the assertion is evaluated. + */ + compareToSourcePath?: string|undefined; + _compareToSourcePath?: Element|undefined; + /** + * If this is specified, then test engine shall confirm that the content-type of the last operation's headers is set to this value. If "assert.sourceId" element is specified, then the evaluation will be done against the headers mapped to that sourceId (and not the last operation's headers). If you'd like to have more control over the string, then use 'assert.headerField' instead. + */ + contentType?: string|undefined; + _contentType?: Element|undefined; + /** + * This has no impact on the verification itself. + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * If the direction is specified as "response" (the default), then the processing of this assert is against the received response message. If the direction is specified as "request", then the processing of this assert is against the sent request message. + */ + direction?: ('response'|'request')|undefined; + _direction?: Element|undefined; + /** + * If both "expression" and a "fixtureId" are specified, then the expression will be evaluated against the request or response body mapped to the fixtureId. If "expression" is specified and a "fixtureId" is not, then the expression will be evaluated against the response body of the last operation. Test engines are to store the request and response body and headers of the last operation at all times for subsequent assertions. + */ + expression?: string|undefined; + _expression?: Element|undefined; + /** + * If "headerField" is specified then "value" must be specified. If "sourceId" is not specified, then "headerField" will be evaluated against the last operation's response headers. Test engines are to keep track of the last operation's response body and response headers. + */ + headerField?: string|undefined; + _headerField?: Element|undefined; + /** + * This has no impact on the verification itself. + */ + label?: string|undefined; + _label?: Element|undefined; + /** + * Asserts that the response contains all the element/content in another fixture pointed to by minimumId. This can be a statically defined fixture or one that is dynamically set via responseId. + */ + minimumId?: string|undefined; + _minimumId?: Element|undefined; + /** + * Asserts that the Bundle contains first, last, and next links. + */ + navigationLinks?: boolean|undefined; + _navigationLinks?: Element|undefined; + /** + * Operators are useful especially for negative testing. If operator is not specified, then the "equals" operator is assumed; e.g. ``` ```. + */ + operator?: ('equals'|'notEquals'|'in'|'notIn'|'greaterThan'|'lessThan'|'empty'|'notEmpty'|'contains'|'notContains'|'eval')|undefined; + _operator?: Element|undefined; + /** + * If both "path" and a "fixtureId" are specified, then the path will be evaluated against the request or response body mapped to the fixtureId. If "path" is specified and a "fixtureId" is not, then the path will be evaluated against the response body of the last operation. Test engines are to store the request and response body and headers of the last operation at all times for subsequent assertions. + */ + path?: string|undefined; + _path?: Element|undefined; + /** + * If "requestMethod" is specified then it will be used in place of "value". The "requestMethod" will evaluate against the last operation's request HTTP operation. + */ + requestMethod?: ('delete'|'get'|'options'|'patch'|'post'|'put'|'head')|undefined; + _requestMethod?: Element|undefined; + /** + * If "requestURL" is specified then it will be used in place of "value". The "requestURL" will evaluate against the last operation's full request URL path string. + */ + requestURL?: string|undefined; + _requestURL?: Element|undefined; + /** + * This will be expected resource type in response body e.g. in read, vread, search, etc. See http://build.fhir.org/resourcelist.html for complete list of resource types; e.g. . + */ + resource?: string|undefined; + _resource?: Element|undefined; + /** + * This is a shorter way of achieving similar verifications via "assert.responseCode". If you need more control, then use "assert.responseCode" e.g. . + */ + response?: ('okay'|'created'|'noContent'|'notModified'|'bad'|'forbidden'|'notFound'|'methodNotAllowed'|'conflict'|'gone'|'preconditionFailed'|'unprocessable')|undefined; + _response?: Element|undefined; + /** + * To be used with "operator" attribute value. Asserts that the response code equals this value if "operator" is not specified. If the operator is "in" or "notIn" then the responseCode would be a comma-separated list of values e.g. "200,201". Otherwise, it's expected to be a numeric value. If "fixture" is not specified, then the "responseBodyId" value of the last operation is assumed. + */ + responseCode?: string|undefined; + _responseCode?: Element|undefined; + /** + * This can be a statically defined fixture (at the top of the testscript) or a dynamically set fixture created by responseId of the action.operation element. + */ + sourceId?: string|undefined; + _sourceId?: Element|undefined; + /** + * The ID of a Profile fixture. Asserts that the response is valid according to the Profile specified by validateProfileId. + */ + validateProfileId?: string|undefined; + _validateProfileId?: Element|undefined; + /** + * The string-representation of a number, string, or boolean that is expected. Test engines do have to look for placeholders (${}) and replace the variable placeholders with the variable values at runtime before comparing this value to the actual value. + */ + value?: string|undefined; + _value?: Element|undefined; + /** + * If this element is specified and it is true, then assertion failures can be logged by test engine but should not stop the test script execution from proceeding. There are likely cases where the spec is not clear on what should happen. If the spec says something is optional (maybe a response header for example), but a server doesn’t do it, we could choose to issue a warning. + */ + warningOnly: boolean; + _warningOnly?: Element|undefined; +} +/** + * An action should contain either an operation or an assertion but not both. It can contain any number of variables. + */ +export interface TestScriptSetupAction extends BackboneElement { + /** + * In order to evaluate an assertion, the request, response, and results of the most recently executed operation must always be maintained by the test engine. + */ + assert?: TestScriptSetupActionAssert|undefined; + /** + * The operation to perform. + */ + operation?: TestScriptSetupActionOperation|undefined; +} +/** + * A series of required setup operations before tests are executed. + */ +export interface TestScriptSetup extends BackboneElement { + /** + * An action should contain either an operation or an assertion but not both. It can contain any number of variables. + */ + action: TestScriptSetupAction[]; +} +/** + * An action should contain either an operation or an assertion but not both. It can contain any number of variables. + */ +export interface TestScriptTestAction extends BackboneElement { + /** + * In order to evaluate an assertion, the request, response, and results of the most recently executed operation must always be maintained by the test engine. + */ + assert?: TestScriptSetupActionAssert|undefined; + /** + * An operation would involve a REST request to a server. + */ + operation?: TestScriptSetupActionOperation|undefined; +} +/** + * A test in this script. + */ +export interface TestScriptTest extends BackboneElement { + /** + * An action should contain either an operation or an assertion but not both. It can contain any number of variables. + */ + action: TestScriptTestAction[]; + /** + * A short description of the test used by test engines for tracking and reporting purposes. + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * The name of this test used for tracking/logging purposes by test engines. + */ + name?: string|undefined; + _name?: Element|undefined; +} +/** + * An action should contain either an operation or an assertion but not both. It can contain any number of variables. + */ +export interface TestScriptTeardownAction extends BackboneElement { + /** + * An operation would involve a REST request to a server. + */ + operation: TestScriptSetupActionOperation; +} +/** + * A series of operations required to clean up after all the tests are executed (successfully or otherwise). + */ +export interface TestScriptTeardown extends BackboneElement { + /** + * An action should contain either an operation or an assertion but not both. It can contain any number of variables. + */ + action: TestScriptTeardownAction[]; +} +/** + * A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification. + */ +export interface TestScript extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'TestScript'; + /** + * May be a web site, an email address, a telephone number, etc. + */ + contact?: ContactDetail[]|undefined; + /** + * A copyright statement relating to the test script and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the test script. + */ + copyright?: string|undefined; + _copyright?: Element|undefined; + /** + * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the test script. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. + */ + date?: string|undefined; + _date?: Element|undefined; + /** + * This description can be used to capture details such as why the test script was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the test script as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the test script is presumed to be the predominant language in the place the test script was created). + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * The purpose of this element is to define the profile of a destination element used elsewhere in the script. Test engines could then use the destination-profile mapping to offer a filtered list of test systems that can serve as the receiver for the interaction. + */ + destination?: TestScriptDestination[]|undefined; + /** + * Allows filtering of test scripts that are appropriate for use versus not. + */ + experimental?: boolean|undefined; + _experimental?: Element|undefined; + /** + * Fixture in the test script - by reference (uri). All fixtures are required for the test script to execute. + */ + fixture?: TestScriptFixture[]|undefined; + /** + * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this test script outside of FHIR, where it is not possible to use the logical URI. + */ + identifier?: Identifier|undefined; + /** + * It may be possible for the test script to be used in jurisdictions other than those for which it was originally designed or intended. + */ + jurisdiction?: CodeableConcept[]|undefined; + /** + * The required capability must exist and are assumed to function correctly on the FHIR server being tested. + */ + metadata?: TestScriptMetadata|undefined; + /** + * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. + */ + name: string; + _name?: Element|undefined; + /** + * The purpose of this element is to define the profile of an origin element used elsewhere in the script. Test engines could then use the origin-profile mapping to offer a filtered list of test systems that can serve as the sender for the interaction. + */ + origin?: TestScriptOrigin[]|undefined; + /** + * See http://build.fhir.org/resourcelist.html for complete list of resource types. + */ + profile?: Reference[]|undefined; + /** + * Usually an organization but may be an individual. The publisher (or steward) of the test script is the organization or individual primarily responsible for the maintenance and upkeep of the test script. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the test script. This item SHOULD be populated unless the information is available from context. + */ + publisher?: string|undefined; + _publisher?: Element|undefined; + /** + * This element does not describe the usage of the test script. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this test script. + */ + purpose?: string|undefined; + _purpose?: Element|undefined; + /** + * A series of required setup operations before tests are executed. + */ + setup?: TestScriptSetup|undefined; + /** + * Allows filtering of test scripts that are appropriate for use versus not. + */ + status: ('draft'|'active'|'retired'|'unknown'); + _status?: Element|undefined; + /** + * A series of operations required to clean up after all the tests are executed (successfully or otherwise). + */ + teardown?: TestScriptTeardown|undefined; + /** + * A test in this script. + */ + test?: TestScriptTest[]|undefined; + /** + * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. + */ + title?: string|undefined; + _title?: Element|undefined; + /** + * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. + * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). + * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. + */ + url: string; + _url?: Element|undefined; + /** + * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. + */ + useContext?: UsageContext[]|undefined; + /** + * Variables would be set based either on XPath/JSONPath expressions against fixtures (static and response), or headerField evaluations against response headers. If variable evaluates to nodelist or anything other than a primitive value, then test engine would report an error. Variables would be used to perform clean replacements in "operation.params", "operation.requestHeader.value", and "operation.url" element values during operation calls and in "assert.value" during assertion evaluations. This limits the places that test engines would need to look for placeholders "${}". Variables are scoped to the whole script. They are NOT evaluated at declaration. They are evaluated by test engine when used for substitutions in "operation.params", "operation.requestHeader.value", and "operation.url" element values during operation calls and in "assert.value" during assertion evaluations. See example testscript-search.xml. + */ + variable?: TestScriptVariable[]|undefined; + /** + * There may be different test script instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the test script with the format [url]|[version]. + */ + version?: string|undefined; + _version?: Element|undefined; +} +/** + * Concepts have both a ```display``` and an array of ```designation```. The display is equivalent to a special designation with an implied ```designation.use``` of "primary code" and a language equal to the [Resource Language](resource.html#language). + */ +export interface ValueSetComposeIncludeConceptDesignation extends BackboneElement { + /** + * In the absence of a language, the resource language applies. + */ + language?: string|undefined; + _language?: Element|undefined; + /** + * If no use is provided, the designation can be assumed to be suitable for general display to a human user. + */ + use?: Coding|undefined; + /** + * The text value for this designation. + */ + value: string; + _value?: Element|undefined; +} +/** + * The list of concepts is considered ordered, though the order might not have any particular significance. Typically, the order of an expansion follows that defined in the compose element. + */ +export interface ValueSetComposeIncludeConcept extends BackboneElement { + /** + * Expressions are allowed if defined by the underlying code system. + */ + code: string; + _code?: Element|undefined; + /** + * Concepts have both a ```display``` and an array of ```designation```. The display is equivalent to a special designation with an implied ```designation.use``` of "primary code" and a language equal to the [Resource Language](resource.html#language). + */ + designation?: ValueSetComposeIncludeConceptDesignation[]|undefined; + /** + * The value set resource allows for an alternative display to be specified for when this concept is used in this particular value set. See notes in the value set narrative about the correct use of this element. + */ + display?: string|undefined; + _display?: Element|undefined; +} +/** + * Selecting codes by specifying filters based on properties is only possible where the underlying code system defines appropriate properties. Note that in some cases, the underlying code system defines the logical concepts but not the literal codes for the concepts. In such cases, the literal definitions may be provided by a third party. + */ +export interface ValueSetComposeIncludeFilter extends BackboneElement { + /** + * In case filter.property represents a property of the system, the operation applies to the selected property. In case filter.property represents a filter of the system, the operation SHALL match one of the CodeSystem.filter.operator values. + */ + op: ('='|'is-a'|'descendent-of'|'is-not-a'|'regex'|'in'|'not-in'|'generalizes'|'exists'); + _op?: Element|undefined; + /** + * A code that identifies a property or a filter defined in the code system. + */ + property: string; + _property?: Element|undefined; + /** + * Use regex matching with care - full regex matching on every SNOMED CT term is prohibitive, for example. + */ + value: string; + _value?: Element|undefined; +} +/** + * All the conditions in an include must be true. If a system is listed, all the codes from the system are listed. If one or more filters are listed, all of the filters must apply. If one or more value sets are listed, the codes must be in all the value sets. E.g. each include is 'include all the codes that meet all these conditions'. + */ +export interface ValueSetComposeInclude extends BackboneElement { + /** + * The list of concepts is considered ordered, though the order might not have any particular significance. Typically, the order of an expansion follows that defined in the compose element. + */ + concept?: ValueSetComposeIncludeConcept[]|undefined; + /** + * Selecting codes by specifying filters based on properties is only possible where the underlying code system defines appropriate properties. Note that in some cases, the underlying code system defines the logical concepts but not the literal codes for the concepts. In such cases, the literal definitions may be provided by a third party. + */ + filter?: ValueSetComposeIncludeFilter[]|undefined; + /** + * If there are no codes or filters, the entire code system is included. Note that the set of codes that are included may contain abstract codes. See ''Coding.system'' for further documentation about the correct value for the system element. + */ + system?: string|undefined; + _system?: Element|undefined; + /** + * The value set URI is either a logical reference to a defined value set such as a [SNOMED CT reference set](snomedct.html#implicit), or a direct reference to a value set definition using ValueSet.url. The reference might not refer to an actual FHIR ValueSet resource; in this case, whatever is referred to is an implicit definition of a value set that needs to be clear about how versions are resolved. + */ + valueSet?: string[]|undefined; + _valueSet?: Element[]|undefined; + /** + * This is used when selecting the descendants of a concept - they may change between versions. If no version is specified, then the exact contents of the value set might not be known until a context of use binds it to a particular version. The special value '*' means all versions; It is at server discretion regarding expansions and which versions must be supported. + */ + version?: string|undefined; + _version?: Element|undefined; +} +/** + * A set of criteria that define the contents of the value set by including or excluding codes selected from the specified code system(s) that the value set draws from. This is also known as the Content Logical Definition (CLD). + */ +export interface ValueSetCompose extends BackboneElement { + /** + * Usually this is used to selectively exclude codes that were included by subsumption in the inclusions. Any display names specified for the codes are ignored. + */ + exclude?: ValueSetComposeInclude[]|undefined; + /** + * Note that in the FHIR terminology framework, "deprecated" does not mean inactive, but in some code systems, e.g. LOINC, "deprecated" does mean inactive. Code systems should define what codes are considered to be inactive. If this is not clearly defined (including in the FHIR code system resource), then all codes are assumed to be active. + * The Value Set Definition specification defines an ActiveOnly element, which is the reverse of this element e.g. (ValueSet.compose.inactive=FALSE) is the same as (VSD.ActiveOnly=TRUE). + */ + inactive?: boolean|undefined; + _inactive?: Element|undefined; + /** + * All the conditions in an include must be true. If a system is listed, all the codes from the system are listed. If one or more filters are listed, all of the filters must apply. If one or more value sets are listed, the codes must be in all the value sets. E.g. each include is 'include all the codes that meet all these conditions'. + */ + include: ValueSetComposeInclude[]; + /** + * With a defined lockedDate the value set is considered "Locked". Otherwise, the value set may have different expansions as underlying code systems and/or value sets evolve. The interpretation of lockedDate is often dependent on the context - e.g. a SNOMED CT derived value set with a lockedDate will have a different expansion in USA than in UK. If a value set specifies a version for include and exclude statements, and also specifies a locked date, the specified versions need to be available that date, or the value set will not be usable. + */ + lockedDate?: string|undefined; + _lockedDate?: Element|undefined; +} +/** + * The server decides which parameters to include here, but at a minimum, the list SHOULD include all of the parameters that affect the $expand operation. If the expansion will be persisted all of these parameters SHALL be included. If the codeSystem on the server has a specified version then this version SHALL be provided as a parameter in the expansion (note that not all code systems have a version). + */ +export interface ValueSetExpansionParameter extends BackboneElement { + /** + * The names are assigned at the discretion of the server. + */ + name: string; + _name?: Element|undefined; + /** + * The value of the parameter. + */ + valueString?: string|undefined; + _valueString?: Element|undefined; + /** + * The value of the parameter. + */ + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; + /** + * The value of the parameter. + */ + valueInteger?: number|undefined; + /** + * The value of the parameter. + */ + valueDecimal?: number|undefined; + /** + * The value of the parameter. + */ + valueUri?: string|undefined; + _valueUri?: Element|undefined; + /** + * The value of the parameter. + */ + valueCode?: string|undefined; + _valueCode?: Element|undefined; + /** + * The value of the parameter. + */ + valueDateTime?: string|undefined; + _valueDateTime?: Element|undefined; +} +/** + * The codes that are contained in the value set expansion. + */ +export interface ValueSetExpansionContains extends BackboneElement { + /** + * This should not be understood to exclude its use for searching (e.g. by subsumption testing). The client should know whether it is appropriate for the user to select an abstract code or not. + */ + abstract?: boolean|undefined; + _abstract?: Element|undefined; + /** + * The code for this item in the expansion hierarchy. If this code is missing the entry in the hierarchy is a place holder (abstract) and does not represent a valid code in the value set. + */ + code?: string|undefined; + _code?: Element|undefined; + /** + * If the expansion uses this element, there is no implication about the logical relationship between them, and the structure cannot be used for logical inferencing. The structure exists to provide navigational assistance for helping human users to locate codes in the expansion. + */ + contains?: ValueSetExpansionContains[]|undefined; + /** + * The designations provided must be based on the value set and code system definitions. + */ + designation?: ValueSetComposeIncludeConceptDesignation[]|undefined; + /** + * The recommended display for this item in the expansion. + */ + display?: string|undefined; + _display?: Element|undefined; + /** + * This should only have a value if the concept is inactive. + */ + inactive?: boolean|undefined; + _inactive?: Element|undefined; + /** + * An absolute URI which is the code system in which the code for this item in the expansion is defined. + */ + system?: string|undefined; + _system?: Element|undefined; + /** + * The exact value of the version string is specified by the system from which the code is derived. + */ + version?: string|undefined; + _version?: Element|undefined; +} +/** + * Expansion is performed to produce a collection of codes that are ready to use for data entry or validation. Value set expansions are always considered to be stateless - they are a record of the set of codes in the value set at a point in time under a given set of conditions, and are not subject to ongoing maintenance. + * Expansion.parameter is a simplified list of parameters - a subset of the features of the [Parameters](parameters.html) resource. + */ +export interface ValueSetExpansion extends BackboneElement { + /** + * The codes that are contained in the value set expansion. + */ + contains?: ValueSetExpansionContains[]|undefined; + /** + * Typically, this uri is a UUID (e.g. urn:uuid:8230ff20-c97a-4167-a59d-dc2cb9df16dd). + */ + identifier?: string|undefined; + _identifier?: Element|undefined; + /** + * Paging only applies to flat expansions. If a filter is applied, the count is the number of concepts that matched the filter, not the number of concepts in an unfiltered view of the expansion. + */ + offset?: number|undefined; + /** + * The server decides which parameters to include here, but at a minimum, the list SHOULD include all of the parameters that affect the $expand operation. If the expansion will be persisted all of these parameters SHALL be included. If the codeSystem on the server has a specified version then this version SHALL be provided as a parameter in the expansion (note that not all code systems have a version). + */ + parameter?: ValueSetExpansionParameter[]|undefined; + /** + * This SHOULD be a fully populated instant, but in some circumstances, value sets are expanded by hand, and the expansion is published without that precision. + */ + timestamp: string; + _timestamp?: Element|undefined; + /** + * Paging only applies to flat expansions. + */ + total?: number|undefined; +} +/** + * A ValueSet resource instance specifies a set of codes drawn from one or more code systems, intended for use in a particular context. Value sets link between [CodeSystem](codesystem.html) definitions and their use in [coded elements](terminologies.html). + */ +export interface ValueSet extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'ValueSet'; + /** + * A set of criteria that define the contents of the value set by including or excluding codes selected from the specified code system(s) that the value set draws from. This is also known as the Content Logical Definition (CLD). + */ + compose?: ValueSetCompose|undefined; + /** + * May be a web site, an email address, a telephone number, etc. + */ + contact?: ContactDetail[]|undefined; + /** + * nullFrequently, the copyright differs between the value set and the codes that are included. The copyright statement should clearly differentiate between these when required. + */ + copyright?: string|undefined; + _copyright?: Element|undefined; + /** + * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the value set. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. + */ + date?: string|undefined; + _date?: Element|undefined; + /** + * This description can be used to capture details such as why the value set was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the value set as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the value set is presumed to be the predominant language in the place the value set was created).The description is not intended to describe the semantics of the Value Set - there are no intrinsic semantics separate from the codes contained in its expansion. The description should capture its intended use, which is needed for ensuring integrity for its use in models across future changes. A description should be provided unless the value set is a contained resource (e.g. an anonymous value set in a profile). Most registries will require a description. + */ + description?: string|undefined; + _description?: Element|undefined; + /** + * Expansion is performed to produce a collection of codes that are ready to use for data entry or validation. Value set expansions are always considered to be stateless - they are a record of the set of codes in the value set at a point in time under a given set of conditions, and are not subject to ongoing maintenance. + * Expansion.parameter is a simplified list of parameters - a subset of the features of the [Parameters](parameters.html) resource. + */ + expansion?: ValueSetExpansion|undefined; + /** + * Allows filtering of value sets that are appropriate for use versus not. + */ + experimental?: boolean|undefined; + _experimental?: Element|undefined; + /** + * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this value set outside of FHIR, where it is not possible to use the logical URI. + */ + identifier?: Identifier[]|undefined; + /** + * Normally immutability is set to 'false', which is the default assumption if it is not populated. Note that the implication is that if this is set to 'true', there may be only one ValueSet version for this definition. Immutability tends to be set to 'true' in one of two cases: - Where the value set, by the nature of its usage, cannot change. For example "All specializations of ACT in ActClassCode" - Where there's no safe way to express the "Purpose" such that someone else could safely make changes to the value set definition. Source workflow control must guarantee that the same URI always yields the same definition. + */ + immutable?: boolean|undefined; + _immutable?: Element|undefined; + /** + * It may be possible for the value set to be used in jurisdictions other than those for which it was originally designed or intended. + */ + jurisdiction?: CodeableConcept[]|undefined; + /** + * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly.A name should be provided unless the value set is a contained resource (e.g. an anonymous value set in a profile). Most registries will require a name. + */ + name?: string|undefined; + _name?: Element|undefined; + /** + * Usually an organization but may be an individual. The publisher (or steward) of the value set is the organization or individual primarily responsible for the maintenance and upkeep of the value set. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the value set. This item SHOULD be populated unless the information is available from context. + */ + publisher?: string|undefined; + _publisher?: Element|undefined; + /** + * This element does not describe the usage of the value set. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this value set. + */ + purpose?: string|undefined; + _purpose?: Element|undefined; + /** + * Allows filtering of value sets that are appropriate for use versus not.See also the [valueset-workflowStatus](extension-valueset-workflowstatus.html) extension for additional status information related to the editorial process. + */ + status: ('draft'|'active'|'retired'|'unknown'); + _status?: Element|undefined; + /** + * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. + */ + title?: string|undefined; + _title?: Element|undefined; + /** + * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. + * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). + * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. + */ + url?: string|undefined; + _url?: Element|undefined; + /** + * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. + */ + useContext?: UsageContext[]|undefined; + /** + * There may be different value set instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the value set with the format [url]|[version]. + */ + version?: string|undefined; + _version?: Element|undefined; +} +/** + * Information about the primary source(s) involved in validation. + */ +export interface VerificationResultPrimarySource extends BackboneElement { + /** + * Ability of the primary source to push updates/alerts (yes; no; undetermined). + */ + canPushUpdates?: CodeableConcept|undefined; + /** + * Method for communicating with the primary source (manual; API; Push). + */ + communicationMethod?: CodeableConcept[]|undefined; + /** + * Type of alerts/updates the primary source can send (specific requested changes; any changes; as defined by source). + */ + pushTypeAvailable?: CodeableConcept[]|undefined; + /** + * Type of primary source (License Board; Primary Education; Continuing Education; Postal Service; Relationship owner; Registration Authority; legal source; issuing source; authoritative source). + */ + type?: CodeableConcept[]|undefined; + /** + * When the target was validated against the primary source. + */ + validationDate?: string|undefined; + _validationDate?: Element|undefined; + /** + * Status of the validation of the target against the primary source (successful; failed; unknown). + */ + validationStatus?: CodeableConcept|undefined; + /** + * Reference to the primary source. + */ + who?: Reference|undefined; +} +/** + * Information about the entity attesting to information. + */ +export interface VerificationResultAttestation extends BackboneElement { + /** + * The method by which attested information was submitted/retrieved (manual; API; Push). + */ + communicationMethod?: CodeableConcept|undefined; + /** + * The date the information was attested to. + */ + date?: string|undefined; + _date?: Element|undefined; + /** + * When the who is asserting on behalf of another (organization or individual). + */ + onBehalfOf?: Reference|undefined; + /** + * A digital identity certificate associated with the proxy entity submitting attested information on behalf of the attestation source. + */ + proxyIdentityCertificate?: string|undefined; + _proxyIdentityCertificate?: Element|undefined; + /** + * Signed assertion by the proxy entity indicating that they have the right to submit attested information on behalf of the attestation source. + */ + proxySignature?: Signature|undefined; + /** + * A digital identity certificate associated with the attestation source. + */ + sourceIdentityCertificate?: string|undefined; + _sourceIdentityCertificate?: Element|undefined; + /** + * Signed assertion by the attestation source that they have attested to the information. + */ + sourceSignature?: Signature|undefined; + /** + * The individual or organization attesting to information. + */ + who?: Reference|undefined; +} +/** + * Information about the entity validating information. + */ +export interface VerificationResultValidator extends BackboneElement { + /** + * Signed assertion by the validator that they have validated the information. + */ + attestationSignature?: Signature|undefined; + /** + * A digital identity certificate associated with the validator. + */ + identityCertificate?: string|undefined; + _identityCertificate?: Element|undefined; + /** + * Reference to the organization validating information. + */ + organization: Reference; +} +/** + * Describes validation requirements, source(s), status and dates for one or more elements. + */ +export interface VerificationResult extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'VerificationResult'; + /** + * Information about the entity attesting to information. + */ + attestation?: VerificationResultAttestation|undefined; + /** + * The result if validation fails (fatal; warning; record only; none). + */ + failureAction?: CodeableConcept|undefined; + /** + * Frequency of revalidation. + */ + frequency?: Timing|undefined; + /** + * The date/time validation was last completed (including failed validations). + */ + lastPerformed?: string|undefined; + _lastPerformed?: Element|undefined; + /** + * The frequency with which the target must be validated (none; initial; periodic). + */ + need?: CodeableConcept|undefined; + /** + * The date when target is next validated, if appropriate. + */ + nextScheduled?: string|undefined; + _nextScheduled?: Element|undefined; + /** + * Information about the primary source(s) involved in validation. + */ + primarySource?: VerificationResultPrimarySource[]|undefined; + /** + * The validation status of the target (attested; validated; in process; requires revalidation; validation failed; revalidation failed). + */ + status: ('attested'|'validated'|'in-process'|'req-revalid'|'val-fail'|'reval-fail'); + _status?: Element|undefined; + /** + * When the validation status was updated. + */ + statusDate?: string|undefined; + _statusDate?: Element|undefined; + /** + * A resource that was validated. + */ + target?: Reference[]|undefined; + /** + * The fhirpath location(s) within the resource that was validated. + */ + targetLocation?: string[]|undefined; + _targetLocation?: Element[]|undefined; + /** + * The primary process by which the target is validated (edit check; value set; primary source; multiple sources; standalone; in context). + */ + validationProcess?: CodeableConcept[]|undefined; + /** + * What the target is validated against (nothing; primary source; multiple sources). + */ + validationType?: CodeableConcept|undefined; + /** + * Information about the entity validating information. + */ + validator?: VerificationResultValidator[]|undefined; +} +/** + * Allows for adjustment on two axis. + */ +export interface VisionPrescriptionLensSpecificationPrism extends BackboneElement { + /** + * Amount of prism to compensate for eye alignment in fractional units. + */ + amount: number; + /** + * The relative base, or reference lens edge, for the prism. + */ + base: ('up'|'down'|'in'|'out'); + _base?: Element|undefined; +} +/** + * Contain the details of the individual lens specifications and serves as the authorization for the fullfillment by certified professionals. + */ +export interface VisionPrescriptionLensSpecification extends BackboneElement { + /** + * Power adjustment for multifocal lenses measured in dioptres (0.25 units). + */ + add?: number|undefined; + /** + * The limits are +180 and -180 degrees. + */ + axis?: number|undefined; + /** + * Back curvature measured in millimetres. + */ + backCurve?: number|undefined; + /** + * Brand recommendations or restrictions. + */ + brand?: string|undefined; + _brand?: Element|undefined; + /** + * Special color or pattern. + */ + color?: string|undefined; + _color?: Element|undefined; + /** + * Power adjustment for astigmatism measured in dioptres (0.25 units). + */ + cylinder?: number|undefined; + /** + * Contact lens diameter measured in millimetres. + */ + diameter?: number|undefined; + /** + * The recommended maximum wear period for the lens. + */ + duration?: Quantity|undefined; + /** + * May also appear as OD (oculus dexter) for the right eye and OS (oculus siniter) for the left eye. + */ + eye: ('right'|'left'); + _eye?: Element|undefined; + /** + * Notes for special requirements such as coatings and lens materials. + */ + note?: Annotation[]|undefined; + /** + * Contact lens power measured in dioptres (0.25 units). + */ + power?: number|undefined; + /** + * Allows for adjustment on two axis. + */ + prism?: VisionPrescriptionLensSpecificationPrism[]|undefined; + /** + * Identifies the type of vision correction product which is required for the patient. + */ + product: CodeableConcept; + /** + * The value is negative for near-sighted and positive for far sighted. + * Often insurance will not cover a lens with power between +75 and -75. + */ + sphere?: number|undefined; +} +/** + * An authorization for the provision of glasses and/or contact lenses to a patient. + */ +export interface VisionPrescription extends DomainResource { + /** Resource Type Name (for serialization) */ + readonly resourceType: 'VisionPrescription'; + /** + * The date this resource was created. + */ + created: string; + _created?: Element|undefined; + /** + * Jurisdictions determine the valid lifetime of a prescription. Typically vision prescriptions are valid for two years from the date written. + */ + dateWritten: string; + _dateWritten?: Element|undefined; + /** + * A reference to a resource that identifies the particular occurrence of contact between patient and health care provider during which the prescription was issued. + */ + encounter?: Reference|undefined; + /** + * A unique identifier assigned to this vision prescription. + */ + identifier?: Identifier[]|undefined; + /** + * Contain the details of the individual lens specifications and serves as the authorization for the fullfillment by certified professionals. + */ + lensSpecification: VisionPrescriptionLensSpecification[]; + /** + * A resource reference to the person to whom the vision prescription applies. + */ + patient: Reference; + /** + * The healthcare professional responsible for authorizing the prescription. + */ + prescriber: Reference; + /** + * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. + */ + status: ('active'|'cancelled'|'draft'|'entered-in-error'); + _status?: Element|undefined; +} +/** + * Resource binding for generic use. + */ +export type FhirResource = + Account + |ActivityDefinition + |AdverseEvent + |AllergyIntolerance + |Appointment + |AppointmentResponse + |AuditEvent + |Basic + |Binary + |BiologicallyDerivedProduct + |BodyStructure + |Bundle + |CapabilityStatement + |CarePlan + |CareTeam + |CatalogEntry + |ChargeItem + |ChargeItemDefinition + |Claim + |ClaimResponse + |ClinicalImpression + |CodeSystem + |Communication + |CommunicationRequest + |CompartmentDefinition + |Composition + |ConceptMap + |Condition + |Consent + |Contract + |Coverage + |CoverageEligibilityRequest + |CoverageEligibilityResponse + |DetectedIssue + |Device + |DeviceDefinition + |DeviceMetric + |DeviceRequest + |DeviceUseStatement + |DiagnosticReport + |DocumentManifest + |DocumentReference + |EffectEvidenceSynthesis + |Encounter + |Endpoint + |EnrollmentRequest + |EnrollmentResponse + |EpisodeOfCare + |EventDefinition + |Evidence + |EvidenceVariable + |ExampleScenario + |ExplanationOfBenefit + |FamilyMemberHistory + |Flag + |Goal + |GraphDefinition + |Group + |GuidanceResponse + |HealthcareService + |ImagingStudy + |Immunization + |ImmunizationEvaluation + |ImmunizationRecommendation + |ImplementationGuide + |InsurancePlan + |Invoice + |Library + |Linkage + |List + |Location + |Measure + |MeasureReport + |Media + |Medication + |MedicationAdministration + |MedicationDispense + |MedicationKnowledge + |MedicationRequest + |MedicationStatement + |MedicinalProduct + |MedicinalProductAuthorization + |MedicinalProductContraindication + |MedicinalProductIndication + |MedicinalProductIngredient + |MedicinalProductInteraction + |MedicinalProductManufactured + |MedicinalProductPackaged + |MedicinalProductPharmaceutical + |MedicinalProductUndesirableEffect + |MessageDefinition + |MessageHeader + |MolecularSequence + |NamingSystem + |NutritionOrder + |Observation + |ObservationDefinition + |OperationDefinition + |OperationOutcome + |Organization + |OrganizationAffiliation + |Parameters + |Patient + |PaymentNotice + |PaymentReconciliation + |Person + |PlanDefinition + |Practitioner + |PractitionerRole + |Procedure + |Provenance + |Questionnaire + |QuestionnaireResponse + |RelatedPerson + |RequestGroup + |ResearchDefinition + |ResearchElementDefinition + |ResearchStudy + |ResearchSubject + |RiskAssessment + |RiskEvidenceSynthesis + |Schedule + |SearchParameter + |ServiceRequest + |Slot + |Specimen + |SpecimenDefinition + |StructureDefinition + |StructureMap + |Subscription + |Substance + |SubstanceNucleicAcid + |SubstancePolymer + |SubstanceProtein + |SubstanceReferenceInformation + |SubstanceSourceMaterial + |SubstanceSpecification + |SupplyDelivery + |SupplyRequest + |Task + |TerminologyCapabilities + |TestReport + |TestScript + |ValueSet + |VerificationResult + |VisionPrescription; +/** + * String enum/union covering all known resource types. + */ +export type FhirResourceType = + 'Account' + | 'ActivityDefinition' + | 'AdverseEvent' + | 'AllergyIntolerance' + | 'Appointment' + | 'AppointmentResponse' + | 'AuditEvent' + | 'Basic' + | 'Binary' + | 'BiologicallyDerivedProduct' + | 'BodyStructure' + | 'Bundle' + | 'CapabilityStatement' + | 'CarePlan' + | 'CareTeam' + | 'CatalogEntry' + | 'ChargeItem' + | 'ChargeItemDefinition' + | 'Claim' + | 'ClaimResponse' + | 'ClinicalImpression' + | 'CodeSystem' + | 'Communication' + | 'CommunicationRequest' + | 'CompartmentDefinition' + | 'Composition' + | 'ConceptMap' + | 'Condition' + | 'Consent' + | 'Contract' + | 'Coverage' + | 'CoverageEligibilityRequest' + | 'CoverageEligibilityResponse' + | 'DetectedIssue' + | 'Device' + | 'DeviceDefinition' + | 'DeviceMetric' + | 'DeviceRequest' + | 'DeviceUseStatement' + | 'DiagnosticReport' + | 'DocumentManifest' + | 'DocumentReference' + | 'EffectEvidenceSynthesis' + | 'Encounter' + | 'Endpoint' + | 'EnrollmentRequest' + | 'EnrollmentResponse' + | 'EpisodeOfCare' + | 'EventDefinition' + | 'Evidence' + | 'EvidenceVariable' + | 'ExampleScenario' + | 'ExplanationOfBenefit' + | 'FamilyMemberHistory' + | 'Flag' + | 'Goal' + | 'GraphDefinition' + | 'Group' + | 'GuidanceResponse' + | 'HealthcareService' + | 'ImagingStudy' + | 'Immunization' + | 'ImmunizationEvaluation' + | 'ImmunizationRecommendation' + | 'ImplementationGuide' + | 'InsurancePlan' + | 'Invoice' + | 'Library' + | 'Linkage' + | 'List' + | 'Location' + | 'Measure' + | 'MeasureReport' + | 'Media' + | 'Medication' + | 'MedicationAdministration' + | 'MedicationDispense' + | 'MedicationKnowledge' + | 'MedicationRequest' + | 'MedicationStatement' + | 'MedicinalProduct' + | 'MedicinalProductAuthorization' + | 'MedicinalProductContraindication' + | 'MedicinalProductIndication' + | 'MedicinalProductIngredient' + | 'MedicinalProductInteraction' + | 'MedicinalProductManufactured' + | 'MedicinalProductPackaged' + | 'MedicinalProductPharmaceutical' + | 'MedicinalProductUndesirableEffect' + | 'MessageDefinition' + | 'MessageHeader' + | 'MolecularSequence' + | 'NamingSystem' + | 'NutritionOrder' + | 'Observation' + | 'ObservationDefinition' + | 'OperationDefinition' + | 'OperationOutcome' + | 'Organization' + | 'OrganizationAffiliation' + | 'Parameters' + | 'Patient' + | 'PaymentNotice' + | 'PaymentReconciliation' + | 'Person' + | 'PlanDefinition' + | 'Practitioner' + | 'PractitionerRole' + | 'Procedure' + | 'Provenance' + | 'Questionnaire' + | 'QuestionnaireResponse' + | 'RelatedPerson' + | 'RequestGroup' + | 'ResearchDefinition' + | 'ResearchElementDefinition' + | 'ResearchStudy' + | 'ResearchSubject' + | 'RiskAssessment' + | 'RiskEvidenceSynthesis' + | 'Schedule' + | 'SearchParameter' + | 'ServiceRequest' + | 'Slot' + | 'Specimen' + | 'SpecimenDefinition' + | 'StructureDefinition' + | 'StructureMap' + | 'Subscription' + | 'Substance' + | 'SubstanceNucleicAcid' + | 'SubstancePolymer' + | 'SubstanceProtein' + | 'SubstanceReferenceInformation' + | 'SubstanceSourceMaterial' + | 'SubstanceSpecification' + | 'SupplyDelivery' + | 'SupplyRequest' + | 'Task' + | 'TerminologyCapabilities' + | 'TestReport' + | 'TestScript' + | 'ValueSet' + | 'VerificationResult' + | 'VisionPrescription'; diff --git a/generated/TypeScript_R4.ts b/generated/TypeScript_R4.ts index dc133cb21..bd5717266 100644 --- a/generated/TypeScript_R4.ts +++ b/generated/TypeScript_R4.ts @@ -12,52 +12,52 @@ export interface Address extends Element { /** * The name of the city, town, suburb, village or other community or delivery center. */ - city?: string; - _city?: Element; + city?: string|undefined; + _city?: Element|undefined; /** * ISO 3166 3 letter codes can be used in place of a human readable country name. */ - country?: string; - _country?: Element; + country?: string|undefined; + _country?: Element|undefined; /** * District is sometimes known as county, but in some regions 'county' is used in place of city (municipality), so county name should be conveyed in city instead. */ - district?: string; - _district?: Element; + district?: string|undefined; + _district?: Element|undefined; /** * This component contains the house number, apartment number, street name, street direction, P.O. Box number, delivery hints, and similar address information. */ - line?: string[]; - _line?: Element[]; + line?: string[]|undefined; + _line?: Element[]|undefined; /** * Time period when address was/is in use. */ - period?: Period; + period?: Period|undefined; /** * A postal code designating a region defined by the postal service. */ - postalCode?: string; - _postalCode?: Element; + postalCode?: string|undefined; + _postalCode?: Element|undefined; /** * Sub-unit of a country with limited sovereignty in a federally organized country. A code may be used if codes are in common use (e.g. US 2 letter state codes). */ - state?: string; - _state?: Element; + state?: string|undefined; + _state?: Element|undefined; /** * Can provide both a text representation and parts. Applications updating an address SHALL ensure that when both text and parts are present, no content is included in the text that isn't found in a part. */ - text?: string; - _text?: Element; + text?: string|undefined; + _text?: Element|undefined; /** * The definition of Address states that "address is intended to describe postal addresses, not physical locations". However, many applications track whether an address has a dual purpose of being a location that can be visited as well as being a valid delivery destination, and Postal addresses are often used as proxies for physical locations (also see the [Location](location.html#) resource). */ - type?: AddressTypeCodes; - _type?: Element; + type?: AddressTypeCodes|undefined; + _type?: Element|undefined; /** * Applications can assume that an address is current unless it explicitly says that it is temporary or old. */ - use?: AddressUseCodes; - _use?: Element; + use?: AddressUseCodes|undefined; + _use?: Element|undefined; } /** * Code Values for the Address.type field @@ -89,22 +89,22 @@ export interface Annotation extends Element { /** * Organization is used when there's no need for specific attribution as to who made the comment. */ - authorReference?: Reference; + authorReference?: Reference|undefined; /** * Organization is used when there's no need for specific attribution as to who made the comment. */ - authorString?: string; - _authorString?: Element; + authorString?: string|undefined; + _authorString?: Element|undefined; /** * The text of the annotation in markdown format. */ text: string; - _text?: Element; + _text?: Element|undefined; /** * Indicates when this particular annotation was made. */ - time?: string; - _time?: Element; + time?: string|undefined; + _time?: Element|undefined; } /** * For referring to data content defined in other formats. @@ -113,42 +113,42 @@ export interface Attachment extends Element { /** * Identifies the type of the data in the attachment and allows a method to be chosen to interpret or render the data. Includes mime type parameters such as charset where appropriate. */ - contentType?: string; - _contentType?: Element; + contentType?: string|undefined; + _contentType?: Element|undefined; /** * The date that the attachment was first created. */ - creation?: string; - _creation?: Element; + creation?: string|undefined; + _creation?: Element|undefined; /** * The base64-encoded data SHALL be expressed in the same character set as the base resource XML or JSON. */ - data?: string; - _data?: Element; + data?: string|undefined; + _data?: Element|undefined; /** * The hash is calculated on the data prior to base64 encoding, if the data is based64 encoded. The hash is not intended to support digital signatures. Where protection against malicious threats a digital signature should be considered, see [Provenance.signature](provenance-definitions.html#Provenance.signature) for mechanism to protect a resource with a digital signature. */ - hash?: string; - _hash?: Element; + hash?: string|undefined; + _hash?: Element|undefined; /** * The human language of the content. The value can be any valid value according to BCP 47. */ - language?: string; - _language?: Element; + language?: string|undefined; + _language?: Element|undefined; /** * The number of bytes is redundant if the data is provided as a base64binary, but is useful if the data is provided as a url reference. */ - size?: number; + size?: number|undefined; /** * A label or set of text to display in place of the data. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * If both data and url are provided, the url SHALL point to the same content as the data contains. Urls may be relative references or may reference transient locations such as a wrapping envelope using cid: though this has ramifications for using signatures. Relative URLs are interpreted relative to the service url, like a resource reference, rather than relative to the resource itself. If a URL is provided, it SHALL resolve to actual data. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; } /** * Base definition for all elements that are defined inside a resource - but not those in a data type. @@ -157,7 +157,7 @@ export interface BackboneElement extends Element { /** * There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. */ - modifierExtension?: Extension[]; + modifierExtension?: Extension[]|undefined; } /** * A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text. @@ -166,12 +166,12 @@ export interface CodeableConcept extends Element { /** * Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true. */ - coding?: Coding[]; + coding?: Coding[]|undefined; /** * Very often the text is the same as a displayName of one of the codings. */ - text?: string; - _text?: Element; + text?: string|undefined; + _text?: Element|undefined; } /** * A reference to a code defined by a terminology system. @@ -180,28 +180,28 @@ export interface Coding extends Element { /** * A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination). */ - code?: string; - _code?: Element; + code?: string|undefined; + _code?: Element|undefined; /** * A representation of the meaning of the code in the system, following the rules of the system. */ - display?: string; - _display?: Element; + display?: string|undefined; + _display?: Element|undefined; /** * The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should reference to some definition that establishes the system clearly and unambiguously. */ - system?: string; - _system?: Element; + system?: string|undefined; + _system?: Element|undefined; /** * Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely. */ - userSelected?: boolean; - _userSelected?: Element; + userSelected?: boolean|undefined; + _userSelected?: Element|undefined; /** * Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Specifies contact information for a person or organization. @@ -210,12 +210,12 @@ export interface ContactDetail extends Element { /** * If there is no named individual, the telecom information is for the organization as a whole. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * The contact details for the individual (if a name was provided) or the organization. */ - telecom?: ContactPoint[]; + telecom?: ContactPoint[]|undefined; } /** * Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc. @@ -224,26 +224,26 @@ export interface ContactPoint extends Element { /** * Time period when the contact point was/is in use. */ - period?: Period; + period?: Period|undefined; /** * Note that rank does not necessarily follow the order in which the contacts are represented in the instance. */ - rank?: number; + rank?: number|undefined; /** * Telecommunications form for contact point - what communications system is required to make use of the contact. */ - system?: ContactPointSystemCodes; - _system?: Element; + system?: ContactPointSystemCodes|undefined; + _system?: Element|undefined; /** * Applications can assume that a contact is current unless it explicitly says that it is temporary or old. */ - use?: ContactPointUseCodes; - _use?: Element; + use?: ContactPointUseCodes|undefined; + _use?: Element|undefined; /** * Additional text data such as phone extension numbers, or notes about use of the contact are sometimes included in the value. */ - value?: string; - _value?: Element; + value?: string|undefined; + _value?: Element|undefined; } /** * Code Values for the ContactPoint.system field @@ -274,17 +274,17 @@ export interface Contributor extends Element { /** * Contact details to assist a user in finding and communicating with the contributor. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * The name of the individual or organization responsible for the contribution. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * The type of contributor. */ type: ContributorTypeCodes; - _type?: Element; + _type?: Element|undefined; } /** * Code Values for the Contributor.type field @@ -307,22 +307,22 @@ export interface DataRequirementCodeFilter extends Element { /** * The codes for the code filter. If values are given, the filter will return only those data items for which the code-valued attribute specified by the path has a value that is one of the specified codes. If codes are specified in addition to a value set, the filter returns items matching a code in the value set or one of the specified codes. */ - code?: Coding[]; + code?: Coding[]|undefined; /** * The path attribute contains a [Simple FHIRPath Subset](fhirpath.html#simple) that allows path traversal, but not calculation. */ - path?: string; - _path?: Element; + path?: string|undefined; + _path?: Element|undefined; /** * A token parameter that refers to a search parameter defined on the specified type of the DataRequirement, and which searches on elements of type code, Coding, or CodeableConcept. */ - searchParam?: string; - _searchParam?: Element; + searchParam?: string|undefined; + _searchParam?: Element|undefined; /** * The valueset for the code filter. The valueSet and code elements are additive. If valueSet is specified, the filter will return only those data items for which the value of the code-valued element specified in the path is a member of the specified valueset. */ - valueSet?: string; - _valueSet?: Element; + valueSet?: string|undefined; + _valueSet?: Element|undefined; } /** * Date filters specify additional constraints on the data in terms of the applicable date range for specific elements. Each date filter specifies an additional constraint on the data, i.e. date filters are AND'ed, not OR'ed. @@ -331,26 +331,26 @@ export interface DataRequirementDateFilter extends Element { /** * The path attribute contains a [Simple FHIR Subset](fhirpath.html#simple) that allows path traversal, but not calculation. */ - path?: string; - _path?: Element; + path?: string|undefined; + _path?: Element|undefined; /** * A date parameter that refers to a search parameter defined on the specified type of the DataRequirement, and which searches on elements of type date, dateTime, Period, Schedule, or Timing. */ - searchParam?: string; - _searchParam?: Element; + searchParam?: string|undefined; + _searchParam?: Element|undefined; /** * The value of the filter. If period is specified, the filter will return only those data items that fall within the bounds determined by the Period, inclusive of the period boundaries. If dateTime is specified, the filter will return only those data items that are equal to the specified dateTime. If a Duration is specified, the filter will return only those data items that fall within Duration before now. */ - valueDateTime?: string; - _valueDateTime?: Element; + valueDateTime?: string|undefined; + _valueDateTime?: Element|undefined; /** * The value of the filter. If period is specified, the filter will return only those data items that fall within the bounds determined by the Period, inclusive of the period boundaries. If dateTime is specified, the filter will return only those data items that are equal to the specified dateTime. If a Duration is specified, the filter will return only those data items that fall within Duration before now. */ - valuePeriod?: Period; + valuePeriod?: Period|undefined; /** * The value of the filter. If period is specified, the filter will return only those data items that fall within the bounds determined by the Period, inclusive of the period boundaries. If dateTime is specified, the filter will return only those data items that are equal to the specified dateTime. If a Duration is specified, the filter will return only those data items that fall within Duration before now. */ - valueDuration?: Duration; + valueDuration?: Duration|undefined; } /** * This element can be used in combination with the sort element to specify quota requirements such as "the most recent 5" or "the highest 5". When multiple sorts are specified, they are applied in the order they appear in the resource. @@ -360,12 +360,12 @@ export interface DataRequirementSort extends Element { * The direction of the sort, ascending or descending. */ direction: DataRequirementSortDirectionCodes; - _direction?: Element; + _direction?: Element|undefined; /** * The attribute of the sort. The specified path must be resolvable from the type of the required data. The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements. Note that the index must be an integer constant. */ path: string; - _path?: Element; + _path?: Element|undefined; } /** * Code Values for the DataRequirement.sort.direction field @@ -381,43 +381,43 @@ export interface DataRequirement extends Element { /** * Code filters specify additional constraints on the data, specifying the value set of interest for a particular element of the data. Each code filter defines an additional constraint on the data, i.e. code filters are AND'ed, not OR'ed. */ - codeFilter?: DataRequirementCodeFilter[]; + codeFilter?: DataRequirementCodeFilter[]|undefined; /** * Date filters specify additional constraints on the data in terms of the applicable date range for specific elements. Each date filter specifies an additional constraint on the data, i.e. date filters are AND'ed, not OR'ed. */ - dateFilter?: DataRequirementDateFilter[]; + dateFilter?: DataRequirementDateFilter[]|undefined; /** * This element can be used in combination with the sort element to specify quota requirements such as "the most recent 5" or "the highest 5". */ - limit?: number; + limit?: number|undefined; /** * Indicates that specific elements of the type are referenced by the knowledge module and must be supported by the consumer in order to obtain an effective evaluation. This does not mean that a value is required for this element, only that the consuming system must understand the element and be able to provide values for it if they are available. * The value of mustSupport SHALL be a FHIRPath resolveable on the type of the DataRequirement. The path SHALL consist only of identifiers, constant indexers, and .resolve() (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details). */ - mustSupport?: string[]; - _mustSupport?: Element[]; + mustSupport?: string[]|undefined; + _mustSupport?: Element[]|undefined; /** * The profile of the required data, specified as the uri of the profile definition. */ - profile?: string[]; - _profile?: Element[]; + profile?: string[]|undefined; + _profile?: Element[]|undefined; /** * This element can be used in combination with the sort element to specify quota requirements such as "the most recent 5" or "the highest 5". When multiple sorts are specified, they are applied in the order they appear in the resource. */ - sort?: DataRequirementSort[]; + sort?: DataRequirementSort[]|undefined; /** * The subject of a data requirement is critical, as the data being specified is determined with respect to a particular subject. This corresponds roughly to the notion of a Compartment in that it limits what data is available based on its relationship to the subject. In CQL, this corresponds to the context declaration. */ - subjectCodeableConcept?: CodeableConcept; + subjectCodeableConcept?: CodeableConcept|undefined; /** * The subject of a data requirement is critical, as the data being specified is determined with respect to a particular subject. This corresponds roughly to the notion of a Compartment in that it limits what data is available based on its relationship to the subject. In CQL, this corresponds to the context declaration. */ - subjectReference?: Reference; + subjectReference?: Reference|undefined; /** * The type of the required data, specified as the type name of a resource. For profiles, this value is set to the type of the base resource of the profile. */ type: string; - _type?: Element; + _type?: Element|undefined; } /** * A length - a value with a unit that is a physical distance. @@ -431,30 +431,30 @@ export interface DosageDoseAndRate extends Element { /** * Note that this specifies the quantity of the specified medication, not the quantity for each active ingredient(s). Each ingredient amount can be communicated in the Medication resource. For example, if one wants to communicate that a tablet was 375 mg, where the dose was one tablet, you can use the Medication resource to document that the tablet was comprised of 375 mg of drug XYZ. Alternatively if the dose was 375 mg, then you may only need to use the Medication resource to indicate this was a tablet. If the example were an IV such as dopamine and you wanted to communicate that 400mg of dopamine was mixed in 500 ml of some IV solution, then this would all be communicated in the Medication resource. If the administration is not intended to be instantaneous (rate is present or timing has a duration), this can be specified to convey the total amount to be administered over the period of time as indicated by the schedule e.g. 500 ml in dose, with timing used to convey that this should be done over 4 hours. */ - doseRange?: Range; + doseRange?: Range|undefined; /** * Note that this specifies the quantity of the specified medication, not the quantity for each active ingredient(s). Each ingredient amount can be communicated in the Medication resource. For example, if one wants to communicate that a tablet was 375 mg, where the dose was one tablet, you can use the Medication resource to document that the tablet was comprised of 375 mg of drug XYZ. Alternatively if the dose was 375 mg, then you may only need to use the Medication resource to indicate this was a tablet. If the example were an IV such as dopamine and you wanted to communicate that 400mg of dopamine was mixed in 500 ml of some IV solution, then this would all be communicated in the Medication resource. If the administration is not intended to be instantaneous (rate is present or timing has a duration), this can be specified to convey the total amount to be administered over the period of time as indicated by the schedule e.g. 500 ml in dose, with timing used to convey that this should be done over 4 hours. */ - doseQuantity?: Quantity; + doseQuantity?: Quantity|undefined; /** * It is possible to supply both a rate and a doseQuantity to provide full details about how the medication is to be administered and supplied. If the rate is intended to change over time, depending on local rules/regulations, each change should be captured as a new version of the MedicationRequest with an updated rate, or captured with a new MedicationRequest with the new rate. * It is possible to specify a rate over time (for example, 100 ml/hour) using either the rateRatio and rateQuantity. The rateQuantity approach requires systems to have the capability to parse UCUM grammer where ml/hour is included rather than a specific ratio where the time is specified as the denominator. Where a rate such as 500ml over 2 hours is specified, the use of rateRatio may be more semantically correct than specifying using a rateQuantity of 250 mg/hour. */ - rateRatio?: Ratio; + rateRatio?: Ratio|undefined; /** * It is possible to supply both a rate and a doseQuantity to provide full details about how the medication is to be administered and supplied. If the rate is intended to change over time, depending on local rules/regulations, each change should be captured as a new version of the MedicationRequest with an updated rate, or captured with a new MedicationRequest with the new rate. * It is possible to specify a rate over time (for example, 100 ml/hour) using either the rateRatio and rateQuantity. The rateQuantity approach requires systems to have the capability to parse UCUM grammer where ml/hour is included rather than a specific ratio where the time is specified as the denominator. Where a rate such as 500ml over 2 hours is specified, the use of rateRatio may be more semantically correct than specifying using a rateQuantity of 250 mg/hour. */ - rateRange?: Range; + rateRange?: Range|undefined; /** * It is possible to supply both a rate and a doseQuantity to provide full details about how the medication is to be administered and supplied. If the rate is intended to change over time, depending on local rules/regulations, each change should be captured as a new version of the MedicationRequest with an updated rate, or captured with a new MedicationRequest with the new rate. * It is possible to specify a rate over time (for example, 100 ml/hour) using either the rateRatio and rateQuantity. The rateQuantity approach requires systems to have the capability to parse UCUM grammer where ml/hour is included rather than a specific ratio where the time is specified as the denominator. Where a rate such as 500ml over 2 hours is specified, the use of rateRatio may be more semantically correct than specifying using a rateQuantity of 250 mg/hour. */ - rateQuantity?: Quantity; + rateQuantity?: Quantity|undefined; /** * The kind of dose or rate specified, for example, ordered or calculated. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Indicates how the medication is/was taken or should be taken by the patient. @@ -463,62 +463,62 @@ export interface Dosage extends BackboneElement { /** * Information about administration or preparation of the medication (e.g. "infuse as rapidly as possibly via intraperitoneal port" or "immediately following drug x") should be populated in dosage.text. */ - additionalInstruction?: CodeableConcept[]; + additionalInstruction?: CodeableConcept[]|undefined; /** * Can express "as needed" without a reason by setting the Boolean = True. In this case the CodeableConcept is not populated. Or you can express "as needed" with a reason by including the CodeableConcept. In this case the Boolean is assumed to be True. If you set the Boolean to False, then the dose is given according to the schedule and is not "prn" or "as needed". */ - asNeededBoolean?: boolean; - _asNeededBoolean?: Element; + asNeededBoolean?: boolean|undefined; + _asNeededBoolean?: Element|undefined; /** * Can express "as needed" without a reason by setting the Boolean = True. In this case the CodeableConcept is not populated. Or you can express "as needed" with a reason by including the CodeableConcept. In this case the Boolean is assumed to be True. If you set the Boolean to False, then the dose is given according to the schedule and is not "prn" or "as needed". */ - asNeededCodeableConcept?: CodeableConcept; + asNeededCodeableConcept?: CodeableConcept|undefined; /** * The amount of medication administered. */ - doseAndRate?: DosageDoseAndRate[]; + doseAndRate?: DosageDoseAndRate[]|undefined; /** * This is intended for use as an adjunct to the dosage when there is an upper cap. For example, a body surface area related dose with a maximum amount, such as 1.5 mg/m2 (maximum 2 mg) IV over 5 – 10 minutes would have doseQuantity of 1.5 mg/m2 and maxDosePerAdministration of 2 mg. */ - maxDosePerAdministration?: Quantity; + maxDosePerAdministration?: Quantity|undefined; /** * Upper limit on medication per lifetime of the patient. */ - maxDosePerLifetime?: Quantity; + maxDosePerLifetime?: Quantity|undefined; /** * This is intended for use as an adjunct to the dosage when there is an upper cap. For example "2 tablets every 4 hours to a maximum of 8/day". */ - maxDosePerPeriod?: Ratio; + maxDosePerPeriod?: Ratio|undefined; /** * Terminologies used often pre-coordinate this term with the route and or form of administration. */ - method?: CodeableConcept; + method?: CodeableConcept|undefined; /** * Instructions in terms that are understood by the patient or consumer. */ - patientInstruction?: string; - _patientInstruction?: Element; + patientInstruction?: string|undefined; + _patientInstruction?: Element|undefined; /** * How drug should enter body. */ - route?: CodeableConcept; + route?: CodeableConcept|undefined; /** * Indicates the order in which the dosage instructions should be applied or interpreted. */ - sequence?: number; + sequence?: number|undefined; /** * If the use case requires attributes from the BodySite resource (e.g. to identify and track separately) then use the standard extension [bodySite](extension-bodysite.html). May be a summary code, or a reference to a very precise definition of the location, or both. */ - site?: CodeableConcept; + site?: CodeableConcept|undefined; /** * Free text dosage instructions e.g. SIG. */ - text?: string; - _text?: Element; + text?: string|undefined; + _text?: Element|undefined; /** * This attribute might not always be populated while the Dosage.text is expected to be populated. If both are populated, then the Dosage.text should reflect the content of the Dosage.timing. */ - timing?: Timing; + timing?: Timing|undefined; } /** * A length of time. @@ -532,12 +532,12 @@ export interface Element { /** * There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. */ - extension?: Extension[]; + extension?: Extension[]|undefined; /** * Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. */ - id?: string; - _id?: Element; + id?: string|undefined; + _id?: Element|undefined; } /** * If there is no discriminator, the content is hard to process, so this should be avoided. @@ -547,12 +547,12 @@ export interface ElementDefinitionSlicingDiscriminator extends Element { * The only FHIRPath functions that are allowed are as(type), resolve(), and extension(url). */ path: string; - _path?: Element; + _path?: Element|undefined; /** * How the element value is interpreted when discrimination is evaluated. */ type: ElementDefinitionSlicingDiscriminatorTypeCodes; - _type?: Element; + _type?: Element|undefined; } /** * Code Values for the ElementDefinition.slicing.discriminator.type field @@ -571,22 +571,22 @@ export interface ElementDefinitionSlicing extends Element { /** * If it's really not possible to differentiate them, the design should be re-evaluated to make the content usable. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * If there is no discriminator, the content is hard to process, so this should be avoided. */ - discriminator?: ElementDefinitionSlicingDiscriminator[]; + discriminator?: ElementDefinitionSlicingDiscriminator[]|undefined; /** * Order should only be required when it is a pressing concern for presentation. Profile authors should consider making the order a feature of the rules about the narrative, not the rules about the data - requiring ordered data makes the profile much less re-usable. */ - ordered?: boolean; - _ordered?: Element; + ordered?: boolean|undefined; + _ordered?: Element|undefined; /** * Allowing additional elements makes for a much for flexible template - it's open for use in wider contexts, but also means that the content of the resource is not closed, and applications have to decide how to handle content not described by the profile. */ rules: ElementDefinitionSlicingRulesCodes; - _rules?: Element; + _rules?: Element|undefined; } /** * Code Values for the ElementDefinition.slicing.rules field @@ -604,7 +604,7 @@ export interface ElementDefinitionBase extends Element { * This is provided to code generation, since the serialization representation in JSON differs depending on whether the base element has max > 1. Also, some forms of code generation may differ. */ max: string; - _max?: Element; + _max?: Element|undefined; /** * This is provided for consistency with max, and may affect code generation of mandatory elements of the base resource are generated differently (some reference implementations have done this). */ @@ -613,7 +613,7 @@ export interface ElementDefinitionBase extends Element { * The Path that identifies the base element - this matches the ElementDefinition.path for that element. Across FHIR, there is only one base definition of any element - that is, an element definition on a [StructureDefinition](structuredefinition.html#) without a StructureDefinition.base. */ path: string; - _path?: Element; + _path?: Element|undefined; } /** * The Type of the element can be left blank in a differential constraint, in which case the type is inherited from the resource. Abstract types are not permitted to appear as a type when multiple types are listed. (I.e. Abstract types cannot be part of a choice). @@ -622,28 +622,28 @@ export interface ElementDefinitionType extends Element { /** * See [Aggregation Rules](elementdefinition.html#aggregation) for further clarification. */ - aggregation?: ElementDefinitionTypeAggregationCodes[]; - _aggregation?: Element[]; + aggregation?: ElementDefinitionTypeAggregationCodes[]|undefined; + _aggregation?: Element[]|undefined; /** * If the element is a reference to another resource, this element contains "Reference", and the targetProfile element defines what resources can be referenced. The targetProfile may be a reference to the general definition of a resource (e.g. http://hl7.org/fhir/StructureDefinition/Patient). */ code: string; - _code?: Element; + _code?: Element|undefined; /** * It is possible to profile backbone element (e.g. part of a resource), using the [profile-element](extension-elementdefinition-profile-element.html) extension. */ - profile?: string[]; - _profile?: Element[]; + profile?: string[]|undefined; + _profile?: Element[]|undefined; /** * Used when the type is "Reference" or "canonical", and identifies a profile structure or implementation Guide that applies to the target of the reference this element refers to. If any profiles are specified, then the content must conform to at least one of them. The URL can be a local reference - to a contained StructureDefinition, or a reference to another StructureDefinition or Implementation Guide by a canonical URL. When an implementation guide is specified, the target resource SHALL conform to at least one profile defined in the implementation guide. */ - targetProfile?: string[]; - _targetProfile?: Element[]; + targetProfile?: string[]|undefined; + _targetProfile?: Element[]|undefined; /** * The base specification never makes a rule as to which form is allowed, but implementation guides may do this. See [Aggregation Rules](elementdefinition.html#aggregation) for further clarification. */ - versioning?: ElementDefinitionTypeVersioningCodes; - _versioning?: Element; + versioning?: ElementDefinitionTypeVersioningCodes|undefined; + _versioning?: Element|undefined; } /** * Code Values for the ElementDefinition.type.aggregation field @@ -669,222 +669,222 @@ export interface ElementDefinitionExample extends Element { * Describes the purpose of this example amoung the set of examples. */ label: string; - _label?: Element; + _label?: Element|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueBase64Binary?: string; - _valueBase64Binary?: Element; + valueBase64Binary?: string|undefined; + _valueBase64Binary?: Element|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueBoolean?: boolean; - _valueBoolean?: Element; + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueCanonical?: string; - _valueCanonical?: Element; + valueCanonical?: string|undefined; + _valueCanonical?: Element|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueCode?: string; - _valueCode?: Element; + valueCode?: string|undefined; + _valueCode?: Element|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueDate?: string; - _valueDate?: Element; + valueDate?: string|undefined; + _valueDate?: Element|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueDateTime?: string; - _valueDateTime?: Element; + valueDateTime?: string|undefined; + _valueDateTime?: Element|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueDecimal?: number; + valueDecimal?: number|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueId?: string; - _valueId?: Element; + valueId?: string|undefined; + _valueId?: Element|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueInstant?: string; - _valueInstant?: Element; + valueInstant?: string|undefined; + _valueInstant?: Element|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueInteger?: number; + valueInteger?: number|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueMarkdown?: string; - _valueMarkdown?: Element; + valueMarkdown?: string|undefined; + _valueMarkdown?: Element|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueOid?: string; - _valueOid?: Element; + valueOid?: string|undefined; + _valueOid?: Element|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valuePositiveInt?: number; + valuePositiveInt?: number|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueString?: string; - _valueString?: Element; + valueString?: string|undefined; + _valueString?: Element|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueTime?: string; - _valueTime?: Element; + valueTime?: string|undefined; + _valueTime?: Element|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueUnsignedInt?: number; + valueUnsignedInt?: number|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueUri?: string; - _valueUri?: Element; + valueUri?: string|undefined; + _valueUri?: Element|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueUrl?: string; - _valueUrl?: Element; + valueUrl?: string|undefined; + _valueUrl?: Element|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueUuid?: string; - _valueUuid?: Element; + valueUuid?: string|undefined; + _valueUuid?: Element|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueAddress?: Address; + valueAddress?: Address|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueAge?: Age; + valueAge?: Age|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueAnnotation?: Annotation; + valueAnnotation?: Annotation|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueAttachment?: Attachment; + valueAttachment?: Attachment|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueCodeableConcept?: CodeableConcept; + valueCodeableConcept?: CodeableConcept|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueCoding?: Coding; + valueCoding?: Coding|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueContactPoint?: ContactPoint; + valueContactPoint?: ContactPoint|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueCount?: Count; + valueCount?: Count|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueDistance?: Distance; + valueDistance?: Distance|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueDuration?: Duration; + valueDuration?: Duration|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueHumanName?: HumanName; + valueHumanName?: HumanName|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueIdentifier?: Identifier; + valueIdentifier?: Identifier|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueMoney?: Money; + valueMoney?: Money|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valuePeriod?: Period; + valuePeriod?: Period|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueRange?: Range; + valueRange?: Range|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueRatio?: Ratio; + valueRatio?: Ratio|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueReference?: Reference; + valueReference?: Reference|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueSampledData?: SampledData; + valueSampledData?: SampledData|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueSignature?: Signature; + valueSignature?: Signature|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueTiming?: Timing; + valueTiming?: Timing|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueContactDetail?: ContactDetail; + valueContactDetail?: ContactDetail|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueContributor?: Contributor; + valueContributor?: Contributor|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueDataRequirement?: DataRequirement; + valueDataRequirement?: DataRequirement|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueExpression?: Expression; + valueExpression?: Expression|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueParameterDefinition?: ParameterDefinition; + valueParameterDefinition?: ParameterDefinition|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueRelatedArtifact?: RelatedArtifact; + valueRelatedArtifact?: RelatedArtifact|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueTriggerDefinition?: TriggerDefinition; + valueTriggerDefinition?: TriggerDefinition|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueUsageContext?: UsageContext; + valueUsageContext?: UsageContext|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueDosage?: Dosage; + valueDosage?: Dosage|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueMeta?: Meta; + valueMeta?: Meta|undefined; } /** * Constraints should be declared on the "context" element - the lowest element in the hierarchy that is common to all nodes referenced by the constraint. @@ -893,38 +893,38 @@ export interface ElementDefinitionConstraint extends Element { /** * In the absense of an expression, the expression is likely not enforceable by validators, and might be missed by many systems. */ - expression?: string; - _expression?: Element; + expression?: string|undefined; + _expression?: Element|undefined; /** * Should be expressed in business terms as much as possible. */ human: string; - _human?: Element; + _human?: Element|undefined; /** * Allows identification of which elements have their cardinalities impacted by the constraint. Will not be referenced for constraints that do not affect cardinality. */ key: string; - _key?: Element; + _key?: Element|undefined; /** * To be used if the reason for the constraint might not be intuitive to all implementers. */ - requirements?: string; - _requirements?: Element; + requirements?: string|undefined; + _requirements?: Element|undefined; /** * This allows constraints to be asserted as "shall" (error) and "should" (warning). */ severity: ElementDefinitionConstraintSeverityCodes; - _severity?: Element; + _severity?: Element|undefined; /** * This is used when, e.g. rendering, where it is not useful to present inherited constraints when rendering the snapshot. */ - source?: string; - _source?: Element; + source?: string|undefined; + _source?: Element|undefined; /** * Elements SHALL use "f" as the namespace prefix for the FHIR namespace, and "x" for the xhtml namespace, and SHALL NOT use any other prefixes. Note: XPath is generally considered not useful because it does not apply to JSON and other formats and because of XSLT implementation issues, and may be removed in the future. */ - xpath?: string; - _xpath?: Element; + xpath?: string|undefined; + _xpath?: Element|undefined; } /** * Code Values for the ElementDefinition.constraint.severity field @@ -940,18 +940,18 @@ export interface ElementDefinitionBinding extends Element { /** * Describes the intended use of this particular set of codes. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * For further discussion, see [Using Terminologies](terminologies.html). */ strength: ElementDefinitionBindingStrengthCodes; - _strength?: Element; + _strength?: Element|undefined; /** * The reference may be version-specific or not (e.g. have a |[version] at the end of the canonical URL). */ - valueSet?: string; - _valueSet?: Element; + valueSet?: string|undefined; + _valueSet?: Element|undefined; } /** * Code Values for the ElementDefinition.binding.strength field @@ -969,23 +969,23 @@ export interface ElementDefinitionMapping extends Element { /** * Comments that provide information about the mapping or its use. */ - comment?: string; - _comment?: Element; + comment?: string|undefined; + _comment?: Element|undefined; /** * An internal reference to the definition of a mapping. */ identity: string; - _identity?: Element; + _identity?: Element|undefined; /** * If omitted, then there can be no expectation of computational interpretation of the mapping. */ - language?: string; - _language?: Element; + language?: string|undefined; + _language?: Element|undefined; /** * For most mappings, the syntax is undefined. Syntax will be provided for mappings to the RIM. Multiple mappings may be possible and may include constraints on other resource elements that identify when a particular mapping applies. */ map: string; - _map?: Element; + _map?: Element|undefined; } /** * Captures constraints on each element within the resource, profile, or extension. @@ -994,913 +994,913 @@ export interface ElementDefinition extends BackboneElement { /** * Identifies additional names by which this element might also be known. */ - alias?: string[]; - _alias?: Element[]; + alias?: string[]|undefined; + _alias?: Element[]|undefined; /** * The base information does not carry any information that could not be determined from the path and related profiles, but making this determination requires both that the related profiles are available, and that the algorithm to determine them be available. For tooling simplicity, the base information must always be populated in element definitions in snap shots, even if it is the same. */ - base?: ElementDefinitionBase; + base?: ElementDefinitionBase|undefined; /** * For a CodeableConcept, when no codes are allowed - only text, use a binding of strength "required" with a description explaining that no coded values are allowed and what sort of information to put in the "text" element. */ - binding?: ElementDefinitionBinding; + binding?: ElementDefinitionBinding|undefined; /** * The concept SHALL be properly aligned with the data element definition and other constraints, as defined in the code system, including relationships, of any code listed here. Where multiple codes exist in a terminology that could correspond to the data element, the most granular code(s) should be selected, so long as they are not more restrictive than the data element itself. The mappings may be used to provide more or less granular or structured equivalences in the code system. */ - code?: Coding[]; + code?: Coding[]|undefined; /** * If it is possible to capture usage rules using constraints, that mechanism should be used in preference to this element. */ - comment?: string; - _comment?: Element; + comment?: string|undefined; + _comment?: Element|undefined; /** * A reference to an invariant that may make additional statements about the cardinality or value in the instance. */ - condition?: string[]; - _condition?: Element[]; + condition?: string[]|undefined; + _condition?: Element[]|undefined; /** * Constraints should be declared on the "context" element - the lowest element in the hierarchy that is common to all nodes referenced by the constraint. */ - constraint?: ElementDefinitionConstraint[]; + constraint?: ElementDefinitionConstraint[]|undefined; /** * ContentReferences can only be defined in specializations, not constrained types, and they cannot be changed and always reference the non-constrained definition. */ - contentReference?: string; - _contentReference?: Element; + contentReference?: string|undefined; + _contentReference?: Element|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueBase64Binary?: string; - _defaultValueBase64Binary?: Element; + defaultValueBase64Binary?: string|undefined; + _defaultValueBase64Binary?: Element|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueBoolean?: boolean; - _defaultValueBoolean?: Element; + defaultValueBoolean?: boolean|undefined; + _defaultValueBoolean?: Element|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueCanonical?: string; - _defaultValueCanonical?: Element; + defaultValueCanonical?: string|undefined; + _defaultValueCanonical?: Element|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueCode?: string; - _defaultValueCode?: Element; + defaultValueCode?: string|undefined; + _defaultValueCode?: Element|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueDate?: string; - _defaultValueDate?: Element; + defaultValueDate?: string|undefined; + _defaultValueDate?: Element|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueDateTime?: string; - _defaultValueDateTime?: Element; + defaultValueDateTime?: string|undefined; + _defaultValueDateTime?: Element|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueDecimal?: number; + defaultValueDecimal?: number|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueId?: string; - _defaultValueId?: Element; + defaultValueId?: string|undefined; + _defaultValueId?: Element|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueInstant?: string; - _defaultValueInstant?: Element; + defaultValueInstant?: string|undefined; + _defaultValueInstant?: Element|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueInteger?: number; + defaultValueInteger?: number|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueMarkdown?: string; - _defaultValueMarkdown?: Element; + defaultValueMarkdown?: string|undefined; + _defaultValueMarkdown?: Element|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueOid?: string; - _defaultValueOid?: Element; + defaultValueOid?: string|undefined; + _defaultValueOid?: Element|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValuePositiveInt?: number; + defaultValuePositiveInt?: number|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueString?: string; - _defaultValueString?: Element; + defaultValueString?: string|undefined; + _defaultValueString?: Element|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueTime?: string; - _defaultValueTime?: Element; + defaultValueTime?: string|undefined; + _defaultValueTime?: Element|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueUnsignedInt?: number; + defaultValueUnsignedInt?: number|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueUri?: string; - _defaultValueUri?: Element; + defaultValueUri?: string|undefined; + _defaultValueUri?: Element|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueUrl?: string; - _defaultValueUrl?: Element; + defaultValueUrl?: string|undefined; + _defaultValueUrl?: Element|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueUuid?: string; - _defaultValueUuid?: Element; + defaultValueUuid?: string|undefined; + _defaultValueUuid?: Element|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueAddress?: Address; + defaultValueAddress?: Address|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueAge?: Age; + defaultValueAge?: Age|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueAnnotation?: Annotation; + defaultValueAnnotation?: Annotation|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueAttachment?: Attachment; + defaultValueAttachment?: Attachment|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueCodeableConcept?: CodeableConcept; + defaultValueCodeableConcept?: CodeableConcept|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueCoding?: Coding; + defaultValueCoding?: Coding|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueContactPoint?: ContactPoint; + defaultValueContactPoint?: ContactPoint|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueCount?: Count; + defaultValueCount?: Count|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueDistance?: Distance; + defaultValueDistance?: Distance|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueDuration?: Duration; + defaultValueDuration?: Duration|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueHumanName?: HumanName; + defaultValueHumanName?: HumanName|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueIdentifier?: Identifier; + defaultValueIdentifier?: Identifier|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueMoney?: Money; + defaultValueMoney?: Money|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValuePeriod?: Period; + defaultValuePeriod?: Period|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueQuantity?: Quantity; + defaultValueQuantity?: Quantity|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueRange?: Range; + defaultValueRange?: Range|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueRatio?: Ratio; + defaultValueRatio?: Ratio|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueReference?: Reference; + defaultValueReference?: Reference|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueSampledData?: SampledData; + defaultValueSampledData?: SampledData|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueSignature?: Signature; + defaultValueSignature?: Signature|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueTiming?: Timing; + defaultValueTiming?: Timing|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueContactDetail?: ContactDetail; + defaultValueContactDetail?: ContactDetail|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueContributor?: Contributor; + defaultValueContributor?: Contributor|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueDataRequirement?: DataRequirement; + defaultValueDataRequirement?: DataRequirement|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueExpression?: Expression; + defaultValueExpression?: Expression|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueParameterDefinition?: ParameterDefinition; + defaultValueParameterDefinition?: ParameterDefinition|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueRelatedArtifact?: RelatedArtifact; + defaultValueRelatedArtifact?: RelatedArtifact|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueTriggerDefinition?: TriggerDefinition; + defaultValueTriggerDefinition?: TriggerDefinition|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueUsageContext?: UsageContext; + defaultValueUsageContext?: UsageContext|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueDosage?: Dosage; + defaultValueDosage?: Dosage|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueMeta?: Meta; + defaultValueMeta?: Meta|undefined; /** * It is easy for a different definition to change the meaning of an element and this can have nasty downstream consequences. Please be careful when providing definitions in a profile. */ - definition?: string; - _definition?: Element; + definition?: string|undefined; + _definition?: Element|undefined; /** * Examples will most commonly be present for data where it's not implicitly obvious from either the data type or value set what the values might be. (I.e. Example values for dates or quantities would generally be unnecessary.) If the example value is fully populated, the publication tool can generate an instance automatically. */ - example?: ElementDefinitionExample[]; + example?: ElementDefinitionExample[]|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedBase64Binary?: string; - _fixedBase64Binary?: Element; + fixedBase64Binary?: string|undefined; + _fixedBase64Binary?: Element|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedBoolean?: boolean; - _fixedBoolean?: Element; + fixedBoolean?: boolean|undefined; + _fixedBoolean?: Element|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedCanonical?: string; - _fixedCanonical?: Element; + fixedCanonical?: string|undefined; + _fixedCanonical?: Element|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedCode?: string; - _fixedCode?: Element; + fixedCode?: string|undefined; + _fixedCode?: Element|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedDate?: string; - _fixedDate?: Element; + fixedDate?: string|undefined; + _fixedDate?: Element|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedDateTime?: string; - _fixedDateTime?: Element; + fixedDateTime?: string|undefined; + _fixedDateTime?: Element|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedDecimal?: number; + fixedDecimal?: number|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedId?: string; - _fixedId?: Element; + fixedId?: string|undefined; + _fixedId?: Element|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedInstant?: string; - _fixedInstant?: Element; + fixedInstant?: string|undefined; + _fixedInstant?: Element|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedInteger?: number; + fixedInteger?: number|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedMarkdown?: string; - _fixedMarkdown?: Element; + fixedMarkdown?: string|undefined; + _fixedMarkdown?: Element|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedOid?: string; - _fixedOid?: Element; + fixedOid?: string|undefined; + _fixedOid?: Element|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedPositiveInt?: number; + fixedPositiveInt?: number|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedString?: string; - _fixedString?: Element; + fixedString?: string|undefined; + _fixedString?: Element|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedTime?: string; - _fixedTime?: Element; + fixedTime?: string|undefined; + _fixedTime?: Element|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedUnsignedInt?: number; + fixedUnsignedInt?: number|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedUri?: string; - _fixedUri?: Element; + fixedUri?: string|undefined; + _fixedUri?: Element|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedUrl?: string; - _fixedUrl?: Element; + fixedUrl?: string|undefined; + _fixedUrl?: Element|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedUuid?: string; - _fixedUuid?: Element; + fixedUuid?: string|undefined; + _fixedUuid?: Element|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedAddress?: Address; + fixedAddress?: Address|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedAge?: Age; + fixedAge?: Age|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedAnnotation?: Annotation; + fixedAnnotation?: Annotation|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedAttachment?: Attachment; + fixedAttachment?: Attachment|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedCodeableConcept?: CodeableConcept; + fixedCodeableConcept?: CodeableConcept|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedCoding?: Coding; + fixedCoding?: Coding|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedContactPoint?: ContactPoint; + fixedContactPoint?: ContactPoint|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedCount?: Count; + fixedCount?: Count|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedDistance?: Distance; + fixedDistance?: Distance|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedDuration?: Duration; + fixedDuration?: Duration|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedHumanName?: HumanName; + fixedHumanName?: HumanName|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedIdentifier?: Identifier; + fixedIdentifier?: Identifier|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedMoney?: Money; + fixedMoney?: Money|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedPeriod?: Period; + fixedPeriod?: Period|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedQuantity?: Quantity; + fixedQuantity?: Quantity|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedRange?: Range; + fixedRange?: Range|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedRatio?: Ratio; + fixedRatio?: Ratio|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedReference?: Reference; + fixedReference?: Reference|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedSampledData?: SampledData; + fixedSampledData?: SampledData|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedSignature?: Signature; + fixedSignature?: Signature|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedTiming?: Timing; + fixedTiming?: Timing|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedContactDetail?: ContactDetail; + fixedContactDetail?: ContactDetail|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedContributor?: Contributor; + fixedContributor?: Contributor|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedDataRequirement?: DataRequirement; + fixedDataRequirement?: DataRequirement|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedExpression?: Expression; + fixedExpression?: Expression|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedParameterDefinition?: ParameterDefinition; + fixedParameterDefinition?: ParameterDefinition|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedRelatedArtifact?: RelatedArtifact; + fixedRelatedArtifact?: RelatedArtifact|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedTriggerDefinition?: TriggerDefinition; + fixedTriggerDefinition?: TriggerDefinition|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedUsageContext?: UsageContext; + fixedUsageContext?: UsageContext|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedDosage?: Dosage; + fixedDosage?: Dosage|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedMeta?: Meta; + fixedMeta?: Meta|undefined; /** * Only the definition of an element can set IsModifier true - either the specification itself or where an extension is originally defined. Once set, it cannot be changed in derived profiles. An element/extension that has isModifier=true SHOULD also have a minimum cardinality of 1, so that there is no lack of clarity about what to do if it is missing. If it can be missing, the definition SHALL make the meaning of a missing element clear. */ - isModifier?: boolean; - _isModifier?: Element; + isModifier?: boolean|undefined; + _isModifier?: Element|undefined; /** * Explains how that element affects the interpretation of the resource or element that contains it. */ - isModifierReason?: string; - _isModifierReason?: Element; + isModifierReason?: string|undefined; + _isModifierReason?: Element|undefined; /** * Some resources include a set of simple metadata, and some very large data. This element is used to reduce the quantity of data returned in searches. Note that servers may pre-cache summarized resources for optimal performance, so servers might not support per-profile use of the isSummary flag. When a request is made with _summary=true, serailisers only include elements marked as 'isSummary = true'. Other than Attachment.data, all data type properties are included in the summary form. In resource and data type definitions, if an element is at the root or has a parent that is 'mustSupport' and the minimum cardinality is 1 or the element is a modifier, it must be marked as isSummary=true. */ - isSummary?: boolean; - _isSummary?: Element; + isSummary?: boolean|undefined; + _isSummary?: Element|undefined; /** * See also the extension (http://hl7.org/fhir/StructureDefinition/elementdefinition-question)[extension-elementdefinition-question.html]. */ - label?: string; - _label?: Element; + label?: string|undefined; + _label?: Element|undefined; /** * Mappings are not necessarily specific enough for safe translation. */ - mapping?: ElementDefinitionMapping[]; + mapping?: ElementDefinitionMapping[]|undefined; /** * The maximum number of times this element is permitted to appear in the instance. */ - max?: string; - _max?: Element; + max?: string|undefined; + _max?: Element|undefined; /** * Receivers are not required to reject instances that exceed the maximum length. The full length could be stored. In some cases, data might be truncated, though truncation should be undertaken with care and an understanding of the consequences of doing so. If not specified, there is no conformance expectation for length support. */ - maxLength?: number; + maxLength?: number|undefined; /** * Except for date/date/instant, the type of the maxValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of maxValue[x] SHALL be either the same, or a [Duration](datatypes.html#Duration) which specifies a relative time limit to the current time. The duration value is positive, and is added to the current clock to determine the maximum allowable value. A maximum value for a Quantity is interpreted as an canonical maximum - e.g. you cannot provide 10g if the maximum value is 50mg. */ - maxValueDate?: string; - _maxValueDate?: Element; + maxValueDate?: string|undefined; + _maxValueDate?: Element|undefined; /** * Except for date/date/instant, the type of the maxValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of maxValue[x] SHALL be either the same, or a [Duration](datatypes.html#Duration) which specifies a relative time limit to the current time. The duration value is positive, and is added to the current clock to determine the maximum allowable value. A maximum value for a Quantity is interpreted as an canonical maximum - e.g. you cannot provide 10g if the maximum value is 50mg. */ - maxValueDateTime?: string; - _maxValueDateTime?: Element; + maxValueDateTime?: string|undefined; + _maxValueDateTime?: Element|undefined; /** * Except for date/date/instant, the type of the maxValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of maxValue[x] SHALL be either the same, or a [Duration](datatypes.html#Duration) which specifies a relative time limit to the current time. The duration value is positive, and is added to the current clock to determine the maximum allowable value. A maximum value for a Quantity is interpreted as an canonical maximum - e.g. you cannot provide 10g if the maximum value is 50mg. */ - maxValueInstant?: string; - _maxValueInstant?: Element; + maxValueInstant?: string|undefined; + _maxValueInstant?: Element|undefined; /** * Except for date/date/instant, the type of the maxValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of maxValue[x] SHALL be either the same, or a [Duration](datatypes.html#Duration) which specifies a relative time limit to the current time. The duration value is positive, and is added to the current clock to determine the maximum allowable value. A maximum value for a Quantity is interpreted as an canonical maximum - e.g. you cannot provide 10g if the maximum value is 50mg. */ - maxValueTime?: string; - _maxValueTime?: Element; + maxValueTime?: string|undefined; + _maxValueTime?: Element|undefined; /** * Except for date/date/instant, the type of the maxValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of maxValue[x] SHALL be either the same, or a [Duration](datatypes.html#Duration) which specifies a relative time limit to the current time. The duration value is positive, and is added to the current clock to determine the maximum allowable value. A maximum value for a Quantity is interpreted as an canonical maximum - e.g. you cannot provide 10g if the maximum value is 50mg. */ - maxValueDecimal?: number; + maxValueDecimal?: number|undefined; /** * Except for date/date/instant, the type of the maxValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of maxValue[x] SHALL be either the same, or a [Duration](datatypes.html#Duration) which specifies a relative time limit to the current time. The duration value is positive, and is added to the current clock to determine the maximum allowable value. A maximum value for a Quantity is interpreted as an canonical maximum - e.g. you cannot provide 10g if the maximum value is 50mg. */ - maxValueInteger?: number; + maxValueInteger?: number|undefined; /** * Except for date/date/instant, the type of the maxValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of maxValue[x] SHALL be either the same, or a [Duration](datatypes.html#Duration) which specifies a relative time limit to the current time. The duration value is positive, and is added to the current clock to determine the maximum allowable value. A maximum value for a Quantity is interpreted as an canonical maximum - e.g. you cannot provide 10g if the maximum value is 50mg. */ - maxValuePositiveInt?: number; + maxValuePositiveInt?: number|undefined; /** * Except for date/date/instant, the type of the maxValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of maxValue[x] SHALL be either the same, or a [Duration](datatypes.html#Duration) which specifies a relative time limit to the current time. The duration value is positive, and is added to the current clock to determine the maximum allowable value. A maximum value for a Quantity is interpreted as an canonical maximum - e.g. you cannot provide 10g if the maximum value is 50mg. */ - maxValueUnsignedInt?: number; + maxValueUnsignedInt?: number|undefined; /** * Except for date/date/instant, the type of the maxValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of maxValue[x] SHALL be either the same, or a [Duration](datatypes.html#Duration) which specifies a relative time limit to the current time. The duration value is positive, and is added to the current clock to determine the maximum allowable value. A maximum value for a Quantity is interpreted as an canonical maximum - e.g. you cannot provide 10g if the maximum value is 50mg. */ - maxValueQuantity?: Quantity; + maxValueQuantity?: Quantity|undefined; /** * Implicit meanings for missing values can only be specified on a resource, data type, or extension definition, and never in a profile that applies to one of these. An implicit meaning for a missing value can never be changed, and specifying one has the consequence that constraining its use in profiles eliminates use cases as possibilities, not merely moving them out of scope. */ - meaningWhenMissing?: string; - _meaningWhenMissing?: Element; + meaningWhenMissing?: string|undefined; + _meaningWhenMissing?: Element|undefined; /** * The minimum number of times this element SHALL appear in the instance. */ - min?: number; + min?: number|undefined; /** * Except for date/date/instant, the type of the minValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of minValue[x] SHALL be either the same, or a [Duration](datatypes.html#Duration) which specifies a relative time limit to the current time. The duration value is positive, and is subtracted from the current clock to determine the minimum allowable value. A minimum value for a Quantity is interpreted as an canonical minimum - e.g. you cannot provide 100mg if the minimum value is 10g. */ - minValueDate?: string; - _minValueDate?: Element; + minValueDate?: string|undefined; + _minValueDate?: Element|undefined; /** * Except for date/date/instant, the type of the minValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of minValue[x] SHALL be either the same, or a [Duration](datatypes.html#Duration) which specifies a relative time limit to the current time. The duration value is positive, and is subtracted from the current clock to determine the minimum allowable value. A minimum value for a Quantity is interpreted as an canonical minimum - e.g. you cannot provide 100mg if the minimum value is 10g. */ - minValueDateTime?: string; - _minValueDateTime?: Element; + minValueDateTime?: string|undefined; + _minValueDateTime?: Element|undefined; /** * Except for date/date/instant, the type of the minValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of minValue[x] SHALL be either the same, or a [Duration](datatypes.html#Duration) which specifies a relative time limit to the current time. The duration value is positive, and is subtracted from the current clock to determine the minimum allowable value. A minimum value for a Quantity is interpreted as an canonical minimum - e.g. you cannot provide 100mg if the minimum value is 10g. */ - minValueInstant?: string; - _minValueInstant?: Element; + minValueInstant?: string|undefined; + _minValueInstant?: Element|undefined; /** * Except for date/date/instant, the type of the minValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of minValue[x] SHALL be either the same, or a [Duration](datatypes.html#Duration) which specifies a relative time limit to the current time. The duration value is positive, and is subtracted from the current clock to determine the minimum allowable value. A minimum value for a Quantity is interpreted as an canonical minimum - e.g. you cannot provide 100mg if the minimum value is 10g. */ - minValueTime?: string; - _minValueTime?: Element; + minValueTime?: string|undefined; + _minValueTime?: Element|undefined; /** * Except for date/date/instant, the type of the minValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of minValue[x] SHALL be either the same, or a [Duration](datatypes.html#Duration) which specifies a relative time limit to the current time. The duration value is positive, and is subtracted from the current clock to determine the minimum allowable value. A minimum value for a Quantity is interpreted as an canonical minimum - e.g. you cannot provide 100mg if the minimum value is 10g. */ - minValueDecimal?: number; + minValueDecimal?: number|undefined; /** * Except for date/date/instant, the type of the minValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of minValue[x] SHALL be either the same, or a [Duration](datatypes.html#Duration) which specifies a relative time limit to the current time. The duration value is positive, and is subtracted from the current clock to determine the minimum allowable value. A minimum value for a Quantity is interpreted as an canonical minimum - e.g. you cannot provide 100mg if the minimum value is 10g. */ - minValueInteger?: number; + minValueInteger?: number|undefined; /** * Except for date/date/instant, the type of the minValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of minValue[x] SHALL be either the same, or a [Duration](datatypes.html#Duration) which specifies a relative time limit to the current time. The duration value is positive, and is subtracted from the current clock to determine the minimum allowable value. A minimum value for a Quantity is interpreted as an canonical minimum - e.g. you cannot provide 100mg if the minimum value is 10g. */ - minValuePositiveInt?: number; + minValuePositiveInt?: number|undefined; /** * Except for date/date/instant, the type of the minValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of minValue[x] SHALL be either the same, or a [Duration](datatypes.html#Duration) which specifies a relative time limit to the current time. The duration value is positive, and is subtracted from the current clock to determine the minimum allowable value. A minimum value for a Quantity is interpreted as an canonical minimum - e.g. you cannot provide 100mg if the minimum value is 10g. */ - minValueUnsignedInt?: number; + minValueUnsignedInt?: number|undefined; /** * Except for date/date/instant, the type of the minValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of minValue[x] SHALL be either the same, or a [Duration](datatypes.html#Duration) which specifies a relative time limit to the current time. The duration value is positive, and is subtracted from the current clock to determine the minimum allowable value. A minimum value for a Quantity is interpreted as an canonical minimum - e.g. you cannot provide 100mg if the minimum value is 10g. */ - minValueQuantity?: Quantity; + minValueQuantity?: Quantity|undefined; /** * "Something useful" is context dependent and impossible to describe in the base FHIR specification. For this reason, tue mustSupport flag is never set to true by the FHIR specification itself - it is only set to true in profiles. A profile on a type can always make musSupport = true if it is false in the base type but cannot make mustSupport = false if it is true in the base type. This is done in [Resource Profiles](profiling.html#mustsupport), where the profile labels an element as mustSupport=true. When a profile does this, it SHALL also make clear exactly what kind of "support" is required, as this can mean many things. Note that an element that has the property IsModifier is not necessarily a "key" element (e.g. one of the important elements to make use of the resource), nor is it automatically mustSupport - however both of these things are more likely to be true for IsModifier elements than for other elements. */ - mustSupport?: boolean; - _mustSupport?: Element; + mustSupport?: boolean|undefined; + _mustSupport?: Element|undefined; /** * This element can only be asserted on repeating elements and can only be introduced when defining resources or data types. It can be further refined profiled elements but if absent in the base type, a profile cannot assert meaning. */ - orderMeaning?: string; - _orderMeaning?: Element; + orderMeaning?: string|undefined; + _orderMeaning?: Element|undefined; /** * 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; - _path?: Element; + _path?: Element|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternBase64Binary?: string; - _patternBase64Binary?: Element; + patternBase64Binary?: string|undefined; + _patternBase64Binary?: Element|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternBoolean?: boolean; - _patternBoolean?: Element; + patternBoolean?: boolean|undefined; + _patternBoolean?: Element|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternCanonical?: string; - _patternCanonical?: Element; + patternCanonical?: string|undefined; + _patternCanonical?: Element|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternCode?: string; - _patternCode?: Element; + patternCode?: string|undefined; + _patternCode?: Element|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternDate?: string; - _patternDate?: Element; + patternDate?: string|undefined; + _patternDate?: Element|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternDateTime?: string; - _patternDateTime?: Element; + patternDateTime?: string|undefined; + _patternDateTime?: Element|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternDecimal?: number; + patternDecimal?: number|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternId?: string; - _patternId?: Element; + patternId?: string|undefined; + _patternId?: Element|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternInstant?: string; - _patternInstant?: Element; + patternInstant?: string|undefined; + _patternInstant?: Element|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternInteger?: number; + patternInteger?: number|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternMarkdown?: string; - _patternMarkdown?: Element; + patternMarkdown?: string|undefined; + _patternMarkdown?: Element|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternOid?: string; - _patternOid?: Element; + patternOid?: string|undefined; + _patternOid?: Element|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternPositiveInt?: number; + patternPositiveInt?: number|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternString?: string; - _patternString?: Element; + patternString?: string|undefined; + _patternString?: Element|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternTime?: string; - _patternTime?: Element; + patternTime?: string|undefined; + _patternTime?: Element|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternUnsignedInt?: number; + patternUnsignedInt?: number|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternUri?: string; - _patternUri?: Element; + patternUri?: string|undefined; + _patternUri?: Element|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternUrl?: string; - _patternUrl?: Element; + patternUrl?: string|undefined; + _patternUrl?: Element|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternUuid?: string; - _patternUuid?: Element; + patternUuid?: string|undefined; + _patternUuid?: Element|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternAddress?: Address; + patternAddress?: Address|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternAge?: Age; + patternAge?: Age|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternAnnotation?: Annotation; + patternAnnotation?: Annotation|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternAttachment?: Attachment; + patternAttachment?: Attachment|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternCodeableConcept?: CodeableConcept; + patternCodeableConcept?: CodeableConcept|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternCoding?: Coding; + patternCoding?: Coding|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternContactPoint?: ContactPoint; + patternContactPoint?: ContactPoint|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternCount?: Count; + patternCount?: Count|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternDistance?: Distance; + patternDistance?: Distance|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternDuration?: Duration; + patternDuration?: Duration|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternHumanName?: HumanName; + patternHumanName?: HumanName|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternIdentifier?: Identifier; + patternIdentifier?: Identifier|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternMoney?: Money; + patternMoney?: Money|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternPeriod?: Period; + patternPeriod?: Period|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternQuantity?: Quantity; + patternQuantity?: Quantity|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternRange?: Range; + patternRange?: Range|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternRatio?: Ratio; + patternRatio?: Ratio|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternReference?: Reference; + patternReference?: Reference|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternSampledData?: SampledData; + patternSampledData?: SampledData|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternSignature?: Signature; + patternSignature?: Signature|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternTiming?: Timing; + patternTiming?: Timing|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternContactDetail?: ContactDetail; + patternContactDetail?: ContactDetail|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternContributor?: Contributor; + patternContributor?: Contributor|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternDataRequirement?: DataRequirement; + patternDataRequirement?: DataRequirement|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternExpression?: Expression; + patternExpression?: Expression|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternParameterDefinition?: ParameterDefinition; + patternParameterDefinition?: ParameterDefinition|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternRelatedArtifact?: RelatedArtifact; + patternRelatedArtifact?: RelatedArtifact|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternTriggerDefinition?: TriggerDefinition; + patternTriggerDefinition?: TriggerDefinition|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternUsageContext?: UsageContext; + patternUsageContext?: UsageContext|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternDosage?: Dosage; + patternDosage?: Dosage|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternMeta?: Meta; + patternMeta?: Meta|undefined; /** * In resources, this is rarely used except for special cases where the representation deviates from the normal, and can only be done in the base standard (and profiles must reproduce what the base standard does). This element is used quite commonly in Logical models when the logical models represent a specific serialization format (e.g. CDA, v2 etc.). */ - representation?: ElementDefinitionRepresentationCodes[]; - _representation?: Element[]; + representation?: ElementDefinitionRepresentationCodes[]|undefined; + _representation?: Element[]|undefined; /** * This element does not describe the usage of the element (that's done in comments), rather it's for traceability of *why* the element is either needed or why the constraints exist as they do. This may be used to point to source materials or specifications that drove the structure of this data element. */ - requirements?: string; - _requirements?: Element; + requirements?: string|undefined; + _requirements?: Element|undefined; /** * It is easy for a different short definition to change the meaning of an element and this can have nasty downstream consequences. Please be careful when providing short definitions in a profile. */ - short?: string; - _short?: Element; + short?: string|undefined; + _short?: Element|undefined; /** * If set to true, an ancestor profile SHALL have a slicing definition with this name. If set to false, no ancestor profile is permitted to have a slicing definition with this name. */ - sliceIsConstraining?: boolean; - _sliceIsConstraining?: Element; + sliceIsConstraining?: boolean|undefined; + _sliceIsConstraining?: Element|undefined; /** * The name SHALL be unique within the structure within the context of the constrained resource element. (Though to avoid confusion, uniqueness across all elements is recommended.). */ - sliceName?: string; - _sliceName?: Element; + sliceName?: string|undefined; + _sliceName?: Element|undefined; /** * The first element in the sequence, the one that carries the slicing, is the definition that applies to all the slices. This is based on the unconstrained element, but can apply any constraints as appropriate. This may include the common constraints on the children of the element. */ - slicing?: ElementDefinitionSlicing; + slicing?: ElementDefinitionSlicing|undefined; /** * The Type of the element can be left blank in a differential constraint, in which case the type is inherited from the resource. Abstract types are not permitted to appear as a type when multiple types are listed. (I.e. Abstract types cannot be part of a choice). */ - type?: ElementDefinitionType[]; + type?: ElementDefinitionType[]|undefined; } /** * Code Values for the ElementDefinition.representation field @@ -1919,28 +1919,28 @@ export interface Expression extends Element { /** * A brief, natural language description of the condition that effectively communicates the intended semantics. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * An expression in the specified language that returns a value. */ - expression?: string; - _expression?: Element; + expression?: string|undefined; + _expression?: Element|undefined; /** * The media type of the language for the expression. */ language: string; - _language?: Element; + _language?: Element|undefined; /** * A short name assigned to the expression to allow for multiple reuse of the expression in the context where it is defined. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * If both a reference and an expression is found, the reference SHALL point to the same expression. */ - reference?: string; - _reference?: Element; + reference?: string|undefined; + _reference?: Element|undefined; } /** * Code Values for the Expression.language field @@ -1958,222 +1958,222 @@ export interface Extension extends Element { * The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. */ url: string; - _url?: Element; + _url?: Element|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueBase64Binary?: string; - _valueBase64Binary?: Element; + valueBase64Binary?: string|undefined; + _valueBase64Binary?: Element|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueBoolean?: boolean; - _valueBoolean?: Element; + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueCanonical?: string; - _valueCanonical?: Element; + valueCanonical?: string|undefined; + _valueCanonical?: Element|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueCode?: string; - _valueCode?: Element; + valueCode?: string|undefined; + _valueCode?: Element|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueDate?: string; - _valueDate?: Element; + valueDate?: string|undefined; + _valueDate?: Element|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueDateTime?: string; - _valueDateTime?: Element; + valueDateTime?: string|undefined; + _valueDateTime?: Element|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueDecimal?: number; + valueDecimal?: number|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueId?: string; - _valueId?: Element; + valueId?: string|undefined; + _valueId?: Element|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueInstant?: string; - _valueInstant?: Element; + valueInstant?: string|undefined; + _valueInstant?: Element|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueInteger?: number; + valueInteger?: number|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueMarkdown?: string; - _valueMarkdown?: Element; + valueMarkdown?: string|undefined; + _valueMarkdown?: Element|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueOid?: string; - _valueOid?: Element; + valueOid?: string|undefined; + _valueOid?: Element|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valuePositiveInt?: number; + valuePositiveInt?: number|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueString?: string; - _valueString?: Element; + valueString?: string|undefined; + _valueString?: Element|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueTime?: string; - _valueTime?: Element; + valueTime?: string|undefined; + _valueTime?: Element|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueUnsignedInt?: number; + valueUnsignedInt?: number|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueUri?: string; - _valueUri?: Element; + valueUri?: string|undefined; + _valueUri?: Element|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueUrl?: string; - _valueUrl?: Element; + valueUrl?: string|undefined; + _valueUrl?: Element|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueUuid?: string; - _valueUuid?: Element; + valueUuid?: string|undefined; + _valueUuid?: Element|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueAddress?: Address; + valueAddress?: Address|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueAge?: Age; + valueAge?: Age|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueAnnotation?: Annotation; + valueAnnotation?: Annotation|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueAttachment?: Attachment; + valueAttachment?: Attachment|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueCodeableConcept?: CodeableConcept; + valueCodeableConcept?: CodeableConcept|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueCoding?: Coding; + valueCoding?: Coding|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueContactPoint?: ContactPoint; + valueContactPoint?: ContactPoint|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueCount?: Count; + valueCount?: Count|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueDistance?: Distance; + valueDistance?: Distance|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueDuration?: Duration; + valueDuration?: Duration|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueHumanName?: HumanName; + valueHumanName?: HumanName|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueIdentifier?: Identifier; + valueIdentifier?: Identifier|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueMoney?: Money; + valueMoney?: Money|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valuePeriod?: Period; + valuePeriod?: Period|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueRange?: Range; + valueRange?: Range|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueRatio?: Ratio; + valueRatio?: Ratio|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueReference?: Reference; + valueReference?: Reference|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueSampledData?: SampledData; + valueSampledData?: SampledData|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueSignature?: Signature; + valueSignature?: Signature|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueTiming?: Timing; + valueTiming?: Timing|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueContactDetail?: ContactDetail; + valueContactDetail?: ContactDetail|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueContributor?: Contributor; + valueContributor?: Contributor|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueDataRequirement?: DataRequirement; + valueDataRequirement?: DataRequirement|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueExpression?: Expression; + valueExpression?: Expression|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueParameterDefinition?: ParameterDefinition; + valueParameterDefinition?: ParameterDefinition|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueRelatedArtifact?: RelatedArtifact; + valueRelatedArtifact?: RelatedArtifact|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueTriggerDefinition?: TriggerDefinition; + valueTriggerDefinition?: TriggerDefinition|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueUsageContext?: UsageContext; + valueUsageContext?: UsageContext|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueDosage?: Dosage; + valueDosage?: Dosage|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueMeta?: Meta; + valueMeta?: Meta|undefined; } /** * A human's name with the ability to identify parts and usage. @@ -2182,37 +2182,37 @@ export interface HumanName extends Element { /** * Family Name may be decomposed into specific parts using extensions (de, nl, es related cultures). */ - family?: string; - _family?: Element; + family?: string|undefined; + _family?: Element|undefined; /** * If only initials are recorded, they may be used in place of the full name parts. Initials may be separated into multiple given names but often aren't due to paractical limitations. This element is not called "first name" since given names do not always come first. */ - given?: string[]; - _given?: Element[]; + given?: string[]|undefined; + _given?: Element[]|undefined; /** * Indicates the period of time when this name was valid for the named person. */ - period?: Period; + period?: Period|undefined; /** * Part of the name that is acquired as a title due to academic, legal, employment or nobility status, etc. and that appears at the start of the name. */ - prefix?: string[]; - _prefix?: Element[]; + prefix?: string[]|undefined; + _prefix?: Element[]|undefined; /** * Part of the name that is acquired as a title due to academic, legal, employment or nobility status, etc. and that appears at the end of the name. */ - suffix?: string[]; - _suffix?: Element[]; + suffix?: string[]|undefined; + _suffix?: Element[]|undefined; /** * Can provide both a text representation and parts. Applications updating a name SHALL ensure that when both text and parts are present, no content is included in the text that isn't found in a part. */ - text?: string; - _text?: Element; + text?: string|undefined; + _text?: Element|undefined; /** * Applications can assume that a name is current unless it explicitly says that it is temporary or old. */ - use?: HumanNameUseCodes; - _use?: Element; + use?: HumanNameUseCodes|undefined; + _use?: Element|undefined; } /** * Code Values for the HumanName.use field @@ -2233,30 +2233,30 @@ export interface Identifier extends Element { /** * The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization. */ - assigner?: Reference; + assigner?: Reference|undefined; /** * Time period during which identifier is/was valid for use. */ - period?: Period; + period?: Period|undefined; /** * Identifier.system is always case sensitive. */ - system?: string; - _system?: Element; + system?: string|undefined; + _system?: Element|undefined; /** * This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage. Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; /** * Applications can assume that an identifier is permanent unless it explicitly says that it is temporary. */ - use?: IdentifierUseCodes; - _use?: Element; + use?: IdentifierUseCodes|undefined; + _use?: Element|undefined; /** * If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the [Rendered Value extension](extension-rendered-value.html). Identifier.value is to be treated as case sensitive unless knowledge of the Identifier.system allows the processer to be confident that non-case-sensitive processing is safe. */ - value?: string; - _value?: Element; + value?: string|undefined; + _value?: Element|undefined; } /** * Code Values for the Identifier.use field @@ -2283,12 +2283,12 @@ export interface MarketingStatus extends BackboneElement { /** * Where a Medicines Regulatory Agency has granted a marketing authorisation for which specific provisions within a jurisdiction apply, the jurisdiction can be specified using an appropriate controlled terminology The controlled term and the controlled term identifier shall be specified. */ - jurisdiction?: CodeableConcept; + jurisdiction?: CodeableConcept|undefined; /** * The date when the Medicinal Product is placed on the market by the Marketing Authorisation Holder (or where applicable, the manufacturer/distributor) in a country and/or jurisdiction shall be provided A complete date consisting of day, month and year shall be specified using the ISO 8601 date format NOTE “Placed on the market” refers to the release of the Medicinal Product into the distribution chain. */ - restoreDate?: string; - _restoreDate?: Element; + restoreDate?: string|undefined; + _restoreDate?: Element|undefined; /** * This attribute provides information on the status of the marketing of the medicinal product See ISO/TS 20443 for more information and examples. */ @@ -2301,32 +2301,32 @@ export interface Meta extends Element { /** * This value is always populated except when the resource is first being created. The server / resource manager sets this value; what a client provides is irrelevant. This is equivalent to the HTTP Last-Modified and SHOULD have the same value on a [read](http.html#read) interaction. */ - lastUpdated?: string; - _lastUpdated?: Element; + lastUpdated?: string|undefined; + _lastUpdated?: Element|undefined; /** * It is up to the server and/or other infrastructure of policy to determine whether/how these claims are verified and/or updated over time. The list of profile URLs is a set. */ - profile?: string[]; - _profile?: Element[]; + profile?: string[]|undefined; + _profile?: Element[]|undefined; /** * The security labels can be updated without changing the stated version of the resource. The list of security labels is a set. Uniqueness is based the system/code, and version and display are ignored. */ - security?: Coding[]; + security?: Coding[]|undefined; /** * In the provenance resource, this corresponds to Provenance.entity.what[x]. The exact use of the source (and the implied Provenance.entity.role) is left to implementer discretion. Only one nominated source is allowed; for additional provenance details, a full Provenance resource should be used. * This element can be used to indicate where the current master source of a resource that has a canonical URL if the resource is no longer hosted at the canonical URL. */ - source?: string; - _source?: Element; + source?: string|undefined; + _source?: Element|undefined; /** * The tags can be updated without changing the stated version of the resource. The list of tags is a set. Uniqueness is based the system/code, and version and display are ignored. */ - tag?: Coding[]; + tag?: Coding[]|undefined; /** * The server assigns this value, and ignores what the client specifies, except in the case that the server is imposing version integrity on updates/deletes. */ - versionId?: string; - _versionId?: Element; + versionId?: string|undefined; + _versionId?: Element|undefined; } /** * An amount of economic utility in some recognized currency. @@ -2335,12 +2335,12 @@ export interface Money extends Element { /** * ISO 4217 Currency Code. */ - currency?: string; - _currency?: Element; + currency?: string|undefined; + _currency?: Element|undefined; /** * Monetary values have their own rules for handling precision (refer to standard accounting text books). */ - value?: number; + value?: number|undefined; } /** * A human-readable summary of the resource conveying the essential clinical and business information for the resource. @@ -2350,12 +2350,12 @@ export interface Narrative extends Element { * The contents of the html element are an XHTML fragment containing only the basic html formatting elements described in chapters 7-11 and 15 of the HTML 4.0 standard, elements (either name or href), images and internally contained stylesheets. The XHTML content SHALL NOT contain a head, a body, external stylesheet references, scripts, forms, base/link/xlink, frames, iframes and objects. */ div: string; - _div?: Element; + _div?: Element|undefined; /** * The status of the narrative - whether it's entirely generated (from just the defined data or the extensions too), or whether a human authored it and it may contain additional data. */ status: NarrativeStatusCodes; - _status?: Element; + _status?: Element|undefined; } /** * Code Values for the Narrative.status field @@ -2373,37 +2373,37 @@ export interface ParameterDefinition extends Element { /** * A brief discussion of what the parameter is for and how it is used by the module. */ - documentation?: string; - _documentation?: Element; + documentation?: string|undefined; + _documentation?: Element|undefined; /** * The maximum number of times this element is permitted to appear in the request or response. */ - max?: string; - _max?: Element; + max?: string|undefined; + _max?: Element|undefined; /** * The minimum number of times this parameter SHALL appear in the request or response. */ - min?: number; + min?: number|undefined; /** * The name of the parameter used to allow access to the value of the parameter in evaluation contexts. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * If specified, this indicates a profile that the input data must conform to, or that the output data will conform to. */ - profile?: string; - _profile?: Element; + profile?: string|undefined; + _profile?: Element|undefined; /** * The type of the parameter. */ type: string; - _type?: Element; + _type?: Element|undefined; /** * Whether the parameter is input or output for the module. */ use: ParameterDefinitionUseCodes; - _use?: Element; + _use?: Element|undefined; } /** * Code Values for the ParameterDefinition.use field @@ -2419,13 +2419,13 @@ export interface Period extends Element { /** * The high value includes any matching date/time. i.e. 2012-02-03T10:00:00 is in a period that has an end value of 2012-02-03. */ - end?: string; - _end?: Element; + end?: string|undefined; + _end?: Element|undefined; /** * If the low element is missing, the meaning is that the low boundary is not known. */ - start?: string; - _start?: Element; + start?: string|undefined; + _start?: Element|undefined; } /** * A populatioof people with some set of grouping criteria. @@ -2434,23 +2434,23 @@ export interface Population extends BackboneElement { /** * The age of the specific population. */ - ageRange?: Range; + ageRange?: Range|undefined; /** * The age of the specific population. */ - ageCodeableConcept?: CodeableConcept; + ageCodeableConcept?: CodeableConcept|undefined; /** * The gender of the specific population. */ - gender?: CodeableConcept; + gender?: CodeableConcept|undefined; /** * The existing physiological conditions of the specific population to which this applies. */ - physiologicalCondition?: CodeableConcept; + physiologicalCondition?: CodeableConcept|undefined; /** * Race of the specific population. */ - race?: CodeableConcept; + race?: CodeableConcept|undefined; } /** * 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. @@ -2459,50 +2459,50 @@ export interface ProdCharacteristic extends BackboneElement { /** * Where applicable, the color can be specified An appropriate controlled vocabulary shall be used The term and the term identifier shall be used. */ - color?: string[]; - _color?: Element[]; + color?: string[]|undefined; + _color?: Element[]|undefined; /** * Where applicable, the depth can be specified using a numerical value and its unit of measurement The unit of measurement shall be specified in accordance with ISO 11240 and the resulting terminology The symbol and the symbol identifier shall be used. */ - depth?: Quantity; + depth?: Quantity|undefined; /** * Where applicable, the external diameter can be specified using a numerical value and its unit of measurement The unit of measurement shall be specified in accordance with ISO 11240 and the resulting terminology The symbol and the symbol identifier shall be used. */ - externalDiameter?: Quantity; + externalDiameter?: Quantity|undefined; /** * Where applicable, the height can be specified using a numerical value and its unit of measurement The unit of measurement shall be specified in accordance with ISO 11240 and the resulting terminology The symbol and the symbol identifier shall be used. */ - height?: Quantity; + height?: Quantity|undefined; /** * Where applicable, the image can be provided The format of the image attachment shall be specified by regional implementations. */ - image?: Attachment[]; + image?: Attachment[]|undefined; /** * Where applicable, the imprint can be specified as text. */ - imprint?: string[]; - _imprint?: Element[]; + imprint?: string[]|undefined; + _imprint?: Element[]|undefined; /** * Where applicable, the nominal volume can be specified using a numerical value and its unit of measurement The unit of measurement shall be specified in accordance with ISO 11240 and the resulting terminology The symbol and the symbol identifier shall be used. */ - nominalVolume?: Quantity; + nominalVolume?: Quantity|undefined; /** * Where applicable, the scoring can be specified An appropriate controlled vocabulary shall be used The term and the term identifier shall be used. */ - scoring?: CodeableConcept; + scoring?: CodeableConcept|undefined; /** * Where applicable, the shape can be specified An appropriate controlled vocabulary shall be used The term and the term identifier shall be used. */ - shape?: string; - _shape?: Element; + shape?: string|undefined; + _shape?: Element|undefined; /** * Where applicable, the weight can be specified using a numerical value and its unit of measurement The unit of measurement shall be specified in accordance with ISO 11240 and the resulting terminology The symbol and the symbol identifier shall be used. */ - weight?: Quantity; + weight?: Quantity|undefined; /** * Where applicable, the width can be specified using a numerical value and its unit of measurement The unit of measurement shall be specified in accordance with ISO 11240 and the resulting terminology The symbol and the symbol identifier shall be used. */ - width?: Quantity; + width?: Quantity|undefined; } /** * The shelf-life and storage information for a medicinal product item or container can be described using this class. @@ -2511,7 +2511,7 @@ export interface ProductShelfLife extends BackboneElement { /** * Unique identifier for the packaged Medicinal Product. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * The shelf life time period can be specified using a numerical value for the period of time and its unit of time measurement The unit of measurement shall be specified in accordance with ISO 11240 and the resulting terminology The symbol and the symbol identifier shall be used. */ @@ -2519,7 +2519,7 @@ export interface ProductShelfLife extends BackboneElement { /** * Special precautions for storage, if any, can be specified using an appropriate controlled vocabulary The controlled term and the controlled term identifier shall be specified. */ - specialPrecautionsForStorage?: CodeableConcept[]; + specialPrecautionsForStorage?: CodeableConcept[]|undefined; /** * This describes the shelf life, taking into account various scenarios such as shelf life of the packaged Medicinal Product itself, shelf life after transformation where necessary and shelf life after the first opening of a bottle, etc. The shelf life type shall be specified using an appropriate controlled vocabulary The controlled term and the controlled term identifier shall be specified. */ @@ -2532,27 +2532,27 @@ export interface Quantity extends Element { /** * The preferred system is UCUM, but SNOMED CT can also be used (for customary units) or ISO 4217 for currency. The context of use may additionally require a code from a particular system. */ - code?: string; - _code?: Element; + code?: string|undefined; + _code?: Element|undefined; /** * How the value should be understood and represented - whether the actual value is greater or less than the stated value due to measurement issues; e.g. if the comparator is "<" , then the real value is < stated value. */ - comparator?: QuantityComparatorCodes; - _comparator?: Element; + comparator?: QuantityComparatorCodes|undefined; + _comparator?: Element|undefined; /** * The identification of the system that provides the coded form of the unit. */ - system?: string; - _system?: Element; + system?: string|undefined; + _system?: Element|undefined; /** * A human-readable form of the unit. */ - unit?: string; - _unit?: Element; + unit?: string|undefined; + _unit?: Element|undefined; /** * The implicit precision in the value should always be honored. Monetary values have their own rules for handling precision (refer to standard accounting text books). */ - value?: number; + value?: number|undefined; } /** * Code Values for the Quantity.comparator field @@ -2570,11 +2570,11 @@ export interface Range extends Element { /** * If the high element is missing, the high boundary is not known. */ - high?: Quantity; + high?: Quantity|undefined; /** * If the low element is missing, the low boundary is not known. */ - low?: Quantity; + low?: Quantity|undefined; } /** * A relationship of two Quantity values - expressed as a numerator and a denominator. @@ -2583,11 +2583,11 @@ export interface Ratio extends Element { /** * The value of the denominator. */ - denominator?: Quantity; + denominator?: Quantity|undefined; /** * The value of the numerator. */ - numerator?: Quantity; + numerator?: Quantity|undefined; } /** * A reference from one resource to another. @@ -2596,25 +2596,25 @@ export interface Reference extends Element { /** * This is generally not the same as the Resource.text of the referenced resource. The purpose is to identify what's being referenced, not to fully describe it. */ - display?: string; - _display?: Element; + display?: string|undefined; + _display?: Element|undefined; /** * When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy. * When both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference * Applications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it. * Reference is intended to point to a structure that can potentially be expressed as a FHIR resource, though there is no need for it to exist as an actual FHIR resource instance - except in as much as an application wishes to actual find the target of the reference. The content referred to be the identifier must meet the logical constraints implied by any limitations on what resource types are permitted for the reference. For example, it would not be legitimate to send the identifier for a drug prescription if the type were Reference(Observation|DiagnosticReport). One of the use-cases for Reference.identifier is the situation where no FHIR representation exists (where the type is Reference (Any). */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries. Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure "/[type]/[id]" then it should be assumed that the reference is to a FHIR RESTful server. */ - reference?: string; - _reference?: Element; + reference?: string|undefined; + _reference?: Element|undefined; /** * This element is used to indicate the type of the target of the reference. This may be used which ever of the other elements are populated (or not). In some cases, the type of the target may be determined by inspection of the reference (e.g. a RESTful URL) or by resolving the target of the reference; if both the type and a reference is provided, the reference SHALL resolve to a resource of the same type as that specified. */ - type?: string; - _type?: Element; + type?: string|undefined; + _type?: Element|undefined; } /** * Related artifacts such as additional documentation, justification, or bibliographic references. @@ -2623,37 +2623,37 @@ export interface RelatedArtifact extends Element { /** * Additional structured information about citations should be captured as extensions. */ - citation?: string; - _citation?: Element; + citation?: string|undefined; + _citation?: Element|undefined; /** * A brief description of the document or knowledge resource being referenced, suitable for display to a consumer. */ - display?: string; - _display?: Element; + display?: string|undefined; + _display?: Element|undefined; /** * The document being referenced, represented as an attachment. This is exclusive with the resource element. */ - document?: Attachment; + document?: Attachment|undefined; /** * A short label that can be used to reference the citation from elsewhere in the containing artifact, such as a footnote index. */ - label?: string; - _label?: Element; + label?: string|undefined; + _label?: Element|undefined; /** * If the type is predecessor, this is a reference to the succeeding knowledge resource. If the type is successor, this is a reference to the prior knowledge resource. */ - resource?: string; - _resource?: Element; + resource?: string|undefined; + _resource?: Element|undefined; /** * The type of relationship to the related artifact. */ type: RelatedArtifactTypeCodes; - _type?: Element; + _type?: Element|undefined; /** * If a document or resource element is present, this element SHALL NOT be provided (use the url or reference in the Attachment or resource reference). */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; } /** * Code Values for the RelatedArtifact.type field @@ -2675,8 +2675,8 @@ export interface SampledData extends Element { /** * Data may be missing if it is omitted for summarization purposes. In general, data is required for any actual use of a SampledData. */ - data?: string; - _data?: Element; + data?: string|undefined; + _data?: Element|undefined; /** * If there is more than one dimension, the code for the type of data will define the meaning of the dimensions (typically ECG data). */ @@ -2684,11 +2684,11 @@ export interface SampledData extends Element { /** * A correction factor that is applied to the sampled data points before they are added to the origin. */ - factor?: number; + factor?: number|undefined; /** * The lower limit of detection of the measured points. This is needed if any of the data points have the value "L" (lower than detection limit). */ - lowerLimit?: number; + lowerLimit?: number|undefined; /** * The base quantity that a measured value of zero represents. In addition, this provides the units of the entire measurement series. */ @@ -2700,7 +2700,7 @@ export interface SampledData extends Element { /** * The upper limit of detection of the measured points. This is needed if any of the data points have the value "U" (higher than detection limit). */ - upperLimit?: number; + upperLimit?: number|undefined; } /** * 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. @@ -2709,22 +2709,22 @@ export interface Signature extends Element { /** * Where the signature type is an XML DigSig, the signed content is a FHIR Resource(s), the signature is of the XML form of the Resource(s) using XML-Signature (XMLDIG) "Detached Signature" form. */ - data?: string; - _data?: Element; + data?: string|undefined; + _data?: Element|undefined; /** * The party that can't sign. For example a child. */ - onBehalfOf?: Reference; + onBehalfOf?: Reference|undefined; /** * A mime type that indicates the technical format of the signature. Important mime types are application/signature+xml for X ML DigSig, application/jose for JWS, and image/* for a graphical image of a signature, etc. */ - sigFormat?: string; - _sigFormat?: Element; + sigFormat?: string|undefined; + _sigFormat?: Element|undefined; /** * "xml", "json" and "ttl" are allowed, which describe the simple encodings described in the specification (and imply appropriate bundle support). Otherwise, mime types are legal here. */ - targetFormat?: string; - _targetFormat?: Element; + targetFormat?: string|undefined; + _targetFormat?: Element|undefined; /** * Examples include attesting to: authorship, correct transcription, and witness of specific event. Also known as a "Commitment Type Indication". */ @@ -2733,7 +2733,7 @@ export interface Signature extends Element { * This should agree with the information in the signature. */ when: string; - _when?: Element; + _when?: Element|undefined; /** * This should agree with the information in the signature. */ @@ -2746,11 +2746,11 @@ export interface SubstanceAmountReferenceRange extends Element { /** * Upper limit possible or expected. */ - highLimit?: Quantity; + highLimit?: Quantity|undefined; /** * Lower limit possible or expected. */ - lowLimit?: Quantity; + lowLimit?: Quantity|undefined; } /** * 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. @@ -2759,29 +2759,29 @@ export interface SubstanceAmount extends BackboneElement { /** * Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field. */ - amountQuantity?: Quantity; + amountQuantity?: Quantity|undefined; /** * Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field. */ - amountRange?: Range; + amountRange?: Range|undefined; /** * Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field. */ - amountString?: string; - _amountString?: Element; + amountString?: string|undefined; + _amountString?: Element|undefined; /** * A textual comment on a numeric value. */ - amountText?: string; - _amountText?: Element; + amountText?: string|undefined; + _amountText?: Element|undefined; /** * Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements. */ - amountType?: CodeableConcept; + amountType?: CodeableConcept|undefined; /** * Reference range of possible or expected values. */ - referenceRange?: SubstanceAmountReferenceRange; + referenceRange?: SubstanceAmountReferenceRange|undefined; } /** * A set of rules that describe when the event is scheduled. @@ -2790,76 +2790,76 @@ export interface TimingRepeat extends Element { /** * Either a duration for the length of the timing schedule, a range of possible length, or outer bounds for start and/or end limits of the timing schedule. */ - boundsDuration?: Duration; + boundsDuration?: Duration|undefined; /** * Either a duration for the length of the timing schedule, a range of possible length, or outer bounds for start and/or end limits of the timing schedule. */ - boundsRange?: Range; + boundsRange?: Range|undefined; /** * Either a duration for the length of the timing schedule, a range of possible length, or outer bounds for start and/or end limits of the timing schedule. */ - boundsPeriod?: Period; + boundsPeriod?: Period|undefined; /** * If you have both bounds and count, then this should be understood as within the bounds period, until count times happens. */ - count?: number; + count?: number|undefined; /** * If present, indicates that the count is a range - so to perform the action between [count] and [countMax] times. */ - countMax?: number; + countMax?: number|undefined; /** * If no days are specified, the action is assumed to happen every day as otherwise specified. The elements frequency and period cannot be used as well as dayOfWeek. */ - dayOfWeek?: TimingRepeatDayOfWeekCodes[]; - _dayOfWeek?: Element[]; + dayOfWeek?: TimingRepeatDayOfWeekCodes[]|undefined; + _dayOfWeek?: Element[]|undefined; /** * For some events the duration is part of the definition of the event (e.g. IV infusions, where the duration is implicit in the specified quantity and rate). For others, it's part of the timing specification (e.g. exercise). */ - duration?: number; + duration?: number|undefined; /** * For some events the duration is part of the definition of the event (e.g. IV infusions, where the duration is implicit in the specified quantity and rate). For others, it's part of the timing specification (e.g. exercise). */ - durationMax?: number; + durationMax?: number|undefined; /** * The units of time for the duration, in UCUM units. */ - durationUnit?: TimingRepeatDurationUnitCodes; - _durationUnit?: Element; + durationUnit?: TimingRepeatDurationUnitCodes|undefined; + _durationUnit?: Element|undefined; /** * The number of times to repeat the action within the specified period. If frequencyMax is present, this element indicates the lower bound of the allowed range of the frequency. */ - frequency?: number; + frequency?: number|undefined; /** * If present, indicates that the frequency is a range - so to repeat between [frequency] and [frequencyMax] times within the period or period range. */ - frequencyMax?: number; + frequencyMax?: number|undefined; /** * The number of minutes from the event. If the event code does not indicate whether the minutes is before or after the event, then the offset is assumed to be after the event. */ - offset?: number; + offset?: number|undefined; /** * Indicates the duration of time over which repetitions are to occur; e.g. to express "3 times per day", 3 would be the frequency and "1 day" would be the period. If periodMax is present, this element indicates the lower bound of the allowed range of the period length. */ - period?: number; + period?: number|undefined; /** * If present, indicates that the period is a range from [period] to [periodMax], allowing expressing concepts such as "do this once every 3-5 days. */ - periodMax?: number; + periodMax?: number|undefined; /** * The units of time for the period in UCUM units. */ - periodUnit?: TimingRepeatPeriodUnitCodes; - _periodUnit?: Element; + periodUnit?: TimingRepeatPeriodUnitCodes|undefined; + _periodUnit?: Element|undefined; /** * When time of day is specified, it is inferred that the action happens every day (as filtered by dayofWeek) on the specified times. The elements when, frequency and period cannot be used as well as timeOfDay. */ - timeOfDay?: string[]; - _timeOfDay?: Element[]; + timeOfDay?: string[]|undefined; + _timeOfDay?: Element[]|undefined; /** * When more than one event is listed, the event is tied to the union of the specified events. */ - when?: string[]; - _when?: Element[]; + when?: string[]|undefined; + _when?: Element[]|undefined; } /** * Code Values for the Timing.repeat.dayOfWeek field @@ -2904,16 +2904,16 @@ export interface Timing extends BackboneElement { /** * BID etc. are defined as 'at institutionally specified times'. For example, an institution may choose that BID is "always at 7am and 6pm". If it is inappropriate for this choice to be made, the code BID should not be used. Instead, a distinct organization-specific code should be used in place of the HL7-defined BID code and/or a structured representation should be used (in this case, specifying the two event times). */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * Identifies specific times when the event occurs. */ - event?: string[]; - _event?: Element[]; + event?: string[]|undefined; + _event?: Element[]|undefined; /** * A set of rules that describe when the event is scheduled. */ - repeat?: TimingRepeat; + repeat?: TimingRepeat|undefined; } /** * A description of a triggering event. Triggering events can be named events, data events, or periodic, as determined by the type element. @@ -2922,39 +2922,39 @@ export interface TriggerDefinition extends Element { /** * This element can be only be specified for data type triggers and provides additional semantics for the trigger. The context available within the condition is based on the type of data event. For all events, the current resource will be available as context. In addition, for modification events, the previous resource will also be available. The expression may be inlined, or may be a simple absolute URI, which is a reference to a named expression within a logic library referenced by a library element or extension within the containing resource. If the expression is a FHIR Path expression, it evaluates in the context of a resource of one of the type identified in the data requirement, and may also refer to the variable %previous for delta comparisons on events of type data-changed, data-modified, and data-deleted which will always have the same type. */ - condition?: Expression; + condition?: Expression|undefined; /** * This element shall be present for any data type trigger. */ - data?: DataRequirement[]; + data?: DataRequirement[]|undefined; /** * An event name can be provided for all event types, but is required for named events. If a name is provided for a type other than named events, it is considered to be a shorthand for the semantics described by the formal description of the event. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * The timing of the event (if this is a periodic trigger). */ - timingTiming?: Timing; + timingTiming?: Timing|undefined; /** * The timing of the event (if this is a periodic trigger). */ - timingReference?: Reference; + timingReference?: Reference|undefined; /** * The timing of the event (if this is a periodic trigger). */ - timingDate?: string; - _timingDate?: Element; + timingDate?: string|undefined; + _timingDate?: Element|undefined; /** * The timing of the event (if this is a periodic trigger). */ - timingDateTime?: string; - _timingDateTime?: Element; + timingDateTime?: string|undefined; + _timingDateTime?: Element|undefined; /** * The type of triggering event. */ type: TriggerDefinitionTypeCodes; - _type?: Element; + _type?: Element|undefined; } /** * Code Values for the TriggerDefinition.type field @@ -2980,19 +2980,19 @@ export interface UsageContext extends Element { /** * A value that defines the context specified in this context of use. The interpretation of the value is defined by the code. */ - valueCodeableConcept?: CodeableConcept; + valueCodeableConcept?: CodeableConcept|undefined; /** * A value that defines the context specified in this context of use. The interpretation of the value is defined by the code. */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; /** * A value that defines the context specified in this context of use. The interpretation of the value is defined by the code. */ - valueRange?: Range; + valueRange?: Range|undefined; /** * A value that defines the context specified in this context of use. The interpretation of the value is defined by the code. */ - valueReference?: Reference; + valueReference?: Reference|undefined; } /** * Typically. this may be some form of insurance, internal charges, or self-pay. @@ -3008,7 +3008,7 @@ export interface AccountCoverage extends BackboneElement { /** * It is common in some jurisdictions for there to be multiple coverages allocated to an account, and a sequence is required to order the settling of the account (often with insurance claiming). */ - priority?: number; + priority?: number|undefined; } /** * The parties responsible for balancing the account if other payment options fall short. @@ -3017,8 +3017,8 @@ export interface AccountGuarantor extends BackboneElement { /** * A guarantor may be placed on credit hold or otherwise have their role temporarily suspended. */ - onHold?: boolean; - _onHold?: Element; + onHold?: boolean|undefined; + _onHold?: Element|undefined; /** * The entity who is responsible. */ @@ -3026,7 +3026,7 @@ export interface AccountGuarantor extends BackboneElement { /** * The timeframe during which the guarantor accepts responsibility for the account. */ - period?: Period; + period?: Period|undefined; } /** * A financial tool for tracking value accrued for a particular purpose. In the healthcare field, used to track charges for a patient, cost centers, etc. @@ -3039,50 +3039,50 @@ export interface Account extends DomainResource { * Local or jurisdictional business rules may determine which coverage covers which types of billable items charged to the account, and in which order. * Where the order is important, a local/jurisdictional extension may be defined to specify the order for the type of charge. */ - coverage?: AccountCoverage[]; + coverage?: AccountCoverage[]|undefined; /** * Provides additional information about what the account tracks and how it is used. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * The parties responsible for balancing the account if other payment options fall short. */ - guarantor?: AccountGuarantor[]; + guarantor?: AccountGuarantor[]|undefined; /** * Unique identifier used to reference the account. Might or might not be intended for human use (e.g. credit card number). */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Name used for the account when displaying it to humans in reports, etc. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Indicates the service area, hospital, department, etc. with responsibility for managing the Account. */ - owner?: Reference; + owner?: Reference|undefined; /** * Reference to a parent Account. */ - partOf?: Reference; + partOf?: Reference|undefined; /** * It is possible for transactions to be posted outside the service period, as long as the service was provided within the defined service period. */ - servicePeriod?: Period; + servicePeriod?: Period|undefined; /** * This element is labeled as a modifier because the status contains the codes inactive and entered-in-error that mark the Account as not currently valid. */ status: AccountStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Accounts can be applied to non-patients for tracking other non-patient related activities, such as group services (patients not tracked, and costs charged to another body), or might not be allocated. */ - subject?: Reference[]; + subject?: Reference[]|undefined; /** * Categorizes the account for reporting and searching purposes. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Code Values for the Account.status field @@ -3101,12 +3101,12 @@ export interface ActivityDefinitionParticipant extends BackboneElement { /** * The role the participant should play in performing the described action. */ - role?: CodeableConcept; + role?: CodeableConcept|undefined; /** * The type of participant in the action. */ type: ActivityDefinitionParticipantTypeCodes; - _type?: Element; + _type?: Element|undefined; } /** * Code Values for the ActivityDefinition.participant.type field @@ -3129,7 +3129,7 @@ export interface ActivityDefinitionDynamicValue extends BackboneElement { * The path attribute contains a [Simple FHIRPath Subset](fhirpath.html#simple) that allows path traversal, but not calculation. */ path: string; - _path?: Element; + _path?: Element|undefined; } /** * This resource allows for the definition of some activity to be performed, independent of a particular patient, practitioner, or other performance context. @@ -3140,240 +3140,240 @@ export interface ActivityDefinition extends DomainResource { /** * The 'date' element may be more recent than the approval date because of minor changes or editorial corrections. */ - approvalDate?: string; - _approvalDate?: Element; + approvalDate?: string|undefined; + _approvalDate?: Element|undefined; /** * An individiual or organization primarily involved in the creation and maintenance of the content. */ - author?: ContactDetail[]; + author?: ContactDetail[]|undefined; /** * Only used if not implicit in the code found in ServiceRequest.type. */ - bodySite?: CodeableConcept[]; + bodySite?: CodeableConcept[]|undefined; /** * Tends to be less relevant for activities involving particular products. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * A copyright statement relating to the activity definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the activity definition. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the activity definition. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * This description can be used to capture details such as why the activity definition was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the activity definition as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the activity definition is presumed to be the predominant language in the place the activity definition was created). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * This element is not intended to be used to communicate a decision support response to cancel an order in progress. That should be done with the "remove" type of a PlanDefinition or RequestGroup. */ - doNotPerform?: boolean; - _doNotPerform?: Element; + doNotPerform?: boolean|undefined; + _doNotPerform?: Element|undefined; /** * If a dosage instruction is used, the definition should not specify timing or quantity. */ - dosage?: Dosage[]; + dosage?: Dosage[]|undefined; /** * Dynamic values are applied in the order in which they are defined in the ActivityDefinition. Note that if both a transform and dynamic values are specified, the dynamic values will be applied to the result of the transform. */ - dynamicValue?: ActivityDefinitionDynamicValue[]; + dynamicValue?: ActivityDefinitionDynamicValue[]|undefined; /** * An individual or organization primarily responsible for internal coherence of the content. */ - editor?: ContactDetail[]; + editor?: ContactDetail[]|undefined; /** * The effective period for a activity definition determines when the content is applicable for usage and is independent of publication and review dates. For example, a measure intended to be used for the year 2016 might be published in 2015. */ - effectivePeriod?: Period; + effectivePeriod?: Period|undefined; /** * An individual or organization responsible for officially endorsing the content for use in some setting. */ - endorser?: ContactDetail[]; + endorser?: ContactDetail[]|undefined; /** * Allows filtering of activity definitions that are appropriate for use versus not. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this activity definition outside of FHIR, where it is not possible to use the logical URI. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Indicates the level of authority/intentionality associated with the activity and where the request should fit into the workflow chain. */ - intent?: ActivityDefinitionIntentCodes; - _intent?: Element; + intent?: ActivityDefinitionIntentCodes|undefined; + _intent?: Element|undefined; /** * It may be possible for the activity definition to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * May determine what types of extensions are permitted. */ - kind?: string; - _kind?: Element; + kind?: string|undefined; + _kind?: Element|undefined; /** * If specified, this date follows the original approval date. */ - lastReviewDate?: string; - _lastReviewDate?: Element; + lastReviewDate?: string|undefined; + _lastReviewDate?: Element|undefined; /** * A reference to a Library resource containing any formal logic used by the activity definition. */ - library?: string[]; - _library?: Element[]; + library?: string[]|undefined; + _library?: Element[]|undefined; /** * May reference a specific clinical location or may just identify a type of location. */ - location?: Reference; + location?: Reference|undefined; /** * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Defines observation requirements for the action to be performed, such as body weight or surface area. */ - observationRequirement?: Reference[]; + observationRequirement?: Reference[]|undefined; /** * Defines the observations that are expected to be produced by the action. */ - observationResultRequirement?: Reference[]; + observationResultRequirement?: Reference[]|undefined; /** * Indicates who should participate in performing the action described. */ - participant?: ActivityDefinitionParticipant[]; + participant?: ActivityDefinitionParticipant[]|undefined; /** * Indicates how quickly the activity should be addressed with respect to other requests. */ - priority?: ActivityDefinitionPriorityCodes; - _priority?: Element; + priority?: ActivityDefinitionPriorityCodes|undefined; + _priority?: Element|undefined; /** * Identifies the food, drug or other product being consumed or supplied in the activity. */ - productReference?: Reference; + productReference?: Reference|undefined; /** * Identifies the food, drug or other product being consumed or supplied in the activity. */ - productCodeableConcept?: CodeableConcept; + productCodeableConcept?: CodeableConcept|undefined; /** * A profile to which the target of the activity definition is expected to conform. */ - profile?: string; - _profile?: Element; + profile?: string|undefined; + _profile?: Element|undefined; /** * Usually an organization but may be an individual. The publisher (or steward) of the activity definition is the organization or individual primarily responsible for the maintenance and upkeep of the activity definition. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the activity definition. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * This element does not describe the usage of the activity definition. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this activity definition. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * Identifies the quantity expected to be consumed at once (per dose, per meal, etc.). */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * Each related artifact is either an attachment, or a reference to another resource, but not both. */ - relatedArtifact?: RelatedArtifact[]; + relatedArtifact?: RelatedArtifact[]|undefined; /** * An individual or organization primarily responsible for review of some aspect of the content. */ - reviewer?: ContactDetail[]; + reviewer?: ContactDetail[]|undefined; /** * Defines specimen requirements for the action to be performed, such as required specimens for a lab test. */ - specimenRequirement?: Reference[]; + specimenRequirement?: Reference[]|undefined; /** * Allows filtering of activity definitions that are appropriate for use versus not. */ status: ActivityDefinitionStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * A code or group definition that describes the intended subject of the activity being defined. */ - subjectCodeableConcept?: CodeableConcept; + subjectCodeableConcept?: CodeableConcept|undefined; /** * A code or group definition that describes the intended subject of the activity being defined. */ - subjectReference?: Reference; + subjectReference?: Reference|undefined; /** * An explanatory or alternate title for the activity definition giving additional information about its content. */ - subtitle?: string; - _subtitle?: Element; + subtitle?: string|undefined; + _subtitle?: Element|undefined; /** * The period, timing or frequency upon which the described activity is to occur. */ - timingTiming?: Timing; + timingTiming?: Timing|undefined; /** * The period, timing or frequency upon which the described activity is to occur. */ - timingDateTime?: string; - _timingDateTime?: Element; + timingDateTime?: string|undefined; + _timingDateTime?: Element|undefined; /** * The period, timing or frequency upon which the described activity is to occur. */ - timingAge?: Age; + timingAge?: Age|undefined; /** * The period, timing or frequency upon which the described activity is to occur. */ - timingPeriod?: Period; + timingPeriod?: Period|undefined; /** * The period, timing or frequency upon which the described activity is to occur. */ - timingRange?: Range; + timingRange?: Range|undefined; /** * The period, timing or frequency upon which the described activity is to occur. */ - timingDuration?: Duration; + timingDuration?: Duration|undefined; /** * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Descriptive topics related to the content of the activity. Topics provide a high-level categorization of the activity that can be useful for filtering and searching. */ - topic?: CodeableConcept[]; + topic?: CodeableConcept[]|undefined; /** * Note that if both a transform and dynamic values are specified, the dynamic values will be applied to the result of the transform. */ - transform?: string; - _transform?: Element; + transform?: string|undefined; + _transform?: Element|undefined; /** * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * A detailed description of how the activity definition is used from a clinical perspective. */ - usage?: string; - _usage?: Element; + usage?: string|undefined; + _usage?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different activity definition instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the activity definition with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the ActivityDefinition.intent field @@ -3414,20 +3414,20 @@ export interface AdverseEventSuspectEntityCausality extends BackboneElement { /** * Assessment of if the entity caused the event. */ - assessment?: CodeableConcept; + assessment?: CodeableConcept|undefined; /** * AdverseEvent.suspectEntity.causalityAuthor. */ - author?: Reference; + author?: Reference|undefined; /** * ProbabilityScale | Bayesian | Checklist. */ - method?: CodeableConcept; + method?: CodeableConcept|undefined; /** * AdverseEvent.suspectEntity.causalityProductRelatedness. */ - productRelatedness?: string; - _productRelatedness?: Element; + productRelatedness?: string|undefined; + _productRelatedness?: Element|undefined; } /** * Describes the entity that is suspected to have caused the adverse event. @@ -3436,7 +3436,7 @@ export interface AdverseEventSuspectEntity extends BackboneElement { /** * Information on the possible cause of the event. */ - causality?: AdverseEventSuspectEntityCausality[]; + causality?: AdverseEventSuspectEntityCausality[]|undefined; /** * Identifies the actual instance of what caused the adverse event. May be a substance, medication, medication administration, medication statement or a device. */ @@ -3452,74 +3452,74 @@ export interface AdverseEvent extends DomainResource { * Whether the event actually happened, or just had the potential to. Note that this is independent of whether anyone was affected or harmed or how severely. */ actuality: AdverseEventActualityCodes; - _actuality?: Element; + _actuality?: Element|undefined; /** * The overall type of event, intended for search and filtering purposes. */ - category?: CodeableConcept[]; + category?: CodeableConcept[]|undefined; /** * Parties that may or should contribute or have contributed information to the adverse event, which can consist of one or more activities. Such information includes information leading to the decision to perform the activity and how to perform the activity (e.g. consultant), information that the activity itself seeks to reveal (e.g. informant of clinical history), or information about what activity was performed (e.g. informant witness). */ - contributor?: Reference[]; + contributor?: Reference[]|undefined; /** * The date (and perhaps time) when the adverse event occurred. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * Estimated or actual date the AdverseEvent began, in the opinion of the reporter. */ - detected?: string; - _detected?: Element; + detected?: string|undefined; + _detected?: Element|undefined; /** * This will typically be the encounter the event occurred within, but some activities may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter. For example, if a medication administration was considered an adverse event because it resulted in a rash, then the encounter when the medication administration was given is the context. If the patient reports the AdverseEvent during a second encounter, that second encounter is not the context. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * This element defines the specific type of event that occurred or that was prevented from occurring. */ - event?: CodeableConcept; + event?: CodeableConcept|undefined; /** * This is a business identifier, not a resource identifier (see [discussion](resource.html#identifiers)). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and a Person resource instance might share the same social insurance number. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * The information about where the adverse event occurred. */ - location?: Reference; + location?: Reference|undefined; /** * Describes the type of outcome from the adverse event. */ - outcome?: CodeableConcept; + outcome?: CodeableConcept|undefined; /** * The recordedDate represents the date when this particular AdverseEvent record was created in the system, not the date of the most recent update. The date of the last record modification can be retrieved from the resource metadata. */ - recordedDate?: string; - _recordedDate?: Element; + recordedDate?: string|undefined; + _recordedDate?: Element|undefined; /** * Information on who recorded the adverse event. May be the patient or a practitioner. */ - recorder?: Reference; + recorder?: Reference|undefined; /** * AdverseEvent.referenceDocument. */ - referenceDocument?: Reference[]; + referenceDocument?: Reference[]|undefined; /** * Includes information about the reaction that occurred as a result of exposure to a substance (for example, a drug or a chemical). */ - resultingCondition?: Reference[]; + resultingCondition?: Reference[]|undefined; /** * Assessment whether this event was of real importance. */ - seriousness?: CodeableConcept; + seriousness?: CodeableConcept|undefined; /** * Describes the severity of the adverse event, in relation to the subject. Contrast to AdverseEvent.seriousness - a severe rash might not be serious, but a mild heart problem is. */ - severity?: CodeableConcept; + severity?: CodeableConcept|undefined; /** * AdverseEvent.study. */ - study?: Reference[]; + study?: Reference[]|undefined; /** * If AdverseEvent.resultingCondition differs among members of the group, then use Patient as the subject. */ @@ -3527,11 +3527,11 @@ export interface AdverseEvent extends DomainResource { /** * AdverseEvent.subjectMedicalHistory. */ - subjectMedicalHistory?: Reference[]; + subjectMedicalHistory?: Reference[]|undefined; /** * Describes the entity that is suspected to have caused the adverse event. */ - suspectEntity?: AdverseEventSuspectEntity[]; + suspectEntity?: AdverseEventSuspectEntity[]|undefined; } /** * Code Values for the AdverseEvent.actuality field @@ -3547,12 +3547,12 @@ export interface AllergyIntoleranceReaction extends BackboneElement { /** * Use the description to provide any details of a particular event of the occurred reaction such as circumstances, reaction specifics, what happened before/after. Information, related to the event, but not describing a particular care should be captured in the comment field. For example: at the age of four, the patient was given penicillin for strep throat and subsequently developed severe hives. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Coding of the route of exposure with a terminology should be used wherever possible. */ - exposureRoute?: CodeableConcept; + exposureRoute?: CodeableConcept|undefined; /** * Manifestation can be expressed as a single word, phrase or brief description. For example: nausea, rash or no reaction. It is preferable that manifestation should be coded with a terminology, where possible. The values entered here may be used to display on an application screen as part of a list of adverse reactions, as recommended in the UK NHS CUI guidelines. Terminologies commonly used include, but are not limited to, SNOMED CT or ICD10. */ @@ -3560,21 +3560,21 @@ export interface AllergyIntoleranceReaction extends BackboneElement { /** * Use this field to record information indirectly related to a particular event and not captured in the description. For example: Clinical records are no longer available, recorded based on information provided to the patient by her mother and her mother is deceased. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * Record of the date and/or time of the onset of the Reaction. */ - onset?: string; - _onset?: Element; + onset?: string|undefined; + _onset?: Element|undefined; /** * It is acknowledged that this assessment is very subjective. There may be some specific practice domains where objective scales have been applied. Objective scales can be included in this model as extensions. */ - severity?: AllergyIntoleranceReactionSeverityCodes; - _severity?: Element; + severity?: AllergyIntoleranceReactionSeverityCodes|undefined; + _severity?: Element|undefined; /** * Coding of the specific substance (or pharmaceutical product) with a terminology capable of triggering decision support should be used wherever possible. The 'code' element allows for the use of a specific substance or pharmaceutical product, or a group or class of substances. In the case of an allergy or intolerance to a class of substances, (for example, "penicillins"), the 'reaction.substance' element could be used to code the specific substance that was identified as having caused the reaction (for example, "amoxycillin"). Duplication of the value in the 'code' and 'reaction.substance' elements is acceptable when a specific substance has been recorded in 'code'. */ - substance?: CodeableConcept; + substance?: CodeableConcept|undefined; } /** * Code Values for the AllergyIntolerance.reaction.severity field @@ -3593,67 +3593,67 @@ export interface AllergyIntolerance extends DomainResource { /** * The recorder takes responsibility for the content, but can reference the source from where they got it. */ - asserter?: Reference; + asserter?: Reference|undefined; /** * This data element has been included because it is currently being captured in some clinical systems. This data can be derived from the substance where coding systems are used, and is effectively redundant in that situation. When searching on category, consider the implications of AllergyIntolerance resources without a category. For example, when searching on category = medication, medication allergies that don't have a category valued will not be returned. Refer to [search](search.html) for more information on how to search category with a :missing modifier to get allergies that don't have a category. Additionally, category should be used with caution because category can be subjective based on the sender. */ - category?: AllergyIntoleranceCategoryCodes[]; - _category?: Element[]; + category?: AllergyIntoleranceCategoryCodes[]|undefined; + _category?: Element[]|undefined; /** * Refer to [discussion](extensibility.html#Special-Case) if clincalStatus is missing data. * The data type is CodeableConcept because clinicalStatus has some clinical judgment involved, such that there might need to be more specificity than the required FHIR value set allows. For example, a SNOMED coding might allow for additional specificity. */ - clinicalStatus?: CodeableConcept; + clinicalStatus?: CodeableConcept|undefined; /** * It is strongly recommended that this element be populated using a terminology, where possible. For example, some terminologies used include RxNorm, SNOMED CT, DM+D, NDFRT, ICD-9, IDC-10, UNII, and ATC. Plain text should only be used if there is no appropriate terminology available. Additional details can be specified in the text. * When a substance or product code is specified for the 'code' element, the "default" semantic context is that this is a positive statement of an allergy or intolerance (depending on the value of the 'type' element, if present) condition to the specified substance/product. In the corresponding SNOMED CT allergy model, the specified substance/product is the target (destination) of the "Causative agent" relationship. * The 'substanceExposureRisk' extension is available as a structured and more flexible alternative to the 'code' element for making positive or negative allergy or intolerance statements. This extension provides the capability to make "no known allergy" (or "no risk of adverse reaction") statements regarding any coded substance/product (including cases when a pre-coordinated "no allergy to x" concept for that substance/product does not exist). If the 'substanceExposureRisk' extension is present, the AllergyIntolerance.code element SHALL be omitted. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * The default criticality value for any propensity to an adverse reaction should be 'Low Risk', indicating at the very least a relative contraindication to deliberate or voluntary exposure to the substance. 'High Risk' is flagged if the clinician has identified a propensity for a more serious or potentially life-threatening reaction, such as anaphylaxis, and implies an absolute contraindication to deliberate or voluntary exposure to the substance. If this element is missing, the criticality is unknown (though it may be known elsewhere). Systems that capture a severity at the condition level are actually representing the concept of criticality whereas the severity documented at the reaction level is representing the true reaction severity. Existing systems that are capturing both condition criticality and reaction severity may use the term "severity" to represent both. Criticality is the worst it could be in the future (i.e. situation-agnostic) whereas severity is situation-dependent. */ - criticality?: AllergyIntoleranceCriticalityCodes; - _criticality?: Element; + criticality?: AllergyIntoleranceCriticalityCodes|undefined; + _criticality?: Element|undefined; /** * The encounter when the allergy or intolerance was asserted. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * This is a business identifier, not a resource identifier (see [discussion](resource.html#identifiers)). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and a Person resource instance might share the same social insurance number. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * This date may be replicated by one of the Onset of Reaction dates. Where a textual representation of the date of last occurrence is required e.g. 'In Childhood, '10 years ago' the Comment element should be used. */ - lastOccurrence?: string; - _lastOccurrence?: Element; + lastOccurrence?: string|undefined; + _lastOccurrence?: Element|undefined; /** * For example: including reason for flagging a seriousness of 'High Risk'; and instructions related to future exposure or administration of the substance, such as administration within an Intensive Care Unit or under corticosteroid cover. The notes should be related to an allergy or intolerance as a condition in general and not related to any particular episode of it. For episode notes and descriptions, use AllergyIntolerance.event.description and AllergyIntolerance.event.notes. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * Estimated or actual date, date-time, or age when allergy or intolerance was identified. */ - onsetDateTime?: string; - _onsetDateTime?: Element; + onsetDateTime?: string|undefined; + _onsetDateTime?: Element|undefined; /** * Estimated or actual date, date-time, or age when allergy or intolerance was identified. */ - onsetAge?: Age; + onsetAge?: Age|undefined; /** * Estimated or actual date, date-time, or age when allergy or intolerance was identified. */ - onsetPeriod?: Period; + onsetPeriod?: Period|undefined; /** * Estimated or actual date, date-time, or age when allergy or intolerance was identified. */ - onsetRange?: Range; + onsetRange?: Range|undefined; /** * Estimated or actual date, date-time, or age when allergy or intolerance was identified. */ - onsetString?: string; - _onsetString?: Element; + onsetString?: string|undefined; + _onsetString?: Element|undefined; /** * The patient who has the allergy or intolerance. */ @@ -3661,25 +3661,25 @@ export interface AllergyIntolerance extends DomainResource { /** * Details about each adverse reaction event linked to exposure to the identified substance. */ - reaction?: AllergyIntoleranceReaction[]; + reaction?: AllergyIntoleranceReaction[]|undefined; /** * The recordedDate represents when this particular AllergyIntolerance record was created in the system, which is often a system-generated date. */ - recordedDate?: string; - _recordedDate?: Element; + recordedDate?: string|undefined; + _recordedDate?: Element|undefined; /** * Individual who recorded the record and takes responsibility for its content. */ - recorder?: Reference; + recorder?: Reference|undefined; /** * Allergic (typically immune-mediated) reactions have been traditionally regarded as an indicator for potential escalation to significant future risk. Contemporary knowledge suggests that some reactions previously thought to be immune-mediated are, in fact, non-immune, but in some cases can still pose a life threatening risk. It is acknowledged that many clinicians might not be in a position to distinguish the mechanism of a particular reaction. Often the term "allergy" is used rather generically and may overlap with the use of "intolerance" - in practice the boundaries between these two concepts might not be well-defined or understood. This data element is included nevertheless, because many legacy systems have captured this attribute. Immunologic testing may provide supporting evidence for the basis of the reaction and the causative substance, but no tests are 100% sensitive or specific for sensitivity to a particular substance. If, as is commonly the case, it is unclear whether the reaction is due to an allergy or an intolerance, then the type element should be omitted from the resource. */ - type?: AllergyIntoleranceTypeCodes; - _type?: Element; + type?: AllergyIntoleranceTypeCodes|undefined; + _type?: Element|undefined; /** * The data type is CodeableConcept because verificationStatus has some clinical judgment involved, such that there might need to be more specificity than the required FHIR value set allows. For example, a SNOMED coding might allow for additional specificity. */ - verificationStatus?: CodeableConcept; + verificationStatus?: CodeableConcept|undefined; } /** * Code Values for the AllergyIntolerance.category field @@ -3712,27 +3712,27 @@ export interface AppointmentParticipant extends BackboneElement { /** * A Person, Location/HealthcareService or Device that is participating in the appointment. */ - actor?: Reference; + actor?: Reference|undefined; /** * Participation period of the actor. */ - period?: Period; + period?: Period|undefined; /** * Whether this participant is required to be present at the meeting. This covers a use-case where two doctors need to meet to discuss the results for a specific patient, and the patient is not required to be present. */ - required?: AppointmentParticipantRequiredCodes; - _required?: Element; + required?: AppointmentParticipantRequiredCodes|undefined; + _required?: Element|undefined; /** * Participation status of the actor. */ status: AppointmentParticipantStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * The role of the participant can be used to declare what the actor will be doing in the scope of this appointment. * If the actor is not specified, then it is expected that the actor will be filled in at a later stage of planning. * This value SHALL be the same when creating an AppointmentResponse so that they can be matched, and subsequently update the Appointment. */ - type?: CodeableConcept[]; + type?: CodeableConcept[]|undefined; } /** * Code Values for the Appointment.participant.required field @@ -3760,44 +3760,44 @@ export interface Appointment extends DomainResource { /** * The style of appointment or patient that has been booked in the slot (not service type). */ - appointmentType?: CodeableConcept; + appointmentType?: CodeableConcept|undefined; /** * The service request this appointment is allocated to assess (e.g. incoming referral or procedure request). */ - basedOn?: Reference[]; + basedOn?: Reference[]|undefined; /** * The coded reason for the appointment being cancelled. This is often used in reporting/billing/futher processing to determine if further actions are required, or specific fees apply. */ - cancelationReason?: CodeableConcept; + cancelationReason?: CodeableConcept|undefined; /** * Additional text to aid in facilitating the appointment. For instance, a comment might be, "patient should proceed immediately to infusion room upon arrival" * Where this is a planned appointment and the start/end dates are not set then this field can be used to provide additional guidance on the details of the appointment request, including any restrictions on when to book it. */ - comment?: string; - _comment?: Element; + comment?: string|undefined; + _comment?: Element|undefined; /** * This property is required for many use cases where the age of an appointment is considered in processing workflows for scheduling and billing of appointments. */ - created?: string; - _created?: Element; + created?: string|undefined; + _created?: Element|undefined; /** * The brief description of the appointment as would be shown on a subject line in a meeting request, or appointment list. Detailed or expanded information should be put in the comment field. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Date/Time that the appointment is to conclude. */ - end?: string; - _end?: Element; + end?: string|undefined; + _end?: Element|undefined; /** * This records identifiers associated with this appointment concern that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation). */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Number of minutes that the appointment is to take. This can be less than the duration between the start and end times. For example, where the actual time of appointment is only an estimate or if a 30 minute appointment is being requested, but any time would work. Also, if there is, for example, a planned 15 minute break in the middle of a long appointment, the duration may be 15 minutes less than the difference between the start and end. */ - minutesDuration?: number; + minutesDuration?: number|undefined; /** * List of participants involved in the appointment. */ @@ -3805,56 +3805,56 @@ export interface Appointment extends DomainResource { /** * While Appointment.comment contains information for internal use, Appointment.patientInstructions is used to capture patient facing information about the Appointment (e.g. please bring your referral or fast from 8pm night before). */ - patientInstruction?: string; - _patientInstruction?: Element; + patientInstruction?: string|undefined; + _patientInstruction?: Element|undefined; /** * Seeking implementer feedback on this property and how interoperable it is. * Using an extension to record a CodeableConcept for named values may be tested at a future connectathon. */ - priority?: number; + priority?: number|undefined; /** * The coded reason that this appointment is being scheduled. This is more clinical than administrative. */ - reasonCode?: CodeableConcept[]; + reasonCode?: CodeableConcept[]|undefined; /** * Reason the appointment has been scheduled to take place, as specified using information from another resource. When the patient arrives and the encounter begins it may be used as the admission diagnosis. The indication will typically be a Condition (with other resources referenced in the evidence.detail), or a Procedure. */ - reasonReference?: Reference[]; + reasonReference?: Reference[]|undefined; /** * This does not introduce a capacity for recurring appointments. */ - requestedPeriod?: Period[]; + requestedPeriod?: Period[]|undefined; /** * A broad categorization of the service that is to be performed during this appointment. */ - serviceCategory?: CodeableConcept[]; + serviceCategory?: CodeableConcept[]|undefined; /** * For a provider to provider appointment the code "FOLLOWUP" may be appropriate, as this is expected to be discussing some patient that was seen in the past. */ - serviceType?: CodeableConcept[]; + serviceType?: CodeableConcept[]|undefined; /** * The slots from the participants' schedules that will be filled by the appointment. */ - slot?: Reference[]; + slot?: Reference[]|undefined; /** * The specialty of a practitioner that would be required to perform the service requested in this appointment. */ - specialty?: CodeableConcept[]; + specialty?: CodeableConcept[]|undefined; /** * Date/Time that the appointment is to take place. */ - start?: string; - _start?: Element; + start?: string|undefined; + _start?: Element|undefined; /** * If the Appointment's status is "cancelled" then all participants are expected to have their calendars released for the appointment period, and as such any Slots that were marked as BUSY can be re-set to FREE. * This element is labeled as a modifier because the status contains the code entered-in-error that mark the Appointment as not currently valid. */ status: AppointmentStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Additional information to support the appointment provided when making the appointment. */ - supportingInformation?: Reference[]; + supportingInformation?: Reference[]|undefined; } /** * Code Values for the Appointment.status field @@ -3880,7 +3880,7 @@ export interface AppointmentResponse extends DomainResource { /** * A Person, Location, HealthcareService, or Device that is participating in the appointment. */ - actor?: Reference; + actor?: Reference|undefined; /** * Appointment that this response is replying to. */ @@ -3888,33 +3888,33 @@ export interface AppointmentResponse extends DomainResource { /** * This comment is particularly important when the responder is declining, tentatively accepting or requesting another time to indicate the reasons why. */ - comment?: string; - _comment?: Element; + comment?: string|undefined; + _comment?: Element|undefined; /** * This may be either the same as the appointment request to confirm the details of the appointment, or alternately a new time to request a re-negotiation of the end time. */ - end?: string; - _end?: Element; + end?: string|undefined; + _end?: Element|undefined; /** * This records identifiers associated with this appointment response concern that are defined by business processes and/ or used to refer to it when a direct URL reference to the resource itself is not appropriate. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * This element is labeled as a modifier because the status contains the code entered-in-error that marks the participant as not currently valid. */ participantStatus: AppointmentResponseParticipantStatusCodes; - _participantStatus?: Element; + _participantStatus?: Element|undefined; /** * The role of the participant can be used to declare what the actor will be doing in the scope of the referenced appointment. * If the actor is not specified, then it is expected that the actor will be filled in at a later stage of planning. * This value SHALL be the same as specified on the referenced Appointment so that they can be matched, and subsequently updated. */ - participantType?: CodeableConcept[]; + participantType?: CodeableConcept[]|undefined; /** * This may be either the same as the appointment request to confirm the details of the appointment, or alternately a new time to request a re-negotiation of the start time. */ - start?: string; - _start?: Element; + start?: string|undefined; + _start?: Element|undefined; } /** * Code Values for the AppointmentResponse.participantStatus field @@ -3932,13 +3932,13 @@ export interface AuditEventAgentNetwork extends BackboneElement { /** * This could be a device id, IP address or some other identifier associated with a device. */ - address?: string; - _address?: Element; + address?: string|undefined; + _address?: Element|undefined; /** * An identifier for the type of network access point that originated the audit event. */ - type?: string; - _type?: Element; + type?: string|undefined; + _type?: Element|undefined; } /** * Several agents may be associated (i.e. have some responsibility for an activity) with an event or activity. @@ -3948,51 +3948,51 @@ export interface AuditEventAgent extends BackboneElement { /** * Alternative agent Identifier. For a human, this should be a user identifier text string from authentication system. This identifier would be one known to a common authentication system (e.g. single sign-on), if available. */ - altId?: string; - _altId?: Element; + altId?: string|undefined; + _altId?: Element|undefined; /** * Where the event occurred. */ - location?: Reference; + location?: Reference|undefined; /** * Type of media involved. Used when the event is about exporting/importing onto media. */ - media?: Coding; + media?: Coding|undefined; /** * Human-meaningful name for the agent. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Logical network location for application activity, if the activity has a network location. */ - network?: AuditEventAgentNetwork; + network?: AuditEventAgentNetwork|undefined; /** * For example: Where an OAuth token authorizes, the unique identifier from the OAuth token is placed into the policy element Where a policy engine (e.g. XACML) holds policy logic, the unique policy identifier is placed into the policy element. */ - policy?: string[]; - _policy?: Element[]; + policy?: string[]|undefined; + _policy?: Element[]|undefined; /** * Use AuditEvent.agent.purposeOfUse when you know that is specific to the agent, otherwise use AuditEvent.purposeOfEvent. For example, during a machine-to-machine transfer it might not be obvious to the audit system who caused the event, but it does know why. */ - purposeOfUse?: CodeableConcept[]; + purposeOfUse?: CodeableConcept[]|undefined; /** * There can only be one initiator. If the initiator is not clear, then do not choose any one agent as the initiator. */ requestor: boolean; - _requestor?: Element; + _requestor?: Element|undefined; /** * Should be roles relevant to the event. Should not be an exhaustive list of roles. */ - role?: CodeableConcept[]; + role?: CodeableConcept[]|undefined; /** * Specification of the participation type the user plays when performing the event. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; /** * Where a User ID is available it will go into who.identifier. */ - who?: Reference; + who?: Reference|undefined; } /** * Since multi-tier, distributed, or composite applications make source identification ambiguous, this collection of fields may repeat for each application or process actively involved in the event. For example, multiple value-sets can identify participating web servers, application processes, and database server threads in an n-tier distributed application. Passive event participants (e.g. low-level network transports) need not be identified. @@ -4005,12 +4005,12 @@ export interface AuditEventSource extends BackboneElement { /** * Logical source location within the healthcare enterprise network. For example, a hospital or other provider location within a multi-entity provider group. */ - site?: string; - _site?: Element; + site?: string|undefined; + _site?: Element|undefined; /** * Code specifying the type of source where event originated. */ - type?: Coding[]; + type?: Coding[]|undefined; } /** * Tagged value pairs for conveying additional information about the entity. @@ -4020,17 +4020,17 @@ export interface AuditEventEntityDetail extends BackboneElement { * The type of extra detail provided in the value. */ type: string; - _type?: Element; + _type?: Element|undefined; /** * The value can be string when known to be a string, else base64 encoding should be used to protect binary or undefined content. The meaning and secondary-encoding of the content of base64 encoded blob is specific to the AuditEvent.type, AuditEvent.subtype, AuditEvent.entity.type, and AuditEvent.entity.role. The base64 is a general-use and safe container for event specific data blobs regardless of the encoding used by the transaction being recorded. An AuditEvent consuming application must understand the event it is consuming and the formats used by the event. For example if auditing an Oracle network database access, the Oracle formats must be understood as they will be simply encoded in the base64binary blob. */ - valueString?: string; - _valueString?: Element; + valueString?: string|undefined; + _valueString?: Element|undefined; /** * The value can be string when known to be a string, else base64 encoding should be used to protect binary or undefined content. The meaning and secondary-encoding of the content of base64 encoded blob is specific to the AuditEvent.type, AuditEvent.subtype, AuditEvent.entity.type, and AuditEvent.entity.role. The base64 is a general-use and safe container for event specific data blobs regardless of the encoding used by the transaction being recorded. An AuditEvent consuming application must understand the event it is consuming and the formats used by the event. For example if auditing an Oracle network database access, the Oracle formats must be understood as they will be simply encoded in the base64binary blob. */ - valueBase64Binary?: string; - _valueBase64Binary?: Element; + valueBase64Binary?: string|undefined; + _valueBase64Binary?: Element|undefined; } /** * Required unless the values for event identification, agent identification, and audit source identification are sufficient to document the entire auditable event. Because events may have more than one entity, this group can be a repeating set of values. @@ -4039,42 +4039,42 @@ export interface AuditEventEntity extends BackboneElement { /** * Text that describes the entity in more detail. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Tagged value pairs for conveying additional information about the entity. */ - detail?: AuditEventEntityDetail[]; + detail?: AuditEventEntityDetail[]|undefined; /** * This can be used to provide an audit trail for data, over time, as it passes through the system. */ - lifecycle?: Coding; + lifecycle?: Coding|undefined; /** * This field may be used in a query/report to identify audit events for a specific person. For example, where multiple synonymous entity identifiers (patient number, medical record number, encounter number, etc.) have been used. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * The meaning and secondary-encoding of the content of base64 encoded blob is specific to the AuditEvent.type, AuditEvent.subtype, AuditEvent.entity.type, and AuditEvent.entity.role. The base64 is a general-use and safe container for event specific data blobs regardless of the encoding used by the transaction being recorded. An AuditEvent consuming application must understand the event it is consuming and the formats used by the event. For example, if auditing an Oracle network database access, the Oracle formats must be understood as they will be simply encoded in the base64binary blob. */ - query?: string; - _query?: Element; + query?: string|undefined; + _query?: Element|undefined; /** * Code representing the role the entity played in the event being audited. */ - role?: Coding; + role?: Coding|undefined; /** * Copied from entity meta security tags. */ - securityLabel?: Coding[]; + securityLabel?: Coding[]|undefined; /** * This value is distinct from the user's role or any user relationship to the entity. */ - type?: Coding; + type?: Coding|undefined; /** * Identifies a specific instance of the entity. The reference should be version specific. */ - what?: Reference; + what?: Reference|undefined; } /** * A record of an event made for purposes of maintaining a security log. Typical uses include detection of intrusion attempts and monitoring for inappropriate usage. @@ -4085,8 +4085,8 @@ export interface AuditEvent extends DomainResource { /** * Indicator for type of action performed during the event that generated the audit. */ - action?: string; - _action?: Element; + action?: string|undefined; + _action?: Element|undefined; /** * Several agents may be associated (i.e. have some responsibility for an activity) with an event or activity. * For example, an activity may be initiated by one user for other users or involve more than one user. However, only one user may be the initiator/requestor for the activity. @@ -4095,30 +4095,30 @@ export interface AuditEvent extends DomainResource { /** * Required unless the values for event identification, agent identification, and audit source identification are sufficient to document the entire auditable event. Because events may have more than one entity, this group can be a repeating set of values. */ - entity?: AuditEventEntity[]; + entity?: AuditEventEntity[]|undefined; /** * In some cases a "success" may be partial, for example, an incomplete or interrupted transfer of a radiological study. For the purpose of establishing accountability, these distinctions are not relevant. */ - outcome?: string; - _outcome?: Element; + outcome?: string|undefined; + _outcome?: Element|undefined; /** * A free text description of the outcome of the event. */ - outcomeDesc?: string; - _outcomeDesc?: Element; + outcomeDesc?: string|undefined; + _outcomeDesc?: Element|undefined; /** * The period can be a little arbitrary; where possible, the time should correspond to human assessment of the activity time. */ - period?: Period; + period?: Period|undefined; /** * Use AuditEvent.agent.purposeOfUse when you know that it is specific to the agent, otherwise use AuditEvent.purposeOfEvent. For example, during a machine-to-machine transfer it might not be obvious to the audit system who caused the event, but it does know why. */ - purposeOfEvent?: CodeableConcept[]; + purposeOfEvent?: CodeableConcept[]|undefined; /** * In a distributed system, some sort of common time base (e.g. an NTP [RFC1305] server) is a good implementation tactic. */ recorded: string; - _recorded?: Element; + _recorded?: Element|undefined; /** * Since multi-tier, distributed, or composite applications make source identification ambiguous, this collection of fields may repeat for each application or process actively involved in the event. For example, multiple value-sets can identify participating web servers, application processes, and database server threads in an n-tier distributed application. Passive event participants (e.g. low-level network transports) need not be identified. */ @@ -4126,7 +4126,7 @@ export interface AuditEvent extends DomainResource { /** * Identifier for the category of event. */ - subtype?: Coding[]; + subtype?: Coding[]|undefined; /** * Identifier for a family of the event. For example, a menu item, program, rule, policy, function code, application name or URL. It identifies the performed function. */ @@ -4141,7 +4141,7 @@ export interface Basic extends DomainResource { /** * Indicates who was responsible for creating the resource instance. */ - author?: Reference; + author?: Reference|undefined; /** * Because resource references will only be able to indicate 'Basic', the type of reference will need to be specified in a Profile identified as part of the resource. Refer to the resource notes section for information on appropriate terminologies for this code. * This element is labeled as a modifier because it defines the meaning of the resource and cannot be ignored. @@ -4150,16 +4150,16 @@ export interface Basic extends DomainResource { /** * Identifies when the resource was first created. */ - created?: string; - _created?: Element; + created?: string|undefined; + _created?: Element|undefined; /** * Identifier assigned to the resource for business purposes, outside the context of FHIR. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Optional as not all potential resources will have subjects. Resources associated with multiple subjects can handle this via extension. */ - subject?: Reference; + subject?: Reference|undefined; } /** * A resource that represents the data of a single raw artifact as digital content accessible in its native format. A Binary resource can contain any content, whether text, image, pdf, zip archive, etc. @@ -4171,16 +4171,16 @@ export interface Binary extends Resource { * MimeType of the binary content represented as a standard MimeType (BCP 13). */ contentType: string; - _contentType?: Element; + _contentType?: Element|undefined; /** * If the content type is itself base64 encoding, then this will be base64 encoded twice - what is created by un-base64ing the content must be the specified content type. */ - data?: string; - _data?: Element; + data?: string|undefined; + _data?: Element|undefined; /** * Very often, a server will also know of a resource that references the binary, and can automatically apply the appropriate access rules based on that reference. However, there are some circumstances where this is not appropriate, e.g. the binary is uploaded directly to the server without any linking resource, the binary is referred to from multiple different resources, and/or the binary is content such as an application logo that has less protection than any of the resources that reference it. */ - securityContext?: Reference; + securityContext?: Reference|undefined; } /** * How this product was collected. @@ -4189,20 +4189,20 @@ export interface BiologicallyDerivedProductCollection extends BackboneElement { /** * Time of product collection. */ - collectedDateTime?: string; - _collectedDateTime?: Element; + collectedDateTime?: string|undefined; + _collectedDateTime?: Element|undefined; /** * Time of product collection. */ - collectedPeriod?: Period; + collectedPeriod?: Period|undefined; /** * Healthcare professional who is performing the collection. */ - collector?: Reference; + collector?: Reference|undefined; /** * The patient or entity, such as a hospital or vendor in the case of a processed/manipulated/manufactured product, providing the product. */ - source?: Reference; + source?: Reference|undefined; } /** * Any processing of the product during collection that does not change the fundamental nature of the product. For example adding anti-coagulants during the collection of Peripheral Blood Stem Cells. @@ -4211,25 +4211,25 @@ export interface BiologicallyDerivedProductProcessing extends BackboneElement { /** * Substance added during processing. */ - additive?: Reference; + additive?: Reference|undefined; /** * Description of of processing. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Procesing code. */ - procedure?: CodeableConcept; + procedure?: CodeableConcept|undefined; /** * Time of processing. */ - timeDateTime?: string; - _timeDateTime?: Element; + timeDateTime?: string|undefined; + _timeDateTime?: Element|undefined; /** * Time of processing. */ - timePeriod?: Period; + timePeriod?: Period|undefined; } /** * Any manipulation of product post-collection that is intended to alter the product. For example a buffy-coat enrichment or CD8 reduction of Peripheral Blood Stem Cells to make it more suitable for infusion. @@ -4238,17 +4238,17 @@ export interface BiologicallyDerivedProductManipulation extends BackboneElement /** * Description of manipulation. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Time of manipulation. */ - timeDateTime?: string; - _timeDateTime?: Element; + timeDateTime?: string|undefined; + _timeDateTime?: Element|undefined; /** * Time of manipulation. */ - timePeriod?: Period; + timePeriod?: Period|undefined; } /** * Product storage. @@ -4257,21 +4257,21 @@ export interface BiologicallyDerivedProductStorage extends BackboneElement { /** * Description of storage. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Storage timeperiod. */ - duration?: Period; + duration?: Period|undefined; /** * Temperature scale used. */ - scale?: BiologicallyDerivedProductStorageScaleCodes; - _scale?: Element; + scale?: BiologicallyDerivedProductStorageScaleCodes|undefined; + _scale?: Element|undefined; /** * Storage temperature. */ - temperature?: number; + temperature?: number|undefined; } /** * Code Values for the BiologicallyDerivedProduct.storage.scale field @@ -4291,49 +4291,49 @@ export interface BiologicallyDerivedProduct extends DomainResource { /** * How this product was collected. */ - collection?: BiologicallyDerivedProductCollection; + collection?: BiologicallyDerivedProductCollection|undefined; /** * This records identifiers associated with this biologically derived product instance that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation). */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Any manipulation of product post-collection that is intended to alter the product. For example a buffy-coat enrichment or CD8 reduction of Peripheral Blood Stem Cells to make it more suitable for infusion. */ - manipulation?: BiologicallyDerivedProductManipulation; + manipulation?: BiologicallyDerivedProductManipulation|undefined; /** * For products that have multiple collections. For example Peripheral Blood Stem Cells may be collected over several days from a single donor and the donation split into in multiple containers which must be linked to the parent donation. */ - parent?: Reference[]; + parent?: Reference[]|undefined; /** * Any processing of the product during collection that does not change the fundamental nature of the product. For example adding anti-coagulants during the collection of Peripheral Blood Stem Cells. */ - processing?: BiologicallyDerivedProductProcessing[]; + processing?: BiologicallyDerivedProductProcessing[]|undefined; /** * Broad category of this product. */ - productCategory?: BiologicallyDerivedProductProductCategoryCodes; - _productCategory?: Element; + productCategory?: BiologicallyDerivedProductProductCategoryCodes|undefined; + _productCategory?: Element|undefined; /** * A code that identifies the kind of this biologically derived product (SNOMED Ctcode). */ - productCode?: CodeableConcept; + productCode?: CodeableConcept|undefined; /** * Number of discrete units within this product. */ - quantity?: number; + quantity?: number|undefined; /** * Procedure request to obtain this biologically derived product. */ - request?: Reference[]; + request?: Reference[]|undefined; /** * Whether the product is currently available. */ - status?: BiologicallyDerivedProductStatusCodes; - _status?: Element; + status?: BiologicallyDerivedProductStatusCodes|undefined; + _status?: Element|undefined; /** * Product storage. */ - storage?: BiologicallyDerivedProductStorage[]; + storage?: BiologicallyDerivedProductStorage[]|undefined; } /** * Code Values for the BiologicallyDerivedProduct.productCategory field @@ -4361,33 +4361,33 @@ export interface BodyStructure extends DomainResource { /** * This element is labeled as a modifier because it may be used to mark that the resource was created in error. */ - active?: boolean; - _active?: Element; + active?: boolean|undefined; + _active?: Element|undefined; /** * This description could include any visual markings used to orientate the viewer e.g. external reference points, special sutures, ink markings. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Identifier for this instance of the anatomical structure. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Image or images used to identify a location. */ - image?: Attachment[]; + image?: Attachment[]|undefined; /** * The anatomical location or region of the specimen, lesion, or body structure. */ - location?: CodeableConcept; + location?: CodeableConcept|undefined; /** * Qualifier to refine the anatomical location. These include qualifiers for laterality, relative location, directionality, number, and plane. */ - locationQualifier?: CodeableConcept[]; + locationQualifier?: CodeableConcept[]|undefined; /** * The minimum cardinality of 0 supports the use case of specifying a location without defining a morphology. */ - morphology?: CodeableConcept; + morphology?: CodeableConcept|undefined; /** * The person to which the body site belongs. */ @@ -4403,12 +4403,12 @@ export interface BundleLink extends BackboneElement { * A name which details the functional use for this link - see [http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1](http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1). */ relation: string; - _relation?: Element; + _relation?: Element|undefined; /** * The reference details for the link. */ url: string; - _url?: Element; + _url?: Element|undefined; } /** * Information about the search process that lead to the creation of this entry. @@ -4417,13 +4417,13 @@ export interface BundleEntrySearch extends BackboneElement { /** * There is only one mode. In some corner cases, a resource may be included because it is both a match and an include. In these circumstances, 'match' takes precedence. */ - mode?: BundleEntrySearchModeCodes; - _mode?: Element; + mode?: BundleEntrySearchModeCodes|undefined; + _mode?: Element|undefined; /** * Servers are not required to return a ranking score. 1 is most relevant, and 0 is least relevant. Often, search results are sorted by score, but the client may specify a different sort order. * See [Patient Match](patient-operation-match.html) for the EMPI search which relates to this element. */ - score?: number; + score?: number|undefined; } /** * Code Values for the Bundle.entry.search.mode field @@ -4440,33 +4440,33 @@ export interface BundleEntryRequest extends BackboneElement { /** * Only perform the operation if the Etag value matches. For more information, see the API section ["Managing Resource Contention"](http.html#concurrency). */ - ifMatch?: string; - _ifMatch?: Element; + ifMatch?: string|undefined; + _ifMatch?: Element|undefined; /** * Only perform the operation if the last updated date matches. See the API documentation for ["Conditional Read"](http.html#cread). */ - ifModifiedSince?: string; - _ifModifiedSince?: Element; + ifModifiedSince?: string|undefined; + _ifModifiedSince?: Element|undefined; /** * Instruct the server not to perform the create if a specified resource already exists. For further information, see the API documentation for ["Conditional Create"](http.html#ccreate). This is just the query portion of the URL - what follows the "?" (not including the "?"). */ - ifNoneExist?: string; - _ifNoneExist?: Element; + ifNoneExist?: string|undefined; + _ifNoneExist?: Element|undefined; /** * If the ETag values match, return a 304 Not Modified status. See the API documentation for ["Conditional Read"](http.html#cread). */ - ifNoneMatch?: string; - _ifNoneMatch?: Element; + ifNoneMatch?: string|undefined; + _ifNoneMatch?: Element|undefined; /** * In a transaction or batch, this is the HTTP action to be executed for this entry. In a history bundle, this indicates the HTTP action that occurred. */ method: BundleEntryRequestMethodCodes; - _method?: Element; + _method?: Element|undefined; /** * E.g. for a Patient Create, the method would be "POST" and the URL would be "Patient". For a Patient Update, the method would be PUT and the URL would be "Patient/[id]". */ url: string; - _url?: Element; + _url?: Element|undefined; } /** * Code Values for the Bundle.entry.request.method field @@ -4486,28 +4486,28 @@ export interface BundleEntryResponse extends BackboneElement { /** * Etags match the Resource.meta.versionId. The ETag has to match the version id in the header if a resource is included. */ - etag?: string; - _etag?: Element; + etag?: string|undefined; + _etag?: Element|undefined; /** * This has to match the same time in the meta header (meta.lastUpdated) if a resource is included. */ - lastModified?: string; - _lastModified?: Element; + lastModified?: string|undefined; + _lastModified?: Element|undefined; /** * The location header created by processing this operation, populated if the operation returns a location. */ - location?: string; - _location?: Element; + location?: string|undefined; + _location?: Element|undefined; /** * For a POST/PUT operation, this is the equivalent outcome that would be returned for prefer = operationoutcome - except that the resource is always returned whether or not the outcome is returned. * This outcome is not used for error responses in batch/transaction, only for hints and warnings. In a batch operation, the error will be in Bundle.entry.response, and for transaction, there will be a single OperationOutcome instead of a bundle in the case of an error. */ - outcome?: FhirResource; + outcome?: FhirResource|undefined; /** * The status code returned by processing this entry. The status SHALL start with a 3 digit HTTP code (e.g. 404) and may contain the standard HTTP description associated with the status code. */ status: string; - _status?: Element; + _status?: Element|undefined; } /** * An entry in a bundle resource - will either contain a resource or information about a resource (transactions and history only). @@ -4517,28 +4517,28 @@ export interface BundleEntry extends BackboneE * fullUrl might not be [unique in the context of a resource](bundle.html#bundle-unique). Note that since [FHIR resources do not need to be served through the FHIR API](references.html), the fullURL might be a URN or an absolute URL that does not end with the logical id of the resource (Resource.id). However, but if the fullUrl does look like a RESTful server URL (e.g. meets the [regex](references.html#regex), then the 'id' portion of the fullUrl SHALL end with the Resource.id. * Note that the fullUrl is not the same as the canonical URL - it's an absolute url for an endpoint serving the resource (these will happen to have the same value on the canonical server for the resource with the canonical URL). */ - fullUrl?: string; - _fullUrl?: Element; + fullUrl?: string|undefined; + _fullUrl?: Element|undefined; /** * A series of links that provide context to this entry. */ - link?: BundleLink[]; + link?: BundleLink[]|undefined; /** * Additional information about how this entry should be processed as part of a transaction or batch. For history, it shows how the entry was processed to create the version contained in the entry. */ - request?: BundleEntryRequest; + request?: BundleEntryRequest|undefined; /** * The Resource for the entry. The purpose/meaning of the resource is determined by the Bundle.type. */ - resource?: BundleContentType; + resource?: BundleContentType|undefined; /** * Indicates the results of processing the corresponding 'request' entry in the batch or transaction being responded to or what the results of an operation where when returning history. */ - response?: BundleEntryResponse; + response?: BundleEntryResponse|undefined; /** * Information about the search process that lead to the creation of this entry. */ - search?: BundleEntrySearch; + search?: BundleEntrySearch|undefined; } /** * A container for a collection of resources. @@ -4549,21 +4549,21 @@ export interface Bundle extends Resource { /** * An entry in a bundle resource - will either contain a resource or information about a resource (transactions and history only). */ - entry?: BundleEntry[]; + entry?: BundleEntry[]|undefined; /** * Persistent identity generally only matters for batches of type Document, Message, and Collection. It would not normally be populated for search and history results and servers ignore Bundle.identifier when processing batches and transactions. For Documents the .identifier SHALL be populated such that the .identifier is globally unique. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * Both Bundle.link and Bundle.entry.link are defined to support providing additional context when Bundles are used (e.g. [HATEOAS](http://en.wikipedia.org/wiki/HATEOAS)). * Bundle.entry.link corresponds to links found in the HTTP header if the resource in the entry was [read](http.html#read) directly. * This specification defines some specific uses of Bundle.link for [searching](search.html#conformance) and [paging](http.html#paging), but no specific uses for Bundle.entry.link, and no defined function in a transaction - the meaning is implementation specific. */ - link?: BundleLink[]; + link?: BundleLink[]|undefined; /** * The signature could be created by the "author" of the bundle or by the originating device. Requirements around inclusion of a signature, verification of signatures and treatment of signed/non-signed bundles is implementation-environment specific. */ - signature?: Signature; + signature?: Signature|undefined; /** * For many bundles, the timestamp is equal to .meta.lastUpdated, because they are not stored (e.g. search results). When a bundle is placed in a persistent store, .meta.lastUpdated will be usually be changed by the server. When the bundle is a message, a middleware agent altering the message (even if not stored) SHOULD update .meta.lastUpdated. .timestamp is used to track the original time of the Bundle, and SHOULD be populated. * Usage: @@ -4574,17 +4574,17 @@ export interface Bundle extends Resource { * * transaction | transaction-response | batch | batch-response | collection : no particular assigned meaning * The timestamp value should be greater than the lastUpdated and other timestamps in the resources in the bundle, and it should be equal or earlier than the .meta.lastUpdated on the Bundle itself. */ - timestamp?: string; - _timestamp?: Element; + timestamp?: string|undefined; + _timestamp?: Element|undefined; /** * Only used if the bundle is a search result set. The total does not include resources such as OperationOutcome and included resources, only the total number of matching resources. */ - total?: number; + total?: number|undefined; /** * It's possible to use a bundle for other purposes (e.g. a document can be accepted as a transaction). This is primarily defined so that there can be specific rules for some of the bundle types. */ type: BundleTypeCodes; - _type?: Element; + _type?: Element|undefined; } /** * Code Values for the Bundle.type field @@ -4608,17 +4608,17 @@ export interface CapabilityStatementSoftware extends BackboneElement { * Name the software is known by. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * Date this version of the software was released. */ - releaseDate?: string; - _releaseDate?: Element; + releaseDate?: string|undefined; + _releaseDate?: Element|undefined; /** * If possible, a version should be specified, as statements are likely to be different for different versions of software. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Identifies a specific implementation instance that is described by the capability statement - i.e. a particular installation, rather than the capabilities of a software program. @@ -4627,17 +4627,17 @@ export interface CapabilityStatementImplementation extends BackboneElement { /** * The organization responsible for the management of the instance and oversight of the data on the server at the specified URL. */ - custodian?: Reference; + custodian?: Reference|undefined; /** * Information about the specific installation that this capability statement relates to. */ description: string; - _description?: Element; + _description?: Element|undefined; /** * An absolute base URL for the implementation. This forms the base for REST interfaces as well as the mailbox and document interfaces. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; } /** * Information about security implementation from an interface perspective - what a client needs to know. @@ -4646,17 +4646,17 @@ export interface CapabilityStatementRestSecurity extends BackboneElement { /** * The easiest CORS headers to add are Access-Control-Allow-Origin: * & Access-Control-Request-Method: GET, POST, PUT, DELETE. All servers SHOULD support CORS. */ - cors?: boolean; - _cors?: Element; + cors?: boolean|undefined; + _cors?: Element|undefined; /** * General description of how security works. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Types of security services that are supported/required by the system. */ - service?: CodeableConcept[]; + service?: CodeableConcept[]|undefined; } /** * In general, a Resource will only appear in a CapabilityStatement if the server actually has some capabilities - e.g. there is at least one interaction supported. However interactions can be omitted to support summarization (_summary = true). @@ -4666,12 +4666,12 @@ export interface CapabilityStatementRestResourceInteraction extends BackboneElem * Coded identifier of the operation, supported by the system resource. */ code: CapabilityStatementRestResourceInteractionCodeCodes; - _code?: Element; + _code?: Element|undefined; /** * Guidance specific to the implementation of this operation, such as 'delete is a logical delete' or 'updates are only allowed with version id' or 'creates permitted from pre-authorized certificates only'. */ - documentation?: string; - _documentation?: Element; + documentation?: string|undefined; + _documentation?: Element|undefined; } /** * Code Values for the CapabilityStatement.rest.resource.interaction.code field @@ -4694,23 +4694,23 @@ export interface CapabilityStatementRestResourceSearchParam extends BackboneElem /** * This SHOULD be present, and matches refers to a SearchParameter by its canonical URL. If systems wish to document their support for modifiers, comparators, target resource types, and chained parameters, they should do using a search parameter resource. This element SHALL be populated if the search parameter refers to a SearchParameter defined by the FHIR core specification or externally defined IGs. */ - definition?: string; - _definition?: Element; + definition?: string|undefined; + _definition?: Element|undefined; /** * This allows documentation of any distinct behaviors about how the search parameter is used. For example, text matching algorithms. */ - documentation?: string; - _documentation?: Element; + documentation?: string|undefined; + _documentation?: Element|undefined; /** * Parameter names cannot overlap with standard parameter names, and standard parameters cannot be redefined. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * While this can be looked up from the definition, it is included here as a convenience for systems that autogenerate a query interface based on the server capability statement. It SHALL be the same as the type in the search parameter definition. */ type: CapabilityStatementRestResourceSearchParamTypeCodes; - _type?: Element; + _type?: Element|undefined; } /** * Code Values for the CapabilityStatement.rest.resource.searchParam.type field @@ -4735,17 +4735,17 @@ export interface CapabilityStatementRestResourceOperation extends BackboneElemen * This can be used to build an HTML form to invoke the operation, for instance. */ definition: string; - _definition?: Element; + _definition?: Element|undefined; /** * Documentation that describes anything special about the operation behavior, possibly detailing different behavior for system, type and instance-level invocation of the operation. */ - documentation?: string; - _documentation?: Element; + documentation?: string|undefined; + _documentation?: Element|undefined; /** * The name here SHOULD be the same as the name in the definition, unless there is a name clash and the name cannot be used. The name does not include the "$" portion that is always included in the URL. */ name: string; - _name?: Element; + _name?: Element|undefined; } /** * Max of one repetition per resource type. @@ -4754,86 +4754,86 @@ export interface CapabilityStatementRestResource extends BackboneElement { /** * Conditional Create is mainly appropriate for interface engine scripts converting from other formats, such as v2. */ - conditionalCreate?: boolean; - _conditionalCreate?: Element; + conditionalCreate?: boolean|undefined; + _conditionalCreate?: Element|undefined; /** * Conditional Delete is mainly appropriate for interface engine scripts converting from other formats, such as v2. */ - conditionalDelete?: CapabilityStatementRestResourceConditionalDeleteCodes; - _conditionalDelete?: Element; + conditionalDelete?: CapabilityStatementRestResourceConditionalDeleteCodes|undefined; + _conditionalDelete?: Element|undefined; /** * Conditional Read is mainly appropriate for interface engine scripts converting from other formats, such as v2. */ - conditionalRead?: CapabilityStatementRestResourceConditionalReadCodes; - _conditionalRead?: Element; + conditionalRead?: CapabilityStatementRestResourceConditionalReadCodes|undefined; + _conditionalRead?: Element|undefined; /** * Conditional Update is mainly appropriate for interface engine scripts converting from other formats, such as v2. */ - conditionalUpdate?: boolean; - _conditionalUpdate?: Element; + conditionalUpdate?: boolean|undefined; + _conditionalUpdate?: Element|undefined; /** * Additional information about the resource type used by the system. */ - documentation?: string; - _documentation?: Element; + documentation?: string|undefined; + _documentation?: Element|undefined; /** * In general, a Resource will only appear in a CapabilityStatement if the server actually has some capabilities - e.g. there is at least one interaction supported. However interactions can be omitted to support summarization (_summary = true). */ - interaction?: CapabilityStatementRestResourceInteraction[]; + interaction?: CapabilityStatementRestResourceInteraction[]|undefined; /** * Operations linked from CapabilityStatement.rest.resource.operation must have OperationDefinition.type = true or OperationDefinition.instance = true. * If an operation that is listed in multiple CapabilityStatement.rest.resource.operation (e.g. for different resource types), then clients should understand that the operation is only supported on the specified resource types, and that may be a subset of those listed in OperationDefinition.resource. */ - operation?: CapabilityStatementRestResourceOperation[]; + operation?: CapabilityStatementRestResourceOperation[]|undefined; /** * The profile applies to all resources of this type - i.e. it is the superset of what is supported by the system. */ - profile?: string; - _profile?: Element; + profile?: string|undefined; + _profile?: Element|undefined; /** * It is useful to support the vRead operation for current operations, even if past versions aren't available. */ - readHistory?: boolean; - _readHistory?: Element; + readHistory?: boolean|undefined; + _readHistory?: Element|undefined; /** * A set of flags that defines how references are supported. */ - referencePolicy?: CapabilityStatementRestResourceReferencePolicyCodes[]; - _referencePolicy?: Element[]; + referencePolicy?: CapabilityStatementRestResourceReferencePolicyCodes[]|undefined; + _referencePolicy?: Element[]|undefined; /** * If this list is empty, the server does not support includes. */ - searchInclude?: string[]; - _searchInclude?: Element[]; + searchInclude?: string[]|undefined; + _searchInclude?: Element[]|undefined; /** * The search parameters should include the control search parameters such as _sort, _count, etc. that also apply to this resource (though many will be listed at [CapabilityStatement.rest.searchParam](capabilitystatement-definitions.html#CapabilityStatement.rest.searchParam)). The behavior of some search parameters may be further described by other code or extension elements, or narrative within the capability statement or linked [SearchParameter](searchparameter.html#) definitions. */ - searchParam?: CapabilityStatementRestResourceSearchParam[]; + searchParam?: CapabilityStatementRestResourceSearchParam[]|undefined; /** * If this list is empty, the server does not support reverse includes. */ - searchRevInclude?: string[]; - _searchRevInclude?: Element[]; + searchRevInclude?: string[]|undefined; + _searchRevInclude?: Element[]|undefined; /** * Supported profiles are different than the profile that applies to a particular resource in .rest.resource.profile. The resource profile is a general statement of what features of the resource are supported overall by the system - the sum total of the facilities it supports. A supported profile is a deeper statement about the functionality of the data and services provided by the server (or used by the client). A typical case is a laboratory system that produces a set of different reports - this is the list of types of data that it publishes. A key aspect of declaring profiles here is the question of how the client converts knowledge that the server publishes this data into working with the data; the client can inspect individual resources to determine whether they conform to a particular profile, but how does it find the ones that do? It does so by searching using the _profile parameter, so any resources listed here must be valid values for the _profile resource (using the identifier in the target profile). */ - supportedProfile?: string[]; - _supportedProfile?: Element[]; + supportedProfile?: string[]|undefined; + _supportedProfile?: Element[]|undefined; /** * A type of resource exposed via the restful interface. */ type: string; - _type?: Element; + _type?: Element|undefined; /** * Allowing the clients to create new identities on the server means that the system administrator needs to have confidence that the clients do not create clashing identities between them. Obviously, if there is only one client, this won't happen. While creating identities on the client means that the clients need to be managed, it's much more convenient for many scenarios if such management can be put in place. */ - updateCreate?: boolean; - _updateCreate?: Element; + updateCreate?: boolean|undefined; + _updateCreate?: Element|undefined; /** * If a server supports versionIds correctly, it SHOULD support vread too, but is not required to do so. */ - versioning?: CapabilityStatementRestResourceVersioningCodes; - _versioning?: Element; + versioning?: CapabilityStatementRestResourceVersioningCodes|undefined; + _versioning?: Element|undefined; } /** * Code Values for the CapabilityStatement.rest.resource.conditionalDelete field @@ -4878,12 +4878,12 @@ export interface CapabilityStatementRestInteraction extends BackboneElement { * A coded identifier of the operation, supported by the system. */ code: CapabilityStatementRestInteractionCodeCodes; - _code?: Element; + _code?: Element|undefined; /** * Guidance specific to the implementation of this operation, such as limitations on the kind of transactions allowed, or information about system wide search is implemented. */ - documentation?: string; - _documentation?: Element; + documentation?: string|undefined; + _documentation?: Element|undefined; } /** * Code Values for the CapabilityStatement.rest.interaction.code field @@ -4901,38 +4901,38 @@ export interface CapabilityStatementRest extends BackboneElement { /** * At present, the only defined compartments are at [CompartmentDefinition](compartmentdefinition.html). */ - compartment?: string[]; - _compartment?: Element[]; + compartment?: string[]|undefined; + _compartment?: Element[]|undefined; /** * Information about the system's restful capabilities that apply across all applications, such as security. */ - documentation?: string; - _documentation?: Element; + documentation?: string|undefined; + _documentation?: Element|undefined; /** * A specification of restful operations supported by the system. */ - interaction?: CapabilityStatementRestInteraction[]; + interaction?: CapabilityStatementRestInteraction[]|undefined; /** * Identifies whether this portion of the statement is describing the ability to initiate or receive restful operations. */ mode: CapabilityStatementRestModeCodes; - _mode?: Element; + _mode?: Element|undefined; /** * CapabilityStatement.rest.operation is for operations invoked at the system level, or for operations that are supported across multiple resource types. Operations linked from CapabilityStatement.rest.operation must have OperationDefinition.system = true, or more than one Operation.resource. */ - operation?: CapabilityStatementRestResourceOperation[]; + operation?: CapabilityStatementRestResourceOperation[]|undefined; /** * Max of one repetition per resource type. */ - resource?: CapabilityStatementRestResource[]; + resource?: CapabilityStatementRestResource[]|undefined; /** * Typically, the only search parameters supported for all searches are those that apply to all resources - tags, profiles, text search etc. These search parameters should include the control search parameters such as _sort, _count, etc. that also apply to this resource (though many will be listed at [CapabilityStatement.rest.searchParam](capabilitystatement-definitions.html#CapabilityStatement.rest.searchParam)). The behavior of some search parameters may be further described by other code or extension elements, or narrative within the capability statement or linked [SearchParameter](searchparameter.html#) definitions. */ - searchParam?: CapabilityStatementRestResourceSearchParam[]; + searchParam?: CapabilityStatementRestResourceSearchParam[]|undefined; /** * Information about security implementation from an interface perspective - what a client needs to know. */ - security?: CapabilityStatementRestSecurity; + security?: CapabilityStatementRestSecurity|undefined; } /** * Code Values for the CapabilityStatement.rest.mode field @@ -4949,7 +4949,7 @@ export interface CapabilityStatementMessagingEndpoint extends BackboneElement { * The network address of the endpoint. For solutions that do not use network addresses for routing, it can be just an identifier. */ address: string; - _address?: Element; + _address?: Element|undefined; /** * A list of the messaging transport protocol(s) identifiers, supported by this endpoint. */ @@ -4963,12 +4963,12 @@ export interface CapabilityStatementMessagingSupportedMessage extends BackboneEl * Points to a message definition that identifies the messaging event, message structure, allowed responses, etc. */ definition: string; - _definition?: Element; + _definition?: Element|undefined; /** * The mode of this event declaration - whether application is sender or receiver. */ mode: CapabilityStatementMessagingSupportedMessageModeCodes; - _mode?: Element; + _mode?: Element|undefined; } /** * Code Values for the CapabilityStatement.messaging.supportedMessage.mode field @@ -4984,20 +4984,20 @@ export interface CapabilityStatementMessaging extends BackboneElement { /** * Documentation about the system's messaging capabilities for this endpoint not otherwise documented by the capability statement. For example, the process for becoming an authorized messaging exchange partner. */ - documentation?: string; - _documentation?: Element; + documentation?: string|undefined; + _documentation?: Element|undefined; /** * An endpoint (network accessible address) to which messages and/or replies are to be sent. */ - endpoint?: CapabilityStatementMessagingEndpoint[]; + endpoint?: CapabilityStatementMessagingEndpoint[]|undefined; /** * If this value is missing then the application does not implement (receiver) or depend on (sender) reliable messaging. */ - reliableCache?: number; + reliableCache?: number|undefined; /** * This is a proposed alternative to the messaging.event structure. */ - supportedMessage?: CapabilityStatementMessagingSupportedMessage[]; + supportedMessage?: CapabilityStatementMessagingSupportedMessage[]|undefined; } /** * A document definition. @@ -5006,18 +5006,18 @@ export interface CapabilityStatementDocument extends BackboneElement { /** * A description of how the application supports or uses the specified document profile. For example, when documents are created, what action is taken with consumed documents, etc. */ - documentation?: string; - _documentation?: Element; + documentation?: string|undefined; + _documentation?: Element|undefined; /** * Mode of this document declaration - whether an application is a producer or consumer. */ mode: CapabilityStatementDocumentModeCodes; - _mode?: Element; + _mode?: Element|undefined; /** * The profile is actually on the Bundle. */ profile: string; - _profile?: Element; + _profile?: Element|undefined; } /** * Code Values for the CapabilityStatement.document.mode field @@ -5035,129 +5035,129 @@ export interface CapabilityStatement extends DomainResource { /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * A copyright statement relating to the capability statement and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the capability statement. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the capability statement. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ date: string; - _date?: Element; + _date?: Element|undefined; /** * This description can be used to capture details such as why the capability statement was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the capability statement as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the capability statement is presumed to be the predominant language in the place the capability statement was created).This does not need to be populated if the description is adequately implied by the software or implementation details. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * A document definition. */ - document?: CapabilityStatementDocument[]; + document?: CapabilityStatementDocument[]|undefined; /** * Allows filtering of capability statements that are appropriate for use versus not. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * Servers may implement multiple versions (see [Managing Multiple Versions](versioning.html), and the [$versions](capabilitystatement-operation-versions.html) operation). If they do, and the CapabilityStatement is requested from the server, then this fhirVersion will be either the version requested, or the server's default version. */ fhirVersion: string; - _fhirVersion?: Element; + _fhirVersion?: Element|undefined; /** * "xml", "json" and "ttl" are allowed, which describe the simple encodings described in the specification (and imply appropriate bundle support). Otherwise, mime types are legal here. */ format: string[]; - _format?: Element[]; + _format?: Element[]|undefined; /** * Identifies a specific implementation instance that is described by the capability statement - i.e. a particular installation, rather than the capabilities of a software program. */ - implementation?: CapabilityStatementImplementation; + implementation?: CapabilityStatementImplementation|undefined; /** * A list of implementation guides that the server does (or should) support in their entirety. */ - implementationGuide?: string[]; - _implementationGuide?: Element[]; + implementationGuide?: string[]|undefined; + _implementationGuide?: Element[]|undefined; /** * the contents of any directly or indirectly imported CapabilityStatements SHALL NOT overlap, i.e. they cannot refer to the same rest/resource, operations/name, searchparam/name, interaction/code, messaging/endpoint, document/mode pair. * A capability statement that imports another CapabilityStatement automatically instantiates it too (though this is often not a very useful statement for the kinds of CapabilityStatements that are suitable for importing). */ - imports?: string[]; - _imports?: Element[]; + imports?: string[]|undefined; + _imports?: Element[]|undefined; /** * HL7 defines the following Services: [Terminology Service](terminology-service.html). * Many [Implementation Guides](http://fhir.org/guides/registry) define additional services. */ - instantiates?: string[]; - _instantiates?: Element[]; + instantiates?: string[]|undefined; + _instantiates?: Element[]|undefined; /** * It may be possible for the capability statement to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * The way that this statement is intended to be used, to describe an actual running instance of software, a particular product (kind, not instance of software) or a class of implementation (e.g. a desired purchase). */ kind: CapabilityStatementKindCodes; - _kind?: Element; + _kind?: Element|undefined; /** * Multiple repetitions allow the documentation of multiple endpoints per solution. */ - messaging?: CapabilityStatementMessaging[]; + messaging?: CapabilityStatementMessaging[]|undefined; /** * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * At present, the patch mime types application/json-patch+json and application/xml-patch+xml are legal. Generally, if a server supports PATCH, it would be expected to support the patch formats and match the formats it supports, but this is not always possible or necessary. */ - patchFormat?: string[]; - _patchFormat?: Element[]; + patchFormat?: string[]|undefined; + _patchFormat?: Element[]|undefined; /** * Usually an organization but may be an individual. The publisher (or steward) of the capability statement is the organization or individual primarily responsible for the maintenance and upkeep of the capability statement. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the capability statement. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * This element does not describe the usage of the capability statement. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this capability statement. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * Multiple repetitions allow definition of both client and/or server behaviors or possibly behaviors under different configuration settings (for software or requirements statements). */ - rest?: CapabilityStatementRest[]; + rest?: CapabilityStatementRest[]|undefined; /** * Software that is covered by this capability statement. It is used when the capability statement describes the capabilities of a particular software version, independent of an installation. */ - software?: CapabilityStatementSoftware; + software?: CapabilityStatementSoftware|undefined; /** * Allows filtering of capability statements that are appropriate for use versus not.This is not intended for use with actual capability statements, but where capability statements are used to describe possible or desired systems. */ status: CapabilityStatementStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different capability statement instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the capability statement with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the CapabilityStatement.format field @@ -5192,91 +5192,91 @@ export interface CarePlanActivityDetail extends BackboneElement { /** * Tends to be less relevant for activities involving particular products. Codes should not convey negation - use "prohibited" instead. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * Identifies the quantity expected to be consumed in a given day. */ - dailyAmount?: Quantity; + dailyAmount?: Quantity|undefined; /** * This provides a textual description of constraints on the intended activity occurrence, including relation to other activities. It may also include objectives, pre-conditions and end-conditions. Finally, it may convey specifics about the activity such as body site, method, route, etc. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * This element is labeled as a modifier because it marks an activity as an activity that is not to be performed. */ - doNotPerform?: boolean; - _doNotPerform?: Element; + doNotPerform?: boolean|undefined; + _doNotPerform?: Element|undefined; /** * Internal reference that identifies the goals that this activity is intended to contribute towards meeting. */ - goal?: Reference[]; + goal?: Reference[]|undefined; /** * The URL pointing to a FHIR-defined protocol, guideline, questionnaire or other definition that is adhered to in whole or in part by this CarePlan activity. */ - instantiatesCanonical?: string[]; - _instantiatesCanonical?: Element[]; + instantiatesCanonical?: string[]|undefined; + _instantiatesCanonical?: Element[]|undefined; /** * This might be an HTML page, PDF, etc. or could just be a non-resolvable URI identifier. */ - instantiatesUri?: string[]; - _instantiatesUri?: Element[]; + instantiatesUri?: string[]|undefined; + _instantiatesUri?: Element[]|undefined; /** * A description of the kind of resource the in-line definition of a care plan activity is representing. The CarePlan.activity.detail is an in-line definition when a resource is not referenced using CarePlan.activity.reference. For example, a MedicationRequest, a ServiceRequest, or a CommunicationRequest. */ - kind?: CarePlanActivityDetailKindCodes; - _kind?: Element; + kind?: CarePlanActivityDetailKindCodes|undefined; + _kind?: Element|undefined; /** * May reference a specific clinical location or may identify a type of location. */ - location?: Reference; + location?: Reference|undefined; /** * A performer MAY also be a participant in the care plan. */ - performer?: Reference[]; + performer?: Reference[]|undefined; /** * Identifies the food, drug or other product to be consumed or supplied in the activity. */ - productCodeableConcept?: CodeableConcept; + productCodeableConcept?: CodeableConcept|undefined; /** * Identifies the food, drug or other product to be consumed or supplied in the activity. */ - productReference?: Reference; + productReference?: Reference|undefined; /** * Identifies the quantity expected to be supplied, administered or consumed by the subject. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * This could be a diagnosis code. If a full condition record exists or additional detail is needed, use reasonCondition instead. */ - reasonCode?: CodeableConcept[]; + reasonCode?: CodeableConcept[]|undefined; /** * Conditions can be identified at the activity level that are not identified as reasons for the overall plan. */ - reasonReference?: Reference[]; + reasonReference?: Reference[]|undefined; /** * The period, timing or frequency upon which the described activity is to occur. */ - scheduledTiming?: Timing; + scheduledTiming?: Timing|undefined; /** * The period, timing or frequency upon which the described activity is to occur. */ - scheduledPeriod?: Period; + scheduledPeriod?: Period|undefined; /** * The period, timing or frequency upon which the described activity is to occur. */ - scheduledString?: string; - _scheduledString?: Element; + scheduledString?: string|undefined; + _scheduledString?: Element|undefined; /** * Some aspects of status can be inferred based on the resources linked in actionTaken. Note that "status" is only as current as the plan was most recently updated. * The unknown code is not to be used to convey other statuses. The unknown code should be used when one of the statuses applies, but the authoring system doesn't know the current state of the activity. */ status: CarePlanActivityDetailStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Will generally not be present if status is "complete". Be sure to prompt to update this (or at least remove the existing value) if the status is changed. */ - statusReason?: CodeableConcept; + statusReason?: CodeableConcept|undefined; } /** * Code Values for the CarePlan.activity.detail.kind field @@ -5312,24 +5312,24 @@ export interface CarePlanActivity extends BackboneElement { /** * A simple summary of a planned activity suitable for a general care plan system (e.g. form driven) that doesn't know about specific resources such as procedure etc. */ - detail?: CarePlanActivityDetail; + detail?: CarePlanActivityDetail|undefined; /** * Note that this should not duplicate the activity status (e.g. completed or in progress). */ - outcomeCodeableConcept?: CodeableConcept[]; + outcomeCodeableConcept?: CodeableConcept[]|undefined; /** * The activity outcome is independent of the outcome of the related goal(s). For example, if the goal is to achieve a target body weight of 150 lbs and an activity is defined to diet, then the activity outcome could be calories consumed whereas the goal outcome is an observation for the actual body weight measured. */ - outcomeReference?: Reference[]; + outcomeReference?: Reference[]|undefined; /** * This element should NOT be used to describe the activity to be performed - that occurs either within the resource pointed to by activity.detail.reference or in activity.detail.description. */ - progress?: Annotation[]; + progress?: Annotation[]|undefined; /** * Standard extension exists ([resource-pertainsToGoal](extension-resource-pertainstogoal.html)) that allows goals to be referenced from any of the referenced resources in CarePlan.activity.reference. * The goal should be visible when the resource referenced by CarePlan.activity.reference is viewed independently from the CarePlan. Requests that are pointed to by a CarePlan using this element should *not* point to this CarePlan using the "basedOn" element. i.e. Requests that are part of a CarePlan are not "based on" the CarePlan. */ - reference?: Reference; + reference?: Reference|undefined; } /** * Describes the intention of how one or more practitioners intend to deliver care for a particular patient, group or community for a period of time, possibly limited to care for a specific condition or set of conditions. @@ -5340,90 +5340,90 @@ export interface CarePlan extends DomainResource { /** * Identifies a planned action to occur as part of the plan. For example, a medication to be used, lab tests to perform, self-monitoring, education, etc. */ - activity?: CarePlanActivity[]; + activity?: CarePlanActivity[]|undefined; /** * When the diagnosis is related to an allergy or intolerance, the Condition and AllergyIntolerance resources can both be used. However, to be actionable for decision support, using Condition alone is not sufficient as the allergy or intolerance condition needs to be represented as an AllergyIntolerance. */ - addresses?: Reference[]; + addresses?: Reference[]|undefined; /** * The author may also be a contributor. For example, an organization can be an author, but not listed as a contributor. */ - author?: Reference; + author?: Reference|undefined; /** * A care plan that is fulfilled in whole or in part by this care plan. */ - basedOn?: Reference[]; + basedOn?: Reference[]|undefined; /** * Identifies all people and organizations who are expected to be involved in the care envisioned by this plan. */ - careTeam?: Reference[]; + careTeam?: Reference[]|undefined; /** * There may be multiple axes of categorization and one plan may serve multiple purposes. In some cases, this may be redundant with references to CarePlan.concern. */ - category?: CodeableConcept[]; + category?: CodeableConcept[]|undefined; /** * Collaborative care plans may have multiple contributors. */ - contributor?: Reference[]; + contributor?: Reference[]|undefined; /** * Represents when this particular CarePlan record was created in the system, which is often a system-generated date. */ - created?: string; - _created?: Element; + created?: string|undefined; + _created?: Element|undefined; /** * A description of the scope and nature of the plan. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * This will typically be the encounter the event occurred within, but some activities may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter. CarePlan activities conducted as a result of the care plan may well occur as part of other encounters. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * Goal can be achieving a particular change or merely maintaining a current state or even slowing a decline. */ - goal?: Reference[]; + goal?: Reference[]|undefined; /** * This is a business identifier, not a resource identifier (see [discussion](resource.html#identifiers)). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and a Person resource instance might share the same social insurance number. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The URL pointing to a FHIR-defined protocol, guideline, questionnaire or other definition that is adhered to in whole or in part by this CarePlan. */ - instantiatesCanonical?: string[]; - _instantiatesCanonical?: Element[]; + instantiatesCanonical?: string[]|undefined; + _instantiatesCanonical?: Element[]|undefined; /** * This might be an HTML page, PDF, etc. or could just be a non-resolvable URI identifier. */ - instantiatesUri?: string[]; - _instantiatesUri?: Element[]; + instantiatesUri?: string[]|undefined; + _instantiatesUri?: Element[]|undefined; /** * This element is labeled as a modifier because the intent alters when and how the resource is actually applicable. */ intent: CarePlanIntentCodes; - _intent?: Element; + _intent?: Element|undefined; /** * General notes about the care plan not covered elsewhere. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * Each care plan is an independent request, such that having a care plan be part of another care plan can cause issues with cascading statuses. As such, this element is still being discussed. */ - partOf?: Reference[]; + partOf?: Reference[]|undefined; /** * Any activities scheduled as part of the plan should be constrained to the specified period regardless of whether the activities are planned within a single encounter/episode or across multiple encounters/episodes (e.g. the longitudinal management of a chronic condition). */ - period?: Period; + period?: Period|undefined; /** * The replacement could be because the initial care plan was immediately rejected (due to an issue) or because the previous care plan was completed, but the need for the action described by the care plan remains ongoing. */ - replaces?: Reference[]; + replaces?: Reference[]|undefined; /** * The unknown code is not to be used to convey other statuses. The unknown code should be used when one of the statuses applies, but the authoring system doesn't know the current state of the care plan. * This element is labeled as a modifier because the status contains the code entered-in-error that marks the plan as not currently valid. */ status: CarePlanStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Identifies the patient or group whose intended care is described by the plan. */ @@ -5431,12 +5431,12 @@ export interface CarePlan extends DomainResource { /** * Use "concern" to identify specific conditions addressed by the care plan. */ - supportingInfo?: Reference[]; + supportingInfo?: Reference[]|undefined; /** * Human-friendly name for the care plan. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; } /** * Code Values for the CarePlan.intent field @@ -5467,19 +5467,19 @@ export interface CareTeamParticipant extends BackboneElement { * Patient only needs to be listed if they have a role other than "subject of care". * Member is optional because some participants may be known only by their role, particularly in draft plans. */ - member?: Reference; + member?: Reference|undefined; /** * The organization of the practitioner. */ - onBehalfOf?: Reference; + onBehalfOf?: Reference|undefined; /** * Indicates when the specific member or organization did (or is intended to) come into effect and end. */ - period?: Period; + period?: Period|undefined; /** * Roles may sometimes be inferred by type of Practitioner. These are relationships that hold only within the context of the care team. General relationships should be handled as properties of the Patient resource directly. */ - role?: CodeableConcept[]; + role?: CodeableConcept[]|undefined; } /** * The Care Team includes all the people and organizations who plan to participate in the coordination and delivery of care for a patient. @@ -5490,57 +5490,57 @@ export interface CareTeam extends DomainResource { /** * There may be multiple axis of categorization and one team may serve multiple purposes. */ - category?: CodeableConcept[]; + category?: CodeableConcept[]|undefined; /** * This will typically be the encounter the event occurred within, but some activities may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * This is a business identifier, not a resource identifier (see [discussion](resource.html#identifiers)). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and a Person resource instance might share the same social insurance number. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The organization responsible for the care team. */ - managingOrganization?: Reference[]; + managingOrganization?: Reference[]|undefined; /** * The meaning/purpose of the team is conveyed in CareTeam.category. This element may also convey semantics of the team (e.g. "Red trauma team"), but its primary purpose is to distinguish between identical teams in a human-friendly way. ("Team 18735" isn't as friendly.). */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Comments made about the CareTeam. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * Identifies all people and organizations who are expected to be involved in the care team. */ - participant?: CareTeamParticipant[]; + participant?: CareTeamParticipant[]|undefined; /** * Indicates when the team did (or is intended to) come into effect and end. */ - period?: Period; + period?: Period|undefined; /** * Describes why the care team exists. */ - reasonCode?: CodeableConcept[]; + reasonCode?: CodeableConcept[]|undefined; /** * Condition(s) that this care team addresses. */ - reasonReference?: Reference[]; + reasonReference?: Reference[]|undefined; /** * This element is labeled as a modifier because the status contains the code entered-in-error that marks the care team as not currently valid. */ - status?: CareTeamStatusCodes; - _status?: Element; + status?: CareTeamStatusCodes|undefined; + _status?: Element|undefined; /** * Identifies the patient or group whose intended care is handled by the team. */ - subject?: Reference; + subject?: Reference|undefined; /** * The ContactPoint.use code of home is not appropriate to use. These contacts are not the contact details of individual care team members. */ - telecom?: ContactPoint[]; + telecom?: ContactPoint[]|undefined; } /** * Code Values for the CareTeam.status field @@ -5564,7 +5564,7 @@ export interface CatalogEntryRelatedEntry extends BackboneElement { * The type of relation to the related item: child, parent, packageContent, containerPackage, usedIn, uses, requires, etc. */ relationtype: CatalogEntryRelatedEntryRelationtypeCodes; - _relationtype?: Element; + _relationtype?: Element|undefined; } /** * Code Values for the CatalogEntry.relatedEntry.relationtype field @@ -5582,33 +5582,33 @@ export interface CatalogEntry extends DomainResource { /** * Used for examplefor Out of Formulary, or any specifics. */ - additionalCharacteristic?: CodeableConcept[]; + additionalCharacteristic?: CodeableConcept[]|undefined; /** * User for example for ATC classification, or. */ - additionalClassification?: CodeableConcept[]; + additionalClassification?: CodeableConcept[]|undefined; /** * Used in supporting related concepts, e.g. NDC to RxNorm. */ - additionalIdentifier?: Identifier[]; + additionalIdentifier?: Identifier[]|undefined; /** * Classes of devices, or ATC for medication. */ - classification?: CodeableConcept[]; + classification?: CodeableConcept[]|undefined; /** * Used in supporting different identifiers for the same product, e.g. manufacturer code and retailer code. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Perhaps not needed - if we use fhir resource metadata. */ - lastUpdated?: string; - _lastUpdated?: Element; + lastUpdated?: string|undefined; + _lastUpdated?: Element|undefined; /** * Whether the entry represents an orderable item. */ orderable: boolean; - _orderable?: Element; + _orderable?: Element|undefined; /** * The item in a catalog or definition. */ @@ -5616,25 +5616,25 @@ export interface CatalogEntry extends DomainResource { /** * Used for example, to point to a substance, or to a device used to administer a medication. */ - relatedEntry?: CatalogEntryRelatedEntry[]; + relatedEntry?: CatalogEntryRelatedEntry[]|undefined; /** * Used to support catalog exchange even for unsupported products, e.g. getting list of medications even if not prescribable. */ - status?: CatalogEntryStatusCodes; - _status?: Element; + status?: CatalogEntryStatusCodes|undefined; + _status?: Element|undefined; /** * The type of item - medication, device, service, protocol or other. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; /** * The time period in which this catalog entry is expected to be active. */ - validityPeriod?: Period; + validityPeriod?: Period|undefined; /** * The date until which this catalog entry is expected to be active. */ - validTo?: string; - _validTo?: Element; + validTo?: string|undefined; + _validTo?: Element|undefined; } /** * Code Values for the CatalogEntry.status field @@ -5656,7 +5656,7 @@ export interface ChargeItemPerformer extends BackboneElement { /** * Describes the type of performance or participation(e.g. primary surgeon, anesthesiologiest, etc.). */ - function?: CodeableConcept; + function?: CodeableConcept|undefined; } /** * The resource ChargeItem describes the provision of healthcare provider products for a certain patient, therefore referring not only to the product, but containing in addition details of the provision, like date, time, amounts and participating organizations and persons. Main Usage of the ChargeItem is to enable the billing process and internal cost allocation. @@ -5667,11 +5667,11 @@ export interface ChargeItem extends DomainResource { /** * Systems posting the ChargeItems might not always be able to determine, which accounts the Items need to be places into. It is up to the postprocessing Financial System to apply internal rules to decide based on the Encounter/EpisodeOfCare/Patient/Coverage context and the type of ChargeItem, which Account is appropriate. */ - account?: Reference[]; + account?: Reference[]|undefined; /** * Only used if not implicit in code found in Condition.code. If the use case requires attributes from the BodySite resource (e.g. to identify and track separately) then use the standard extension [bodySite](extension-bodysite.html). May be a summary code, or a reference to a very precise definition of the location, or both. */ - bodysite?: CodeableConcept[]; + bodysite?: CodeableConcept[]|undefined; /** * A code that identifies the charge, like a billing code. */ @@ -5679,106 +5679,106 @@ export interface ChargeItem extends DomainResource { /** * The encounter or episode of care that establishes the context for this event. */ - context?: Reference; + context?: Reference|undefined; /** * The costCenter could either be given as a reference to an Organization(Role) resource or as the identifier of the cost center determined by Reference.identifier.value and Reference.identifier.system, depending on use case requirements. */ - costCenter?: Reference; + costCenter?: Reference|undefined; /** * References the source of pricing information, rules of application for the code this ChargeItem uses. */ - definitionCanonical?: string[]; - _definitionCanonical?: Element[]; + definitionCanonical?: string[]|undefined; + _definitionCanonical?: Element[]|undefined; /** * References the (external) source of pricing information, rules of application for the code this ChargeItem uses. */ - definitionUri?: string[]; - _definitionUri?: Element[]; + definitionUri?: string[]|undefined; + _definitionUri?: Element[]|undefined; /** * The actual date when the service associated with the charge has been rendered is captured in occurrence[x]. */ - enteredDate?: string; - _enteredDate?: Element; + enteredDate?: string|undefined; + _enteredDate?: Element|undefined; /** * The enterer is also the person considered responsible for factor/price overrides if applicable. */ - enterer?: Reference; + enterer?: Reference|undefined; /** * There is no reason to carry the factor in the instance of a ChargeItem unless special circumstances require a manual override. The factors are usually defined by a set of rules in a back catalogue of the billing codes (see ChargeItem.definition). Derived profiles may require a ChargeItem.overrideReason to be provided if either factor or price are manually overridden. */ - factorOverride?: number; + factorOverride?: number|undefined; /** * Identifiers assigned to this event performer or other systems. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Comments made about the event by the performer, subject or other participants. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * The list of types may be constrained as appropriate for the type of charge item. */ - occurrenceDateTime?: string; - _occurrenceDateTime?: Element; + occurrenceDateTime?: string|undefined; + _occurrenceDateTime?: Element|undefined; /** * The list of types may be constrained as appropriate for the type of charge item. */ - occurrencePeriod?: Period; + occurrencePeriod?: Period|undefined; /** * The list of types may be constrained as appropriate for the type of charge item. */ - occurrenceTiming?: Timing; + occurrenceTiming?: Timing|undefined; /** * Derived Profiles may choose to add invariants requiring this field to be populated if either priceOverride or factorOverride have been filled. */ - overrideReason?: string; - _overrideReason?: Element; + overrideReason?: string|undefined; + _overrideReason?: Element|undefined; /** * ChargeItems can be grouped to larger ChargeItems covering the whole set. */ - partOf?: Reference[]; + partOf?: Reference[]|undefined; /** * Indicates who or what performed or participated in the charged service. */ - performer?: ChargeItemPerformer[]; + performer?: ChargeItemPerformer[]|undefined; /** * Practitioners and Devices can be associated with multiple organizations. It has to be made clear, on behalf of which Organization the services have been rendered. */ - performingOrganization?: Reference; + performingOrganization?: Reference|undefined; /** * There is no reason to carry the price in the instance of a ChargeItem unless circumstances require a manual override. The list prices or are usually defined in a back catalogue of the billing codes (see ChargeItem.definition). Derived profiles may require a ChargeItem.overrideReason to be provided if either factor or price are manually overridden. */ - priceOverride?: Money; + priceOverride?: Money|undefined; /** * Identifies the device, food, drug or other product being charged either by type code or reference to an instance. */ - productReference?: Reference; + productReference?: Reference|undefined; /** * Identifies the device, food, drug or other product being charged either by type code or reference to an instance. */ - productCodeableConcept?: CodeableConcept; + productCodeableConcept?: CodeableConcept|undefined; /** * In many cases this may just be a value, if the underlying units are implicit in the definition of the charge item code. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * If the application of the charge item requires a reason to be given, it can be captured here. Textual reasons can be captured using reasonCode.text. */ - reason?: CodeableConcept[]; + reason?: CodeableConcept[]|undefined; /** * The rendered Service might not be associated with a Request. This property indicates which Organization requested the services to be rendered. (In many cases, this may just be the Department associated with the Encounter.location). */ - requestingOrganization?: Reference; + requestingOrganization?: Reference|undefined; /** * Indicated the rendered service that caused this charge. */ - service?: Reference[]; + service?: Reference[]|undefined; /** * Unknown does not represent "other" - one of the defined statuses must apply. Unknown is used when the authoring system is not sure what the current status is. * This element is labeled as a modifier because the status contains the code entered-in-error that marks the charge item as not currently valid. */ status: ChargeItemStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * The individual or set of individuals the action is being or was performed on. */ @@ -5786,7 +5786,7 @@ export interface ChargeItem extends DomainResource { /** * Further information supporting this charge. */ - supportingInformation?: Reference[]; + supportingInformation?: Reference[]|undefined; } /** * Code Values for the ChargeItem.status field @@ -5807,19 +5807,19 @@ export interface ChargeItemDefinitionApplicability extends BackboneElement { /** * A brief, natural language description of the condition that effectively communicates the intended semantics. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Please note that FHIRPath Expressions can only be evaluated in the scope of the current ChargeItem resource to which this definition is being applied. * FHIRPath expressions can traverse into other resources linked from the ChargeItem resource, however, testing rules such as that a billing code may be billed only once per encounter need a wider scope. In such scenarios, CQL may be the appropriate choice. */ - expression?: string; - _expression?: Element; + expression?: string|undefined; + _expression?: Element|undefined; /** * The media type of the language for the expression, e.g. "text/cql" for Clinical Query Language expressions or "text/fhirpath" for FHIRPath expressions. */ - language?: string; - _language?: Element; + language?: string|undefined; + _language?: Element|undefined; } /** * The price for a ChargeItem may be calculated as a base price with surcharges/deductions that apply in certain conditions. A ChargeItemDefinition resource that defines the prices, factors and conditions that apply to a billing code is currently under development. The priceComponent element can be used to offer transparency to the recipient of the Invoice of how the prices have been calculated. @@ -5828,20 +5828,20 @@ export interface ChargeItemDefinitionPropertyGroupPriceComponent extends Backbon /** * The amount calculated for this component. */ - amount?: Money; + amount?: Money|undefined; /** * A code that identifies the component. Codes may be used to differentiate between kinds of taxes, surcharges, discounts etc. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * The factor that has been applied on the base price for calculating this component. */ - factor?: number; + factor?: number|undefined; /** * This code identifies the type of the component. */ type: ChargeItemDefinitionPropertyGroupPriceComponentTypeCodes; - _type?: Element; + _type?: Element|undefined; } /** * Code Values for the ChargeItemDefinition.propertyGroup.priceComponent.type field @@ -5861,11 +5861,11 @@ export interface ChargeItemDefinitionPropertyGroup extends BackboneElement { /** * The applicability conditions can be used to ascertain whether a billing item is allowed in a specific context. E.g. some billing codes may only be applicable in out-patient settings, only to male/female patients or only to children. */ - applicability?: ChargeItemDefinitionApplicability[]; + applicability?: ChargeItemDefinitionApplicability[]|undefined; /** * The price for a ChargeItem may be calculated as a base price with surcharges/deductions that apply in certain conditions. A ChargeItemDefinition resource that defines the prices, factors and conditions that apply to a billing code is currently under development. The priceComponent element can be used to offer transparency to the recipient of the Invoice of how the prices have been calculated. */ - priceComponent?: ChargeItemDefinitionPropertyGroupPriceComponent[]; + priceComponent?: ChargeItemDefinitionPropertyGroupPriceComponent[]|undefined; } /** * The ChargeItemDefinition resource provides the properties that apply to the (billing) codes necessary to calculate costs and prices. The properties may differ largely depending on type and realm, therefore this resource gives only a rough structure and requires profiling for each type of billing code system. @@ -5876,111 +5876,111 @@ export interface ChargeItemDefinition extends DomainResource { /** * The applicability conditions can be used to ascertain whether a billing item is allowed in a specific context. E.g. some billing codes may only be applicable in out-patient settings, only to male/female patients or only to children. */ - applicability?: ChargeItemDefinitionApplicability[]; + applicability?: ChargeItemDefinitionApplicability[]|undefined; /** * The 'date' element may be more recent than the approval date because of minor changes or editorial corrections. */ - approvalDate?: string; - _approvalDate?: Element; + approvalDate?: string|undefined; + _approvalDate?: Element|undefined; /** * The defined billing details in this resource pertain to the given billing code. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * A copyright statement relating to the charge item definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the charge item definition. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the charge item definition. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * The URL pointing to an externally-defined charge item definition that is adhered to in whole or in part by this definition. */ - derivedFromUri?: string[]; - _derivedFromUri?: Element[]; + derivedFromUri?: string[]|undefined; + _derivedFromUri?: Element[]|undefined; /** * This description can be used to capture details such as why the charge item definition was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the charge item definition as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the charge item definition is presumed to be the predominant language in the place the charge item definition was created). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * The effective period for a charge item definition determines when the content is applicable for usage and is independent of publication and review dates. For example, a measure intended to be used for the year 2016 might be published in 2015. */ - effectivePeriod?: Period; + effectivePeriod?: Period|undefined; /** * Allows filtering of charge item definitions that are appropriate for use versus not. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this charge item definition outside of FHIR, where it is not possible to use the logical URI. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * In case of highly customized, individually produced or fitted devices/substances, the pricing information may be different for each instance of the product. This reference links pricing details to specific product instances. */ - instance?: Reference[]; + instance?: Reference[]|undefined; /** * It may be possible for the charge item definition to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * If specified, this date follows the original approval date. */ - lastReviewDate?: string; - _lastReviewDate?: Element; + lastReviewDate?: string|undefined; + _lastReviewDate?: Element|undefined; /** * A larger definition of which this particular definition is a component or step. */ - partOf?: string[]; - _partOf?: Element[]; + partOf?: string[]|undefined; + _partOf?: Element[]|undefined; /** * Group of properties which are applicable under the same conditions. If no applicability rules are established for the group, then all properties always apply. */ - propertyGroup?: ChargeItemDefinitionPropertyGroup[]; + propertyGroup?: ChargeItemDefinitionPropertyGroup[]|undefined; /** * Usually an organization but may be an individual. The publisher (or steward) of the charge item definition is the organization or individual primarily responsible for the maintenance and upkeep of the charge item definition. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the charge item definition. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * As new versions of a protocol or guideline are defined, allows identification of what versions are replaced by a new instance. */ - replaces?: string[]; - _replaces?: Element[]; + replaces?: string[]|undefined; + _replaces?: Element[]|undefined; /** * Allows filtering of charge item definitions that are appropriate for use versus not. */ status: ChargeItemDefinitionStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. */ url: string; - _url?: Element; + _url?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different charge item definition instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the charge item definition with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the ChargeItemDefinition.status field @@ -5998,15 +5998,15 @@ export interface ClaimRelated extends BackboneElement { /** * Reference to a related claim. */ - claim?: Reference; + claim?: Reference|undefined; /** * For example, Property/Casualty insurer claim # or Workers Compensation case # . */ - reference?: Identifier; + reference?: Identifier|undefined; /** * For example, prior claim or umbrella. */ - relationship?: CodeableConcept; + relationship?: CodeableConcept|undefined; } /** * Often providers agree to receive the benefits payable to reduce the near-term costs to the patient. The insurer may decline to pay the provider and choose to pay the subscriber instead. @@ -6015,7 +6015,7 @@ export interface ClaimPayee extends BackboneElement { /** * Not required if the payee is 'subscriber' or 'provider'. */ - party?: Reference; + party?: Reference|undefined; /** * Type of Party to be reimbursed: subscriber, provider, other. */ @@ -6032,16 +6032,16 @@ export interface ClaimCareTeam extends BackboneElement { /** * The qualification of the practitioner which is applicable for this service. */ - qualification?: CodeableConcept; + qualification?: CodeableConcept|undefined; /** * Responsible might not be required when there is only a single provider listed. */ - responsible?: boolean; - _responsible?: Element; + responsible?: boolean|undefined; + _responsible?: Element|undefined; /** * Role might not be required when there is only a single provider listed. */ - role?: CodeableConcept; + role?: CodeableConcept|undefined; /** * A number to uniquely identify care team entries. */ @@ -6058,11 +6058,11 @@ export interface ClaimSupportingInfo extends BackboneElement { /** * System and code pertaining to the specific information regarding special conditions relating to the setting, treatment or patient for which care is sought. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * For example: the reason for the additional stay, or why a tooth is missing. */ - reason?: CodeableConcept; + reason?: CodeableConcept|undefined; /** * A number to uniquely identify supporting information entries. */ @@ -6070,34 +6070,34 @@ export interface ClaimSupportingInfo extends BackboneElement { /** * The date when or period to which this information refers. */ - timingDate?: string; - _timingDate?: Element; + timingDate?: string|undefined; + _timingDate?: Element|undefined; /** * The date when or period to which this information refers. */ - timingPeriod?: Period; + timingPeriod?: Period|undefined; /** * Could be used to provide references to other resources, document. For example could contain a PDF in an Attachment of the Police Report for an Accident. */ - valueBoolean?: boolean; - _valueBoolean?: Element; + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; /** * Could be used to provide references to other resources, document. For example could contain a PDF in an Attachment of the Police Report for an Accident. */ - valueString?: string; - _valueString?: Element; + valueString?: string|undefined; + _valueString?: Element|undefined; /** * Could be used to provide references to other resources, document. For example could contain a PDF in an Attachment of the Police Report for an Accident. */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; /** * Could be used to provide references to other resources, document. For example could contain a PDF in an Attachment of the Police Report for an Accident. */ - valueAttachment?: Attachment; + valueAttachment?: Attachment|undefined; /** * Could be used to provide references to other resources, document. For example could contain a PDF in an Attachment of the Police Report for an Accident. */ - valueReference?: Reference; + valueReference?: Reference|undefined; } /** * Information about diagnoses relevant to the claim items. @@ -6106,19 +6106,19 @@ export interface ClaimDiagnosis extends BackboneElement { /** * The nature of illness or problem in a coded form or as a reference to an external defined Condition. */ - diagnosisCodeableConcept?: CodeableConcept; + diagnosisCodeableConcept?: CodeableConcept|undefined; /** * The nature of illness or problem in a coded form or as a reference to an external defined Condition. */ - diagnosisReference?: Reference; + diagnosisReference?: Reference|undefined; /** * Indication of whether the diagnosis was present on admission to a facility. */ - onAdmission?: CodeableConcept; + onAdmission?: CodeableConcept|undefined; /** * For example DRG (Diagnosis Related Group) or a bundled billing code. A patient may have a diagnosis of a Myocardial Infarction and a DRG for HeartAttack would be assigned. The Claim item (and possible subsequent claims) would refer to the DRG for those line items that were for services related to the heart attack event. */ - packageCode?: CodeableConcept; + packageCode?: CodeableConcept|undefined; /** * Diagnosis are presented in list order to their expected importance: primary, secondary, etc. */ @@ -6126,7 +6126,7 @@ export interface ClaimDiagnosis extends BackboneElement { /** * For example: admitting, primary, secondary, discharge. */ - type?: CodeableConcept[]; + type?: CodeableConcept[]|undefined; } /** * Procedures performed on the patient relevant to the billing items with the claim. @@ -6135,16 +6135,16 @@ export interface ClaimProcedure extends BackboneElement { /** * Date and optionally time the procedure was performed. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * The code or reference to a Procedure resource which identifies the clinical intervention performed. */ - procedureCodeableConcept?: CodeableConcept; + procedureCodeableConcept?: CodeableConcept|undefined; /** * The code or reference to a Procedure resource which identifies the clinical intervention performed. */ - procedureReference?: Reference; + procedureReference?: Reference|undefined; /** * A number to uniquely identify procedure entries. */ @@ -6152,11 +6152,11 @@ export interface ClaimProcedure extends BackboneElement { /** * For example: primary, secondary. */ - type?: CodeableConcept[]; + type?: CodeableConcept[]|undefined; /** * Unique Device Identifiers associated with this line item. */ - udi?: Reference[]; + udi?: Reference[]|undefined; } /** * All insurance coverages for the patient which may be applicable for reimbursement, of the products and services listed in the claim, are typically provided in the claim to allow insurers to confirm the ordering of the insurance coverages relative to local 'coordination of benefit' rules. One coverage (and only one) with 'focal=true' is to be used in the adjudication of this claim. Coverages appearing before the focal Coverage in the list, and where 'Coverage.subrogation=false', should provide a reference to the ClaimResponse containing the adjudication results of the prior claim. @@ -6165,12 +6165,12 @@ export interface ClaimInsurance extends BackboneElement { /** * A business agreement number established between the provider and the insurer for special business processing purposes. */ - businessArrangement?: string; - _businessArrangement?: Element; + businessArrangement?: string|undefined; + _businessArrangement?: Element|undefined; /** * Must not be specified when 'focal=true' for this insurance. */ - claimResponse?: Reference; + claimResponse?: Reference|undefined; /** * Reference to the insurance card level information contained in the Coverage resource. The coverage issuing insurer will use these details to locate the patient's actual coverage within the insurer's information system. */ @@ -6179,16 +6179,16 @@ export interface ClaimInsurance extends BackboneElement { * A patient may (will) have multiple insurance policies which provide reimbursement for healthcare services and products. For example a person may also be covered by their spouse's policy and both appear in the list (and may be from the same insurer). This flag will be set to true for only one of the listed policies and that policy will be used for adjudicating this claim. Other claims would be created to request adjudication against the other listed policies. */ focal: boolean; - _focal?: Element; + _focal?: Element|undefined; /** * Only required in jurisdictions where insurers, rather than the provider, are required to send claims to insurers that appear after them in the list. This element is not required when 'subrogation=true'. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * This value is an alphanumeric string that may be provided over the phone, via text, via paper, or within a ClaimResponse resource and is not a FHIR Identifier. */ - preAuthRef?: string[]; - _preAuthRef?: Element[]; + preAuthRef?: string[]|undefined; + _preAuthRef?: Element[]|undefined; /** * A number to uniquely identify insurance entries and provide a sequence of coverages to convey coordination of benefit order. */ @@ -6202,19 +6202,19 @@ export interface ClaimAccident extends BackboneElement { * The date of the accident has to precede the dates of the products and services but within a reasonable timeframe. */ date: string; - _date?: Element; + _date?: Element|undefined; /** * The physical location of the accident event. */ - locationAddress?: Address; + locationAddress?: Address|undefined; /** * The physical location of the accident event. */ - locationReference?: Reference; + locationReference?: Reference|undefined; /** * The type or context of the accident event for the purposes of selection of potential insurance coverages and determination of coordination between insurers. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * A claim detail line. Either a simple (a product or service) or a 'group' of sub-details which are simple items. @@ -6223,19 +6223,19 @@ export interface ClaimItemDetailSubDetail extends BackboneElement { /** * Examples include Medical Care, Periodontics, Renal Dialysis, Vision Coverage. */ - category?: CodeableConcept; + category?: CodeableConcept|undefined; /** * To show a 10% senior's discount, the value entered is: 0.90 (1.00 - 0.10). */ - factor?: number; + factor?: number|undefined; /** * For example in Oral whether the treatment is cosmetic or associated with TMJ, or for Medical whether the treatment was outside the clinic or out of office hours. */ - modifier?: CodeableConcept[]; + modifier?: CodeableConcept[]|undefined; /** * For example, the formula: quantity * unitPrice * factor = net. Quantity and factor are assumed to be 1 if not supplied. */ - net?: Money; + net?: Money|undefined; /** * If this is an actual service or product line, i.e. not a Group, then use code to indicate the Professional Service or Product supplied (e.g. CTP, HCPCS, USCLS, ICD10, NCPDP, DIN, RxNorm, ACHI, CCI). If a grouping item then use a group code to indicate the type of thing being grouped e.g. 'glasses' or 'compound'. */ @@ -6243,15 +6243,15 @@ export interface ClaimItemDetailSubDetail extends BackboneElement { /** * For example: Neonatal program, child dental program or drug users recovery program. */ - programCode?: CodeableConcept[]; + programCode?: CodeableConcept[]|undefined; /** * The number of repetitions of a service or product. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * The type of revenue or cost center providing the product and/or service. */ - revenue?: CodeableConcept; + revenue?: CodeableConcept|undefined; /** * A number to uniquely identify item entries. */ @@ -6259,11 +6259,11 @@ export interface ClaimItemDetailSubDetail extends BackboneElement { /** * Unique Device Identifiers associated with this line item. */ - udi?: Reference[]; + udi?: Reference[]|undefined; /** * If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group. */ - unitPrice?: Money; + unitPrice?: Money|undefined; } /** * A claim detail line. Either a simple (a product or service) or a 'group' of sub-details which are simple items. @@ -6272,19 +6272,19 @@ export interface ClaimItemDetail extends BackboneElement { /** * Examples include Medical Care, Periodontics, Renal Dialysis, Vision Coverage. */ - category?: CodeableConcept; + category?: CodeableConcept|undefined; /** * To show a 10% senior's discount, the value entered is: 0.90 (1.00 - 0.10). */ - factor?: number; + factor?: number|undefined; /** * For example in Oral whether the treatment is cosmetic or associated with TMJ, or for Medical whether the treatment was outside the clinic or out of office hours. */ - modifier?: CodeableConcept[]; + modifier?: CodeableConcept[]|undefined; /** * For example, the formula: quantity * unitPrice * factor = net. Quantity and factor are assumed to be 1 if not supplied. */ - net?: Money; + net?: Money|undefined; /** * If this is an actual service or product line, i.e. not a Group, then use code to indicate the Professional Service or Product supplied (e.g. CTP, HCPCS, USCLS, ICD10, NCPDP, DIN, RxNorm, ACHI, CCI). If a grouping item then use a group code to indicate the type of thing being grouped e.g. 'glasses' or 'compound'. */ @@ -6292,15 +6292,15 @@ export interface ClaimItemDetail extends BackboneElement { /** * For example: Neonatal program, child dental program or drug users recovery program. */ - programCode?: CodeableConcept[]; + programCode?: CodeableConcept[]|undefined; /** * The number of repetitions of a service or product. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * The type of revenue or cost center providing the product and/or service. */ - revenue?: CodeableConcept; + revenue?: CodeableConcept|undefined; /** * A number to uniquely identify item entries. */ @@ -6308,15 +6308,15 @@ export interface ClaimItemDetail extends BackboneElement { /** * A claim detail line. Either a simple (a product or service) or a 'group' of sub-details which are simple items. */ - subDetail?: ClaimItemDetailSubDetail[]; + subDetail?: ClaimItemDetailSubDetail[]|undefined; /** * Unique Device Identifiers associated with this line item. */ - udi?: Reference[]; + udi?: Reference[]|undefined; /** * If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group. */ - unitPrice?: Money; + unitPrice?: Money|undefined; } /** * A claim line. Either a simple product or service or a 'group' of details which can each be a simple items or groups of sub-details. @@ -6325,59 +6325,59 @@ export interface ClaimItem extends BackboneElement { /** * For example: Providing a tooth code, allows an insurer to identify a provider performing a filling on a tooth that was previously removed. */ - bodySite?: CodeableConcept; + bodySite?: CodeableConcept|undefined; /** * CareTeam members related to this service or product. */ - careTeamSequence?: number[]; + careTeamSequence?: number[]|undefined; /** * Examples include Medical Care, Periodontics, Renal Dialysis, Vision Coverage. */ - category?: CodeableConcept; + category?: CodeableConcept|undefined; /** * A claim detail line. Either a simple (a product or service) or a 'group' of sub-details which are simple items. */ - detail?: ClaimItemDetail[]; + detail?: ClaimItemDetail[]|undefined; /** * Diagnosis applicable for this service or product. */ - diagnosisSequence?: number[]; + diagnosisSequence?: number[]|undefined; /** * This will typically be the encounter the event occurred within, but some activities may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter. */ - encounter?: Reference[]; + encounter?: Reference[]|undefined; /** * To show a 10% senior's discount, the value entered is: 0.90 (1.00 - 0.10). */ - factor?: number; + factor?: number|undefined; /** * Exceptions, special conditions and supporting information applicable for this service or product. */ - informationSequence?: number[]; + informationSequence?: number[]|undefined; /** * Where the product or service was provided. */ - locationCodeableConcept?: CodeableConcept; + locationCodeableConcept?: CodeableConcept|undefined; /** * Where the product or service was provided. */ - locationAddress?: Address; + locationAddress?: Address|undefined; /** * Where the product or service was provided. */ - locationReference?: Reference; + locationReference?: Reference|undefined; /** * For example in Oral whether the treatment is cosmetic or associated with TMJ, or for Medical whether the treatment was outside the clinic or outside of office hours. */ - modifier?: CodeableConcept[]; + modifier?: CodeableConcept[]|undefined; /** * For example, the formula: quantity * unitPrice * factor = net. Quantity and factor are assumed to be 1 if not supplied. */ - net?: Money; + net?: Money|undefined; /** * Procedures applicable for this service or product. */ - procedureSequence?: number[]; + procedureSequence?: number[]|undefined; /** * If this is an actual service or product line, i.e. not a Group, then use code to indicate the Professional Service or Product supplied (e.g. CTP, HCPCS, USCLS, ICD10, NCPDP, DIN, RxNorm, ACHI, CCI). If a grouping item then use a group code to indicate the type of thing being grouped e.g. 'glasses' or 'compound'. */ @@ -6385,15 +6385,15 @@ export interface ClaimItem extends BackboneElement { /** * For example: Neonatal program, child dental program or drug users recovery program. */ - programCode?: CodeableConcept[]; + programCode?: CodeableConcept[]|undefined; /** * The number of repetitions of a service or product. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * The type of revenue or cost center providing the product and/or service. */ - revenue?: CodeableConcept; + revenue?: CodeableConcept|undefined; /** * A number to uniquely identify item entries. */ @@ -6401,24 +6401,24 @@ export interface ClaimItem extends BackboneElement { /** * The date or dates when the service or product was supplied, performed or completed. */ - servicedDate?: string; - _servicedDate?: Element; + servicedDate?: string|undefined; + _servicedDate?: Element|undefined; /** * The date or dates when the service or product was supplied, performed or completed. */ - servicedPeriod?: Period; + servicedPeriod?: Period|undefined; /** * A region or surface of the bodySite, e.g. limb region or tooth surface(s). */ - subSite?: CodeableConcept[]; + subSite?: CodeableConcept[]|undefined; /** * Unique Device Identifiers associated with this line item. */ - udi?: Reference[]; + udi?: Reference[]|undefined; /** * If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group. */ - unitPrice?: Money; + unitPrice?: Money|undefined; } /** * A provider issued list of professional services and products which have been provided, or are to be provided, to a patient which is sent to an insurer for reimbursement. @@ -6429,40 +6429,40 @@ export interface Claim extends DomainResource { /** * Details of an accident which resulted in injuries which required the products and services listed in the claim. */ - accident?: ClaimAccident; + accident?: ClaimAccident|undefined; /** * Typically this would be today or in the past for a claim, and today or in the future for preauthorizations and predeterminations. Typically line item dates of service should fall within the billing period if one is specified. */ - billablePeriod?: Period; + billablePeriod?: Period|undefined; /** * The members of the team who provided the products and services. */ - careTeam?: ClaimCareTeam[]; + careTeam?: ClaimCareTeam[]|undefined; /** * This field is independent of the date of creation of the resource as it may reflect the creation date of a source document prior to digitization. Typically for claims all services must be completed as of this date. */ created: string; - _created?: Element; + _created?: Element|undefined; /** * Information about diagnoses relevant to the claim items. */ - diagnosis?: ClaimDiagnosis[]; + diagnosis?: ClaimDiagnosis[]|undefined; /** * Individual who created the claim, predetermination or preauthorization. */ - enterer?: Reference; + enterer?: Reference|undefined; /** * Facility where the services were provided. */ - facility?: Reference; + facility?: Reference|undefined; /** * This field is only used for preauthorizations. */ - fundsReserve?: CodeableConcept; + fundsReserve?: CodeableConcept|undefined; /** * A unique identifier assigned to this claim. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * All insurance coverages for the patient which may be applicable for reimbursement, of the products and services listed in the claim, are typically provided in the claim to allow insurers to confirm the ordering of the insurance coverages relative to local 'coordination of benefit' rules. One coverage (and only one) with 'focal=true' is to be used in the adjudication of this claim. Coverages appearing before the focal Coverage in the list, and where 'Coverage.subrogation=false', should provide a reference to the ClaimResponse containing the adjudication results of the prior claim. */ @@ -6470,15 +6470,15 @@ export interface Claim extends DomainResource { /** * The Insurer who is target of the request. */ - insurer?: Reference; + insurer?: Reference|undefined; /** * A claim line. Either a simple product or service or a 'group' of details which can each be a simple items or groups of sub-details. */ - item?: ClaimItem[]; + item?: ClaimItem[]|undefined; /** * For example, a physician may prescribe a medication which the pharmacy determines is contraindicated, or for which the patient has an intolerance, and therefore issues a new prescription for an alternate medication which has the same therapeutic intent. The prescription from the pharmacy becomes the 'prescription' and that from the physician becomes the 'original prescription'. */ - originalPrescription?: Reference; + originalPrescription?: Reference|undefined; /** * The party to whom the professional services and/or products have been supplied or are being considered and for whom actual or forecast reimbursement is sought. */ @@ -6486,11 +6486,11 @@ export interface Claim extends DomainResource { /** * Often providers agree to receive the benefits payable to reduce the near-term costs to the patient. The insurer may decline to pay the provider and choose to pay the subscriber instead. */ - payee?: ClaimPayee; + payee?: ClaimPayee|undefined; /** * Prescription to support the dispensing of pharmacy, device or vision products. */ - prescription?: Reference; + prescription?: Reference|undefined; /** * If a claim processor is unable to complete the processing as per the priority then they should generate and error and not process the request. */ @@ -6498,7 +6498,7 @@ export interface Claim extends DomainResource { /** * Procedures performed on the patient relevant to the billing items with the claim. */ - procedure?: ClaimProcedure[]; + procedure?: ClaimProcedure[]|undefined; /** * Typically this field would be 1..1 where this party is responsible for the claim but not necessarily professionally responsible for the provision of the individual products and services listed below. */ @@ -6506,28 +6506,28 @@ export interface Claim extends DomainResource { /** * The referral resource which lists the date, practitioner, reason and other supporting information. */ - referral?: Reference; + referral?: Reference|undefined; /** * For example, for the original treatment and follow-up exams. */ - related?: ClaimRelated[]; + related?: ClaimRelated[]|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: ClaimStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * This may contain the local bill type codes, for example the US UB-04 bill type code or the CMS bill type. */ - subType?: CodeableConcept; + subType?: CodeableConcept|undefined; /** * Often there are multiple jurisdiction specific valuesets which are required. */ - supportingInfo?: ClaimSupportingInfo[]; + supportingInfo?: ClaimSupportingInfo[]|undefined; /** * The total value of the all the items in the claim. */ - total?: Money; + total?: Money|undefined; /** * The majority of jurisdictions use: oral, pharmacy, vision, professional and institutional, or variants on those terms, as the general styles of claims. The valueset is extensible to accommodate other jurisdictional requirements. */ @@ -6536,7 +6536,7 @@ export interface Claim extends DomainResource { * A code to indicate whether the nature of the request is: to request adjudication of products and services previously rendered; or requesting authorization and adjudication for provision in the future; or requesting the non-binding adjudication of the listed products and services which could be provided in the future. */ use: ClaimUseCodes; - _use?: Element; + _use?: Element|undefined; } /** * Code Values for the Claim.status field @@ -6562,7 +6562,7 @@ export interface ClaimResponseItemAdjudication extends BackboneElement { /** * For example: amount submitted, eligible amount, co-payment, and benefit payable. */ - amount?: Money; + amount?: Money|undefined; /** * For example codes indicating: Co-Pay, deductible, eligible, benefit, tax, etc. */ @@ -6570,11 +6570,11 @@ export interface ClaimResponseItemAdjudication extends BackboneElement { /** * For example may indicate that the funds for this benefit type have been exhausted. */ - reason?: CodeableConcept; + reason?: CodeableConcept|undefined; /** * For example: eligible percentage or co-payment percentage. */ - value?: number; + value?: number|undefined; } /** * A sub-detail adjudication of a simple product or service. @@ -6583,11 +6583,11 @@ export interface ClaimResponseItemDetailSubDetail extends BackboneElement { /** * The adjudication results. */ - adjudication?: ClaimResponseItemAdjudication[]; + adjudication?: ClaimResponseItemAdjudication[]|undefined; /** * The numbers associated with notes below which apply to the adjudication of this item. */ - noteNumber?: number[]; + noteNumber?: number[]|undefined; /** * A number to uniquely reference the claim sub-detail entry. */ @@ -6608,11 +6608,11 @@ export interface ClaimResponseItemDetail extends BackboneElement { /** * The numbers associated with notes below which apply to the adjudication of this item. */ - noteNumber?: number[]; + noteNumber?: number[]|undefined; /** * A sub-detail adjudication of a simple product or service. */ - subDetail?: ClaimResponseItemDetailSubDetail[]; + subDetail?: ClaimResponseItemDetailSubDetail[]|undefined; } /** * A claim line. Either a simple (a product or service) or a 'group' of details which can also be a simple items or groups of sub-details. @@ -6625,7 +6625,7 @@ export interface ClaimResponseItem extends BackboneElement { /** * A claim detail. Either a simple (a product or service) or a 'group' of sub-details which are simple items. */ - detail?: ClaimResponseItemDetail[]; + detail?: ClaimResponseItemDetail[]|undefined; /** * A number to uniquely reference the claim item entries. */ @@ -6633,7 +6633,7 @@ export interface ClaimResponseItem extends BackboneElement { /** * The numbers associated with notes below which apply to the adjudication of this item. */ - noteNumber?: number[]; + noteNumber?: number[]|undefined; } /** * The third-tier service adjudications for payor added services. @@ -6646,19 +6646,19 @@ export interface ClaimResponseAddItemDetailSubDetail extends BackboneElement { /** * To show a 10% senior's discount, the value entered is: 0.90 (1.00 - 0.10). */ - factor?: number; + factor?: number|undefined; /** * For example in Oral whether the treatment is cosmetic or associated with TMJ, or for Medical whether the treatment was outside the clinic or outside of office hours. */ - modifier?: CodeableConcept[]; + modifier?: CodeableConcept[]|undefined; /** * For example, the formula: quantity * unitPrice * factor = net. Quantity and factor are assumed to be 1 if not supplied. */ - net?: Money; + net?: Money|undefined; /** * The numbers associated with notes below which apply to the adjudication of this item. */ - noteNumber?: number[]; + noteNumber?: number[]|undefined; /** * If this is an actual service or product line, i.e. not a Group, then use code to indicate the Professional Service or Product supplied (e.g. CTP, HCPCS, USCLS, ICD10, NCPDP, DIN, RxNorm, ACHI, CCI). If a grouping item then use a group code to indicate the type of thing being grouped e.g. 'glasses' or 'compound'. */ @@ -6666,11 +6666,11 @@ export interface ClaimResponseAddItemDetailSubDetail extends BackboneElement { /** * The number of repetitions of a service or product. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group. */ - unitPrice?: Money; + unitPrice?: Money|undefined; } /** * The second-tier service adjudications for payor added services. @@ -6683,19 +6683,19 @@ export interface ClaimResponseAddItemDetail extends BackboneElement { /** * To show a 10% senior's discount, the value entered is: 0.90 (1.00 - 0.10). */ - factor?: number; + factor?: number|undefined; /** * For example in Oral whether the treatment is cosmetic or associated with TMJ, or for Medical whether the treatment was outside the clinic or outside of office hours. */ - modifier?: CodeableConcept[]; + modifier?: CodeableConcept[]|undefined; /** * For example, the formula: quantity * unitPrice * factor = net. Quantity and factor are assumed to be 1 if not supplied. */ - net?: Money; + net?: Money|undefined; /** * The numbers associated with notes below which apply to the adjudication of this item. */ - noteNumber?: number[]; + noteNumber?: number[]|undefined; /** * If this is an actual service or product line, i.e. not a Group, then use code to indicate the Professional Service or Product supplied (e.g. CTP, HCPCS, USCLS, ICD10, NCPDP, DIN, RxNorm, ACHI, CCI). If a grouping item then use a group code to indicate the type of thing being grouped e.g. 'glasses' or 'compound'. */ @@ -6703,15 +6703,15 @@ export interface ClaimResponseAddItemDetail extends BackboneElement { /** * The number of repetitions of a service or product. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * The third-tier service adjudications for payor added services. */ - subDetail?: ClaimResponseAddItemDetailSubDetail[]; + subDetail?: ClaimResponseAddItemDetailSubDetail[]|undefined; /** * If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group. */ - unitPrice?: Money; + unitPrice?: Money|undefined; } /** * The first-tier service adjudications for payor added product or service lines. @@ -6724,47 +6724,47 @@ export interface ClaimResponseAddItem extends BackboneElement { /** * For example: Providing a tooth code allows an insurer to identify a provider performing a filling on a tooth that was previously removed. */ - bodySite?: CodeableConcept; + bodySite?: CodeableConcept|undefined; /** * The second-tier service adjudications for payor added services. */ - detail?: ClaimResponseAddItemDetail[]; + detail?: ClaimResponseAddItemDetail[]|undefined; /** * The sequence number of the details within the claim item which this line is intended to replace. */ - detailSequence?: number[]; + detailSequence?: number[]|undefined; /** * To show a 10% senior's discount, the value entered is: 0.90 (1.00 - 0.10). */ - factor?: number; + factor?: number|undefined; /** * Claim items which this service line is intended to replace. */ - itemSequence?: number[]; + itemSequence?: number[]|undefined; /** * Where the product or service was provided. */ - locationCodeableConcept?: CodeableConcept; + locationCodeableConcept?: CodeableConcept|undefined; /** * Where the product or service was provided. */ - locationAddress?: Address; + locationAddress?: Address|undefined; /** * Where the product or service was provided. */ - locationReference?: Reference; + locationReference?: Reference|undefined; /** * For example in Oral whether the treatment is cosmetic or associated with TMJ, or for Medical whether the treatment was outside the clinic or outside of office hours. */ - modifier?: CodeableConcept[]; + modifier?: CodeableConcept[]|undefined; /** * For example, the formula: quantity * unitPrice * factor = net. Quantity and factor are assumed to be 1 if not supplied. */ - net?: Money; + net?: Money|undefined; /** * The numbers associated with notes below which apply to the adjudication of this item. */ - noteNumber?: number[]; + noteNumber?: number[]|undefined; /** * If this is an actual service or product line, i.e. not a Group, then use code to indicate the Professional Service or Product supplied (e.g. CTP, HCPCS, USCLS, ICD10, NCPDP, DIN, RxNorm, ACHI, CCI). If a grouping item then use a group code to indicate the type of thing being grouped e.g. 'glasses' or 'compound'. */ @@ -6772,36 +6772,36 @@ export interface ClaimResponseAddItem extends BackboneElement { /** * For example: Neonatal program, child dental program or drug users recovery program. */ - programCode?: CodeableConcept[]; + programCode?: CodeableConcept[]|undefined; /** * The providers who are authorized for the services rendered to the patient. */ - provider?: Reference[]; + provider?: Reference[]|undefined; /** * The number of repetitions of a service or product. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * The date or dates when the service or product was supplied, performed or completed. */ - servicedDate?: string; - _servicedDate?: Element; + servicedDate?: string|undefined; + _servicedDate?: Element|undefined; /** * The date or dates when the service or product was supplied, performed or completed. */ - servicedPeriod?: Period; + servicedPeriod?: Period|undefined; /** * The sequence number of the sub-details within the details within the claim item which this line is intended to replace. */ - subdetailSequence?: number[]; + subdetailSequence?: number[]|undefined; /** * A region or surface of the bodySite, e.g. limb region or tooth surface(s). */ - subSite?: CodeableConcept[]; + subSite?: CodeableConcept[]|undefined; /** * If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group. */ - unitPrice?: Money; + unitPrice?: Money|undefined; } /** * Totals for amounts submitted, co-pays, benefits payable etc. @@ -6823,11 +6823,11 @@ export interface ClaimResponsePayment extends BackboneElement { /** * Insurers will deduct amounts owing from the provider (adjustment), such as a prior overpayment, from the amount owing to the provider (benefits payable) when payment is made to the provider. */ - adjustment?: Money; + adjustment?: Money|undefined; /** * Reason for the payment adjustment. */ - adjustmentReason?: CodeableConcept; + adjustmentReason?: CodeableConcept|undefined; /** * Benefits payable less any payment adjustment. */ @@ -6835,12 +6835,12 @@ export interface ClaimResponsePayment extends BackboneElement { /** * Estimated date the payment will be issued or the actual issue date of payment. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * For example: EFT number or check number. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * Whether this represents partial or complete payment of the benefits payable. */ @@ -6853,21 +6853,21 @@ export interface ClaimResponseProcessNote extends BackboneElement { /** * Only required if the language is different from the resource language. */ - language?: CodeableConcept; + language?: CodeableConcept|undefined; /** * A number to uniquely identify a note entry. */ - number?: number; + number?: number|undefined; /** * The explanation or description associated with the processing. */ text: string; - _text?: Element; + _text?: Element|undefined; /** * The business purpose of the note text. */ - type?: ClaimResponseProcessNoteTypeCodes; - _type?: Element; + type?: ClaimResponseProcessNoteTypeCodes|undefined; + _type?: Element|undefined; } /** * Code Values for the ClaimResponse.processNote.type field @@ -6884,12 +6884,12 @@ export interface ClaimResponseInsurance extends BackboneElement { /** * A business agreement number established between the provider and the insurer for special business processing purposes. */ - businessArrangement?: string; - _businessArrangement?: Element; + businessArrangement?: string|undefined; + _businessArrangement?: Element|undefined; /** * Must not be specified when 'focal=true' for this insurance. */ - claimResponse?: Reference; + claimResponse?: Reference|undefined; /** * Reference to the insurance card level information contained in the Coverage resource. The coverage issuing insurer will use these details to locate the patient's actual coverage within the insurer's information system. */ @@ -6898,7 +6898,7 @@ export interface ClaimResponseInsurance extends BackboneElement { * A patient may (will) have multiple insurance policies which provide reimbursement for healthcare services and products. For example a person may also be covered by their spouse's policy and both appear in the list (and may be from the same insurer). This flag will be set to true for only one of the listed policies and that policy will be used for adjudicating this claim. Other claims would be created to request adjudication against the other listed policies. */ focal: boolean; - _focal?: Element; + _focal?: Element|undefined; /** * A number to uniquely identify insurance entries and provide a sequence of coverages to convey coordination of benefit order. */ @@ -6915,15 +6915,15 @@ export interface ClaimResponseError extends BackboneElement { /** * The sequence number of the detail within the line item submitted which contains the error. This value is omitted when the error occurs outside of the item structure. */ - detailSequence?: number; + detailSequence?: number|undefined; /** * The sequence number of the line item submitted which contains the error. This value is omitted when the error occurs outside of the item structure. */ - itemSequence?: number; + itemSequence?: number|undefined; /** * The sequence number of the sub-detail within the detail within the line item submitted which contains the error. This value is omitted when the error occurs outside of the item structure. */ - subDetailSequence?: number; + subDetailSequence?: number|undefined; } /** * This resource provides the adjudication details from the processing of a Claim resource. @@ -6934,49 +6934,49 @@ export interface ClaimResponse extends DomainResource { /** * The first-tier service adjudications for payor added product or service lines. */ - addItem?: ClaimResponseAddItem[]; + addItem?: ClaimResponseAddItem[]|undefined; /** * The adjudication results which are presented at the header level rather than at the line-item or add-item levels. */ - adjudication?: ClaimResponseItemAdjudication[]; + adjudication?: ClaimResponseItemAdjudication[]|undefined; /** * For example: professional reports, documents, images, clinical resources, or accident reports. */ - communicationRequest?: Reference[]; + communicationRequest?: Reference[]|undefined; /** * The date this resource was created. */ created: string; - _created?: Element; + _created?: Element|undefined; /** * A human readable description of the status of the adjudication. */ - disposition?: string; - _disposition?: Element; + disposition?: string|undefined; + _disposition?: Element|undefined; /** * If the request contains errors then an error element should be provided and no adjudication related sections (item, addItem, or payment) should be present. */ - error?: ClaimResponseError[]; + error?: ClaimResponseError[]|undefined; /** * Needed to permit insurers to include the actual form. */ - form?: Attachment; + form?: Attachment|undefined; /** * May be needed to identify specific jurisdictional forms. */ - formCode?: CodeableConcept; + formCode?: CodeableConcept|undefined; /** * Fund would be release by a future claim quoting the preAuthRef of this response. Examples of values include: provider, patient, none. */ - fundsReserve?: CodeableConcept; + fundsReserve?: CodeableConcept|undefined; /** * A unique identifier assigned to this claim response. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * All insurance coverages for the patient which may be applicable for reimbursement, of the products and services listed in the claim, are typically provided in the claim to allow insurers to confirm the ordering of the insurance coverages relative to local 'coordination of benefit' rules. One coverage (and only one) with 'focal=true' is to be used in the adjudication of this claim. Coverages appearing before the focal Coverage in the list, and where 'subrogation=false', should provide a reference to the ClaimResponse containing the adjudication results of the prior claim. */ - insurance?: ClaimResponseInsurance[]; + insurance?: ClaimResponseInsurance[]|undefined; /** * The party responsible for authorization, adjudication and reimbursement. */ @@ -6984,12 +6984,12 @@ export interface ClaimResponse extends DomainResource { /** * A claim line. Either a simple (a product or service) or a 'group' of details which can also be a simple items or groups of sub-details. */ - item?: ClaimResponseItem[]; + item?: ClaimResponseItem[]|undefined; /** * The resource may be used to indicate that: the request has been held (queued) for processing; that it has been processed and errors found (error); that no errors were found and that some of the adjudication has been undertaken (partial) or that all of the adjudication has been undertaken (complete). */ outcome: ClaimResponseOutcomeCodes; - _outcome?: Element; + _outcome?: Element|undefined; /** * The party to whom the professional services and/or products have been supplied or are being considered and for whom actual for facast reimbursement is sought. */ @@ -6997,45 +6997,45 @@ export interface ClaimResponse extends DomainResource { /** * Type of Party to be reimbursed: subscriber, provider, other. */ - payeeType?: CodeableConcept; + payeeType?: CodeableConcept|undefined; /** * Payment details for the adjudication of the claim. */ - payment?: ClaimResponsePayment; + payment?: ClaimResponsePayment|undefined; /** * The time frame during which this authorization is effective. */ - preAuthPeriod?: Period; + preAuthPeriod?: Period|undefined; /** * This value is only present on preauthorization adjudications. */ - preAuthRef?: string; - _preAuthRef?: Element; + preAuthRef?: string|undefined; + _preAuthRef?: Element|undefined; /** * A note that describes or explains adjudication results in a human readable form. */ - processNote?: ClaimResponseProcessNote[]; + processNote?: ClaimResponseProcessNote[]|undefined; /** * Original request resource reference. */ - request?: Reference; + request?: Reference|undefined; /** * Typically this field would be 1..1 where this party is responsible for the claim but not necessarily professionally responsible for the provision of the individual products and services listed below. */ - requestor?: Reference; + requestor?: Reference|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: ClaimResponseStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * This may contain the local bill type codes, for example the US UB-04 bill type code or the CMS bill type. */ - subType?: CodeableConcept; + subType?: CodeableConcept|undefined; /** * Totals for amounts submitted, co-pays, benefits payable etc. */ - total?: ClaimResponseTotal[]; + total?: ClaimResponseTotal[]|undefined; /** * This may contain the local bill type codes, for example the US UB-04 bill type code or the CMS bill type. */ @@ -7044,7 +7044,7 @@ export interface ClaimResponse extends DomainResource { * A code to indicate whether the nature of the request is: to request adjudication of products and services previously rendered; or requesting authorization and adjudication for provision in the future; or requesting the non-binding adjudication of the listed products and services which could be provided in the future. */ use: ClaimResponseUseCodes; - _use?: Element; + _use?: Element|undefined; } /** * Code Values for the ClaimResponse.outcome field @@ -7083,7 +7083,7 @@ export interface ClinicalImpressionInvestigation extends BackboneElement { /** * Most investigations are observations of one kind or another but some other specific types of data collection resources can also be used. */ - item?: Reference[]; + item?: Reference[]|undefined; } /** * Specific findings or diagnoses that were considered likely or relevant to ongoing treatment. @@ -7092,16 +7092,16 @@ export interface ClinicalImpressionFinding extends BackboneElement { /** * Which investigations support finding or diagnosis. */ - basis?: string; - _basis?: Element; + basis?: string|undefined; + _basis?: Element|undefined; /** * Specific text or code for finding or diagnosis, which may include ruled-out or resolved conditions. */ - itemCodeableConcept?: CodeableConcept; + itemCodeableConcept?: CodeableConcept|undefined; /** * Specific reference for finding or diagnosis, which may include ruled-out or resolved conditions. */ - itemReference?: Reference; + itemReference?: Reference|undefined; } /** * A record of a clinical assessment performed to determine what problem(s) may affect the patient and before planning the treatments or management strategies that are best to manage a patient's condition. Assessments are often 1:1 with a clinical consultation / encounter, but this varies greatly depending on the clinical workflow. This resource is called "ClinicalImpression" rather than "ClinicalAssessment" to avoid confusion with the recording of assessment tools such as Apgar score. @@ -7112,81 +7112,81 @@ export interface ClinicalImpression extends DomainResource { /** * The clinician performing the assessment. */ - assessor?: Reference; + assessor?: Reference|undefined; /** * This is present as a place-holder only and may be removed based on feedback/work group opinion. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * Indicates when the documentation of the assessment was complete. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * A summary of the context and/or cause of the assessment - why / where it was performed, and what patient events/status prompted it. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * This SHOULD be accurate to at least the minute, though some assessments only have a known date. */ - effectiveDateTime?: string; - _effectiveDateTime?: Element; + effectiveDateTime?: string|undefined; + _effectiveDateTime?: Element|undefined; /** * This SHOULD be accurate to at least the minute, though some assessments only have a known date. */ - effectivePeriod?: Period; + effectivePeriod?: Period|undefined; /** * This will typically be the encounter the event occurred within, but some activities may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * Specific findings or diagnoses that were considered likely or relevant to ongoing treatment. */ - finding?: ClinicalImpressionFinding[]; + finding?: ClinicalImpressionFinding[]|undefined; /** * This is a business identifier, not a resource identifier (see [discussion](resource.html#identifiers)). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and a Person resource instance might share the same social insurance number. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * One or more sets of investigations (signs, symptoms, etc.). The actual grouping of investigations varies greatly depending on the type and context of the assessment. These investigations may include data generated during the assessment process, or data previously generated and recorded that is pertinent to the outcomes. */ - investigation?: ClinicalImpressionInvestigation[]; + investigation?: ClinicalImpressionInvestigation[]|undefined; /** * Don't use this element for content that should more properly appear as one of the specific elements of the impression. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * It is always likely that multiple previous assessments exist for a patient. The point of quoting a previous assessment is that this assessment is relative to it (see resolved). */ - previous?: Reference; + previous?: Reference|undefined; /** * e.g. The patient is a pregnant, has congestive heart failure, has an ‎Adenocarcinoma, and is allergic to penicillin. */ - problem?: Reference[]; + problem?: Reference[]|undefined; /** * Estimate of likely outcome. */ - prognosisCodeableConcept?: CodeableConcept[]; + prognosisCodeableConcept?: CodeableConcept[]|undefined; /** * RiskAssessment expressing likely outcome. */ - prognosisReference?: Reference[]; + prognosisReference?: Reference[]|undefined; /** * Reference to a specific published clinical protocol that was followed during this assessment, and/or that provides evidence in support of the diagnosis. */ - protocol?: string[]; - _protocol?: Element[]; + protocol?: string[]|undefined; + _protocol?: Element[]|undefined; /** * This element is labeled as a modifier because the status contains the code entered-in-error that marks the clinical impression as not currently valid. */ status: ClinicalImpressionStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * This is generally only used for "exception" statuses such as "not-done", "suspended" or "cancelled". * [distinct reason codes for different statuses can be enforced using invariants if they are universal bindings]. */ - statusReason?: CodeableConcept; + statusReason?: CodeableConcept|undefined; /** * The patient or group of individuals assessed as part of this record. */ @@ -7194,12 +7194,12 @@ export interface ClinicalImpression extends DomainResource { /** * A text summary of the investigations and the diagnosis. */ - summary?: string; - _summary?: Element; + summary?: string|undefined; + _summary?: Element|undefined; /** * Information supporting the clinical impression. */ - supportingInfo?: Reference[]; + supportingInfo?: Reference[]|undefined; } /** * Code Values for the ClinicalImpression.status field @@ -7217,22 +7217,22 @@ export interface CodeSystemFilter extends BackboneElement { * The code that identifies this filter when it is used as a filter in [ValueSet](valueset.html#).compose.include.filter. */ code: string; - _code?: Element; + _code?: Element|undefined; /** * A description of how or why the filter is used. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * A list of operators that can be used with the filter. */ operator: CodeSystemFilterOperatorCodes[]; - _operator?: Element[]; + _operator?: Element[]|undefined; /** * A description of what the value for the filter should be. */ value: string; - _value?: Element; + _value?: Element|undefined; } /** * Code Values for the CodeSystem.filter.operator field @@ -7256,22 +7256,22 @@ export interface CodeSystemProperty extends BackboneElement { * A code that is used to identify the property. The code is used internally (in CodeSystem.concept.property.code) and also externally, such as in property filters. */ code: string; - _code?: Element; + _code?: Element|undefined; /** * A description of the property- why it is defined, and how its value might be used. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * The type of the property value. Properties of type "code" contain a code defined by the code system (e.g. a reference to another defined concept). */ type: CodeSystemPropertyTypeCodes; - _type?: Element; + _type?: Element|undefined; /** * Reference to the formal meaning of the property. One possible source of meaning is the [Concept Properties](codesystem-concept-properties.html) code system. */ - uri?: string; - _uri?: Element; + uri?: string|undefined; + _uri?: Element|undefined; } /** * Code Values for the CodeSystem.property.type field @@ -7292,17 +7292,17 @@ export interface CodeSystemConceptDesignation extends BackboneElement { /** * In the absence of a language, the resource language applies. */ - language?: string; - _language?: Element; + language?: string|undefined; + _language?: Element|undefined; /** * If no use is provided, the designation can be assumed to be suitable for general display to a human user. */ - use?: Coding; + use?: Coding|undefined; /** * The text value for this designation. */ value: string; - _value?: Element; + _value?: Element|undefined; } /** * A property value for this concept. @@ -7312,39 +7312,39 @@ export interface CodeSystemConceptProperty extends BackboneElement { * A code that is a reference to CodeSystem.property.code. */ code: string; - _code?: Element; + _code?: Element|undefined; /** * The value of this property. */ - valueCode?: string; - _valueCode?: Element; + valueCode?: string|undefined; + _valueCode?: Element|undefined; /** * The value of this property. */ - valueCoding?: Coding; + valueCoding?: Coding|undefined; /** * The value of this property. */ - valueString?: string; - _valueString?: Element; + valueString?: string|undefined; + _valueString?: Element|undefined; /** * The value of this property. */ - valueInteger?: number; + valueInteger?: number|undefined; /** * The value of this property. */ - valueBoolean?: boolean; - _valueBoolean?: Element; + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; /** * The value of this property. */ - valueDateTime?: string; - _valueDateTime?: Element; + valueDateTime?: string|undefined; + _valueDateTime?: Element|undefined; /** * The value of this property. */ - valueDecimal?: number; + valueDecimal?: number|undefined; } /** * If this is empty, it means that the code system resource does not represent the content of the code system. @@ -7354,29 +7354,29 @@ export interface CodeSystemConcept extends BackboneElement { * A code - a text symbol - that uniquely identifies the concept within the code system. */ code: string; - _code?: Element; + _code?: Element|undefined; /** * Defines children of a concept to produce a hierarchy of concepts. The nature of the relationships is variable (is-a/contains/categorizes) - see hierarchyMeaning. */ - concept?: CodeSystemConcept[]; + concept?: CodeSystemConcept[]|undefined; /** * The formal definition of the concept. The code system resource does not make formal definitions required, because of the prevalence of legacy systems. However, they are highly recommended, as without them there is no formal meaning associated with the concept. */ - definition?: string; - _definition?: Element; + definition?: string|undefined; + _definition?: Element|undefined; /** * Concepts have both a ```display``` and an array of ```designation```. The display is equivalent to a special designation with an implied ```designation.use``` of "primary code" and a language equal to the [Resource Language](resource.html#language). */ - designation?: CodeSystemConceptDesignation[]; + designation?: CodeSystemConceptDesignation[]|undefined; /** * A human readable string that is the recommended default way to present this concept to a user. */ - display?: string; - _display?: Element; + display?: string|undefined; + _display?: Element|undefined; /** * A property value for this concept. */ - property?: CodeSystemConceptProperty[]; + property?: CodeSystemConceptProperty[]|undefined; } /** * The CodeSystem resource is used to declare the existence of and describe a code system or code system supplement and its key properties, and optionally define a part or all of its content. @@ -7387,128 +7387,128 @@ export interface CodeSystem extends DomainResource { /** * If this value is missing, then it is not specified whether a code system is case sensitive or not. When the rule is not known, Postel's law should be followed: produce codes with the correct case, and accept codes in any case. This element is primarily provided to support validation software. */ - caseSensitive?: boolean; - _caseSensitive?: Element; + caseSensitive?: boolean|undefined; + _caseSensitive?: Element|undefined; /** * Note that the code system resource does not define what the compositional grammar is, only whether or not there is one. */ - compositional?: boolean; - _compositional?: Element; + compositional?: boolean|undefined; + _compositional?: Element|undefined; /** * If this is empty, it means that the code system resource does not represent the content of the code system. */ - concept?: CodeSystemConcept[]; + concept?: CodeSystemConcept[]|undefined; /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * The extent of the content of the code system (the concepts and codes it defines) are represented in this resource instance. */ content: CodeSystemContentCodes; - _content?: Element; + _content?: Element|undefined; /** * ... Sometimes, the copyright differs between the code system and the codes that are included. The copyright statement should clearly differentiate between these when required. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * The count of concepts defined in this resource cannot be more than this value but may be less for several reasons - see the content element. */ - count?: number; + count?: number|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the code system. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * This description can be used to capture details such as why the code system was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the code system as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the code system is presumed to be the predominant language in the place the code system was created). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Allows filtering of code systems that are appropriate for use versus not. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * Note that filters defined in code systems usually require custom code on the part of any terminology engine that will make them available for use in value set filters. For this reason, they are generally only seen in high value published terminologies. */ - filter?: CodeSystemFilter[]; + filter?: CodeSystemFilter[]|undefined; /** * Note that other representations might have a different hierarchy or none at all, and represent the information using properties. */ - hierarchyMeaning?: CodeSystemHierarchyMeaningCodes; - _hierarchyMeaning?: Element; + hierarchyMeaning?: CodeSystemHierarchyMeaningCodes|undefined; + _hierarchyMeaning?: Element|undefined; /** * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this code system outside of FHIR, where it is not possible to use the logical URI. Note that HL7 defines at least three identifiers for many of its code systems - the FHIR canonical URL, the OID and the V2 Table 0396 mnemonic code. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * It may be possible for the code system to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * A property defines an additional slot through which additional information can be provided about a concept. */ - property?: CodeSystemProperty[]; + property?: CodeSystemProperty[]|undefined; /** * Usually an organization but may be an individual. The publisher (or steward) of the code system is the organization or individual primarily responsible for the maintenance and upkeep of the code system. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the code system. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * This element does not describe the usage of the code system. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this code system. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * Allows filtering of code systems that are appropriate for use versus not. */ status: CodeSystemStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * The most common use of a code system supplement is to add additional language support. */ - supplements?: string; - _supplements?: Element; + supplements?: string|undefined; + _supplements?: Element|undefined; /** * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * The definition of the value set SHALL include all codes from this code system and only codes from this code system, and it SHALL be immutable. */ - valueSet?: string; - _valueSet?: Element; + valueSet?: string|undefined; + _valueSet?: Element|undefined; /** * There may be different code system instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the code system with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; /** * Best practice is that code systems do not redefine concepts, or that if concepts are redefined, a new code system definition is created. But this is not always possible, so some code systems may be defined as 'versionNeeded'. * Most code systems occasionally refine the displays defined for concepts between versions. Contexts in which the concept display values are validated may require that the version be specified for some code systems irrespective of the value of this property. */ - versionNeeded?: boolean; - _versionNeeded?: Element; + versionNeeded?: boolean|undefined; + _versionNeeded?: Element|undefined; } /** * Code Values for the CodeSystem.content field @@ -7545,16 +7545,16 @@ export interface CommunicationPayload extends BackboneElement { /** * A communicated content (or for multi-part communications, one portion of the communication). */ - contentString?: string; - _contentString?: Element; + contentString?: string|undefined; + _contentString?: Element|undefined; /** * A communicated content (or for multi-part communications, one portion of the communication). */ - contentAttachment?: Attachment; + contentAttachment?: Attachment|undefined; /** * A communicated content (or for multi-part communications, one portion of the communication). */ - contentReference?: Reference; + contentReference?: Reference|undefined; } /** * An occurrence of information being transmitted; e.g. an alert that was sent to a responsible provider, a public health agency that was notified about a reportable condition. @@ -7565,101 +7565,101 @@ export interface Communication extends DomainResource { /** * Don't use Communication.about element when a more specific element exists, such as basedOn or reasonReference. */ - about?: Reference[]; + about?: Reference[]|undefined; /** * This must point to some sort of a 'Request' resource, such as CarePlan, CommunicationRequest, ServiceRequest, MedicationRequest, etc. */ - basedOn?: Reference[]; + basedOn?: Reference[]|undefined; /** * There may be multiple axes of categorization and one communication may serve multiple purposes. */ - category?: CodeableConcept[]; + category?: CodeableConcept[]|undefined; /** * This will typically be the encounter the event occurred within, but some activities may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * This is a business identifier, not a resource identifier (see [discussion](resource.html#identifiers)). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and a Person resource instance might share the same social insurance number. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Prior communication that this communication is in response to. */ - inResponseTo?: Reference[]; + inResponseTo?: Reference[]|undefined; /** * The URL pointing to a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this Communication. */ - instantiatesCanonical?: string[]; - _instantiatesCanonical?: Element[]; + instantiatesCanonical?: string[]|undefined; + _instantiatesCanonical?: Element[]|undefined; /** * This might be an HTML page, PDF, etc. or could just be a non-resolvable URI identifier. */ - instantiatesUri?: string[]; - _instantiatesUri?: Element[]; + instantiatesUri?: string[]|undefined; + _instantiatesUri?: Element[]|undefined; /** * A channel that was used for this communication (e.g. email, fax). */ - medium?: CodeableConcept[]; + medium?: CodeableConcept[]|undefined; /** * Additional notes or commentary about the communication by the sender, receiver or other interested parties. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * Part of this action. */ - partOf?: Reference[]; + partOf?: Reference[]|undefined; /** * Text, attachment(s), or resource(s) that was communicated to the recipient. */ - payload?: CommunicationPayload[]; + payload?: CommunicationPayload[]|undefined; /** * Used to prioritize workflow (such as which communication to read first) when the communication is planned or in progress. */ - priority?: CommunicationPriorityCodes; - _priority?: Element; + priority?: CommunicationPriorityCodes|undefined; + _priority?: Element|undefined; /** * Textual reasons can be captured using reasonCode.text. */ - reasonCode?: CodeableConcept[]; + reasonCode?: CodeableConcept[]|undefined; /** * Indicates another resource whose existence justifies this communication. */ - reasonReference?: Reference[]; + reasonReference?: Reference[]|undefined; /** * The time when this communication arrived at the destination. */ - received?: string; - _received?: Element; + received?: string|undefined; + _received?: Element|undefined; /** * The entity (e.g. person, organization, clinical information system, care team or device) which was the target of the communication. If receipts need to be tracked by an individual, a separate resource instance will need to be created for each recipient. Multiple recipient communications are intended where either receipts are not tracked (e.g. a mass mail-out) or a receipt is captured in aggregate (all emails confirmed received by a particular time). */ - recipient?: Reference[]; + recipient?: Reference[]|undefined; /** * The entity (e.g. person, organization, clinical information system, or device) which was the source of the communication. */ - sender?: Reference; + sender?: Reference|undefined; /** * The time when this communication was sent. */ - sent?: string; - _sent?: Element; + sent?: string|undefined; + _sent?: Element|undefined; /** * This element is labeled as a modifier because the status contains the codes aborted and entered-in-error that mark the communication as not currently valid. */ status: CommunicationStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * This is generally only used for "exception" statuses such as "not-done", "suspended" or "aborted". The reason for performing the event at all is captured in reasonCode, not here. */ - statusReason?: CodeableConcept; + statusReason?: CodeableConcept|undefined; /** * The patient or group that was the focus of this communication. */ - subject?: Reference; + subject?: Reference|undefined; /** * Communication.topic.text can be used without any codings. */ - topic?: CodeableConcept; + topic?: CodeableConcept|undefined; } /** * Code Values for the Communication.priority field @@ -7690,16 +7690,16 @@ export interface CommunicationRequestPayload extends BackboneElement { /** * The communicated content (or for multi-part communications, one portion of the communication). */ - contentString?: string; - _contentString?: Element; + contentString?: string|undefined; + _contentString?: Element|undefined; /** * The communicated content (or for multi-part communications, one portion of the communication). */ - contentAttachment?: Attachment; + contentAttachment?: Attachment|undefined; /** * The communicated content (or for multi-part communications, one portion of the communication). */ - contentReference?: Reference; + contentReference?: Reference|undefined; } /** * A request to convey information; e.g. the CDS system proposes that an alert be sent to a responsible provider, the CDS system proposes that the public health agency be notified about a reportable condition. @@ -7710,100 +7710,100 @@ export interface CommunicationRequest extends DomainResource { /** * Don't use CommunicationRequest.about element when a more specific element exists, such as basedOn, reasonReference, or replaces. */ - about?: Reference[]; + about?: Reference[]|undefined; /** * For draft requests, indicates the date of initial creation. For requests with other statuses, indicates the date of activation. */ - authoredOn?: string; - _authoredOn?: Element; + authoredOn?: string|undefined; + _authoredOn?: Element|undefined; /** * A plan or proposal that is fulfilled in whole or in part by this request. */ - basedOn?: Reference[]; + basedOn?: Reference[]|undefined; /** * There may be multiple axes of categorization and one communication request may serve multiple purposes. */ - category?: CodeableConcept[]; + category?: CodeableConcept[]|undefined; /** * The attributes provided with the request qualify what is not to be done. */ - doNotPerform?: boolean; - _doNotPerform?: Element; + doNotPerform?: boolean|undefined; + _doNotPerform?: Element|undefined; /** * This will typically be the encounter the event occurred within, but some activities may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * Requests are linked either by a "basedOn" relationship (i.e. one request is fulfilling another) or by having a common requisition. Requests that are part of the same requisition are generally treated independently from the perspective of changing their state or maintaining them after initial creation. */ - groupIdentifier?: Identifier; + groupIdentifier?: Identifier|undefined; /** * This is a business identifier, not a resource identifier (see [discussion](resource.html#identifiers)). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and a Person resource instance might share the same social insurance number. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * A channel that was used for this communication (e.g. email, fax). */ - medium?: CodeableConcept[]; + medium?: CodeableConcept[]|undefined; /** * Comments made about the request by the requester, sender, recipient, subject or other participants. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * The time when this communication is to occur. */ - occurrenceDateTime?: string; - _occurrenceDateTime?: Element; + occurrenceDateTime?: string|undefined; + _occurrenceDateTime?: Element|undefined; /** * The time when this communication is to occur. */ - occurrencePeriod?: Period; + occurrencePeriod?: Period|undefined; /** * Text, attachment(s), or resource(s) to be communicated to the recipient. */ - payload?: CommunicationRequestPayload[]; + payload?: CommunicationRequestPayload[]|undefined; /** * Characterizes how quickly the proposed act must be initiated. Includes concepts such as stat, urgent, routine. */ - priority?: CommunicationRequestPriorityCodes; - _priority?: Element; + priority?: CommunicationRequestPriorityCodes|undefined; + _priority?: Element|undefined; /** * Textual reasons can be captured using reasonCode.text. */ - reasonCode?: CodeableConcept[]; + reasonCode?: CodeableConcept[]|undefined; /** * Indicates another resource whose existence justifies this request. */ - reasonReference?: Reference[]; + reasonReference?: Reference[]|undefined; /** * The entity (e.g. person, organization, clinical information system, device, group, or care team) which is the intended target of the communication. */ - recipient?: Reference[]; + recipient?: Reference[]|undefined; /** * The replacement could be because the initial request was immediately rejected (due to an issue) or because the previous request was completed, but the need for the action described by the request remains ongoing. */ - replaces?: Reference[]; + replaces?: Reference[]|undefined; /** * The device, individual, or organization who initiated the request and has responsibility for its activation. */ - requester?: Reference; + requester?: Reference|undefined; /** * The entity (e.g. person, organization, clinical information system, or device) which is to be the source of the communication. */ - sender?: Reference; + sender?: Reference|undefined; /** * The status of the proposal or order. */ status: CommunicationRequestStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * This is generally only used for "exception" statuses such as "suspended" or "cancelled". The reason why the CommunicationRequest was created at all is captured in reasonCode, not here. [distinct reason codes for different statuses can be enforced using invariants if they are universal bindings]. */ - statusReason?: CodeableConcept; + statusReason?: CodeableConcept|undefined; /** * The patient or group that is the focus of this communication request. */ - subject?: Reference; + subject?: Reference|undefined; } /** * Code Values for the CommunicationRequest.priority field @@ -7834,17 +7834,17 @@ export interface CompartmentDefinitionResource extends BackboneElement { * The name of a resource supported by the server. */ code: string; - _code?: Element; + _code?: Element|undefined; /** * Additional documentation about the resource and compartment. */ - documentation?: string; - _documentation?: Element; + documentation?: string|undefined; + _documentation?: Element|undefined; /** * If no search parameters are listed, then the resource is not linked to the compartment. */ - param?: string[]; - _param?: Element[]; + param?: string[]|undefined; + _param?: Element[]|undefined; } /** * A compartment definition that defines how resources are accessed on a server. @@ -7856,71 +7856,71 @@ export interface CompartmentDefinition extends DomainResource { * Only the specification can define the compartments that can exist. Servers can choose to support them. */ code: CompartmentDefinitionCodeCodes; - _code?: Element; + _code?: Element|undefined; /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the compartment definition. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * This description can be used to capture details such as why the compartment definition was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the compartment definition as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the compartment definition is presumed to be the predominant language in the place the compartment definition was created). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Allows filtering of compartment definitions that are appropriate for use versus not. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly.This is often the same as the code for the parameter, but does not need to be. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * Usually an organization but may be an individual. The publisher (or steward) of the compartment definition is the organization or individual primarily responsible for the maintenance and upkeep of the compartment definition. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the compartment definition. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * This element does not describe the usage of the compartment definition. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this compartment definition. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * Information about how a resource is related to the compartment. */ - resource?: CompartmentDefinitionResource[]; + resource?: CompartmentDefinitionResource[]|undefined; /** * Servers may define and use compartments to manage logical access without implementing the compartment related syntax. */ search: boolean; - _search?: Element; + _search?: Element|undefined; /** * Allows filtering of compartment definitions that are appropriate for use versus not. */ status: CompartmentDefinitionStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. */ url: string; - _url?: Element; + _url?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different compartment definition instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the compartment definition with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the CompartmentDefinition.code field @@ -7949,16 +7949,16 @@ export interface CompositionAttester extends BackboneElement { * The type of attestation the authenticator offers. */ mode: CompositionAttesterModeCodes; - _mode?: Element; + _mode?: Element|undefined; /** * Who attested the composition in the specified way. */ - party?: Reference; + party?: Reference|undefined; /** * When the composition was attested by the party. */ - time?: string; - _time?: Element; + time?: string|undefined; + _time?: Element|undefined; } /** * Code Values for the Composition.attester.mode field @@ -7977,15 +7977,15 @@ export interface CompositionRelatesTo extends BackboneElement { * If this document appends another document, then the document cannot be fully understood without also accessing the referenced document. */ code: CompositionRelatesToCodeCodes; - _code?: Element; + _code?: Element|undefined; /** * The target composition/document of this relationship. */ - targetIdentifier?: Identifier; + targetIdentifier?: Identifier|undefined; /** * The target composition/document of this relationship. */ - targetReference?: Reference; + targetReference?: Reference|undefined; } /** * Code Values for the Composition.relatesTo.code field @@ -8003,15 +8003,15 @@ export interface CompositionEvent extends BackboneElement { /** * An event can further specialize the act inherent in the typeCode, such as where it is simply "Procedure Report" and the procedure was a "colonoscopy". If one or more eventCodes are included, they SHALL NOT conflict with the values inherent in the classCode, practiceSettingCode or typeCode, as such a conflict would create an ambiguous situation. This short list of codes is provided to be used as key words for certain types of queries. */ - code?: CodeableConcept[]; + code?: CodeableConcept[]|undefined; /** * The description and/or reference of the event(s) being documented. For example, this could be used to document such a colonoscopy or an appendectomy. */ - detail?: Reference[]; + detail?: Reference[]|undefined; /** * The period of time covered by the documentation. There is no assertion that the documentation is a complete representation for this period, only that it documents events during this time. */ - period?: Period; + period?: Period|undefined; } /** * The root of the sections that make up the composition. @@ -8020,46 +8020,46 @@ export interface CompositionSection extends BackboneElement { /** * Identifies who is responsible for the information in this section, not necessarily who typed it in. */ - author?: Reference[]; + author?: Reference[]|undefined; /** * The code identifies the section for an automated processor of the document. This is particularly relevant when using profiles to control the structure of the document. * If the section has content (instead of sub-sections), the section.code does not change the meaning or interpretation of the resource that is the content of the section in the comments for the section.code. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * The various reasons for an empty section make a significant interpretation to its interpretation. Note that this code is for use when the entire section content has been suppressed, and not for when individual items are omitted - implementers may consider using a text note or a flag on an entry in these cases. */ - emptyReason?: CodeableConcept; + emptyReason?: CodeableConcept|undefined; /** * If there are no entries in the list, an emptyReason SHOULD be provided. */ - entry?: Reference[]; + entry?: Reference[]|undefined; /** * Typically, sections in a doument are about the subject of the document, whether that is a patient, or group of patients, location, or device, or whatever. For some kind of documents, some sections actually contain data about related entities. Typical examples are a section in a newborn discharge summary concerning the mother, or family history documents, with a section about each family member, though there are many other examples. */ - focus?: Reference; + focus?: Reference|undefined; /** * This element is labeled as a modifier because a change list must not be misunderstood as a complete list. */ - mode?: CompositionSectionModeCodes; - _mode?: Element; + mode?: CompositionSectionModeCodes|undefined; + _mode?: Element|undefined; /** * Applications SHOULD render ordered lists in the order provided, but MAY allow users to re-order based on their own preferences as well. If there is no order specified, the order is unknown, though there may still be some order. */ - orderedBy?: CodeableConcept; + orderedBy?: CodeableConcept|undefined; /** * Nested sections are primarily used to help human readers navigate to particular portions of the document. */ - section?: CompositionSection[]; + section?: CompositionSection[]|undefined; /** * Document profiles may define what content should be represented in the narrative to ensure clinical safety. */ - text?: Narrative; + text?: Narrative|undefined; /** * The title identifies the section for a human reader. The title must be consistent with the narrative of the resource that is the target of the section.content reference. Generally, sections SHOULD have titles, but in some documents, it is unnecessary or inappropriate. Typically, this is where a section has subsections that have their own adequately distinguishing title, or documents that only have a single section. Most Implementation Guides will make section title to be a required element. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; } /** * Code Values for the Composition.section.mode field @@ -8078,7 +8078,7 @@ export interface Composition extends DomainResource { /** * Only list each attester once. */ - attester?: CompositionAttester[]; + attester?: CompositionAttester[]|undefined; /** * Identifies who is responsible for the information in the composition, not necessarily who typed it in. */ @@ -8086,56 +8086,56 @@ export interface Composition extends DomainResource { /** * This is a metadata field from [XDS/MHD](http://wiki.ihe.net/index.php?title=Mobile_access_to_Health_Documents_(MHD)). */ - category?: CodeableConcept[]; + category?: CodeableConcept[]|undefined; /** * The exact use of this element, and enforcement and issues related to highly sensitive documents are out of scope for the base specification, and delegated to implementation profiles (see security section). This element is labeled as a modifier because highly confidential documents must not be treated as if they are not. */ - confidentiality?: string; - _confidentiality?: Element; + confidentiality?: string|undefined; + _confidentiality?: Element|undefined; /** * This is useful when documents are derived from a composition - provides guidance for how to get the latest version of the document. This is optional because this is sometimes not known by the authoring system, and can be inferred by context. However, it is important that this information be known when working with a derived document, so providing a custodian is encouraged. */ - custodian?: Reference; + custodian?: Reference|undefined; /** * The Last Modified Date on the composition may be after the date of the document was attested without being changed. */ date: string; - _date?: Element; + _date?: Element|undefined; /** * Describes the clinical encounter or type of care this documentation is associated with. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * The event needs to be consistent with the type element, though can provide further information if desired. */ - event?: CompositionEvent[]; + event?: CompositionEvent[]|undefined; /** * Similar to ClinicalDocument/setId in CDA. See discussion in resource definition for how these relate. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * A document is a version specific composition. */ - relatesTo?: CompositionRelatesTo[]; + relatesTo?: CompositionRelatesTo[]|undefined; /** * The root of the sections that make up the composition. */ - section?: CompositionSection[]; + section?: CompositionSection[]|undefined; /** * If a composition is marked as withdrawn, the compositions/documents in the series, or data from the composition or document series, should never be displayed to a user without being clearly marked as untrustworthy. The flag "entered-in-error" is why this element is labeled as a modifier of other elements. * Some reporting work flows require that the original narrative of a final document never be altered; instead, only new narrative can be added. The composition resource has no explicit status for explicitly noting whether this business rule is in effect. This would be handled by an extension if required. */ status: CompositionStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * For clinical documents, this is usually the patient. */ - subject?: Reference; + subject?: Reference|undefined; /** * For many compositions, the title is the same as the text or a display name of Composition.type (e.g. a "consultation" or "progress note"). Note that CDA does not make title mandatory, but there are no known cases where it is useful for title to be omitted, so it is mandatory here. Feedback on this requirement is welcome during the trial use period. */ title: string; - _title?: Element; + _title?: Element|undefined; /** * For Composition type, LOINC is ubiquitous and strongly endorsed by HL7. Most implementation guides will require a specific LOINC code, or use LOINC as an extensible binding. */ @@ -8157,23 +8157,23 @@ export interface ConceptMapGroupElementTargetDependsOn extends BackboneElement { /** * The display is ignored when processing the map. */ - display?: string; - _display?: Element; + display?: string|undefined; + _display?: Element|undefined; /** * A reference to an element that holds a coded value that corresponds to a code system property. The idea is that the information model carries an element somewhere that is labeled to correspond with a code system property. */ property: string; - _property?: Element; + _property?: Element|undefined; /** * An absolute URI that identifies the code system of the dependency code (if the source/dependency is a value set that crosses code systems). */ - system?: string; - _system?: Element; + system?: string|undefined; + _system?: Element|undefined; /** * Identity (code or path) or the element/item/ValueSet/text that the map depends on / refers to. */ value: string; - _value?: Element; + _value?: Element|undefined; } /** * Ideally there would only be one map, with equal or equivalent mapping. But multiple maps are allowed for several narrower options, or to assert that other concepts are unmatched. @@ -8182,31 +8182,31 @@ export interface ConceptMapGroupElementTarget extends BackboneElement { /** * Identity (code or path) or the element/item that the map refers to. */ - code?: string; - _code?: Element; + code?: string|undefined; + _code?: Element|undefined; /** * A description of status/issues in mapping that conveys additional information not represented in the structured data. */ - comment?: string; - _comment?: Element; + comment?: string|undefined; + _comment?: Element|undefined; /** * A set of additional dependencies for this mapping to hold. This mapping is only applicable if the specified element can be resolved, and it has the specified value. */ - dependsOn?: ConceptMapGroupElementTargetDependsOn[]; + dependsOn?: ConceptMapGroupElementTargetDependsOn[]|undefined; /** * The display is ignored when processing the map. */ - display?: string; - _display?: Element; + display?: string|undefined; + _display?: Element|undefined; /** * This element is labeled as a modifier because it may indicate that a target does not apply. */ equivalence: ConceptMapGroupElementTargetEquivalenceCodes; - _equivalence?: Element; + _equivalence?: Element|undefined; /** * A set of additional outcomes from this mapping to other elements. To properly execute this mapping, the specified element must be mapped to some data element or source that is in context. The mapping may still be useful without a place for the additional data elements, but the equivalence cannot be relied on. */ - product?: ConceptMapGroupElementTargetDependsOn[]; + product?: ConceptMapGroupElementTargetDependsOn[]|undefined; } /** * Code Values for the ConceptMap.group.element.target.equivalence field @@ -8230,17 +8230,17 @@ export interface ConceptMapGroupElement extends BackboneElement { /** * Identity (code or path) or the element/item being mapped. */ - code?: string; - _code?: Element; + code?: string|undefined; + _code?: Element|undefined; /** * The display is ignored when processing the map. */ - display?: string; - _display?: Element; + display?: string|undefined; + _display?: Element|undefined; /** * Ideally there would only be one map, with equal or equivalent mapping. But multiple maps are allowed for several narrower options, or to assert that other concepts are unmatched. */ - target?: ConceptMapGroupElementTarget[]; + target?: ConceptMapGroupElementTarget[]|undefined; } /** * This only applies if the source code has a system value that matches the system defined for the group. @@ -8249,23 +8249,23 @@ export interface ConceptMapGroupUnmapped extends BackboneElement { /** * The fixed code to use when the mode = 'fixed' - all unmapped codes are mapped to a single fixed code. */ - code?: string; - _code?: Element; + code?: string|undefined; + _code?: Element|undefined; /** * The display is ignored when processing the map. */ - display?: string; - _display?: Element; + display?: string|undefined; + _display?: Element|undefined; /** * Defines which action to take if there is no match for the source concept in the target system designated for the group. One of 3 actions are possible: use the unmapped code (this is useful when doing a mapping between versions, and only a few codes have changed), use a fixed code (a default code), or alternatively, a reference to a different concept map can be provided (by canonical URL). */ mode: ConceptMapGroupUnmappedModeCodes; - _mode?: Element; + _mode?: Element|undefined; /** * The canonical reference to an additional ConceptMap resource instance to use for mapping if this ConceptMap resource contains no matching mapping for the source concept. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; } /** * Code Values for the ConceptMap.group.unmapped.mode field @@ -8286,27 +8286,27 @@ export interface ConceptMapGroup extends BackboneElement { /** * This is not needed if the source value set is specified and it contains concepts from only a single system. */ - source?: string; - _source?: Element; + source?: string|undefined; + _source?: Element|undefined; /** * The specification of a particular code system version may be required for code systems which lack concept permanence. */ - sourceVersion?: string; - _sourceVersion?: Element; + sourceVersion?: string|undefined; + _sourceVersion?: Element|undefined; /** * This is not needed if the target value set is specified and it contains concepts from only a single system. The group target may also be omitted if all of the target element equivalence values are 'unmatched'. */ - target?: string; - _target?: Element; + target?: string|undefined; + _target?: Element|undefined; /** * The specification of a particular code system version may be required for code systems which lack concept permanence. */ - targetVersion?: string; - _targetVersion?: Element; + targetVersion?: string|undefined; + _targetVersion?: Element|undefined; /** * This only applies if the source code has a system value that matches the system defined for the group. */ - unmapped?: ConceptMapGroupUnmapped; + unmapped?: ConceptMapGroupUnmapped|undefined; } /** * A statement of relationships from one set of concepts to one or more other concepts - either concepts in code systems, or data element/data element concepts, or classes in class models. @@ -8317,100 +8317,100 @@ export interface ConceptMap extends DomainResource { /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * Frequently the copyright differs between the concept map and codes that are included. The copyright statement should clearly differentiate between these when required. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the concept map. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * The description is not intended to describe the semantics of the concept map. The description should capture its intended use, which is needed for ensuring integrity for its use in models across future changes. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Allows filtering of concept maps that are appropriate for use versus not. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * A group of mappings that all have the same source and target system. */ - group?: ConceptMapGroup[]; + group?: ConceptMapGroup[]|undefined; /** * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this concept map outside of FHIR, where it is not possible to use the logical URI. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * It may be possible for the concept map to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Usually an organization but may be an individual. The publisher (or steward) of the concept map is the organization or individual primarily responsible for the maintenance and upkeep of the concept map. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the concept map. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * This element does not describe the usage of the concept map. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this concept map. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * Should be a version specific reference. URIs SHOULD be absolute. If there is no source or target value set, there is no specified context for the map (not recommended). The source value set may select codes from either an explicit (standard or local) or implicit code system. */ - sourceUri?: string; - _sourceUri?: Element; + sourceUri?: string|undefined; + _sourceUri?: Element|undefined; /** * Should be a version specific reference. URIs SHOULD be absolute. If there is no source or target value set, there is no specified context for the map (not recommended). The source value set may select codes from either an explicit (standard or local) or implicit code system. */ - sourceCanonical?: string; - _sourceCanonical?: Element; + sourceCanonical?: string|undefined; + _sourceCanonical?: Element|undefined; /** * Allows filtering of concept maps that are appropriate for use versus not. */ status: ConceptMapStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Should be a version specific reference. URIs SHOULD be absolute. If there is no source or target value set, the is no specified context for the map. */ - targetUri?: string; - _targetUri?: Element; + targetUri?: string|undefined; + _targetUri?: Element|undefined; /** * Should be a version specific reference. URIs SHOULD be absolute. If there is no source or target value set, the is no specified context for the map. */ - targetCanonical?: string; - _targetCanonical?: Element; + targetCanonical?: string|undefined; + _targetCanonical?: Element|undefined; /** * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different concept map instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the concept map with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the ConceptMap.status field @@ -8428,15 +8428,15 @@ export interface ConditionStage extends BackboneElement { /** * Reference to a formal record of the evidence on which the staging assessment is based. */ - assessment?: Reference[]; + assessment?: Reference[]|undefined; /** * A simple summary of the stage such as "Stage 3". The determination of the stage is disease-specific. */ - summary?: CodeableConcept; + summary?: CodeableConcept|undefined; /** * The kind of staging, such as pathological or clinical staging. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * The evidence may be a simple list of coded symptoms/manifestations, or references to observations or formal assessments, or both. @@ -8445,11 +8445,11 @@ export interface ConditionEvidence extends BackboneElement { /** * A manifestation or symptom that led to the recording of this condition. */ - code?: CodeableConcept[]; + code?: CodeableConcept[]|undefined; /** * Links to other relevant information, including pathology reports. */ - detail?: Reference[]; + detail?: Reference[]|undefined; } /** * A clinical condition, problem, diagnosis, or other event, situation, issue, or clinical concept that has risen to a level of concern. @@ -8460,100 +8460,100 @@ export interface Condition extends DomainResource { /** * There is no explicit distinction between resolution and remission because in many cases the distinction is not clear. Age is generally used when the patient reports an age at which the Condition abated. If there is no abatement element, it is unknown whether the condition has resolved or entered remission; applications and users should generally assume that the condition is still valid. When abatementString exists, it implies the condition is abated. */ - abatementDateTime?: string; - _abatementDateTime?: Element; + abatementDateTime?: string|undefined; + _abatementDateTime?: Element|undefined; /** * There is no explicit distinction between resolution and remission because in many cases the distinction is not clear. Age is generally used when the patient reports an age at which the Condition abated. If there is no abatement element, it is unknown whether the condition has resolved or entered remission; applications and users should generally assume that the condition is still valid. When abatementString exists, it implies the condition is abated. */ - abatementAge?: Age; + abatementAge?: Age|undefined; /** * There is no explicit distinction between resolution and remission because in many cases the distinction is not clear. Age is generally used when the patient reports an age at which the Condition abated. If there is no abatement element, it is unknown whether the condition has resolved or entered remission; applications and users should generally assume that the condition is still valid. When abatementString exists, it implies the condition is abated. */ - abatementPeriod?: Period; + abatementPeriod?: Period|undefined; /** * There is no explicit distinction between resolution and remission because in many cases the distinction is not clear. Age is generally used when the patient reports an age at which the Condition abated. If there is no abatement element, it is unknown whether the condition has resolved or entered remission; applications and users should generally assume that the condition is still valid. When abatementString exists, it implies the condition is abated. */ - abatementRange?: Range; + abatementRange?: Range|undefined; /** * There is no explicit distinction between resolution and remission because in many cases the distinction is not clear. Age is generally used when the patient reports an age at which the Condition abated. If there is no abatement element, it is unknown whether the condition has resolved or entered remission; applications and users should generally assume that the condition is still valid. When abatementString exists, it implies the condition is abated. */ - abatementString?: string; - _abatementString?: Element; + abatementString?: string|undefined; + _abatementString?: Element|undefined; /** * Individual who is making the condition statement. */ - asserter?: Reference; + asserter?: Reference|undefined; /** * Only used if not implicit in code found in Condition.code. If the use case requires attributes from the BodySite resource (e.g. to identify and track separately) then use the standard extension [bodySite](extension-bodysite.html). May be a summary code, or a reference to a very precise definition of the location, or both. */ - bodySite?: CodeableConcept[]; + bodySite?: CodeableConcept[]|undefined; /** * The categorization is often highly contextual and may appear poorly differentiated or not very useful in other contexts. */ - category?: CodeableConcept[]; + category?: CodeableConcept[]|undefined; /** * The data type is CodeableConcept because clinicalStatus has some clinical judgment involved, such that there might need to be more specificity than the required FHIR value set allows. For example, a SNOMED coding might allow for additional specificity. */ - clinicalStatus?: CodeableConcept; + clinicalStatus?: CodeableConcept|undefined; /** * Identification of the condition, problem or diagnosis. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * This will typically be the encounter the event occurred within, but some activities may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter. This record indicates the encounter this particular record is associated with. In the case of a "new" diagnosis reflecting ongoing/revised information about the condition, this might be distinct from the first encounter in which the underlying condition was first "known". */ - encounter?: Reference; + encounter?: Reference|undefined; /** * The evidence may be a simple list of coded symptoms/manifestations, or references to observations or formal assessments, or both. */ - evidence?: ConditionEvidence[]; + evidence?: ConditionEvidence[]|undefined; /** * This is a business identifier, not a resource identifier (see [discussion](resource.html#identifiers)). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and a Person resource instance might share the same social insurance number. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Additional information about the Condition. This is a general notes/comments entry for description of the Condition, its diagnosis and prognosis. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * Age is generally used when the patient reports an age at which the Condition began to occur. */ - onsetDateTime?: string; - _onsetDateTime?: Element; + onsetDateTime?: string|undefined; + _onsetDateTime?: Element|undefined; /** * Age is generally used when the patient reports an age at which the Condition began to occur. */ - onsetAge?: Age; + onsetAge?: Age|undefined; /** * Age is generally used when the patient reports an age at which the Condition began to occur. */ - onsetPeriod?: Period; + onsetPeriod?: Period|undefined; /** * Age is generally used when the patient reports an age at which the Condition began to occur. */ - onsetRange?: Range; + onsetRange?: Range|undefined; /** * Age is generally used when the patient reports an age at which the Condition began to occur. */ - onsetString?: string; - _onsetString?: Element; + onsetString?: string|undefined; + _onsetString?: Element|undefined; /** * The recordedDate represents when this particular Condition record was created in the system, which is often a system-generated date. */ - recordedDate?: string; - _recordedDate?: Element; + recordedDate?: string|undefined; + _recordedDate?: Element|undefined; /** * Individual who recorded the record and takes responsibility for its content. */ - recorder?: Reference; + recorder?: Reference|undefined; /** * Coding of the severity with a terminology is preferred, where possible. */ - severity?: CodeableConcept; + severity?: CodeableConcept|undefined; /** * Clinical stage or grade of a condition. May include formal severity assessments. */ - stage?: ConditionStage[]; + stage?: ConditionStage[]|undefined; /** * Indicates the patient or group who the condition record is associated with. */ @@ -8562,7 +8562,7 @@ export interface Condition extends DomainResource { * verificationStatus is not required. For example, when a patient has abdominal pain in the ED, there is not likely going to be a verification status. * The data type is CodeableConcept because verificationStatus has some clinical judgment involved, such that there might need to be more specificity than the required FHIR value set allows. For example, a SNOMED coding might allow for additional specificity. */ - verificationStatus?: CodeableConcept; + verificationStatus?: CodeableConcept|undefined; } /** * The references to the policies that are included in this consent scope. Policies may be organizational, but are often defined jurisdictionally, or in law. @@ -8571,13 +8571,13 @@ export interface ConsentPolicy extends BackboneElement { /** * Entity or Organization having regulatory jurisdiction or accountability for enforcing policies pertaining to Consent Directives. */ - authority?: string; - _authority?: Element; + authority?: string|undefined; + _authority?: Element|undefined; /** * This element is for discoverability / documentation and does not modify or qualify the policy rules. */ - uri?: string; - _uri?: Element; + uri?: string|undefined; + _uri?: Element|undefined; } /** * Whether a treatment instruction (e.g. artificial respiration yes or no) was verified with the patient, his/her family or another authorized person. @@ -8586,17 +8586,17 @@ export interface ConsentVerification extends BackboneElement { /** * Date verification was collected. */ - verificationDate?: string; - _verificationDate?: Element; + verificationDate?: string|undefined; + _verificationDate?: Element|undefined; /** * Has the instruction been verified. */ verified: boolean; - _verified?: Element; + _verified?: Element|undefined; /** * Who verified the instruction (Patient, Relative or other Authorized Person). */ - verifiedWith?: Reference; + verifiedWith?: Reference|undefined; } /** * Who or what is controlled by this rule. Use group to identify a set of actors by some property they share (e.g. 'admitting officers'). @@ -8619,7 +8619,7 @@ export interface ConsentProvisionData extends BackboneElement { * How the resource reference is interpreted when testing consent restrictions. */ meaning: ConsentProvisionDataMeaningCodes; - _meaning?: Element; + _meaning?: Element|undefined; /** * A reference to a specific resource that defines which resources are covered by this consent. */ @@ -8641,48 +8641,48 @@ export interface ConsentProvision extends BackboneElement { /** * Note that this is the direct action (not the grounds for the action covered in the purpose element). At present, the only action in the understood and tested scope of this resource is 'read'. */ - action?: CodeableConcept[]; + action?: CodeableConcept[]|undefined; /** * Who or what is controlled by this rule. Use group to identify a set of actors by some property they share (e.g. 'admitting officers'). */ - actor?: ConsentProvisionActor[]; + actor?: ConsentProvisionActor[]|undefined; /** * Multiple types are or'ed together. The intention of the contentType element is that the codes refer to profiles or document types defined in a standard or an implementation guide somewhere. */ - class?: Coding[]; + class?: Coding[]|undefined; /** * Typical use of this is a Document code with class = CDA. */ - code?: CodeableConcept[]; + code?: CodeableConcept[]|undefined; /** * The resources controlled by this rule if specific resources are referenced. */ - data?: ConsentProvisionData[]; + data?: ConsentProvisionData[]|undefined; /** * This has a different sense to the Consent.period - that is when the consent agreement holds. This is the time period of the data that is controlled by the agreement. */ - dataPeriod?: Period; + dataPeriod?: Period|undefined; /** * The timeframe in this rule is valid. */ - period?: Period; + period?: Period|undefined; /** * Rules which provide exceptions to the base rule or subrules. */ - provision?: ConsentProvision[]; + provision?: ConsentProvision[]|undefined; /** * When the purpose of use tag is on the data, access request purpose of use shall not conflict. */ - purpose?: Coding[]; + purpose?: Coding[]|undefined; /** * If the consent specifies a security label of "R" then it applies to all resources that are labeled "R" or lower. E.g. for Confidentiality, it's a high water mark. For other kinds of security labels, subsumption logic applies. When the purpose of use tag is on the data, access request purpose of use shall not conflict. */ - securityLabel?: Coding[]; + securityLabel?: Coding[]|undefined; /** * Action to take - permit or deny - when the rule conditions are met. Not permitted in root rule, required in all nested rules. */ - type?: ConsentProvisionTypeCodes; - _type?: Element; + type?: ConsentProvisionTypeCodes|undefined; + _type?: Element|undefined; } /** * Code Values for the Consent.provision.type field @@ -8704,36 +8704,36 @@ export interface Consent extends DomainResource { /** * This is not the time of the original consent, but the time that this statement was made or derived. */ - dateTime?: string; - _dateTime?: Element; + dateTime?: string|undefined; + _dateTime?: Element|undefined; /** * This identifier identifies this copy of the consent. Where this identifier is also used elsewhere as the identifier for a consent record (e.g. a CDA consent document) then the consent details are expected to be the same. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The organization that manages the consent, and the framework within which it is executed. */ - organization?: Reference[]; + organization?: Reference[]|undefined; /** * Commonly, the patient the consent pertains to is the author, but for young and old people, it may be some other person. */ - patient?: Reference; + patient?: Reference|undefined; /** * Commonly, the patient the consent pertains to is the consentor, but particularly for young and old people, it may be some other person - e.g. a legal guardian. */ - performer?: Reference[]; + performer?: Reference[]|undefined; /** * The references to the policies that are included in this consent scope. Policies may be organizational, but are often defined jurisdictionally, or in law. */ - policy?: ConsentPolicy[]; + policy?: ConsentPolicy[]|undefined; /** * If the policyRule is absent, computable consent would need to be constructed from the elements of the Consent resource. */ - policyRule?: CodeableConcept; + policyRule?: CodeableConcept|undefined; /** * An exception to the base policy of this consent. An exception can be an addition or removal of access permissions. */ - provision?: ConsentProvision; + provision?: ConsentProvision|undefined; /** * A selector of the type of consent being presented: ADR, Privacy, Treatment, Research. This list is now extensible. */ @@ -8741,20 +8741,20 @@ export interface Consent extends DomainResource { /** * The source can be contained inline (Attachment), referenced directly (Consent), referenced in a consent repository (DocumentReference), or simply by an identifier (Identifier), e.g. a CDA document id. */ - sourceAttachment?: Attachment; + sourceAttachment?: Attachment|undefined; /** * The source can be contained inline (Attachment), referenced directly (Consent), referenced in a consent repository (DocumentReference), or simply by an identifier (Identifier), e.g. a CDA document id. */ - sourceReference?: Reference; + sourceReference?: Reference|undefined; /** * This element is labeled as a modifier because the status contains the codes rejected and entered-in-error that mark the Consent as not currently valid. */ status: ConsentStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Whether a treatment instruction (e.g. artificial respiration yes or no) was verified with the patient, his/her family or another authorized person. */ - verification?: ConsentVerification[]; + verification?: ConsentVerification[]|undefined; } /** * Code Values for the Consent.status field @@ -8774,26 +8774,26 @@ export interface ContractContentDefinition extends BackboneElement { /** * A copyright statement relating to Contract precursor content. Copyright statements are generally legal restrictions on the use and publishing of the Contract precursor content. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * The date (and optionally time) when the contract was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the contract changes. */ - publicationDate?: string; - _publicationDate?: Element; + publicationDate?: string|undefined; + _publicationDate?: Element|undefined; /** * amended | appended | cancelled | disputed | entered-in-error | executable | executed | negotiable | offered | policy | rejected | renewed | revoked | resolved | terminated. */ publicationStatus: ContractContentDefinitionPublicationStatusCodes; - _publicationStatus?: Element; + _publicationStatus?: Element|undefined; /** * The individual or organization that published the Contract precursor content. */ - publisher?: Reference; + publisher?: Reference|undefined; /** * Detailed Precusory content type. */ - subType?: CodeableConcept; + subType?: CodeableConcept|undefined; /** * Precusory content structure and use, i.e., a boilerplate, template, application for a contract such as an insurance policy or benefits under a program, e.g., workers compensation. */ @@ -8826,7 +8826,7 @@ export interface ContractTermSecurityLabel extends BackboneElement { /** * Security label privacy tag that species the applicable privacy and security policies governing this term and/or term elements. */ - category?: Coding[]; + category?: Coding[]|undefined; /** * Security label privacy tag that species the level of confidentiality protection required for this term and/or term elements. */ @@ -8834,11 +8834,11 @@ export interface ContractTermSecurityLabel extends BackboneElement { /** * Security label privacy tag that species the manner in which term and/or term elements are to be protected. */ - control?: Coding[]; + control?: Coding[]|undefined; /** * Number used to link this term or term element to the applicable Security Label. */ - number?: number[]; + number?: number[]|undefined; } /** * Offer Recipient. @@ -8860,57 +8860,57 @@ export interface ContractTermOfferAnswer extends BackboneElement { /** * Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warrently duration, or whether biospecimen may be used for further research. */ - valueBoolean?: boolean; - _valueBoolean?: Element; + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; /** * Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warrently duration, or whether biospecimen may be used for further research. */ - valueDecimal?: number; + valueDecimal?: number|undefined; /** * Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warrently duration, or whether biospecimen may be used for further research. */ - valueInteger?: number; + valueInteger?: number|undefined; /** * Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warrently duration, or whether biospecimen may be used for further research. */ - valueDate?: string; - _valueDate?: Element; + valueDate?: string|undefined; + _valueDate?: Element|undefined; /** * Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warrently duration, or whether biospecimen may be used for further research. */ - valueDateTime?: string; - _valueDateTime?: Element; + valueDateTime?: string|undefined; + _valueDateTime?: Element|undefined; /** * Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warrently duration, or whether biospecimen may be used for further research. */ - valueTime?: string; - _valueTime?: Element; + valueTime?: string|undefined; + _valueTime?: Element|undefined; /** * Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warrently duration, or whether biospecimen may be used for further research. */ - valueString?: string; - _valueString?: Element; + valueString?: string|undefined; + _valueString?: Element|undefined; /** * Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warrently duration, or whether biospecimen may be used for further research. */ - valueUri?: string; - _valueUri?: Element; + valueUri?: string|undefined; + _valueUri?: Element|undefined; /** * Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warrently duration, or whether biospecimen may be used for further research. */ - valueAttachment?: Attachment; + valueAttachment?: Attachment|undefined; /** * Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warrently duration, or whether biospecimen may be used for further research. */ - valueCoding?: Coding; + valueCoding?: Coding|undefined; /** * Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warrently duration, or whether biospecimen may be used for further research. */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; /** * Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warrently duration, or whether biospecimen may be used for further research. */ - valueReference?: Reference; + valueReference?: Reference|undefined; } /** * The matter of concern in the context of this provision of the agrement. @@ -8919,48 +8919,48 @@ export interface ContractTermOffer extends BackboneElement { /** * Response to offer text. */ - answer?: ContractTermOfferAnswer[]; + answer?: ContractTermOfferAnswer[]|undefined; /** * Type of choice made by accepting party with respect to an offer made by an offeror/ grantee. */ - decision?: CodeableConcept; + decision?: CodeableConcept|undefined; /** * How the decision about a Contract was conveyed. */ - decisionMode?: CodeableConcept[]; + decisionMode?: CodeableConcept[]|undefined; /** * Unique identifier for this particular Contract Provision. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The id of the clause or question text of the offer in the referenced questionnaire/response. */ - linkId?: string[]; - _linkId?: Element[]; + linkId?: string[]|undefined; + _linkId?: Element[]|undefined; /** * Offer Recipient. */ - party?: ContractTermOfferParty[]; + party?: ContractTermOfferParty[]|undefined; /** * Security labels that protects the offer. */ - securityLabelNumber?: number[]; + securityLabelNumber?: number[]|undefined; /** * Human readable form of this Contract Offer. */ - text?: string; - _text?: Element; + text?: string|undefined; + _text?: Element|undefined; /** * The Contract.topic may be an application for or offer of a policy or service (e.g., uri to a consent directive form or a health insurance policy), which becomes the Contract once accepted by both the grantor and grantee. * The Contract Resource may function simply as the computable representation of the executed contract, which may be the attached to the Contract Resource as the “binding” or as the “friendly” electronic form. For example, a Contract Resource may be automatically populated with the values expressed in a related QuestionnaireResponse. * However, the Contract Resource may be considered the legally binding contract if it is the only “executed” form of this contract, and includes the signatures as *The Contract Resource may function as the computable representation of an application or offer in a pre-executed Contract if the grantor has not entered any values. In this case, it is populated with values in a “legal” form of the application or offer or by the values in an associated Questionnaire. If the grantor has filled in the legal form or the associated Questionnaire Response, then these values are used to populate a pre-executed Contract Resource. * If the Contract.topic is considered an application or offer, then the policy is often required to be attached as the “legal” basis for the application to ensure “informed consent” to the contract, and that any discrepancy between the application and the policy are interpreted against the policy. Implementers should check organizational and jurisdictional policies to determine the relationship among multiple representations of a contract pre- and post-execution. */ - topic?: Reference; + topic?: Reference|undefined; /** * Type of Contract Provision such as specific requirements, purposes for actions, obligations, prohibitions, e.g. life time maximum benefit. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Circumstance of the asset. @@ -8969,16 +8969,16 @@ export interface ContractTermAssetContext extends BackboneElement { /** * Coded representation of the context generally or of the Referenced entity, such as the asset holder type or location. */ - code?: CodeableConcept[]; + code?: CodeableConcept[]|undefined; /** * Asset context reference may include the creator, custodian, or owning Person or Organization (e.g., bank, repository), location held, e.g., building, jurisdiction. */ - reference?: Reference; + reference?: Reference|undefined; /** * Context description. */ - text?: string; - _text?: Element; + text?: string|undefined; + _text?: Element|undefined; } /** * Contract Valued Item List. @@ -8987,67 +8987,67 @@ export interface ContractTermAssetValuedItem extends BackboneElement { /** * Indicates the time during which this Contract ValuedItem information is effective. */ - effectiveTime?: string; - _effectiveTime?: Element; + effectiveTime?: string|undefined; + _effectiveTime?: Element|undefined; /** * Specific type of Contract Valued Item that may be priced. */ - entityCodeableConcept?: CodeableConcept; + entityCodeableConcept?: CodeableConcept|undefined; /** * Specific type of Contract Valued Item that may be priced. */ - entityReference?: Reference; + entityReference?: Reference|undefined; /** * A real number that represents a multiplier used in determining the overall value of the Contract Valued Item delivered. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount. */ - factor?: number; + factor?: number|undefined; /** * Identifies a Contract Valued Item instance. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * Id of the clause or question text related to the context of this valuedItem in the referenced form or QuestionnaireResponse. */ - linkId?: string[]; - _linkId?: Element[]; + linkId?: string[]|undefined; + _linkId?: Element[]|undefined; /** * Expresses the product of the Contract Valued Item unitQuantity and the unitPriceAmt. For example, the formula: unit Quantity * unit Price (Cost per Point) * factor Number * points = net Amount. Quantity, factor and points are assumed to be 1 if not supplied. */ - net?: Money; + net?: Money|undefined; /** * Terms of valuation. */ - payment?: string; - _payment?: Element; + payment?: string|undefined; + _payment?: Element|undefined; /** * When payment is due. */ - paymentDate?: string; - _paymentDate?: Element; + paymentDate?: string|undefined; + _paymentDate?: Element|undefined; /** * An amount that expresses the weighting (based on difficulty, cost and/or resource intensiveness) associated with the Contract Valued Item delivered. The concept of Points allows for assignment of point values for a Contract Valued Item, such that a monetary amount can be assigned to each point. */ - points?: number; + points?: number|undefined; /** * Specifies the units by which the Contract Valued Item is measured or counted, and quantifies the countable or measurable Contract Valued Item instances. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * Who will receive payment. */ - recipient?: Reference; + recipient?: Reference|undefined; /** * Who will make payment. */ - responsible?: Reference; + responsible?: Reference|undefined; /** * A set of security labels that define which terms are controlled by this condition. */ - securityLabelNumber?: number[]; + securityLabelNumber?: number[]|undefined; /** * A Contract Valued Item unit valuation measure. */ - unitPrice?: Money; + unitPrice?: Money|undefined; } /** * Contract Term Asset List. @@ -9056,66 +9056,66 @@ export interface ContractTermAsset extends BackboneElement { /** * Response to assets. */ - answer?: ContractTermOfferAnswer[]; + answer?: ContractTermOfferAnswer[]|undefined; /** * Description of the quality and completeness of the asset that imay be a factor in its valuation. */ - condition?: string; - _condition?: Element; + condition?: string|undefined; + _condition?: Element|undefined; /** * Circumstance of the asset. */ - context?: ContractTermAssetContext[]; + context?: ContractTermAssetContext[]|undefined; /** * Id [identifier??] of the clause or question text about the asset in the referenced form or QuestionnaireResponse. */ - linkId?: string[]; - _linkId?: Element[]; + linkId?: string[]|undefined; + _linkId?: Element[]|undefined; /** * Asset relevant contractual time period. */ - period?: Period[]; + period?: Period[]|undefined; /** * Type of Asset availability for use or ownership. */ - periodType?: CodeableConcept[]; + periodType?: CodeableConcept[]|undefined; /** * Specifies the applicability of the term to an asset resource instance, and instances it refers to orinstances that refer to it, and/or are owned by the offeree. */ - relationship?: Coding; + relationship?: Coding|undefined; /** * Differentiates the kind of the asset . */ - scope?: CodeableConcept; + scope?: CodeableConcept|undefined; /** * Security labels that protects the asset. */ - securityLabelNumber?: number[]; + securityLabelNumber?: number[]|undefined; /** * May be a subtype or part of an offered asset. */ - subtype?: CodeableConcept[]; + subtype?: CodeableConcept[]|undefined; /** * Clause or question text (Prose Object) concerning the asset in a linked form, such as a QuestionnaireResponse used in the formation of the contract. */ - text?: string; - _text?: Element; + text?: string|undefined; + _text?: Element|undefined; /** * Target entity type about which the term may be concerned. */ - type?: CodeableConcept[]; + type?: CodeableConcept[]|undefined; /** * Associated entities. */ - typeReference?: Reference[]; + typeReference?: Reference[]|undefined; /** * Time period of asset use. */ - usePeriod?: Period[]; + usePeriod?: Period[]|undefined; /** * Contract Valued Item List. */ - valuedItem?: ContractTermAssetValuedItem[]; + valuedItem?: ContractTermAssetValuedItem[]|undefined; } /** * Entity of the action. @@ -9128,7 +9128,7 @@ export interface ContractTermActionSubject extends BackboneElement { /** * Role type of agent assigned roles in this Contract. */ - role?: CodeableConcept; + role?: CodeableConcept|undefined; } /** * Several agents may be associated (i.e. has some responsibility for an activity) with an activity and vice-versa. @@ -9138,17 +9138,17 @@ export interface ContractTermAction extends BackboneElement { /** * Encounter or Episode with primary association to specified term activity. */ - context?: Reference; + context?: Reference|undefined; /** * Id [identifier??] of the clause or question text related to the requester of this action in the referenced form or QuestionnaireResponse. */ - contextLinkId?: string[]; - _contextLinkId?: Element[]; + contextLinkId?: string[]|undefined; + _contextLinkId?: Element[]|undefined; /** * True if the term prohibits the action. */ - doNotPerform?: boolean; - _doNotPerform?: Element; + doNotPerform?: boolean|undefined; + _doNotPerform?: Element|undefined; /** * Reason or purpose for the action stipulated by this Contract Provision. */ @@ -9156,73 +9156,73 @@ export interface ContractTermAction extends BackboneElement { /** * Id [identifier??] of the clause or question text related to this action in the referenced form or QuestionnaireResponse. */ - linkId?: string[]; - _linkId?: Element[]; + linkId?: string[]|undefined; + _linkId?: Element[]|undefined; /** * Comments made about the term action made by the requester, performer, subject or other participants. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * When action happens. */ - occurrenceDateTime?: string; - _occurrenceDateTime?: Element; + occurrenceDateTime?: string|undefined; + _occurrenceDateTime?: Element|undefined; /** * When action happens. */ - occurrencePeriod?: Period; + occurrencePeriod?: Period|undefined; /** * When action happens. */ - occurrenceTiming?: Timing; + occurrenceTiming?: Timing|undefined; /** * Indicates who or what is being asked to perform (or not perform) the ction. */ - performer?: Reference; + performer?: Reference|undefined; /** * Id [identifier??] of the clause or question text related to the reason type or reference of this action in the referenced form or QuestionnaireResponse. */ - performerLinkId?: string[]; - _performerLinkId?: Element[]; + performerLinkId?: string[]|undefined; + _performerLinkId?: Element[]|undefined; /** * The type of role or competency of an individual desired or required to perform or not perform the action. */ - performerRole?: CodeableConcept; + performerRole?: CodeableConcept|undefined; /** * The type of individual that is desired or required to perform or not perform the action. */ - performerType?: CodeableConcept[]; + performerType?: CodeableConcept[]|undefined; /** * Describes why the action is to be performed or not performed in textual form. */ - reason?: string[]; - _reason?: Element[]; + reason?: string[]|undefined; + _reason?: Element[]|undefined; /** * Rationale for the action to be performed or not performed. Describes why the action is permitted or prohibited. */ - reasonCode?: CodeableConcept[]; + reasonCode?: CodeableConcept[]|undefined; /** * Id [identifier??] of the clause or question text related to the reason type or reference of this action in the referenced form or QuestionnaireResponse. */ - reasonLinkId?: string[]; - _reasonLinkId?: Element[]; + reasonLinkId?: string[]|undefined; + _reasonLinkId?: Element[]|undefined; /** * Indicates another resource whose existence justifies permitting or not permitting this action. */ - reasonReference?: Reference[]; + reasonReference?: Reference[]|undefined; /** * Who or what initiated the action and has responsibility for its activation. */ - requester?: Reference[]; + requester?: Reference[]|undefined; /** * Id [identifier??] of the clause or question text related to the requester of this action in the referenced form or QuestionnaireResponse. */ - requesterLinkId?: string[]; - _requesterLinkId?: Element[]; + requesterLinkId?: string[]|undefined; + _requesterLinkId?: Element[]|undefined; /** * Security labels that protects the action. */ - securityLabelNumber?: number[]; + securityLabelNumber?: number[]|undefined; /** * Current state of the term action. */ @@ -9230,7 +9230,7 @@ export interface ContractTermAction extends BackboneElement { /** * Entity of the action. */ - subject?: ContractTermActionSubject[]; + subject?: ContractTermActionSubject[]|undefined; /** * Activity or service obligation to be done or not done, performed or not performed, effectuated or not by this Contract term. */ @@ -9244,28 +9244,28 @@ export interface ContractTerm extends BackboneElement { * Several agents may be associated (i.e. has some responsibility for an activity) with an activity and vice-versa. * For example, in cases of actions initiated by one user for other users, or in events that involve more than one user, hardware device, software, or system process. However, only one user may be the initiator/requestor for the event. */ - action?: ContractTermAction[]; + action?: ContractTermAction[]|undefined; /** * Relevant time or time-period when this Contract Provision is applicable. */ - applies?: Period; + applies?: Period|undefined; /** * Contract Term Asset List. */ - asset?: ContractTermAsset[]; + asset?: ContractTermAsset[]|undefined; /** * Nested group of Contract Provisions. */ - group?: ContractTerm[]; + group?: ContractTerm[]|undefined; /** * Unique identifier for this particular Contract Provision. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * When this Contract Provision was issued. */ - issued?: string; - _issued?: Element; + issued?: string|undefined; + _issued?: Element|undefined; /** * The matter of concern in the context of this provision of the agrement. */ @@ -9273,28 +9273,28 @@ export interface ContractTerm extends BackboneElement { /** * Security labels that protect the handling of information about the term and its elements, which may be specifically identified.. */ - securityLabel?: ContractTermSecurityLabel[]; + securityLabel?: ContractTermSecurityLabel[]|undefined; /** * A specialized legal clause or condition based on overarching contract type. */ - subType?: CodeableConcept; + subType?: CodeableConcept|undefined; /** * Statement of a provision in a policy or a contract. */ - text?: string; - _text?: Element; + text?: string|undefined; + _text?: Element|undefined; /** * The entity that the term applies to. */ - topicCodeableConcept?: CodeableConcept; + topicCodeableConcept?: CodeableConcept|undefined; /** * The entity that the term applies to. */ - topicReference?: Reference; + topicReference?: Reference|undefined; /** * A legal clause or condition contained within a contract that requires one or both parties to perform a particular requirement by some specified time or prevents one or both parties from performing a particular requirement by some specified time. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Signers who are principal parties to the contract are bound by the Contract.activity related to the Contract.topic, and the Contract.term(s), which either extend or restrict the overall action on the topic by, for example, stipulating specific policies or obligations constraining actions, action reason, or agents with respect to some or all of the topic. @@ -9321,11 +9321,11 @@ export interface ContractFriendly extends BackboneElement { /** * Human readable rendering of this Contract in a format and representation intended to enhance comprehension and ensure understandability. */ - contentAttachment?: Attachment; + contentAttachment?: Attachment|undefined; /** * Human readable rendering of this Contract in a format and representation intended to enhance comprehension and ensure understandability. */ - contentReference?: Reference; + contentReference?: Reference|undefined; } /** * List of Legal expressions or representations of this Contract. @@ -9334,11 +9334,11 @@ export interface ContractLegal extends BackboneElement { /** * Contract legal text in human renderable form. */ - contentAttachment?: Attachment; + contentAttachment?: Attachment|undefined; /** * Contract legal text in human renderable form. */ - contentReference?: Reference; + contentReference?: Reference|undefined; } /** * List of Computable Policy Rule Language Representations of this Contract. @@ -9347,11 +9347,11 @@ export interface ContractRule extends BackboneElement { /** * Computable Contract conveyed using a policy rule language (e.g. XACML, DKAL, SecPal). */ - contentAttachment?: Attachment; + contentAttachment?: Attachment|undefined; /** * Computable Contract conveyed using a policy rule language (e.g. XACML, DKAL, SecPal). */ - contentReference?: Reference; + contentReference?: Reference|undefined; } /** * Legally enforceable, formally recorded unilateral or bilateral directive i.e., a policy or agreement. @@ -9362,155 +9362,155 @@ export interface Contract extends DomainResource { /** * Alternative representation of the title for this Contract definition, derivative, or instance in any legal state., e.g., a domain specific contract number related to legislation. */ - alias?: string[]; - _alias?: Element[]; + alias?: string[]|undefined; + _alias?: Element[]|undefined; /** * Relevant time or time-period when this Contract is applicable. */ - applies?: Period; + applies?: Period|undefined; /** * The individual or organization that authored the Contract definition, derivative, or instance in any legal state. */ - author?: Reference; + author?: Reference|undefined; /** * A formally or informally recognized grouping of people, principals, organizations, or jurisdictions formed for the purpose of achieving some form of collective action such as the promulgation, administration and enforcement of contracts and policies. */ - authority?: Reference[]; + authority?: Reference[]|undefined; /** * Precusory content developed with a focus and intent of supporting the formation a Contract instance, which may be associated with and transformable into a Contract. */ - contentDefinition?: ContractContentDefinition; + contentDefinition?: ContractContentDefinition|undefined; /** * The minimal content derived from the basal information source at a specific stage in its lifecycle. */ - contentDerivative?: CodeableConcept; + contentDerivative?: CodeableConcept|undefined; /** * Recognized governance framework or system operating with a circumscribed scope in accordance with specified principles, policies, processes or procedures for managing rights, actions, or behaviors of parties or principals relative to resources. */ - domain?: Reference[]; + domain?: Reference[]|undefined; /** * Event resulting in discontinuation or termination of this Contract instance by one or more parties to the contract. */ - expirationType?: CodeableConcept; + expirationType?: CodeableConcept|undefined; /** * The "patient friendly language" versionof the Contract in whole or in parts. "Patient friendly language" means the representation of the Contract and Contract Provisions in a manner that is readily accessible and understandable by a layperson in accordance with best practices for communication styles that ensure that those agreeing to or signing the Contract understand the roles, actions, obligations, responsibilities, and implication of the agreement. */ - friendly?: ContractFriendly[]; + friendly?: ContractFriendly[]|undefined; /** * Unique identifier for this Contract or a derivative that references a Source Contract. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The URL pointing to a FHIR-defined Contract Definition that is adhered to in whole or part by this Contract. */ - instantiatesCanonical?: Reference; + instantiatesCanonical?: Reference|undefined; /** * The URL pointing to an externally maintained definition that is adhered to in whole or in part by this Contract. */ - instantiatesUri?: string; - _instantiatesUri?: Element; + instantiatesUri?: string|undefined; + _instantiatesUri?: Element|undefined; /** * When this Contract was issued. */ - issued?: string; - _issued?: Element; + issued?: string|undefined; + _issued?: Element|undefined; /** * List of Legal expressions or representations of this Contract. */ - legal?: ContractLegal[]; + legal?: ContractLegal[]|undefined; /** * Legally binding Contract: This is the signed and legally recognized representation of the Contract, which is considered the "source of truth" and which would be the basis for legal action related to enforcement of this Contract. */ - legallyBindingAttachment?: Attachment; + legallyBindingAttachment?: Attachment|undefined; /** * Legally binding Contract: This is the signed and legally recognized representation of the Contract, which is considered the "source of truth" and which would be the basis for legal action related to enforcement of this Contract. */ - legallyBindingReference?: Reference; + legallyBindingReference?: Reference|undefined; /** * Legal states of the formation of a legal instrument, which is a formally executed written document that can be formally attributed to its author, records and formally expresses a legally enforceable act, process, or contractual duty, obligation, or right, and therefore evidences that act, process, or agreement. */ - legalState?: CodeableConcept; + legalState?: CodeableConcept|undefined; /** * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Links to Provenance records for past versions of this Contract definition, derivative, or instance, which identify key state transitions or updates that are likely to be relevant to a user looking at the current version of the Contract. The Provence.entity indicates the target that was changed in the update. http://build.fhir.org/provenance-definitions.html#Provenance.entity. */ - relevantHistory?: Reference[]; + relevantHistory?: Reference[]|undefined; /** * List of Computable Policy Rule Language Representations of this Contract. */ - rule?: ContractRule[]; + rule?: ContractRule[]|undefined; /** * A selector of legal concerns for this Contract definition, derivative, or instance in any legal state. */ - scope?: CodeableConcept; + scope?: CodeableConcept|undefined; /** * Signers who are principal parties to the contract are bound by the Contract.activity related to the Contract.topic, and the Contract.term(s), which either extend or restrict the overall action on the topic by, for example, stipulating specific policies or obligations constraining actions, action reason, or agents with respect to some or all of the topic. * For example, specifying how policies or obligations shall constrain actions and action reasons permitted or denied on all or a subset of the Contract.topic (e.g., all or a portion of property being transferred by the contract), agents (e.g., who can resell, assign interests, or alter the property being transferred by the contract), actions, and action reasons; or with respect to Contract.terms, stipulating, extending, or limiting the Contract.period of applicability or valuation of items under consideration. */ - signer?: ContractSigner[]; + signer?: ContractSigner[]|undefined; /** * Sites in which the contract is complied with, exercised, or in force. */ - site?: Reference[]; + site?: Reference[]|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the contract as not currently valid or active. */ - status?: ContractStatusCodes; - _status?: Element; + status?: ContractStatusCodes|undefined; + _status?: Element|undefined; /** * The Contract.subject is an entity that has some role with respect to the Contract.topic and Contract.topic.term, which is of focal interest to the parties to the contract and likely impacted in a significant way by the Contract.action/Contract.action.reason and the Contract.term.action/Contract.action.reason. * In many cases, the Contract.subject is a Contract.signer if the subject is an adult; has a legal interest in the contract; and incompetent to participate in the contract agreement. */ - subject?: Reference[]; + subject?: Reference[]|undefined; /** * An explanatory or alternate user-friendly title for this Contract definition, derivative, or instance in any legal state.t giving additional information about its content. */ - subtitle?: string; - _subtitle?: Element; + subtitle?: string|undefined; + _subtitle?: Element|undefined; /** * Sub-category for the Contract that distinguishes the kinds of systems that would be interested in the Contract within the context of the Contract's scope. */ - subType?: CodeableConcept[]; + subType?: CodeableConcept[]|undefined; /** * Information that may be needed by/relevant to the performer in their execution of this term action. */ - supportingInfo?: Reference[]; + supportingInfo?: Reference[]|undefined; /** * One or more Contract Provisions, which may be related and conveyed as a group, and may contain nested groups. */ - term?: ContractTerm[]; + term?: ContractTerm[]|undefined; /** * A short, descriptive, user-friendly title for this Contract definition, derivative, or instance in any legal state.t giving additional information about its content. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Narrows the range of legal concerns to focus on the achievement of specific contractual objectives. */ - topicCodeableConcept?: CodeableConcept; + topicCodeableConcept?: CodeableConcept|undefined; /** * Narrows the range of legal concerns to focus on the achievement of specific contractual objectives. */ - topicReference?: Reference; + topicReference?: Reference|undefined; /** * A high-level category for the legal instrument, whether constructed as a Contract definition, derivative, or instance in any legal state. Provides additional information about its content within the context of the Contract's scope to distinguish the kinds of systems that would be interested in the contract. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; /** * Used in a domain that uses a supplied contract repository. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * Note - This is a business versionId, not a resource version id (see discussion http://build.fhir.org/resource.html#versions) * Comments - There may be different contract instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the plan definition with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the Contract.status field @@ -9539,8 +9539,8 @@ export interface CoverageClass extends BackboneElement { /** * A short description for the class. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * The type of classification for which an insurer-specific class label or number and optional name is provided, for example may be used to identify a class of coverage or employer group, Policy, Plan. */ @@ -9549,7 +9549,7 @@ export interface CoverageClass extends BackboneElement { * For example, the Group or Plan number. */ value: string; - _value?: Element; + _value?: Element|undefined; } /** * A suite of codes indicating exceptions or reductions to patient costs and their effective periods. @@ -9558,7 +9558,7 @@ export interface CoverageCostToBeneficiaryException extends BackboneElement { /** * The timeframe during when the exception is in force. */ - period?: Period; + period?: Period|undefined; /** * The code for the specific exception. */ @@ -9571,19 +9571,19 @@ export interface CoverageCostToBeneficiary extends BackboneElement { /** * A suite of codes indicating exceptions or reductions to patient costs and their effective periods. */ - exception?: CoverageCostToBeneficiaryException[]; + exception?: CoverageCostToBeneficiaryException[]|undefined; /** * For example visit, specialist visits, emergency, inpatient care, etc. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; /** * Amount may be expressed as a percentage of the service/product cost or a fixed amount of currency. */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; /** * Amount may be expressed as a percentage of the service/product cost or a fixed amount of currency. */ - valueMoney?: Money; + valueMoney?: Money|undefined; } /** * Financial instrument which may be used to reimburse or pay for health care products and services. Includes both insurance and self-payment. @@ -9598,33 +9598,33 @@ export interface Coverage extends DomainResource { /** * For example may be used to identify a class of coverage or employer group, Policy, Plan. */ - class?: CoverageClass[]; + class?: CoverageClass[]|undefined; /** * The policy(s) which constitute this insurance coverage. */ - contract?: Reference[]; + contract?: Reference[]|undefined; /** * For example by knowing the patient visit co-pay, the provider can collect the amount prior to undertaking treatment. */ - costToBeneficiary?: CoverageCostToBeneficiary[]; + costToBeneficiary?: CoverageCostToBeneficiary[]|undefined; /** * Periodically the member number is constructed from the subscriberId and the dependant number. */ - dependent?: string; - _dependent?: Element; + dependent?: string|undefined; + _dependent?: Element|undefined; /** * The main (and possibly only) identifier for the coverage - often referred to as a Member Id, Certificate number, Personal Health Number or Case ID. May be constructed as the concatenation of the Coverage.SubscriberID and the Coverage.dependant. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The insurer-specific identifier for the insurer-defined network of providers to which the beneficiary may seek treatment which will be covered at the 'in-network' rate, otherwise 'out of network' terms and conditions apply. */ - network?: string; - _network?: Element; + network?: string|undefined; + _network?: Element|undefined; /** * The order of applicability of this coverage relative to other coverages which are currently in force. Note, there may be gaps in the numbering and this does not imply primary, secondary etc. as the specific positioning of coverages depends upon the episode of care. */ - order?: number; + order?: number|undefined; /** * May provide multiple identifiers such as insurance company identifier or business identifier (BIN number). * For selfpay it may provide multiple paying persons and/or organizations. @@ -9633,38 +9633,38 @@ export interface Coverage extends DomainResource { /** * Time period during which the coverage is in force. A missing start date indicates the start date isn't known, a missing end date means the coverage is continuing to be in force. */ - period?: Period; + period?: Period|undefined; /** * For example: may be an individual, corporation or the subscriber's employer. */ - policyHolder?: Reference; + policyHolder?: Reference|undefined; /** * Typically, an individual uses policies which are theirs (relationship='self') before policies owned by others. */ - relationship?: CodeableConcept; + relationship?: CodeableConcept|undefined; /** * This element is labeled as a modifier because the status contains the code entered-in-error that marks the coverage as not currently valid. */ status: CoverageStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Typically, automotive and worker's compensation policies would be flagged with 'subrogation=true' to enable healthcare payors to collect against accident claims. */ - subrogation?: boolean; - _subrogation?: Element; + subrogation?: boolean|undefined; + _subrogation?: Element|undefined; /** * May be self or a parent in the case of dependants. */ - subscriber?: Reference; + subscriber?: Reference|undefined; /** * The insurer assigned ID for the Subscriber. */ - subscriberId?: string; - _subscriberId?: Element; + subscriberId?: string|undefined; + _subscriberId?: Element|undefined; /** * The type of coverage: social program, medical plan, accident coverage (workers compensation, auto), group health or payment by an individual or organization. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Code Values for the Coverage.status field @@ -9682,8 +9682,8 @@ export interface CoverageEligibilityRequestSupportingInfo extends BackboneElemen /** * The supporting materials are applicable for all detail items, product/servce categories and specific billing codes. */ - appliesToAll?: boolean; - _appliesToAll?: Element; + appliesToAll?: boolean|undefined; + _appliesToAll?: Element|undefined; /** * Could be used to provide references to other resources, document. For example could contain a PDF in an Attachment of the Police Report for an Accident. */ @@ -9700,8 +9700,8 @@ export interface CoverageEligibilityRequestInsurance extends BackboneElement { /** * A business agreement number established between the provider and the insurer for special business processing purposes. */ - businessArrangement?: string; - _businessArrangement?: Element; + businessArrangement?: string|undefined; + _businessArrangement?: Element|undefined; /** * Reference to the insurance card level information contained in the Coverage resource. The coverage issuing insurer will use these details to locate the patient's actual coverage within the insurer's information system. */ @@ -9709,8 +9709,8 @@ export interface CoverageEligibilityRequestInsurance extends BackboneElement { /** * A patient may (will) have multiple insurance policies which provide reimburement for healthcare services and products. For example a person may also be covered by their spouse's policy and both appear in the list (and may be from the same insurer). This flag will be set to true for only one of the listed policies and that policy will be used for evaluating this request. Other requests would be created to request evaluation against the other listed policies. */ - focal?: boolean; - _focal?: Element; + focal?: boolean|undefined; + _focal?: Element|undefined; } /** * Patient diagnosis for which care is sought. @@ -9719,11 +9719,11 @@ export interface CoverageEligibilityRequestItemDiagnosis extends BackboneElement /** * The nature of illness or problem in a coded form or as a reference to an external defined Condition. */ - diagnosisCodeableConcept?: CodeableConcept; + diagnosisCodeableConcept?: CodeableConcept|undefined; /** * The nature of illness or problem in a coded form or as a reference to an external defined Condition. */ - diagnosisReference?: Reference; + diagnosisReference?: Reference|undefined; } /** * Service categories or billable services for which benefit details and/or an authorization prior to service delivery may be required by the payor. @@ -9732,43 +9732,43 @@ export interface CoverageEligibilityRequestItem extends BackboneElement { /** * Examples include Medical Care, Periodontics, Renal Dialysis, Vision Coverage. */ - category?: CodeableConcept; + category?: CodeableConcept|undefined; /** * The plan/proposal/order describing the proposed service in detail. */ - detail?: Reference[]; + detail?: Reference[]|undefined; /** * Patient diagnosis for which care is sought. */ - diagnosis?: CoverageEligibilityRequestItemDiagnosis[]; + diagnosis?: CoverageEligibilityRequestItemDiagnosis[]|undefined; /** * Facility where the services will be provided. */ - facility?: Reference; + facility?: Reference|undefined; /** * For example in Oral whether the treatment is cosmetic or associated with TMJ, or for Medical whether the treatment was outside the clinic or out of office hours. */ - modifier?: CodeableConcept[]; + modifier?: CodeableConcept[]|undefined; /** * Code to indicate the Professional Service or Product supplied (e.g. CTP, HCPCS, USCLS, ICD10, NCPDP, DIN, RxNorm, ACHI, CCI). */ - productOrService?: CodeableConcept; + productOrService?: CodeableConcept|undefined; /** * The practitioner who is responsible for the product or service to be rendered to the patient. */ - provider?: Reference; + provider?: Reference|undefined; /** * The number of repetitions of a service or product. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * Exceptions, special conditions and supporting information applicable for this service or product line. */ - supportingInfoSequence?: number[]; + supportingInfoSequence?: number[]|undefined; /** * The amount charged to the patient by the provider for a single unit. */ - unitPrice?: Money; + unitPrice?: Money|undefined; } /** * The CoverageEligibilityRequest provides patient and insurance coverage information to an insurer for them to respond, in the form of an CoverageEligibilityResponse, with information regarding whether the stated coverage is valid and in-force and optionally to provide the insurance details of the policy. @@ -9780,23 +9780,23 @@ export interface CoverageEligibilityRequest extends DomainResource { * The date when this resource was created. */ created: string; - _created?: Element; + _created?: Element|undefined; /** * Person who created the request. */ - enterer?: Reference; + enterer?: Reference|undefined; /** * Facility where the services are intended to be provided. */ - facility?: Reference; + facility?: Reference|undefined; /** * A unique identifier assigned to this coverage eligiblity request. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * All insurance coverages for the patient which may be applicable for reimbursement, of the products and services listed in the claim, are typically provided in the claim to allow insurers to confirm the ordering of the insurance coverages relative to local 'coordination of benefit' rules. One coverage (and only one) with 'focal=true' is to be used in the adjudication of this claim. Coverages appearing before the focal Coverage in the list, and where 'subrogation=false', should provide a reference to the ClaimResponse containing the adjudication results of the prior claim. */ - insurance?: CoverageEligibilityRequestInsurance[]; + insurance?: CoverageEligibilityRequestInsurance[]|undefined; /** * The Insurer who issued the coverage in question and is the recipient of the request. */ @@ -9804,7 +9804,7 @@ export interface CoverageEligibilityRequest extends DomainResource { /** * Service categories or billable services for which benefit details and/or an authorization prior to service delivery may be required by the payor. */ - item?: CoverageEligibilityRequestItem[]; + item?: CoverageEligibilityRequestItem[]|undefined; /** * 1..1. */ @@ -9812,34 +9812,34 @@ export interface CoverageEligibilityRequest extends DomainResource { /** * When the requestor expects the processor to complete processing. */ - priority?: CodeableConcept; + priority?: CodeableConcept|undefined; /** * Typically this field would be 1..1 where this party is responsible for the eligibility request but not necessarily professionally responsible for the provision of the individual products and services listed below. */ - provider?: Reference; + provider?: Reference|undefined; /** * Code to specify whether requesting: prior authorization requirements for some service categories or billing codes; benefits for coverages specified or discovered; discovery and return of coverages for the patient; and/or validation that the specified coverage is in-force at the date/period specified or 'now' if not specified. */ purpose: CoverageEligibilityRequestPurposeCodes[]; - _purpose?: Element[]; + _purpose?: Element[]|undefined; /** * The date or dates when the enclosed suite of services were performed or completed. */ - servicedDate?: string; - _servicedDate?: Element; + servicedDate?: string|undefined; + _servicedDate?: Element|undefined; /** * The date or dates when the enclosed suite of services were performed or completed. */ - servicedPeriod?: Period; + servicedPeriod?: Period|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: CoverageEligibilityRequestStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Often there are multiple jurisdiction specific valuesets which are required. */ - supportingInfo?: CoverageEligibilityRequestSupportingInfo[]; + supportingInfo?: CoverageEligibilityRequestSupportingInfo[]|undefined; } /** * Code Values for the CoverageEligibilityRequest.purpose field @@ -9866,16 +9866,16 @@ export interface CoverageEligibilityResponseInsuranceItemBenefit extends Backbon /** * The quantity of the benefit which is permitted under the coverage. */ - allowedUnsignedInt?: number; + allowedUnsignedInt?: number|undefined; /** * The quantity of the benefit which is permitted under the coverage. */ - allowedString?: string; - _allowedString?: Element; + allowedString?: string|undefined; + _allowedString?: Element|undefined; /** * The quantity of the benefit which is permitted under the coverage. */ - allowedMoney?: Money; + allowedMoney?: Money|undefined; /** * For example: deductible, visits, benefit amount. */ @@ -9883,16 +9883,16 @@ export interface CoverageEligibilityResponseInsuranceItemBenefit extends Backbon /** * The quantity of the benefit which have been consumed to date. */ - usedUnsignedInt?: number; + usedUnsignedInt?: number|undefined; /** * The quantity of the benefit which have been consumed to date. */ - usedString?: string; - _usedString?: Element; + usedString?: string|undefined; + _usedString?: Element|undefined; /** * The quantity of the benefit which have been consumed to date. */ - usedMoney?: Money; + usedMoney?: Money|undefined; } /** * Benefits and optionally current balances, and authorization details by category or service. @@ -9901,64 +9901,64 @@ export interface CoverageEligibilityResponseInsuranceItem extends BackboneElemen /** * A boolean flag indicating whether a preauthorization is required prior to actual service delivery. */ - authorizationRequired?: boolean; - _authorizationRequired?: Element; + authorizationRequired?: boolean|undefined; + _authorizationRequired?: Element|undefined; /** * Codes or comments regarding information or actions associated with the preauthorization. */ - authorizationSupporting?: CodeableConcept[]; + authorizationSupporting?: CodeableConcept[]|undefined; /** * A web location for obtaining requirements or descriptive information regarding the preauthorization. */ - authorizationUrl?: string; - _authorizationUrl?: Element; + authorizationUrl?: string|undefined; + _authorizationUrl?: Element|undefined; /** * Benefits used to date. */ - benefit?: CoverageEligibilityResponseInsuranceItemBenefit[]; + benefit?: CoverageEligibilityResponseInsuranceItemBenefit[]|undefined; /** * Examples include Medical Care, Periodontics, Renal Dialysis, Vision Coverage. */ - category?: CodeableConcept; + category?: CodeableConcept|undefined; /** * For example 'DENT2 covers 100% of basic, 50% of major but excludes Ortho, Implants and Cosmetic services'. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * True if the indicated class of service is excluded from the plan, missing or False indicates the product or service is included in the coverage. */ - excluded?: boolean; - _excluded?: Element; + excluded?: boolean|undefined; + _excluded?: Element|undefined; /** * For example in Oral whether the treatment is cosmetic or associated with TMJ, or for Medical whether the treatment was outside the clinic or out of office hours. */ - modifier?: CodeableConcept[]; + modifier?: CodeableConcept[]|undefined; /** * For example: MED01, or DENT2. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Is a flag to indicate whether the benefits refer to in-network providers or out-of-network providers. */ - network?: CodeableConcept; + network?: CodeableConcept|undefined; /** * Code to indicate the Professional Service or Product supplied (e.g. CTP, HCPCS, USCLS, ICD10, NCPDP, DIN, RxNorm, ACHI, CCI). */ - productOrService?: CodeableConcept; + productOrService?: CodeableConcept|undefined; /** * The practitioner who is eligible for the provision of the product or service. */ - provider?: Reference; + provider?: Reference|undefined; /** * The term or period of the values such as 'maximum lifetime benefit' or 'maximum annual visits'. */ - term?: CodeableConcept; + term?: CodeableConcept|undefined; /** * Indicates if the benefits apply to an individual or to the family. */ - unit?: CodeableConcept; + unit?: CodeableConcept|undefined; } /** * All insurance coverages for the patient which may be applicable for reimbursement, of the products and services listed in the claim, are typically provided in the claim to allow insurers to confirm the ordering of the insurance coverages relative to local 'coordination of benefit' rules. One coverage (and only one) with 'focal=true' is to be used in the adjudication of this claim. Coverages appearing before the focal Coverage in the list, and where 'subrogation=false', should provide a reference to the ClaimResponse containing the adjudication results of the prior claim. @@ -9967,7 +9967,7 @@ export interface CoverageEligibilityResponseInsurance extends BackboneElement { /** * The term of the benefits documented in this response. */ - benefitPeriod?: Period; + benefitPeriod?: Period|undefined; /** * Reference to the insurance card level information contained in the Coverage resource. The coverage issuing insurer will use these details to locate the patient's actual coverage within the insurer's information system. */ @@ -9975,12 +9975,12 @@ export interface CoverageEligibilityResponseInsurance extends BackboneElement { /** * Flag indicating if the coverage provided is inforce currently if no service date(s) specified or for the whole duration of the service dates. */ - inforce?: boolean; - _inforce?: Element; + inforce?: boolean|undefined; + _inforce?: Element|undefined; /** * Benefits and optionally current balances, and authorization details by category or service. */ - item?: CoverageEligibilityResponseInsuranceItem[]; + item?: CoverageEligibilityResponseInsuranceItem[]|undefined; } /** * Errors encountered during the processing of the request. @@ -10001,28 +10001,28 @@ export interface CoverageEligibilityResponse extends DomainResource { * The date this resource was created. */ created: string; - _created?: Element; + _created?: Element|undefined; /** * A human readable description of the status of the adjudication. */ - disposition?: string; - _disposition?: Element; + disposition?: string|undefined; + _disposition?: Element|undefined; /** * Errors encountered during the processing of the request. */ - error?: CoverageEligibilityResponseError[]; + error?: CoverageEligibilityResponseError[]|undefined; /** * May be needed to identify specific jurisdictional forms. */ - form?: CodeableConcept; + form?: CodeableConcept|undefined; /** * A unique identifier assigned to this coverage eligiblity request. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * All insurance coverages for the patient which may be applicable for reimbursement, of the products and services listed in the claim, are typically provided in the claim to allow insurers to confirm the ordering of the insurance coverages relative to local 'coordination of benefit' rules. One coverage (and only one) with 'focal=true' is to be used in the adjudication of this claim. Coverages appearing before the focal Coverage in the list, and where 'subrogation=false', should provide a reference to the ClaimResponse containing the adjudication results of the prior claim. */ - insurance?: CoverageEligibilityResponseInsurance[]; + insurance?: CoverageEligibilityResponseInsurance[]|undefined; /** * The Insurer who issued the coverage in question and is the author of the response. */ @@ -10031,7 +10031,7 @@ export interface CoverageEligibilityResponse extends DomainResource { * The resource may be used to indicate that: the request has been held (queued) for processing; that it has been processed and errors found (error); that no errors were found and that some of the adjudication has been undertaken (partial) or that all of the adjudication has been undertaken (complete). */ outcome: CoverageEligibilityResponseOutcomeCodes; - _outcome?: Element; + _outcome?: Element|undefined; /** * The party who is the beneficiary of the supplied coverage and for whom eligibility is sought. */ @@ -10039,13 +10039,13 @@ export interface CoverageEligibilityResponse extends DomainResource { /** * A reference from the Insurer to which these services pertain to be used on further communication and as proof that the request occurred. */ - preAuthRef?: string; - _preAuthRef?: Element; + preAuthRef?: string|undefined; + _preAuthRef?: Element|undefined; /** * Code to specify whether requesting: prior authorization requirements for some service categories or billing codes; benefits for coverages specified or discovered; discovery and return of coverages for the patient; and/or validation that the specified coverage is in-force at the date/period specified or 'now' if not specified. */ purpose: CoverageEligibilityResponsePurposeCodes[]; - _purpose?: Element[]; + _purpose?: Element[]|undefined; /** * Reference to the original request resource. */ @@ -10053,21 +10053,21 @@ export interface CoverageEligibilityResponse extends DomainResource { /** * Typically this field would be 1..1 where this party is responsible for the claim but not necessarily professionally responsible for the provision of the individual products and services listed below. */ - requestor?: Reference; + requestor?: Reference|undefined; /** * The date or dates when the enclosed suite of services were performed or completed. */ - servicedDate?: string; - _servicedDate?: Element; + servicedDate?: string|undefined; + _servicedDate?: Element|undefined; /** * The date or dates when the enclosed suite of services were performed or completed. */ - servicedPeriod?: Period; + servicedPeriod?: Period|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: CoverageEligibilityResponseStatusCodes; - _status?: Element; + _status?: Element|undefined; } /** * Code Values for the CoverageEligibilityResponse.outcome field @@ -10103,11 +10103,11 @@ export interface DetectedIssueEvidence extends BackboneElement { /** * A manifestation that led to the recording of this detected issue. */ - code?: CodeableConcept[]; + code?: CodeableConcept[]|undefined; /** * Links to resources that constitute evidence for the detected issue such as a GuidanceResponse or MeasureReport. */ - detail?: Reference[]; + detail?: Reference[]|undefined; } /** * Indicates an action that has been taken or is committed to reduce or eliminate the likelihood of the risk identified by the detected issue from manifesting. Can also reflect an observation of known mitigating factors that may reduce/eliminate the need for any action. @@ -10120,12 +10120,12 @@ export interface DetectedIssueMitigation extends BackboneElement { /** * Identifies the practitioner who determined the mitigation and takes responsibility for the mitigation step occurring. */ - author?: Reference; + author?: Reference|undefined; /** * This might not be the same as when the mitigating step was actually taken. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; } /** * Indicates an actual or potential clinical issue with or between one or more active or proposed clinical actions for a patient; e.g. Drug-drug interaction, Ineffective treatment frequency, Procedure-condition conflict, etc. @@ -10136,60 +10136,60 @@ export interface DetectedIssue extends DomainResource { /** * Individual or device responsible for the issue being raised. For example, a decision support application or a pharmacist conducting a medication review. */ - author?: Reference; + author?: Reference|undefined; /** * Identifies the general type of issue identified. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * Should focus on information not covered elsewhere as discrete data - no need to duplicate the narrative. */ - detail?: string; - _detail?: Element; + detail?: string|undefined; + _detail?: Element|undefined; /** * Supporting evidence or manifestations that provide the basis for identifying the detected issue such as a GuidanceResponse or MeasureReport. */ - evidence?: DetectedIssueEvidence[]; + evidence?: DetectedIssueEvidence[]|undefined; /** * The date or period when the detected issue was initially identified. */ - identifiedDateTime?: string; - _identifiedDateTime?: Element; + identifiedDateTime?: string|undefined; + _identifiedDateTime?: Element|undefined; /** * The date or period when the detected issue was initially identified. */ - identifiedPeriod?: Period; + identifiedPeriod?: Period|undefined; /** * Business identifier associated with the detected issue record. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * There's an implicit constraint on the number of implicated resources based on DetectedIssue.type; e.g. For drug-drug, there would be more than one. For timing, there would typically only be one. */ - implicated?: Reference[]; + implicated?: Reference[]|undefined; /** * Indicates an action that has been taken or is committed to reduce or eliminate the likelihood of the risk identified by the detected issue from manifesting. Can also reflect an observation of known mitigating factors that may reduce/eliminate the need for any action. */ - mitigation?: DetectedIssueMitigation[]; + mitigation?: DetectedIssueMitigation[]|undefined; /** * Indicates the patient whose record the detected issue is associated with. */ - patient?: Reference; + patient?: Reference|undefined; /** * The literature, knowledge-base or similar reference that describes the propensity for the detected issue identified. */ - reference?: string; - _reference?: Element; + reference?: string|undefined; + _reference?: Element|undefined; /** * Indicates the degree of importance associated with the identified issue based on the potential impact on the patient. */ - severity?: DetectedIssueSeverityCodes; - _severity?: Element; + severity?: DetectedIssueSeverityCodes|undefined; + _severity?: Element|undefined; /** * This element is labeled as a modifier because the status contains the codes cancelled and entered-in-error that mark the issue as not currently valid. */ status: DetectedIssueStatusCodes; - _status?: Element; + _status?: Element|undefined; } /** * Code Values for the DetectedIssue.severity field @@ -10219,23 +10219,23 @@ export interface DeviceUdiCarrier extends BackboneElement { /** * The AIDC form of UDIs should be scanned or otherwise used for the identification of the device whenever possible to minimize errors in records resulting from manual transcriptions. If separate barcodes for DI and PI are present, concatenate the string with DI first and in order of human readable expression on label. */ - carrierAIDC?: string; - _carrierAIDC?: Element; + carrierAIDC?: string|undefined; + _carrierAIDC?: Element|undefined; /** * If separate barcodes for DI and PI are present, concatenate the string with DI first and in order of human readable expression on label. */ - carrierHRF?: string; - _carrierHRF?: Element; + carrierHRF?: string|undefined; + _carrierHRF?: Element|undefined; /** * The device identifier (DI) is a mandatory, fixed portion of a UDI that identifies the labeler and the specific version or model of a device. */ - deviceIdentifier?: string; - _deviceIdentifier?: Element; + deviceIdentifier?: string|undefined; + _deviceIdentifier?: Element|undefined; /** * A coded entry to indicate how the data was entered. */ - entryType?: DeviceUdiCarrierEntryTypeCodes; - _entryType?: Element; + entryType?: DeviceUdiCarrierEntryTypeCodes|undefined; + _entryType?: Element|undefined; /** * Organization that is charged with issuing UDIs for devices. For example, the US FDA issuers include : * 1) GS1: @@ -10247,13 +10247,13 @@ export interface DeviceUdiCarrier extends BackboneElement { * 4) ICCBA for other devices: * http://hl7.org/fhir/NamingSystem/iccbba-other-di. */ - issuer?: string; - _issuer?: Element; + issuer?: string|undefined; + _issuer?: Element|undefined; /** * The identity of the authoritative source for UDI generation within a jurisdiction. All UDIs are globally unique within a single namespace with the appropriate repository uri as the system. For example, UDIs of devices managed in the U.S. by the FDA, the value is http://hl7.org/fhir/NamingSystem/fda-udi. */ - jurisdiction?: string; - _jurisdiction?: Element; + jurisdiction?: string|undefined; + _jurisdiction?: Element|undefined; } /** * Code Values for the Device.udiCarrier.entryType field @@ -10274,13 +10274,13 @@ export interface DeviceDeviceName extends BackboneElement { * The name of the device. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * The type of deviceName. * UDILabelName | UserFriendlyName | PatientReportedName | ManufactureDeviceName | ModelName. */ type: DeviceDeviceNameTypeCodes; - _type?: Element; + _type?: Element|undefined; } /** * Code Values for the Device.deviceName.type field @@ -10304,8 +10304,8 @@ export interface DeviceSpecialization extends BackboneElement { /** * The version of the standard that is used to operate and communicate. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * The actual design of the device or software version running on the device. @@ -10314,16 +10314,16 @@ export interface DeviceVersion extends BackboneElement { /** * A single component of the device version. */ - component?: Identifier; + component?: Identifier|undefined; /** * The type of the device version. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; /** * The version text. */ value: string; - _value?: Element; + _value?: Element|undefined; } /** * The actual configuration settings of a device as it actually operates, e.g., regulation status, time properties. @@ -10336,11 +10336,11 @@ export interface DeviceProperty extends BackboneElement { /** * Property value as a code, e.g., NTP4 (synced to NTP). */ - valueCode?: CodeableConcept[]; + valueCode?: CodeableConcept[]|undefined; /** * Property value as a quantity. */ - valueQuantity?: Quantity[]; + valueQuantity?: Quantity[]|undefined; } /** * A type of a manufactured item that is used in the provision of healthcare without being substantially changed through that activity. The device may be a medical or non-medical device. @@ -10351,117 +10351,117 @@ export interface Device extends DomainResource { /** * used for troubleshooting etc. */ - contact?: ContactPoint[]; + contact?: ContactPoint[]|undefined; /** * The reference to the definition for the device. */ - definition?: Reference; + definition?: Reference|undefined; /** * This represents the manufacturer's name of the device as provided by the device, from a UDI label, or by a person describing the Device. This typically would be used when a person provides the name(s) or when the device represents one of the names available from DeviceDefinition. */ - deviceName?: DeviceDeviceName[]; + deviceName?: DeviceDeviceName[]|undefined; /** * For example, this applies to devices in the United States regulated under *Code of Federal Regulation 21CFR§1271.290(c)*. */ - distinctIdentifier?: string; - _distinctIdentifier?: Element; + distinctIdentifier?: string|undefined; + _distinctIdentifier?: Element|undefined; /** * The date and time beyond which this device is no longer valid or should not be used (if applicable). */ - expirationDate?: string; - _expirationDate?: Element; + expirationDate?: string|undefined; + _expirationDate?: Element|undefined; /** * The barcode string from a barcode present on a device label or package may identify the instance, include names given to the device in local usage, or may identify the type of device. If the identifier identifies the type of device, Device.type element should be used. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The place where the device can be found. */ - location?: Reference; + location?: Reference|undefined; /** * Lot number assigned by the manufacturer. */ - lotNumber?: string; - _lotNumber?: Element; + lotNumber?: string|undefined; + _lotNumber?: Element|undefined; /** * The date and time when the device was manufactured. */ - manufactureDate?: string; - _manufactureDate?: Element; + manufactureDate?: string|undefined; + _manufactureDate?: Element|undefined; /** * A name of the manufacturer. */ - manufacturer?: string; - _manufacturer?: Element; + manufacturer?: string|undefined; + _manufacturer?: Element|undefined; /** * The model number for the device. */ - modelNumber?: string; - _modelNumber?: Element; + modelNumber?: string|undefined; + _modelNumber?: Element|undefined; /** * Descriptive information, usage information or implantation information that is not captured in an existing element. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * An organization that is responsible for the provision and ongoing maintenance of the device. */ - owner?: Reference; + owner?: Reference|undefined; /** * The parent device. */ - parent?: Reference; + parent?: Reference|undefined; /** * Alphanumeric Maximum 20. */ - partNumber?: string; - _partNumber?: Element; + partNumber?: string|undefined; + _partNumber?: Element|undefined; /** * Patient information, If the device is affixed to a person. */ - patient?: Reference; + patient?: Reference|undefined; /** * The actual configuration settings of a device as it actually operates, e.g., regulation status, time properties. */ - property?: DeviceProperty[]; + property?: DeviceProperty[]|undefined; /** * Provides additional safety characteristics about a medical device. For example devices containing latex. */ - safety?: CodeableConcept[]; + safety?: CodeableConcept[]|undefined; /** * Alphanumeric Maximum 20. */ - serialNumber?: string; - _serialNumber?: Element; + serialNumber?: string|undefined; + _serialNumber?: Element|undefined; /** * The capabilities supported on a device, the standards to which the device conforms for a particular purpose, and used for the communication. */ - specialization?: DeviceSpecialization[]; + specialization?: DeviceSpecialization[]|undefined; /** * This element is labeled as a modifier because the status contains the codes inactive and entered-in-error that mark the device (record)as not currently valid. */ - status?: DeviceStatusCodes; - _status?: Element; + status?: DeviceStatusCodes|undefined; + _status?: Element|undefined; /** * Reason for the dtatus of the Device availability. */ - statusReason?: CodeableConcept[]; + statusReason?: CodeableConcept[]|undefined; /** * The kind or type of device. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; /** * UDI may identify an unique instance of a device, or it may only identify the type of the device. See [UDI mappings](device-mappings.html#udi) for a complete mapping of UDI parts to Device. */ - udiCarrier?: DeviceUdiCarrier[]; + udiCarrier?: DeviceUdiCarrier[]|undefined; /** * If the device is running a FHIR server, the network address should be the Base URL from which a conformance statement may be retrieved. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * The actual design of the device or software version running on the device. */ - version?: DeviceVersion[]; + version?: DeviceVersion[]|undefined; } /** * Code Values for the Device.status field @@ -10480,17 +10480,17 @@ export interface DeviceDefinitionUdiDeviceIdentifier extends BackboneElement { * The identifier that is to be associated with every Device that references this DeviceDefintiion for the issuer and jurisdication porvided in the DeviceDefinition.udiDeviceIdentifier. */ deviceIdentifier: string; - _deviceIdentifier?: Element; + _deviceIdentifier?: Element|undefined; /** * The organization that assigns the identifier algorithm. */ issuer: string; - _issuer?: Element; + _issuer?: Element|undefined; /** * The jurisdiction to which the deviceIdentifier applies. */ jurisdiction: string; - _jurisdiction?: Element; + _jurisdiction?: Element|undefined; } /** * A name given to the device to identify it. @@ -10500,13 +10500,13 @@ export interface DeviceDefinitionDeviceName extends BackboneElement { * The name of the device. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * The type of deviceName. * UDILabelName | UserFriendlyName | PatientReportedName | ManufactureDeviceName | ModelName. */ type: DeviceDefinitionDeviceNameTypeCodes; - _type?: Element; + _type?: Element|undefined; } /** * Code Values for the DeviceDefinition.deviceName.type field @@ -10527,12 +10527,12 @@ export interface DeviceDefinitionSpecialization extends BackboneElement { * The standard that is used to operate and communicate. */ systemType: string; - _systemType?: Element; + _systemType?: Element|undefined; /** * The version of the standard that is used to operate and communicate. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Device capabilities. @@ -10541,7 +10541,7 @@ export interface DeviceDefinitionCapability extends BackboneElement { /** * Description of capability. */ - description?: CodeableConcept[]; + description?: CodeableConcept[]|undefined; /** * Type of capability. */ @@ -10558,11 +10558,11 @@ export interface DeviceDefinitionProperty extends BackboneElement { /** * Property value as a code, e.g., NTP4 (synced to NTP). */ - valueCode?: CodeableConcept[]; + valueCode?: CodeableConcept[]|undefined; /** * Property value as a quantity. */ - valueQuantity?: Quantity[]; + valueQuantity?: Quantity[]|undefined; } /** * A substance used to create the material(s) of which the device is made. @@ -10571,13 +10571,13 @@ export interface DeviceDefinitionMaterial extends BackboneElement { /** * Whether the substance is a known or suspected allergen. */ - allergenicIndicator?: boolean; - _allergenicIndicator?: Element; + allergenicIndicator?: boolean|undefined; + _allergenicIndicator?: Element|undefined; /** * Indicates an alternative material of the device. */ - alternate?: boolean; - _alternate?: Element; + alternate?: boolean|undefined; + _alternate?: Element|undefined; /** * The substance. */ @@ -10592,100 +10592,100 @@ export interface DeviceDefinition extends DomainResource { /** * Device capabilities. */ - capability?: DeviceDefinitionCapability[]; + capability?: DeviceDefinitionCapability[]|undefined; /** * used for troubleshooting etc. */ - contact?: ContactPoint[]; + contact?: ContactPoint[]|undefined; /** * A name given to the device to identify it. */ - deviceName?: DeviceDefinitionDeviceName[]; + deviceName?: DeviceDefinitionDeviceName[]|undefined; /** * Unique instance identifiers assigned to a device by the software, manufacturers, other organizations or owners. For example: handle ID. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Language code for the human-readable text strings produced by the device (all supported). */ - languageCode?: CodeableConcept[]; + languageCode?: CodeableConcept[]|undefined; /** * A name of the manufacturer. */ - manufacturerString?: string; - _manufacturerString?: Element; + manufacturerString?: string|undefined; + _manufacturerString?: Element|undefined; /** * A name of the manufacturer. */ - manufacturerReference?: Reference; + manufacturerReference?: Reference|undefined; /** * A substance used to create the material(s) of which the device is made. */ - material?: DeviceDefinitionMaterial[]; + material?: DeviceDefinitionMaterial[]|undefined; /** * The model number for the device. */ - modelNumber?: string; - _modelNumber?: Element; + modelNumber?: string|undefined; + _modelNumber?: Element|undefined; /** * Descriptive information, usage information or implantation information that is not captured in an existing element. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * Access to on-line information about the device. */ - onlineInformation?: string; - _onlineInformation?: Element; + onlineInformation?: string|undefined; + _onlineInformation?: Element|undefined; /** * An organization that is responsible for the provision and ongoing maintenance of the device. */ - owner?: Reference; + owner?: Reference|undefined; /** * The parent device it can be part of. */ - parentDevice?: Reference; + parentDevice?: Reference|undefined; /** * Dimensions, color etc. */ - physicalCharacteristics?: ProdCharacteristic; + physicalCharacteristics?: ProdCharacteristic|undefined; /** * The actual configuration settings of a device as it actually operates, e.g., regulation status, time properties. */ - property?: DeviceDefinitionProperty[]; + property?: DeviceDefinitionProperty[]|undefined; /** * The quantity of the device present in the packaging (e.g. the number of devices present in a pack, or the number of devices in the same package of the medicinal product). */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * Safety characteristics of the device. */ - safety?: CodeableConcept[]; + safety?: CodeableConcept[]|undefined; /** * Shelf Life and storage information. */ - shelfLifeStorage?: ProductShelfLife[]; + shelfLifeStorage?: ProductShelfLife[]|undefined; /** * The capabilities supported on a device, the standards to which the device conforms for a particular purpose, and used for the communication. */ - specialization?: DeviceDefinitionSpecialization[]; + specialization?: DeviceDefinitionSpecialization[]|undefined; /** * What kind of device or device system this is. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; /** * Unique device identifier (UDI) assigned to device label or package. Note that the Device may include multiple udiCarriers as it either may include just the udiCarrier for the jurisdiction it is sold, or for multiple jurisdictions it could have been sold. */ - udiDeviceIdentifier?: DeviceDefinitionUdiDeviceIdentifier[]; + udiDeviceIdentifier?: DeviceDefinitionUdiDeviceIdentifier[]|undefined; /** * If the device is running a FHIR server, the network address should be the Base URL from which a conformance statement may be retrieved. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * The available versions of the device, e.g., software versions. */ - version?: string[]; - _version?: Element[]; + version?: string[]|undefined; + _version?: Element[]|undefined; } /** * Describes the calibrations that have been performed or that are required to be performed. @@ -10694,18 +10694,18 @@ export interface DeviceMetricCalibration extends BackboneElement { /** * Describes the state of the calibration. */ - state?: DeviceMetricCalibrationStateCodes; - _state?: Element; + state?: DeviceMetricCalibrationStateCodes|undefined; + _state?: Element|undefined; /** * Describes the time last calibration has been performed. */ - time?: string; - _time?: Element; + time?: string|undefined; + _time?: Element|undefined; /** * Describes the type of the calibration method. */ - type?: DeviceMetricCalibrationTypeCodes; - _type?: Element; + type?: DeviceMetricCalibrationTypeCodes|undefined; + _type?: Element|undefined; } /** * Code Values for the DeviceMetric.calibration.state field @@ -10734,38 +10734,38 @@ export interface DeviceMetric extends DomainResource { /** * Describes the calibrations that have been performed or that are required to be performed. */ - calibration?: DeviceMetricCalibration[]; + calibration?: DeviceMetricCalibration[]|undefined; /** * Indicates the category of the observation generation process. A DeviceMetric can be for example a setting, measurement, or calculation. */ category: DeviceMetricCategoryCodes; - _category?: Element; + _category?: Element|undefined; /** * Describes the color representation for the metric. This is often used to aid clinicians to track and identify parameter types by color. In practice, consider a Patient Monitor that has ECG/HR and Pleth for example; the parameters are displayed in different characteristic colors, such as HR-blue, BP-green, and PR and SpO2- magenta. */ - color?: DeviceMetricColorCodes; - _color?: Element; + color?: DeviceMetricColorCodes|undefined; + _color?: Element|undefined; /** * For identifiers assigned to a device by the device or gateway software, the `system` element of the identifier should be set to the unique identifier of the device. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Describes the measurement repetition time. This is not necessarily the same as the update period. The measurement repetition time can range from milliseconds up to hours. An example for a measurement repetition time in the range of milliseconds is the sampling rate of an ECG. An example for a measurement repetition time in the range of hours is a NIBP that is triggered automatically every hour. The update period may be different than the measurement repetition time, if the device does not update the published observed value with the same frequency as it was measured. */ - measurementPeriod?: Timing; + measurementPeriod?: Timing|undefined; /** * Indicates current operational state of the device. For example: On, Off, Standby, etc. */ - operationalStatus?: DeviceMetricOperationalStatusCodes; - _operationalStatus?: Element; + operationalStatus?: DeviceMetricOperationalStatusCodes|undefined; + _operationalStatus?: Element|undefined; /** * Describes the link to the Device that this DeviceMetric belongs to and that provide information about the location of this DeviceMetric in the containment structure of the parent Device. An example would be a Device that represents a Channel. This reference can be used by a client application to distinguish DeviceMetrics that have the same type, but should be interpreted based on their containment location. */ - parent?: Reference; + parent?: Reference|undefined; /** * Describes the link to the Device that this DeviceMetric belongs to and that contains administrative device information such as manufacturer, serial number, etc. */ - source?: Reference; + source?: Reference|undefined; /** * DeviceMetric.type can be referred to either IEEE 11073-10101 or LOINC. */ @@ -10773,7 +10773,7 @@ export interface DeviceMetric extends DomainResource { /** * DeviceMetric.unit can refer to either UCUM or preferable a RTMMS coding system. */ - unit?: CodeableConcept; + unit?: CodeableConcept|undefined; } /** * Code Values for the DeviceMetric.category field @@ -10813,24 +10813,24 @@ export interface DeviceRequestParameter extends BackboneElement { /** * A code or string that identifies the device detail being asserted. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * Range means device should have a value that falls somewhere within the specified range. */ - valueCodeableConcept?: CodeableConcept; + valueCodeableConcept?: CodeableConcept|undefined; /** * Range means device should have a value that falls somewhere within the specified range. */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; /** * Range means device should have a value that falls somewhere within the specified range. */ - valueRange?: Range; + valueRange?: Range|undefined; /** * Range means device should have a value that falls somewhere within the specified range. */ - valueBoolean?: boolean; - _valueBoolean?: Element; + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; } /** * Represents a request for a patient to employ a medical device. The device may be an implantable device, or an external assistive device, such as a walker. @@ -10841,112 +10841,112 @@ export interface DeviceRequest extends DomainResource { /** * When the request transitioned to being actionable. */ - authoredOn?: string; - _authoredOn?: Element; + authoredOn?: string|undefined; + _authoredOn?: Element|undefined; /** * Plan/proposal/order fulfilled by this request. */ - basedOn?: Reference[]; + basedOn?: Reference[]|undefined; /** * The details of the device to be used. */ - codeReference?: Reference; + codeReference?: Reference|undefined; /** * The details of the device to be used. */ - codeCodeableConcept?: CodeableConcept; + codeCodeableConcept?: CodeableConcept|undefined; /** * An encounter that provides additional context in which this request is made. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * Composite request this is part of. */ - groupIdentifier?: Identifier; + groupIdentifier?: Identifier|undefined; /** * Identifiers assigned to this order by the orderer or by the receiver. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Note: This is a business identifier, not a resource identifier (see [discussion](resource.html#identifiers)). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and a Person resource instance might share the same social insurance number. */ - instantiatesCanonical?: string[]; - _instantiatesCanonical?: Element[]; + instantiatesCanonical?: string[]|undefined; + _instantiatesCanonical?: Element[]|undefined; /** * This might be an HTML page, PDF, etc. or could just be a non-resolvable URI identifier. */ - instantiatesUri?: string[]; - _instantiatesUri?: Element[]; + instantiatesUri?: string[]|undefined; + _instantiatesUri?: Element[]|undefined; /** * Insurance plans, coverage extensions, pre-authorizations and/or pre-determinations that may be required for delivering the requested service. */ - insurance?: Reference[]; + insurance?: Reference[]|undefined; /** * Whether the request is a proposal, plan, an original order or a reflex order. */ intent: DeviceRequestIntentCodes; - _intent?: Element; + _intent?: Element|undefined; /** * Details about this request that were not represented at all or sufficiently in one of the attributes provided in a class. These may include for example a comment, an instruction, or a note associated with the statement. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * The timing schedule for the use of the device. The Schedule data type allows many different expressions, for example. "Every 8 hours"; "Three times a day"; "1/2 an hour before breakfast for 10 days from 23-Dec 2011:"; "15 Oct 2013, 17 Oct 2013 and 1 Nov 2013". */ - occurrenceDateTime?: string; - _occurrenceDateTime?: Element; + occurrenceDateTime?: string|undefined; + _occurrenceDateTime?: Element|undefined; /** * The timing schedule for the use of the device. The Schedule data type allows many different expressions, for example. "Every 8 hours"; "Three times a day"; "1/2 an hour before breakfast for 10 days from 23-Dec 2011:"; "15 Oct 2013, 17 Oct 2013 and 1 Nov 2013". */ - occurrencePeriod?: Period; + occurrencePeriod?: Period|undefined; /** * The timing schedule for the use of the device. The Schedule data type allows many different expressions, for example. "Every 8 hours"; "Three times a day"; "1/2 an hour before breakfast for 10 days from 23-Dec 2011:"; "15 Oct 2013, 17 Oct 2013 and 1 Nov 2013". */ - occurrenceTiming?: Timing; + occurrenceTiming?: Timing|undefined; /** * Specific parameters for the ordered item. For example, the prism value for lenses. */ - parameter?: DeviceRequestParameter[]; + parameter?: DeviceRequestParameter[]|undefined; /** * The desired performer for doing the diagnostic testing. */ - performer?: Reference; + performer?: Reference|undefined; /** * Desired type of performer for doing the diagnostic testing. */ - performerType?: CodeableConcept; + performerType?: CodeableConcept|undefined; /** * Indicates how quickly the {{title}} should be addressed with respect to other requests. */ - priority?: DeviceRequestPriorityCodes; - _priority?: Element; + priority?: DeviceRequestPriorityCodes|undefined; + _priority?: Element|undefined; /** * The request takes the place of the referenced completed or terminated request(s). */ - priorRequest?: Reference[]; + priorRequest?: Reference[]|undefined; /** * Reason or justification for the use of this device. */ - reasonCode?: CodeableConcept[]; + reasonCode?: CodeableConcept[]|undefined; /** * Reason or justification for the use of this device. */ - reasonReference?: Reference[]; + reasonReference?: Reference[]|undefined; /** * This might not include provenances for all versions of the request - only those deemed "relevant" or important. * This SHALL NOT include the Provenance associated with this current version of the resource. (If that provenance is deemed to be a "relevant" change, it will need to be added as part of a later update. Until then, it can be queried directly as the Provenance that points to this version using _revinclude * All Provenances should have some historical version of this Request as their subject. */ - relevantHistory?: Reference[]; + relevantHistory?: Reference[]|undefined; /** * The individual who initiated the request and has responsibility for its activation. */ - requester?: Reference; + requester?: Reference|undefined; /** * This element is labeled as a modifier because the status contains the codes cancelled and entered-in-error that mark the request as not currently valid. */ - status?: DeviceRequestStatusCodes; - _status?: Element; + status?: DeviceRequestStatusCodes|undefined; + _status?: Element|undefined; /** * The patient who will use the device. */ @@ -10954,7 +10954,7 @@ export interface DeviceRequest extends DomainResource { /** * Additional clinical information about the patient that may influence the request fulfilment. For example, this may include where on the subject's body the device will be used (i.e. the target site). */ - supportingInfo?: Reference[]; + supportingInfo?: Reference[]|undefined; } /** * Code Values for the DeviceRequest.intent field @@ -11000,15 +11000,15 @@ export interface DeviceUseStatement extends DomainResource { /** * A plan, proposal or order that is fulfilled in whole or in part by this DeviceUseStatement. */ - basedOn?: Reference[]; + basedOn?: Reference[]|undefined; /** * Indicates the anotomic location on the subject's body where the device was used ( i.e. the target). */ - bodySite?: CodeableConcept; + bodySite?: CodeableConcept|undefined; /** * The most common use cases for deriving a DeviceUseStatement comes from creating it from a request or from an observation or a claim. it should be noted that the amount of information that is available varies from the type resource that you derive the DeviceUseStatement from. */ - derivedFrom?: Reference[]; + derivedFrom?: Reference[]|undefined; /** * The details of the device used. */ @@ -11016,34 +11016,34 @@ export interface DeviceUseStatement extends DomainResource { /** * An external identifier for this statement such as an IRI. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Details about the device statement that were not represented at all or sufficiently in one of the attributes provided in a class. These may include for example a comment, an instruction, or a note associated with the statement. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * Reason or justification for the use of the device. */ - reasonCode?: CodeableConcept[]; + reasonCode?: CodeableConcept[]|undefined; /** * Indicates another resource whose existence justifies this DeviceUseStatement. */ - reasonReference?: Reference[]; + reasonReference?: Reference[]|undefined; /** * The time at which the statement was made/recorded. */ - recordedOn?: string; - _recordedOn?: Element; + recordedOn?: string|undefined; + _recordedOn?: Element|undefined; /** * Who reported the device was being used by the patient. */ - source?: Reference; + source?: Reference|undefined; /** * DeviceUseStatment is a statement at a point in time. The status is only representative at the point when it was asserted. The value set for contains codes that assert the status of the use by the patient (for example, stopped or on hold) as well as codes that assert the status of the resource itself (for example, entered in error). * This element is labeled as a modifier because the status contains the codes that mark the statement as not currently valid. */ status: DeviceUseStatementStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * The patient who used the device. */ @@ -11051,16 +11051,16 @@ export interface DeviceUseStatement extends DomainResource { /** * How often the device was used. */ - timingTiming?: Timing; + timingTiming?: Timing|undefined; /** * How often the device was used. */ - timingPeriod?: Period; + timingPeriod?: Period|undefined; /** * How often the device was used. */ - timingDateTime?: string; - _timingDateTime?: Element; + timingDateTime?: string|undefined; + _timingDateTime?: Element|undefined; } /** * Code Values for the DeviceUseStatement.status field @@ -11080,8 +11080,8 @@ export interface DiagnosticReportMedia extends BackboneElement { /** * The comment should be displayed with the image. It would be common for the report to include additional discussion of the image contents in other sections such as the conclusion. */ - comment?: string; - _comment?: Element; + comment?: string|undefined; + _comment?: Element|undefined; /** * Reference to the image source. */ @@ -11096,11 +11096,11 @@ export interface DiagnosticReport extends DomainResource { /** * Note: Usually there is one test request for each result, however in some circumstances multiple test requests may be represented using a single test result resource. Note that there are also cases where one request leads to multiple reports. */ - basedOn?: Reference[]; + basedOn?: Reference[]|undefined; /** * Multiple categories are allowed using various categorization schemes. The level of granularity is defined by the category concepts in the value set. More fine-grained filtering can be performed using the metadata and/or terminology hierarchy in DiagnosticReport.code. */ - category?: CodeableConcept[]; + category?: CodeableConcept[]|undefined; /** * A code or name that describes this diagnostic report. */ @@ -11108,71 +11108,71 @@ export interface DiagnosticReport extends DomainResource { /** * Concise and clinically contextualized summary conclusion (interpretation/impression) of the diagnostic report. */ - conclusion?: string; - _conclusion?: Element; + conclusion?: string|undefined; + _conclusion?: Element|undefined; /** * One or more codes that represent the summary conclusion (interpretation/impression) of the diagnostic report. */ - conclusionCode?: CodeableConcept[]; + conclusionCode?: CodeableConcept[]|undefined; /** * If the diagnostic procedure was performed on the patient, this is the time it was performed. If there are specimens, the diagnostically relevant time can be derived from the specimen collection times, but the specimen information is not always available, and the exact relationship between the specimens and the diagnostically relevant time is not always automatic. */ - effectiveDateTime?: string; - _effectiveDateTime?: Element; + effectiveDateTime?: string|undefined; + _effectiveDateTime?: Element|undefined; /** * If the diagnostic procedure was performed on the patient, this is the time it was performed. If there are specimens, the diagnostically relevant time can be derived from the specimen collection times, but the specimen information is not always available, and the exact relationship between the specimens and the diagnostically relevant time is not always automatic. */ - effectivePeriod?: Period; + effectivePeriod?: Period|undefined; /** * This will typically be the encounter the event occurred within, but some events may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter (e.g. pre-admission laboratory tests). */ - encounter?: Reference; + encounter?: Reference|undefined; /** * Usually assigned by the Information System of the diagnostic service provider (filler id). */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * ImagingStudy and the image element are somewhat overlapping - typically, the list of image references in the image element will also be found in one of the imaging study resources. However, each caters to different types of displays for different types of purposes. Neither, either, or both may be provided. */ - imagingStudy?: Reference[]; + imagingStudy?: Reference[]|undefined; /** * May be different from the update time of the resource itself, because that is the status of the record (potentially a secondary copy), not the actual release time of the report. */ - issued?: string; - _issued?: Element; + issued?: string|undefined; + _issued?: Element|undefined; /** * A list of key images associated with this report. The images are generally created during the diagnostic process, and may be directly of the patient, or of treated specimens (i.e. slides of interest). */ - media?: DiagnosticReportMedia[]; + media?: DiagnosticReportMedia[]|undefined; /** * This is not necessarily the source of the atomic data items or the entity that interpreted the results. It is the entity that takes responsibility for the clinical report. */ - performer?: Reference[]; + performer?: Reference[]|undefined; /** * "application/pdf" is recommended as the most reliable and interoperable in this context. */ - presentedForm?: Attachment[]; + presentedForm?: Attachment[]|undefined; /** * Observations can contain observations. */ - result?: Reference[]; + result?: Reference[]|undefined; /** * Might not be the same entity that takes responsibility for the clinical report. */ - resultsInterpreter?: Reference[]; + resultsInterpreter?: Reference[]|undefined; /** * If the specimen is sufficiently specified with a code in the test result name, then this additional data may be redundant. If there are multiple specimens, these may be represented per observation or group. */ - specimen?: Reference[]; + specimen?: Reference[]|undefined; /** * The status of the diagnostic report. */ status: DiagnosticReportStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * The subject of the report. Usually, but not always, this is a patient. However, diagnostic services also perform analyses on specimens collected from a variety of other sources. */ - subject?: Reference; + subject?: Reference|undefined; } /** * Code Values for the DiagnosticReport.status field @@ -11196,11 +11196,11 @@ export interface DocumentManifestRelated extends BackboneElement { /** * If both identifier and ref elements are present they shall refer to the same thing. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * If both identifier and ref elements are present they shall refer to the same thing. */ - ref?: Reference; + ref?: Reference|undefined; } /** * A collection of documents compiled for a purpose together with metadata that applies to the collection. @@ -11211,7 +11211,7 @@ export interface DocumentManifest extends DomainResource { /** * Not necessarily who did the actual data entry (i.e. typist) or who was the source (informant). */ - author?: Reference[]; + author?: Reference[]|undefined; /** * When used for XDS the intended focus of the DocumentManifest is for the reference to target to be a set of DocumentReference Resources. The reference is to "Any" to support EN 13606 usage, where an extract is DocumentManifest that references List and Composition resources. */ @@ -11219,47 +11219,47 @@ export interface DocumentManifest extends DomainResource { /** * Creation time is used for tracking, organizing versions and searching. This is the creation time of the document set, not the documents on which it is based. */ - created?: string; - _created?: Element; + created?: string|undefined; + _created?: Element|undefined; /** * What the document is about, rather than a terse summary of the document. It is commonly the case that records do not have a title and are collectively referred to by the display name of Record code (e.g. a "consultation" or "progress note"). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Other identifiers associated with the document manifest, including version independent identifiers. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * A single identifier that uniquely identifies this manifest. Principally used to refer to the manifest in non-FHIR contexts. */ - masterIdentifier?: Identifier; + masterIdentifier?: Identifier|undefined; /** * How the recipient receives the document set or is notified of it is up to the implementation. This element is just a statement of intent. If the recipient is a person, and it is not known whether the person is a patient or a practitioner, RelatedPerson would be the default choice. */ - recipient?: Reference[]; + recipient?: Reference[]|undefined; /** * May be identifiers or resources that caused the DocumentManifest to be created. */ - related?: DocumentManifestRelated[]; + related?: DocumentManifestRelated[]|undefined; /** * Identifies the source system, application, or software that produced the document manifest. */ - source?: string; - _source?: Element; + source?: string|undefined; + _source?: Element|undefined; /** * This element is labeled as a modifier because the status contains the codes that mark the manifest as not currently valid. */ status: DocumentManifestStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Who or what the set of documents is about. The documents can be about a person, (patient or healthcare practitioner), a device (i.e. machine) or even a group of subjects (such as a document about a herd of farm animals, or a set of patients that share a common exposure). If the documents cross more than one subject, then more than one subject is allowed here (unusual use case). */ - subject?: Reference; + subject?: Reference|undefined; /** * Specifies the kind of this set of documents (e.g. Patient Summary, Discharge Summary, Prescription, etc.). The type of a set of documents may be the same as one of the documents in it - especially if there is only one - but it may be wider. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Code Values for the DocumentManifest.status field @@ -11277,7 +11277,7 @@ export interface DocumentReferenceRelatesTo extends BackboneElement { * If this document appends another document, then the document cannot be fully understood without also accessing the referenced document. */ code: DocumentReferenceRelatesToCodeCodes; - _code?: Element; + _code?: Element|undefined; /** * The target document of this relationship. */ @@ -11303,7 +11303,7 @@ export interface DocumentReferenceContent extends BackboneElement { /** * Note that while IHE mostly issues URNs for format types, not all documents can be identified by a URI. */ - format?: Coding; + format?: Coding|undefined; } /** * These values are primarily added to help with searching for interesting/relevant documents. @@ -11312,31 +11312,31 @@ export interface DocumentReferenceContext extends BackboneElement { /** * Describes the clinical encounter or type of care that the document content is associated with. */ - encounter?: Reference[]; + encounter?: Reference[]|undefined; /** * An event can further specialize the act inherent in the type, such as where it is simply "Procedure Report" and the procedure was a "colonoscopy". If one or more event codes are included, they shall not conflict with the values inherent in the class or type elements as such a conflict would create an ambiguous situation. */ - event?: CodeableConcept[]; + event?: CodeableConcept[]|undefined; /** * The kind of facility where the patient was seen. */ - facilityType?: CodeableConcept; + facilityType?: CodeableConcept|undefined; /** * The time period over which the service that is described by the document was provided. */ - period?: Period; + period?: Period|undefined; /** * This element should be based on a coarse classification system for the class of specialty practice. Recommend the use of the classification system for Practice Setting, such as that described by the Subject Matter Domain in LOINC. */ - practiceSetting?: CodeableConcept; + practiceSetting?: CodeableConcept|undefined; /** * May be identifiers or resources that caused the DocumentReference or referenced Document to be created. */ - related?: Reference[]; + related?: Reference[]|undefined; /** * The Patient Information as known when the document was published. May be a reference to a version specific, or contained. */ - sourcePatientInfo?: Reference; + sourcePatientInfo?: Reference|undefined; } /** * A reference to a document of any kind for any purpose. Provides metadata about the document so that the document can be discovered and managed. The scope of a document is any seralized object with a mime-type, so includes formal patient centric documents (CDA), cliical notes, scanned paper, and non-patient specific documents like policy text. @@ -11347,15 +11347,15 @@ export interface DocumentReference extends DomainResource { /** * Represents a participant within the author institution who has legally authenticated or attested the document. Legal authentication implies that a document has been signed manually or electronically by the legal Authenticator. */ - authenticator?: Reference; + authenticator?: Reference|undefined; /** * Not necessarily who did the actual data entry (i.e. typist) or who was the source (informant). */ - author?: Reference[]; + author?: Reference[]|undefined; /** * Key metadata element describing the the category or classification of the document. This is a broader perspective that groups similar documents based on how they would be used. This is a primary key used in searching. */ - category?: CodeableConcept[]; + category?: CodeableConcept[]|undefined; /** * The document and format referenced. There may be multiple content element repetitions, each with a different format. */ @@ -11363,57 +11363,57 @@ export interface DocumentReference extends DomainResource { /** * These values are primarily added to help with searching for interesting/relevant documents. */ - context?: DocumentReferenceContext; + context?: DocumentReferenceContext|undefined; /** * Identifies the logical organization (software system, vendor, or department) to go to find the current version, where to report issues, etc. This is different from the physical location (URL, disk drive, or server) of the document, which is the technical location of the document, which host may be delegated to the management of some other organization. */ - custodian?: Reference; + custodian?: Reference|undefined; /** * Referencing/indexing time is used for tracking, organizing versions and searching. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * What the document is about, a terse summary of the document. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * The document that is pointed to might be in various lifecycle states. */ - docStatus?: DocumentReferenceDocStatusCodes; - _docStatus?: Element; + docStatus?: DocumentReferenceDocStatusCodes|undefined; + _docStatus?: Element|undefined; /** * Other identifiers associated with the document, including version independent identifiers. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * CDA Document Id extension and root. */ - masterIdentifier?: Identifier; + masterIdentifier?: Identifier|undefined; /** * This element is labeled as a modifier because documents that append to other documents are incomplete on their own. */ - relatesTo?: DocumentReferenceRelatesTo[]; + relatesTo?: DocumentReferenceRelatesTo[]|undefined; /** * The confidentiality codes can carry multiple vocabulary items. HL7 has developed an understanding of security and privacy tags that might be desirable in a Document Sharing environment, called HL7 Healthcare Privacy and Security Classification System (HCS). The following specification is recommended but not mandated, as the vocabulary bindings are an administrative domain responsibility. The use of this method is up to the policy domain such as the XDS Affinity Domain or other Trust Domain where all parties including sender and recipients are trusted to appropriately tag and enforce. * In the HL7 Healthcare Privacy and Security Classification (HCS) there are code systems specific to Confidentiality, Sensitivity, Integrity, and Handling Caveats. Some values would come from a local vocabulary as they are related to workflow roles and special projects. */ - securityLabel?: CodeableConcept[]; + securityLabel?: CodeableConcept[]|undefined; /** * This is the status of the DocumentReference object, which might be independent from the docStatus element. * This element is labeled as a modifier because the status contains the codes that mark the document or reference as not currently valid. */ status: DocumentReferenceStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Who or what the document is about. The document can be about a person, (patient or healthcare practitioner), a device (e.g. a machine) or even a group of subjects (such as a document about a herd of farm animals, or a set of patients that share a common exposure). */ - subject?: Reference; + subject?: Reference|undefined; /** * Key metadata element describing the document that describes he exact type of document. Helps humans to assess whether the document is of interest when viewing a list of documents. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Code Values for the DocumentReference.docStatus field @@ -11441,19 +11441,19 @@ export interface DomainResource extends Resource { /** * This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels. */ - contained?: FhirResource[]; + contained?: FhirResource[]|undefined; /** * There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. */ - extension?: Extension[]; + extension?: Extension[]|undefined; /** * There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. */ - modifierExtension?: Extension[]; + modifierExtension?: Extension[]|undefined; /** * Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later. */ - text?: Narrative; + text?: Narrative|undefined; } /** * A description of the size of the sample involved in the synthesis. @@ -11462,16 +11462,16 @@ export interface EffectEvidenceSynthesisSampleSize extends BackboneElement { /** * Human-readable summary of sample size. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Number of participants included in this evidence synthesis. */ - numberOfParticipants?: number; + numberOfParticipants?: number|undefined; /** * Number of studies included in this evidence synthesis. */ - numberOfStudies?: number; + numberOfStudies?: number|undefined; } /** * A description of the results for each exposure considered in the effect estimate. @@ -11480,13 +11480,13 @@ export interface EffectEvidenceSynthesisResultsByExposure extends BackboneElemen /** * Human-readable summary of results by exposure state. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Whether these results are for the exposure state or alternative exposure state. */ - exposureState?: EffectEvidenceSynthesisResultsByExposureExposureStateCodes; - _exposureState?: Element; + exposureState?: EffectEvidenceSynthesisResultsByExposureExposureStateCodes|undefined; + _exposureState?: Element|undefined; /** * Reference to a RiskEvidenceSynthesis resource. */ @@ -11494,7 +11494,7 @@ export interface EffectEvidenceSynthesisResultsByExposure extends BackboneElemen /** * Used to define variant exposure states such as low-risk state. */ - variantState?: CodeableConcept; + variantState?: CodeableConcept|undefined; } /** * Code Values for the EffectEvidenceSynthesis.resultsByExposure.exposureState field @@ -11510,19 +11510,19 @@ export interface EffectEvidenceSynthesisEffectEstimatePrecisionEstimate extends /** * Lower bound of confidence interval. */ - from?: number; + from?: number|undefined; /** * Use 95 for a 95% confidence interval. */ - level?: number; + level?: number|undefined; /** * Upper bound of confidence interval. */ - to?: number; + to?: number|undefined; /** * Examples include confidence interval and interquartile range. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * The estimated effect of the exposure variant. @@ -11531,28 +11531,28 @@ export interface EffectEvidenceSynthesisEffectEstimate extends BackboneElement { /** * Human-readable summary of effect estimate. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * A description of the precision of the estimate for the effect. */ - precisionEstimate?: EffectEvidenceSynthesisEffectEstimatePrecisionEstimate[]; + precisionEstimate?: EffectEvidenceSynthesisEffectEstimatePrecisionEstimate[]|undefined; /** * Examples include relative risk and mean difference. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; /** * Specifies the UCUM unit for the outcome. */ - unitOfMeasure?: CodeableConcept; + unitOfMeasure?: CodeableConcept|undefined; /** * The point estimate of the effect estimate. */ - value?: number; + value?: number|undefined; /** * Used to define variant exposure states such as low-risk state. */ - variantState?: CodeableConcept; + variantState?: CodeableConcept|undefined; } /** * A description of a component of the overall certainty. @@ -11561,15 +11561,15 @@ export interface EffectEvidenceSynthesisCertaintyCertaintySubcomponent extends B /** * A human-readable string to clarify or explain concepts about the resource. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * A rating of a subcomponent of rating certainty. */ - rating?: CodeableConcept[]; + rating?: CodeableConcept[]|undefined; /** * Type of subcomponent of certainty rating. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * A description of the certainty of the effect estimate. @@ -11578,15 +11578,15 @@ export interface EffectEvidenceSynthesisCertainty extends BackboneElement { /** * A description of a component of the overall certainty. */ - certaintySubcomponent?: EffectEvidenceSynthesisCertaintyCertaintySubcomponent[]; + certaintySubcomponent?: EffectEvidenceSynthesisCertaintyCertaintySubcomponent[]|undefined; /** * A human-readable string to clarify or explain concepts about the resource. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * A rating of the certainty of the effect estimate. */ - rating?: CodeableConcept[]; + rating?: CodeableConcept[]|undefined; } /** * The EffectEvidenceSynthesis resource describes the difference in an outcome between exposures states in a population where the effect estimate is derived from a combination of research studies. @@ -11597,51 +11597,51 @@ export interface EffectEvidenceSynthesis extends DomainResource { /** * The 'date' element may be more recent than the approval date because of minor changes or editorial corrections. */ - approvalDate?: string; - _approvalDate?: Element; + approvalDate?: string|undefined; + _approvalDate?: Element|undefined; /** * An individiual or organization primarily involved in the creation and maintenance of the content. */ - author?: ContactDetail[]; + author?: ContactDetail[]|undefined; /** * A description of the certainty of the effect estimate. */ - certainty?: EffectEvidenceSynthesisCertainty[]; + certainty?: EffectEvidenceSynthesisCertainty[]|undefined; /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * A copyright statement relating to the effect evidence synthesis and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the effect evidence synthesis. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the effect evidence synthesis. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * This description can be used to capture details such as why the effect evidence synthesis was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the effect evidence synthesis as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the effect evidence synthesis is presumed to be the predominant language in the place the effect evidence synthesis was created). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * An individual or organization primarily responsible for internal coherence of the content. */ - editor?: ContactDetail[]; + editor?: ContactDetail[]|undefined; /** * The estimated effect of the exposure variant. */ - effectEstimate?: EffectEvidenceSynthesisEffectEstimate[]; + effectEstimate?: EffectEvidenceSynthesisEffectEstimate[]|undefined; /** * The effective period for a effect evidence synthesis determines when the content is applicable for usage and is independent of publication and review dates. For example, a measure intended to be used for the year 2016 might be published in 2015. */ - effectivePeriod?: Period; + effectivePeriod?: Period|undefined; /** * An individual or organization responsible for officially endorsing the content for use in some setting. */ - endorser?: ContactDetail[]; + endorser?: ContactDetail[]|undefined; /** * A reference to a EvidenceVariable resource that defines the exposure for the research. */ @@ -11653,25 +11653,25 @@ export interface EffectEvidenceSynthesis extends DomainResource { /** * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this effect evidence synthesis outside of FHIR, where it is not possible to use the logical URI. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * It may be possible for the effect evidence synthesis to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * If specified, this date follows the original approval date. */ - lastReviewDate?: string; - _lastReviewDate?: Element; + lastReviewDate?: string|undefined; + _lastReviewDate?: Element|undefined; /** * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * A human-readable string to clarify or explain concepts about the resource. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * A reference to a EvidenceVariable resomece that defines the outcome for the research. */ @@ -11683,62 +11683,62 @@ export interface EffectEvidenceSynthesis extends DomainResource { /** * Usually an organization but may be an individual. The publisher (or steward) of the effect evidence synthesis is the organization or individual primarily responsible for the maintenance and upkeep of the effect evidence synthesis. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the effect evidence synthesis. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * Each related artifact is either an attachment, or a reference to another resource, but not both. */ - relatedArtifact?: RelatedArtifact[]; + relatedArtifact?: RelatedArtifact[]|undefined; /** * A description of the results for each exposure considered in the effect estimate. */ - resultsByExposure?: EffectEvidenceSynthesisResultsByExposure[]; + resultsByExposure?: EffectEvidenceSynthesisResultsByExposure[]|undefined; /** * An individual or organization primarily responsible for review of some aspect of the content. */ - reviewer?: ContactDetail[]; + reviewer?: ContactDetail[]|undefined; /** * A description of the size of the sample involved in the synthesis. */ - sampleSize?: EffectEvidenceSynthesisSampleSize; + sampleSize?: EffectEvidenceSynthesisSampleSize|undefined; /** * Allows filtering of effect evidence synthesiss that are appropriate for use versus not. */ status: EffectEvidenceSynthesisStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Type of study eg randomized trial. */ - studyType?: CodeableConcept; + studyType?: CodeableConcept|undefined; /** * Type of synthesis eg meta-analysis. */ - synthesisType?: CodeableConcept; + synthesisType?: CodeableConcept|undefined; /** * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Descriptive topics related to the content of the EffectEvidenceSynthesis. Topics provide a high-level categorization grouping types of EffectEvidenceSynthesiss that can be useful for filtering and searching. */ - topic?: CodeableConcept[]; + topic?: CodeableConcept[]|undefined; /** * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different effect evidence synthesis instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the effect evidence synthesis with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the EffectEvidenceSynthesis.status field @@ -11761,7 +11761,7 @@ export interface EncounterStatusHistory extends BackboneElement { * planned | arrived | triaged | in-progress | onleave | finished | cancelled +. */ status: EncounterStatusHistoryStatusCodes; - _status?: Element; + _status?: Element|undefined; } /** * Code Values for the Encounter.statusHistory.status field @@ -11797,15 +11797,15 @@ export interface EncounterParticipant extends BackboneElement { /** * Persons involved in the encounter other than the patient. */ - individual?: Reference; + individual?: Reference|undefined; /** * The period of time that the specified participant participated in the encounter. These can overlap or be sub-sets of the overall encounter's period. */ - period?: Period; + period?: Period|undefined; /** * The participant type indicates how an individual participates in an encounter. It includes non-practitioner participants, and for practitioners this is to describe the action type in the context of this encounter (e.g. Admitting Dr, Attending Dr, Translator, Consulting Dr). This is different to the practitioner roles which are functional roles, derived from terms of employment, education, licensing, etc. */ - type?: CodeableConcept[]; + type?: CodeableConcept[]|undefined; } /** * The list of diagnosis relevant to this encounter. @@ -11818,11 +11818,11 @@ export interface EncounterDiagnosis extends BackboneElement { /** * Ranking of the diagnosis (for each role type). */ - rank?: number; + rank?: number|undefined; /** * Role that this diagnosis has within the encounter (e.g. admission, billing, discharge …). */ - use?: CodeableConcept; + use?: CodeableConcept|undefined; } /** * An Encounter may cover more than just the inpatient stay. Contexts such as outpatients, community clinics, and aged care facilities are also included. @@ -11832,39 +11832,39 @@ export interface EncounterHospitalization extends BackboneElement { /** * From where patient was admitted (physician referral, transfer). */ - admitSource?: CodeableConcept; + admitSource?: CodeableConcept|undefined; /** * Location/organization to which the patient is discharged. */ - destination?: Reference; + destination?: Reference|undefined; /** * For example, a patient may request both a dairy-free and nut-free diet preference (not mutually exclusive). */ - dietPreference?: CodeableConcept[]; + dietPreference?: CodeableConcept[]|undefined; /** * Category or kind of location after discharge. */ - dischargeDisposition?: CodeableConcept; + dischargeDisposition?: CodeableConcept|undefined; /** * The location/organization from which the patient came before admission. */ - origin?: Reference; + origin?: Reference|undefined; /** * Pre-admission identifier. */ - preAdmissionIdentifier?: Identifier; + preAdmissionIdentifier?: Identifier|undefined; /** * Whether this hospitalization is a readmission and why if known. */ - reAdmission?: CodeableConcept; + reAdmission?: CodeableConcept|undefined; /** * Any special requests that have been made for this hospitalization encounter, such as the provision of specific equipment or other things. */ - specialArrangement?: CodeableConcept[]; + specialArrangement?: CodeableConcept[]|undefined; /** * Special courtesies (VIP, board member). */ - specialCourtesy?: CodeableConcept[]; + specialCourtesy?: CodeableConcept[]|undefined; } /** * Virtual encounters can be recorded in the Encounter by specifying a location reference to a location of type "kind" such as "client's home" and an encounter.class = "virtual". @@ -11877,17 +11877,17 @@ export interface EncounterLocation extends BackboneElement { /** * Time period during which the patient was present at the location. */ - period?: Period; + period?: Period|undefined; /** * This information is de-normalized from the Location resource to support the easier understanding of the encounter resource and processing in messaging or query. * There may be many levels in the hierachy, and this may only pic specific levels that are required for a specific usage scenario. */ - physicalType?: CodeableConcept; + physicalType?: CodeableConcept|undefined; /** * When the patient is no longer active at a location, then the period end date is entered, and the status may be changed to completed. */ - status?: EncounterLocationStatusCodes; - _status?: Element; + status?: EncounterLocationStatusCodes|undefined; + _status?: Element|undefined; } /** * Code Values for the Encounter.location.status field @@ -11907,15 +11907,15 @@ export interface Encounter extends DomainResource { /** * The billing system may choose to allocate billable items associated with the Encounter to different referenced Accounts based on internal business rules. */ - account?: Reference[]; + account?: Reference[]|undefined; /** * The appointment that scheduled this encounter. */ - appointment?: Reference[]; + appointment?: Reference[]|undefined; /** * The request this encounter satisfies (e.g. incoming referral or procedure request). */ - basedOn?: Reference[]; + basedOn?: Reference[]|undefined; /** * Concepts representing classification of patient encounter such as ambulatory (outpatient), inpatient, emergency, home health or others due to local variations. */ @@ -11923,82 +11923,82 @@ export interface Encounter extends DomainResource { /** * The class history permits the tracking of the encounters transitions without needing to go through the resource history. This would be used for a case where an admission starts of as an emergency encounter, then transitions into an inpatient scenario. Doing this and not restarting a new encounter ensures that any lab/diagnostic results can more easily follow the patient and not require re-processing and not get lost or cancelled during a kind of discharge from emergency to inpatient. */ - classHistory?: EncounterClassHistory[]; + classHistory?: EncounterClassHistory[]|undefined; /** * The list of diagnosis relevant to this encounter. */ - diagnosis?: EncounterDiagnosis[]; + diagnosis?: EncounterDiagnosis[]|undefined; /** * Where a specific encounter should be classified as a part of a specific episode(s) of care this field should be used. This association can facilitate grouping of related encounters together for a specific purpose, such as government reporting, issue tracking, association via a common problem. The association is recorded on the encounter as these are typically created after the episode of care and grouped on entry rather than editing the episode of care to append another encounter to it (the episode of care could span years). */ - episodeOfCare?: Reference[]; + episodeOfCare?: Reference[]|undefined; /** * An Encounter may cover more than just the inpatient stay. Contexts such as outpatients, community clinics, and aged care facilities are also included. * The duration recorded in the period of this encounter covers the entire scope of this hospitalization record. */ - hospitalization?: EncounterHospitalization; + hospitalization?: EncounterHospitalization|undefined; /** * Identifier(s) by which this encounter is known. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * May differ from the time the Encounter.period lasted because of leave of absence. */ - length?: Duration; + length?: Duration|undefined; /** * Virtual encounters can be recorded in the Encounter by specifying a location reference to a location of type "kind" such as "client's home" and an encounter.class = "virtual". */ - location?: EncounterLocation[]; + location?: EncounterLocation[]|undefined; /** * The list of people responsible for providing the service. */ - participant?: EncounterParticipant[]; + participant?: EncounterParticipant[]|undefined; /** * This is also used for associating a child's encounter back to the mother's encounter. * Refer to the Notes section in the Patient resource for further details. */ - partOf?: Reference; + partOf?: Reference|undefined; /** * If not (yet) known, the end of the Period may be omitted. */ - period?: Period; + period?: Period|undefined; /** * Indicates the urgency of the encounter. */ - priority?: CodeableConcept; + priority?: CodeableConcept|undefined; /** * For systems that need to know which was the primary diagnosis, these will be marked with the standard extension primaryDiagnosis (which is a sequence value rather than a flag, 1 = primary diagnosis). */ - reasonCode?: CodeableConcept[]; + reasonCode?: CodeableConcept[]|undefined; /** * For systems that need to know which was the primary diagnosis, these will be marked with the standard extension primaryDiagnosis (which is a sequence value rather than a flag, 1 = primary diagnosis). */ - reasonReference?: Reference[]; + reasonReference?: Reference[]|undefined; /** * The organization that is primarily responsible for this Encounter's services. This MAY be the same as the organization on the Patient record, however it could be different, such as if the actor performing the services was from an external organization (which may be billed seperately) for an external consultation. Refer to the example bundle showing an abbreviated set of Encounters for a colonoscopy. */ - serviceProvider?: Reference; + serviceProvider?: Reference|undefined; /** * Broad categorization of the service that is to be provided (e.g. cardiology). */ - serviceType?: CodeableConcept; + serviceType?: CodeableConcept|undefined; /** * Note that internal business rules will determine the appropriate transitions that may occur between statuses (and also classes). */ status: EncounterStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * The current status is always found in the current version of the resource, not the status history. */ - statusHistory?: EncounterStatusHistory[]; + statusHistory?: EncounterStatusHistory[]|undefined; /** * While the encounter is always about the patient, the patient might not actually be known in all contexts of use, and there may be a group of patients that could be anonymous (such as in a group therapy for Alcoholics Anonymous - where the recording of the encounter could be used for billing on the number of people/staff and not important to the context of the specific patients) or alternately in veterinary care a herd of sheep receiving treatment (where the animals are not individually tracked). */ - subject?: Reference; + subject?: Reference|undefined; /** * Since there are many ways to further classify encounters, this element is 0..*. */ - type?: CodeableConcept[]; + type?: CodeableConcept[]|undefined; } /** * Code Values for the Encounter.status field @@ -12027,7 +12027,7 @@ export interface Endpoint extends DomainResource { * and not "https://pacs.hospital.org/wado-rs/studies/1.2.250.1.59.40211.12345678.678910/series/1.2.250.1.59.40211.789001276.14556172.67789/instances/...". */ address: string; - _address?: Element; + _address?: Element|undefined; /** * For additional connectivity details for the protocol, extensions will be used at this point, as in the XDS example. */ @@ -12035,30 +12035,30 @@ export interface Endpoint extends DomainResource { /** * Contact details for a human to contact about the subscription. The primary use of this for system administrator troubleshooting. */ - contact?: ContactPoint[]; + contact?: ContactPoint[]|undefined; /** * Exactly what these mean depends on the channel type. The can convey additional information to the recipient and/or meet security requirements. */ - header?: string[]; - _header?: Element[]; + header?: string[]|undefined; + _header?: Element[]|undefined; /** * Identifier for the organization that is used to identify the endpoint across multiple disparate systems. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * This property is not typically used when searching for Endpoint resources for usage. The typical usage is via the reference from an applicable Organization/Location/Practitioner resource, which is where the context is provided. Multiple Locations may reference a single endpoint, and don't have to be within the same organization resource, but most likely within the same organizational hierarchy. */ - managingOrganization?: Reference; + managingOrganization?: Reference|undefined; /** * A friendly name that this endpoint can be referred to with. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Sending the payload has obvious security consequences. The server is responsible for ensuring that the content is appropriately secured. */ - payloadMimeType?: string[]; - _payloadMimeType?: Element[]; + payloadMimeType?: string[]|undefined; + _payloadMimeType?: Element[]|undefined; /** * The payloadFormat describes the serialization format of the data, where the payloadType indicates the specific document/schema that is being transferred; e.g. DischargeSummary or CarePlan. */ @@ -12066,12 +12066,12 @@ export interface Endpoint extends DomainResource { /** * The interval during which the endpoint is expected to be operational. */ - period?: Period; + period?: Period|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the endpoint as not currently valid. */ status: EndpointStatusCodes; - _status?: Element; + _status?: Element|undefined; } /** * Code Values for the Endpoint.status field @@ -12093,33 +12093,33 @@ export interface EnrollmentRequest extends DomainResource { /** * Patient Resource. */ - candidate?: Reference; + candidate?: Reference|undefined; /** * Reference to the program or plan identification, underwriter or payor. */ - coverage?: Reference; + coverage?: Reference|undefined; /** * The date when this resource was created. */ - created?: string; - _created?: Element; + created?: string|undefined; + _created?: Element|undefined; /** * The Response business identifier. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The Insurer who is target of the request. */ - insurer?: Reference; + insurer?: Reference|undefined; /** * The practitioner who is responsible for the services rendered to the patient. */ - provider?: Reference; + provider?: Reference|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the request as not currently valid. */ - status?: EnrollmentRequestStatusCodes; - _status?: Element; + status?: EnrollmentRequestStatusCodes|undefined; + _status?: Element|undefined; } /** * Code Values for the EnrollmentRequest.status field @@ -12139,39 +12139,39 @@ export interface EnrollmentResponse extends DomainResource { /** * The date when the enclosed suite of services were performed or completed. */ - created?: string; - _created?: Element; + created?: string|undefined; + _created?: Element|undefined; /** * A description of the status of the adjudication. */ - disposition?: string; - _disposition?: Element; + disposition?: string|undefined; + _disposition?: Element|undefined; /** * The Response business identifier. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The Insurer who produced this adjudicated response. */ - organization?: Reference; + organization?: Reference|undefined; /** * Processing status: error, complete. */ - outcome?: EnrollmentResponseOutcomeCodes; - _outcome?: Element; + outcome?: EnrollmentResponseOutcomeCodes|undefined; + _outcome?: Element|undefined; /** * Original request resource reference. */ - request?: Reference; + request?: Reference|undefined; /** * The practitioner who is responsible for the services rendered to the patient. */ - requestProvider?: Reference; + requestProvider?: Reference|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the response as not currently valid. */ - status?: EnrollmentResponseStatusCodes; - _status?: Element; + status?: EnrollmentResponseStatusCodes|undefined; + _status?: Element|undefined; } /** * Code Values for the EnrollmentResponse.outcome field @@ -12203,7 +12203,7 @@ export interface EpisodeOfCareStatusHistory extends BackboneElement { * planned | waitlist | active | onhold | finished | cancelled. */ status: EpisodeOfCareStatusHistoryStatusCodes; - _status?: Element; + _status?: Element|undefined; } /** * Code Values for the EpisodeOfCare.statusHistory.status field @@ -12228,11 +12228,11 @@ export interface EpisodeOfCareDiagnosis extends BackboneElement { /** * Ranking of the diagnosis (for each role type). */ - rank?: number; + rank?: number|undefined; /** * Role that this diagnosis has within the episode of care (e.g. admission, billing, discharge …). */ - role?: CodeableConcept; + role?: CodeableConcept|undefined; } /** * An association between a patient and an organization / healthcare provider(s) during which time encounters may occur. The managing organization assumes a level of responsibility for the patient during this time. @@ -12243,23 +12243,23 @@ export interface EpisodeOfCare extends DomainResource { /** * The billing system may choose to allocate billable items associated with the EpisodeOfCare to different referenced Accounts based on internal business rules. */ - account?: Reference[]; + account?: Reference[]|undefined; /** * The practitioner that is the care manager/care coordinator for this patient. */ - careManager?: Reference; + careManager?: Reference|undefined; /** * The list of diagnosis relevant to this episode of care. */ - diagnosis?: EpisodeOfCareDiagnosis[]; + diagnosis?: EpisodeOfCareDiagnosis[]|undefined; /** * The EpisodeOfCare may be known by different identifiers for different contexts of use, such as when an external agency is tracking the Episode for funding purposes. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The organization that has assumed the specific responsibilities for the specified duration. */ - managingOrganization?: Reference; + managingOrganization?: Reference|undefined; /** * The patient who is the focus of this episode of care. */ @@ -12267,28 +12267,28 @@ export interface EpisodeOfCare extends DomainResource { /** * The interval during which the managing organization assumes the defined responsibility. */ - period?: Period; + period?: Period|undefined; /** * Referral Request(s) that are fulfilled by this EpisodeOfCare, incoming referrals. */ - referralRequest?: Reference[]; + referralRequest?: Reference[]|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the episode as not currently valid. */ status: EpisodeOfCareStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * The history of statuses that the EpisodeOfCare has been through (without requiring processing the history of the resource). */ - statusHistory?: EpisodeOfCareStatusHistory[]; + statusHistory?: EpisodeOfCareStatusHistory[]|undefined; /** * The list of practitioners that may be facilitating this episode of care for specific purposes. */ - team?: Reference[]; + team?: Reference[]|undefined; /** * The type can be very important in processing as this could be used in determining if the EpisodeOfCare is relevant to specific government reporting, or other types of classifications. */ - type?: CodeableConcept[]; + type?: CodeableConcept[]|undefined; } /** * Code Values for the EpisodeOfCare.status field @@ -12311,111 +12311,111 @@ export interface EventDefinition extends DomainResource { /** * The 'date' element may be more recent than the approval date because of minor changes or editorial corrections. */ - approvalDate?: string; - _approvalDate?: Element; + approvalDate?: string|undefined; + _approvalDate?: Element|undefined; /** * An individiual or organization primarily involved in the creation and maintenance of the content. */ - author?: ContactDetail[]; + author?: ContactDetail[]|undefined; /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * A copyright statement relating to the event definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the event definition. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the event definition. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * This description can be used to capture details such as why the event definition was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the event definition as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the event definition is presumed to be the predominant language in the place the event definition was created). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * An individual or organization primarily responsible for internal coherence of the content. */ - editor?: ContactDetail[]; + editor?: ContactDetail[]|undefined; /** * The effective period for a event definition determines when the content is applicable for usage and is independent of publication and review dates. For example, a measure intended to be used for the year 2016 might be published in 2015. */ - effectivePeriod?: Period; + effectivePeriod?: Period|undefined; /** * An individual or organization responsible for officially endorsing the content for use in some setting. */ - endorser?: ContactDetail[]; + endorser?: ContactDetail[]|undefined; /** * Allows filtering of event definitions that are appropriate for use versus not. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this event definition outside of FHIR, where it is not possible to use the logical URI. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * It may be possible for the event definition to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * If specified, this date follows the original approval date. */ - lastReviewDate?: string; - _lastReviewDate?: Element; + lastReviewDate?: string|undefined; + _lastReviewDate?: Element|undefined; /** * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Usually an organization but may be an individual. The publisher (or steward) of the event definition is the organization or individual primarily responsible for the maintenance and upkeep of the event definition. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the event definition. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * This element does not describe the usage of the event definition. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this event definition. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * Each related resource is either an attachment, or a reference to another resource, but not both. */ - relatedArtifact?: RelatedArtifact[]; + relatedArtifact?: RelatedArtifact[]|undefined; /** * An individual or organization primarily responsible for review of some aspect of the content. */ - reviewer?: ContactDetail[]; + reviewer?: ContactDetail[]|undefined; /** * Allows filtering of event definitions that are appropriate for use versus not. */ status: EventDefinitionStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * A code or group definition that describes the intended subject of the event definition. */ - subjectCodeableConcept?: CodeableConcept; + subjectCodeableConcept?: CodeableConcept|undefined; /** * A code or group definition that describes the intended subject of the event definition. */ - subjectReference?: Reference; + subjectReference?: Reference|undefined; /** * An explanatory or alternate title for the event definition giving additional information about its content. */ - subtitle?: string; - _subtitle?: Element; + subtitle?: string|undefined; + _subtitle?: Element|undefined; /** * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Descriptive topics related to the module. Topics provide a high-level categorization of the module that can be useful for filtering and searching. */ - topic?: CodeableConcept[]; + topic?: CodeableConcept[]|undefined; /** * The trigger element defines when the event occurs. If more than one trigger condition is specified, the event fires whenever any one of the trigger conditions is met. */ @@ -12425,22 +12425,22 @@ export interface EventDefinition extends DomainResource { * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * A detailed description of how the event definition is used from a clinical perspective. */ - usage?: string; - _usage?: Element; + usage?: string|undefined; + _usage?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different event definition instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the event definition with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the EventDefinition.status field @@ -12460,43 +12460,43 @@ export interface Evidence extends DomainResource { /** * The 'date' element may be more recent than the approval date because of minor changes or editorial corrections. */ - approvalDate?: string; - _approvalDate?: Element; + approvalDate?: string|undefined; + _approvalDate?: Element|undefined; /** * An individiual or organization primarily involved in the creation and maintenance of the content. */ - author?: ContactDetail[]; + author?: ContactDetail[]|undefined; /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * A copyright statement relating to the evidence and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the evidence. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the evidence. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * This description can be used to capture details such as why the evidence was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the evidence as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the evidence is presumed to be the predominant language in the place the evidence was created). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * An individual or organization primarily responsible for internal coherence of the content. */ - editor?: ContactDetail[]; + editor?: ContactDetail[]|undefined; /** * The effective period for a evidence determines when the content is applicable for usage and is independent of publication and review dates. For example, a measure intended to be used for the year 2016 might be published in 2015. */ - effectivePeriod?: Period; + effectivePeriod?: Period|undefined; /** * An individual or organization responsible for officially endorsing the content for use in some setting. */ - endorser?: ContactDetail[]; + endorser?: ContactDetail[]|undefined; /** * A reference to a EvidenceVariable resource that defines the population for the research. */ @@ -12504,86 +12504,86 @@ export interface Evidence extends DomainResource { /** * A reference to a EvidenceVariable resource that defines the exposure for the research. */ - exposureVariant?: Reference[]; + exposureVariant?: Reference[]|undefined; /** * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this evidence outside of FHIR, where it is not possible to use the logical URI. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * It may be possible for the evidence to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * If specified, this date follows the original approval date. */ - lastReviewDate?: string; - _lastReviewDate?: Element; + lastReviewDate?: string|undefined; + _lastReviewDate?: Element|undefined; /** * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * A human-readable string to clarify or explain concepts about the resource. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * A reference to a EvidenceVariable resomece that defines the outcome for the research. */ - outcome?: Reference[]; + outcome?: Reference[]|undefined; /** * Usually an organization but may be an individual. The publisher (or steward) of the evidence is the organization or individual primarily responsible for the maintenance and upkeep of the evidence. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the evidence. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * Each related artifact is either an attachment, or a reference to another resource, but not both. */ - relatedArtifact?: RelatedArtifact[]; + relatedArtifact?: RelatedArtifact[]|undefined; /** * An individual or organization primarily responsible for review of some aspect of the content. */ - reviewer?: ContactDetail[]; + reviewer?: ContactDetail[]|undefined; /** * The short title provides an alternate title for use in informal descriptive contexts where the full, formal title is not necessary. */ - shortTitle?: string; - _shortTitle?: Element; + shortTitle?: string|undefined; + _shortTitle?: Element|undefined; /** * Allows filtering of evidences that are appropriate for use versus not. */ status: EvidenceStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * An explanatory or alternate title for the Evidence giving additional information about its content. */ - subtitle?: string; - _subtitle?: Element; + subtitle?: string|undefined; + _subtitle?: Element|undefined; /** * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Descriptive topics related to the content of the Evidence. Topics provide a high-level categorization grouping types of Evidences that can be useful for filtering and searching. */ - topic?: CodeableConcept[]; + topic?: CodeableConcept[]|undefined; /** * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different evidence instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the evidence with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the Evidence.status field @@ -12601,68 +12601,68 @@ export interface EvidenceVariableCharacteristic extends BackboneElement { /** * Define members of the evidence element using Codes (such as condition, medication, or observation), Expressions ( using an expression language such as FHIRPath or CQL) or DataRequirements (such as Diabetes diagnosis onset in the last year). */ - definitionReference?: Reference; + definitionReference?: Reference|undefined; /** * Define members of the evidence element using Codes (such as condition, medication, or observation), Expressions ( using an expression language such as FHIRPath or CQL) or DataRequirements (such as Diabetes diagnosis onset in the last year). */ - definitionCanonical?: string; - _definitionCanonical?: Element; + definitionCanonical?: string|undefined; + _definitionCanonical?: Element|undefined; /** * Define members of the evidence element using Codes (such as condition, medication, or observation), Expressions ( using an expression language such as FHIRPath or CQL) or DataRequirements (such as Diabetes diagnosis onset in the last year). */ - definitionCodeableConcept?: CodeableConcept; + definitionCodeableConcept?: CodeableConcept|undefined; /** * Define members of the evidence element using Codes (such as condition, medication, or observation), Expressions ( using an expression language such as FHIRPath or CQL) or DataRequirements (such as Diabetes diagnosis onset in the last year). */ - definitionExpression?: Expression; + definitionExpression?: Expression|undefined; /** * Define members of the evidence element using Codes (such as condition, medication, or observation), Expressions ( using an expression language such as FHIRPath or CQL) or DataRequirements (such as Diabetes diagnosis onset in the last year). */ - definitionDataRequirement?: DataRequirement; + definitionDataRequirement?: DataRequirement|undefined; /** * Define members of the evidence element using Codes (such as condition, medication, or observation), Expressions ( using an expression language such as FHIRPath or CQL) or DataRequirements (such as Diabetes diagnosis onset in the last year). */ - definitionTriggerDefinition?: TriggerDefinition; + definitionTriggerDefinition?: TriggerDefinition|undefined; /** * A short, natural language description of the characteristic that could be used to communicate the criteria to an end-user. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * When true, members with this characteristic are excluded from the element. */ - exclude?: boolean; - _exclude?: Element; + exclude?: boolean|undefined; + _exclude?: Element|undefined; /** * Indicates how elements are aggregated within the study effective period. */ - groupMeasure?: EvidenceVariableCharacteristicGroupMeasureCodes; - _groupMeasure?: Element; + groupMeasure?: EvidenceVariableCharacteristicGroupMeasureCodes|undefined; + _groupMeasure?: Element|undefined; /** * Indicates what effective period the study covers. */ - participantEffectiveDateTime?: string; - _participantEffectiveDateTime?: Element; + participantEffectiveDateTime?: string|undefined; + _participantEffectiveDateTime?: Element|undefined; /** * Indicates what effective period the study covers. */ - participantEffectivePeriod?: Period; + participantEffectivePeriod?: Period|undefined; /** * Indicates what effective period the study covers. */ - participantEffectiveDuration?: Duration; + participantEffectiveDuration?: Duration|undefined; /** * Indicates what effective period the study covers. */ - participantEffectiveTiming?: Timing; + participantEffectiveTiming?: Timing|undefined; /** * Indicates duration from the participant's study entry. */ - timeFromStart?: Duration; + timeFromStart?: Duration|undefined; /** * Use UsageContext to define the members of the population, such as Age Ranges, Genders, Settings. */ - usageContext?: UsageContext[]; + usageContext?: UsageContext[]|undefined; } /** * Code Values for the EvidenceVariable.characteristic.groupMeasure field @@ -12684,12 +12684,12 @@ export interface EvidenceVariable extends DomainResource { /** * The 'date' element may be more recent than the approval date because of minor changes or editorial corrections. */ - approvalDate?: string; - _approvalDate?: Element; + approvalDate?: string|undefined; + _approvalDate?: Element|undefined; /** * An individiual or organization primarily involved in the creation and maintenance of the content. */ - author?: ContactDetail[]; + author?: ContactDetail[]|undefined; /** * Characteristics can be defined flexibly to accommodate different use cases for membership criteria, ranging from simple codes, all the way to using an expression language to express the criteria. */ @@ -12697,114 +12697,114 @@ export interface EvidenceVariable extends DomainResource { /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * A copyright statement relating to the evidence variable and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the evidence variable. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the evidence variable. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * This description can be used to capture details such as why the evidence variable was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the evidence variable as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the evidence variable is presumed to be the predominant language in the place the evidence variable was created). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * An individual or organization primarily responsible for internal coherence of the content. */ - editor?: ContactDetail[]; + editor?: ContactDetail[]|undefined; /** * The effective period for a evidence variable determines when the content is applicable for usage and is independent of publication and review dates. For example, a measure intended to be used for the year 2016 might be published in 2015. */ - effectivePeriod?: Period; + effectivePeriod?: Period|undefined; /** * An individual or organization responsible for officially endorsing the content for use in some setting. */ - endorser?: ContactDetail[]; + endorser?: ContactDetail[]|undefined; /** * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this evidence variable outside of FHIR, where it is not possible to use the logical URI. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * It may be possible for the evidence variable to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * If specified, this date follows the original approval date. */ - lastReviewDate?: string; - _lastReviewDate?: Element; + lastReviewDate?: string|undefined; + _lastReviewDate?: Element|undefined; /** * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * A human-readable string to clarify or explain concepts about the resource. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * Usually an organization but may be an individual. The publisher (or steward) of the evidence variable is the organization or individual primarily responsible for the maintenance and upkeep of the evidence variable. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the evidence variable. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * Each related artifact is either an attachment, or a reference to another resource, but not both. */ - relatedArtifact?: RelatedArtifact[]; + relatedArtifact?: RelatedArtifact[]|undefined; /** * An individual or organization primarily responsible for review of some aspect of the content. */ - reviewer?: ContactDetail[]; + reviewer?: ContactDetail[]|undefined; /** * The short title provides an alternate title for use in informal descriptive contexts where the full, formal title is not necessary. */ - shortTitle?: string; - _shortTitle?: Element; + shortTitle?: string|undefined; + _shortTitle?: Element|undefined; /** * Allows filtering of evidence variables that are appropriate for use versus not. */ status: EvidenceVariableStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * An explanatory or alternate title for the EvidenceVariable giving additional information about its content. */ - subtitle?: string; - _subtitle?: Element; + subtitle?: string|undefined; + _subtitle?: Element|undefined; /** * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Descriptive topics related to the content of the EvidenceVariable. Topics provide a high-level categorization grouping types of EvidenceVariables that can be useful for filtering and searching. */ - topic?: CodeableConcept[]; + topic?: CodeableConcept[]|undefined; /** * The type of evidence element, a population, an exposure, or an outcome. */ - type?: EvidenceVariableTypeCodes; - _type?: Element; + type?: EvidenceVariableTypeCodes|undefined; + _type?: Element|undefined; /** * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different evidence variable instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the evidence variable with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the EvidenceVariable.status field @@ -12831,22 +12831,22 @@ export interface ExampleScenarioActor extends BackboneElement { * should this be called ID or acronym? */ actorId: string; - _actorId?: Element; + _actorId?: Element|undefined; /** * Cardinality: is name and description 1..1? */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Cardinality: is name and description 1..1? */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * The type of actor - person or system. */ type: ExampleScenarioActorTypeCodes; - _type?: Element; + _type?: Element|undefined; } /** * Code Values for the ExampleScenario.actor.type field @@ -12863,12 +12863,12 @@ export interface ExampleScenarioInstanceVersion extends BackboneElement { * The description of the resource version. */ description: string; - _description?: Element; + _description?: Element|undefined; /** * The identifier of a specific version of a resource. */ versionId: string; - _versionId?: Element; + _versionId?: Element|undefined; } /** * Resources contained in the instance (e.g. the observations contained in a bundle). @@ -12878,12 +12878,12 @@ export interface ExampleScenarioInstanceContainedInstance extends BackboneElemen * Each resource contained in the instance. */ resourceId: string; - _resourceId?: Element; + _resourceId?: Element|undefined; /** * A specific version of a resource contained in the instance. */ - versionId?: string; - _versionId?: Element; + versionId?: string|undefined; + _versionId?: Element|undefined; } /** * Each resource and each version that is present in the workflow. @@ -12892,31 +12892,31 @@ export interface ExampleScenarioInstance extends BackboneElement { /** * Resources contained in the instance (e.g. the observations contained in a bundle). */ - containedInstance?: ExampleScenarioInstanceContainedInstance[]; + containedInstance?: ExampleScenarioInstanceContainedInstance[]|undefined; /** * Human-friendly description of the resource instance. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * A short name for the resource instance. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * The id of the resource for referencing. */ resourceId: string; - _resourceId?: Element; + _resourceId?: Element|undefined; /** * The type of the resource. */ resourceType: string; - _resourceType?: Element; + _resourceType?: Element|undefined; /** * A specific version of the resource. */ - version?: ExampleScenarioInstanceVersion[]; + version?: ExampleScenarioInstanceVersion[]|undefined; } /** * Each interaction or action. @@ -12925,51 +12925,51 @@ export interface ExampleScenarioProcessStepOperation extends BackboneElement { /** * A comment to be inserted in the diagram. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Who starts the transaction. */ - initiator?: string; - _initiator?: Element; + initiator?: string|undefined; + _initiator?: Element|undefined; /** * Whether the initiator is deactivated right after the transaction. */ - initiatorActive?: boolean; - _initiatorActive?: Element; + initiatorActive?: boolean|undefined; + _initiatorActive?: Element|undefined; /** * The human-friendly name of the interaction. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * The sequential number of the interaction, e.g. 1.2.5. */ number: string; - _number?: Element; + _number?: Element|undefined; /** * Who receives the transaction. */ - receiver?: string; - _receiver?: Element; + receiver?: string|undefined; + _receiver?: Element|undefined; /** * Whether the receiver is deactivated right after the transaction. */ - receiverActive?: boolean; - _receiverActive?: Element; + receiverActive?: boolean|undefined; + _receiverActive?: Element|undefined; /** * Each resource instance used by the initiator. */ - request?: ExampleScenarioInstanceContainedInstance; + request?: ExampleScenarioInstanceContainedInstance|undefined; /** * Each resource instance used by the responder. */ - response?: ExampleScenarioInstanceContainedInstance; + response?: ExampleScenarioInstanceContainedInstance|undefined; /** * The type of operation - CRUD. */ - type?: string; - _type?: Element; + type?: string|undefined; + _type?: Element|undefined; } /** * Indicates an alternative step that can be taken instead of the operations on the base step in exceptional/atypical circumstances. @@ -12978,17 +12978,17 @@ export interface ExampleScenarioProcessStepAlternative extends BackboneElement { /** * A human-readable description of the alternative explaining when the alternative should occur rather than the base step. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * What happens in each alternative option. */ - step?: ExampleScenarioProcessStep[]; + step?: ExampleScenarioProcessStep[]|undefined; /** * The label to display for the alternative that gives a sense of the circumstance in which the alternative should be invoked. */ title: string; - _title?: Element; + _title?: Element|undefined; } /** * Each step of the process. @@ -12997,20 +12997,20 @@ export interface ExampleScenarioProcessStep extends BackboneElement { /** * Indicates an alternative step that can be taken instead of the operations on the base step in exceptional/atypical circumstances. */ - alternative?: ExampleScenarioProcessStepAlternative[]; + alternative?: ExampleScenarioProcessStepAlternative[]|undefined; /** * Each interaction or action. */ - operation?: ExampleScenarioProcessStepOperation; + operation?: ExampleScenarioProcessStepOperation|undefined; /** * If there is a pause in the flow. */ - pause?: boolean; - _pause?: Element; + pause?: boolean|undefined; + _pause?: Element|undefined; /** * Nested process. */ - process?: ExampleScenarioProcess[]; + process?: ExampleScenarioProcess[]|undefined; } /** * Each major process - a group of operations. @@ -13019,27 +13019,27 @@ export interface ExampleScenarioProcess extends BackboneElement { /** * A longer description of the group of operations. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Description of final status after the process ends. */ - postConditions?: string; - _postConditions?: Element; + postConditions?: string|undefined; + _postConditions?: Element|undefined; /** * Description of initial status before the process starts. */ - preConditions?: string; - _preConditions?: Element; + preConditions?: string|undefined; + _preConditions?: Element|undefined; /** * Each step of the process. */ - step?: ExampleScenarioProcessStep[]; + step?: ExampleScenarioProcessStep[]|undefined; /** * The diagram title of the group of operations. */ title: string; - _title?: Element; + _title?: Element|undefined; } /** * Example of workflow instance. @@ -13050,83 +13050,83 @@ export interface ExampleScenario extends DomainResource { /** * Actor participating in the resource. */ - actor?: ExampleScenarioActor[]; + actor?: ExampleScenarioActor[]|undefined; /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * nullFrequently, the copyright differs between the value set and the codes that are included. The copyright statement should clearly differentiate between these when required. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the example scenario. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * Allows filtering of example scenarios that are appropriate for use versus not. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this example scenario outside of FHIR, where it is not possible to use the logical URI. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Each resource and each version that is present in the workflow. */ - instance?: ExampleScenarioInstance[]; + instance?: ExampleScenarioInstance[]|undefined; /** * It may be possible for the example scenario to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Each major process - a group of operations. */ - process?: ExampleScenarioProcess[]; + process?: ExampleScenarioProcess[]|undefined; /** * Usually an organization but may be an individual. The publisher (or steward) of the example scenario is the organization or individual primarily responsible for the maintenance and upkeep of the example scenario. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the example scenario. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * This element does not describe the usage of the example scenario. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this example scenario. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * Allows filtering of example scenarios that are appropriate for use versus not. */ status: ExampleScenarioStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different example scenario instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the example scenario with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; /** * Another nested workflow. */ - workflow?: string[]; - _workflow?: Element[]; + workflow?: string[]|undefined; + _workflow?: Element[]|undefined; } /** * Code Values for the ExampleScenario.status field @@ -13144,15 +13144,15 @@ export interface ExplanationOfBenefitRelated extends BackboneElement { /** * Reference to a related claim. */ - claim?: Reference; + claim?: Reference|undefined; /** * For example, Property/Casualty insurer claim number or Workers Compensation case number. */ - reference?: Identifier; + reference?: Identifier|undefined; /** * For example, prior claim or umbrella. */ - relationship?: CodeableConcept; + relationship?: CodeableConcept|undefined; } /** * Often providers agree to receive the benefits payable to reduce the near-term costs to the patient. The insurer may decline to pay the provider and may choose to pay the subscriber instead. @@ -13161,11 +13161,11 @@ export interface ExplanationOfBenefitPayee extends BackboneElement { /** * Not required if the payee is 'subscriber' or 'provider'. */ - party?: Reference; + party?: Reference|undefined; /** * Type of Party to be reimbursed: Subscriber, provider, other. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * The members of the team who provided the products and services. @@ -13178,16 +13178,16 @@ export interface ExplanationOfBenefitCareTeam extends BackboneElement { /** * The qualification of the practitioner which is applicable for this service. */ - qualification?: CodeableConcept; + qualification?: CodeableConcept|undefined; /** * Responsible might not be required when there is only a single provider listed. */ - responsible?: boolean; - _responsible?: Element; + responsible?: boolean|undefined; + _responsible?: Element|undefined; /** * Role might not be required when there is only a single provider listed. */ - role?: CodeableConcept; + role?: CodeableConcept|undefined; /** * A number to uniquely identify care team entries. */ @@ -13204,11 +13204,11 @@ export interface ExplanationOfBenefitSupportingInfo extends BackboneElement { /** * This may contain the local bill type codes such as the US UB-04 bill type code. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * For example: the reason for the additional stay, or why a tooth is missing. */ - reason?: Coding; + reason?: Coding|undefined; /** * A number to uniquely identify supporting information entries. */ @@ -13216,34 +13216,34 @@ export interface ExplanationOfBenefitSupportingInfo extends BackboneElement { /** * The date when or period to which this information refers. */ - timingDate?: string; - _timingDate?: Element; + timingDate?: string|undefined; + _timingDate?: Element|undefined; /** * The date when or period to which this information refers. */ - timingPeriod?: Period; + timingPeriod?: Period|undefined; /** * Could be used to provide references to other resources, document. For example, could contain a PDF in an Attachment of the Police Report for an Accident. */ - valueBoolean?: boolean; - _valueBoolean?: Element; + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; /** * Could be used to provide references to other resources, document. For example, could contain a PDF in an Attachment of the Police Report for an Accident. */ - valueString?: string; - _valueString?: Element; + valueString?: string|undefined; + _valueString?: Element|undefined; /** * Could be used to provide references to other resources, document. For example, could contain a PDF in an Attachment of the Police Report for an Accident. */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; /** * Could be used to provide references to other resources, document. For example, could contain a PDF in an Attachment of the Police Report for an Accident. */ - valueAttachment?: Attachment; + valueAttachment?: Attachment|undefined; /** * Could be used to provide references to other resources, document. For example, could contain a PDF in an Attachment of the Police Report for an Accident. */ - valueReference?: Reference; + valueReference?: Reference|undefined; } /** * Information about diagnoses relevant to the claim items. @@ -13252,19 +13252,19 @@ export interface ExplanationOfBenefitDiagnosis extends BackboneElement { /** * The nature of illness or problem in a coded form or as a reference to an external defined Condition. */ - diagnosisCodeableConcept?: CodeableConcept; + diagnosisCodeableConcept?: CodeableConcept|undefined; /** * The nature of illness or problem in a coded form or as a reference to an external defined Condition. */ - diagnosisReference?: Reference; + diagnosisReference?: Reference|undefined; /** * Indication of whether the diagnosis was present on admission to a facility. */ - onAdmission?: CodeableConcept; + onAdmission?: CodeableConcept|undefined; /** * For example, DRG (Diagnosis Related Group) or a bundled billing code. A patient may have a diagnosis of a Myocardio-infarction and a DRG for HeartAttack would assigned. The Claim item (and possible subsequent claims) would refer to the DRG for those line items that were for services related to the heart attack event. */ - packageCode?: CodeableConcept; + packageCode?: CodeableConcept|undefined; /** * Diagnosis are presented in list order to their expected importance: primary, secondary, etc. */ @@ -13272,7 +13272,7 @@ export interface ExplanationOfBenefitDiagnosis extends BackboneElement { /** * For example: admitting, primary, secondary, discharge. */ - type?: CodeableConcept[]; + type?: CodeableConcept[]|undefined; } /** * Procedures performed on the patient relevant to the billing items with the claim. @@ -13281,16 +13281,16 @@ export interface ExplanationOfBenefitProcedure extends BackboneElement { /** * Date and optionally time the procedure was performed. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * The code or reference to a Procedure resource which identifies the clinical intervention performed. */ - procedureCodeableConcept?: CodeableConcept; + procedureCodeableConcept?: CodeableConcept|undefined; /** * The code or reference to a Procedure resource which identifies the clinical intervention performed. */ - procedureReference?: Reference; + procedureReference?: Reference|undefined; /** * A number to uniquely identify procedure entries. */ @@ -13298,11 +13298,11 @@ export interface ExplanationOfBenefitProcedure extends BackboneElement { /** * When the condition was observed or the relative ranking. */ - type?: CodeableConcept[]; + type?: CodeableConcept[]|undefined; /** * Unique Device Identifiers associated with this line item. */ - udi?: Reference[]; + udi?: Reference[]|undefined; } /** * All insurance coverages for the patient which may be applicable for reimbursement, of the products and services listed in the claim, are typically provided in the claim to allow insurers to confirm the ordering of the insurance coverages relative to local 'coordination of benefit' rules. One coverage (and only one) with 'focal=true' is to be used in the adjudication of this claim. Coverages appearing before the focal Coverage in the list, and where 'Coverage.subrogation=false', should provide a reference to the ClaimResponse containing the adjudication results of the prior claim. @@ -13316,12 +13316,12 @@ export interface ExplanationOfBenefitInsurance extends BackboneElement { * A patient may (will) have multiple insurance policies which provide reimbursement for healthcare services and products. For example, a person may also be covered by their spouse's policy and both appear in the list (and may be from the same insurer). This flag will be set to true for only one of the listed policies and that policy will be used for adjudicating this claim. Other claims would be created to request adjudication against the other listed policies. */ focal: boolean; - _focal?: Element; + _focal?: Element|undefined; /** * This value is an alphanumeric string that may be provided over the phone, via text, via paper, or within a ClaimResponse resource and is not a FHIR Identifier. */ - preAuthRef?: string[]; - _preAuthRef?: Element[]; + preAuthRef?: string[]|undefined; + _preAuthRef?: Element[]|undefined; } /** * Details of a accident which resulted in injuries which required the products and services listed in the claim. @@ -13330,20 +13330,20 @@ export interface ExplanationOfBenefitAccident extends BackboneElement { /** * The date of the accident has to precede the dates of the products and services but within a reasonable timeframe. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * The physical location of the accident event. */ - locationAddress?: Address; + locationAddress?: Address|undefined; /** * The physical location of the accident event. */ - locationReference?: Reference; + locationReference?: Reference|undefined; /** * The type or context of the accident event for the purposes of selection of potential insurance coverages and determination of coordination between insurers. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * If this item is a group then the values here are a summary of the adjudication of the detail items. If this item is a simple product or service then this is the result of the adjudication of this item. @@ -13352,7 +13352,7 @@ export interface ExplanationOfBenefitItemAdjudication extends BackboneElement { /** * For example, amount submitted, eligible amount, co-payment, and benefit payable. */ - amount?: Money; + amount?: Money|undefined; /** * For example, codes indicating: Co-Pay, deductible, eligible, benefit, tax, etc. */ @@ -13360,11 +13360,11 @@ export interface ExplanationOfBenefitItemAdjudication extends BackboneElement { /** * For example, may indicate that the funds for this benefit type have been exhausted. */ - reason?: CodeableConcept; + reason?: CodeableConcept|undefined; /** * For example: eligible percentage or co-payment percentage. */ - value?: number; + value?: number|undefined; } /** * Third-tier of goods and services. @@ -13373,27 +13373,27 @@ export interface ExplanationOfBenefitItemDetailSubDetail extends BackboneElement /** * The adjudication results. */ - adjudication?: ExplanationOfBenefitItemAdjudication[]; + adjudication?: ExplanationOfBenefitItemAdjudication[]|undefined; /** * Examples include Medical Care, Periodontics, Renal Dialysis, Vision Coverage. */ - category?: CodeableConcept; + category?: CodeableConcept|undefined; /** * To show a 10% senior's discount, the value entered is: 0.90 (1.00 - 0.10). */ - factor?: number; + factor?: number|undefined; /** * For example, in Oral whether the treatment is cosmetic or associated with TMJ, or for Medical whether the treatment was outside the clinic or outside of office hours. */ - modifier?: CodeableConcept[]; + modifier?: CodeableConcept[]|undefined; /** * For example, the formula: quantity * unitPrice * factor = net. Quantity and factor are assumed to be 1 if not supplied. */ - net?: Money; + net?: Money|undefined; /** * The numbers associated with notes below which apply to the adjudication of this item. */ - noteNumber?: number[]; + noteNumber?: number[]|undefined; /** * If this is an actual service or product line, i.e. not a Group, then use code to indicate the Professional Service or Product supplied (e.g. CTP, HCPCS, USCLS, ICD10, NCPDP, DIN, RxNorm, ACHI, CCI). If a grouping item then use a group code to indicate the type of thing being grouped e.g. 'glasses' or 'compound'. */ @@ -13401,15 +13401,15 @@ export interface ExplanationOfBenefitItemDetailSubDetail extends BackboneElement /** * For example: Neonatal program, child dental program or drug users recovery program. */ - programCode?: CodeableConcept[]; + programCode?: CodeableConcept[]|undefined; /** * The number of repetitions of a service or product. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * The type of revenue or cost center providing the product and/or service. */ - revenue?: CodeableConcept; + revenue?: CodeableConcept|undefined; /** * A claim detail line. Either a simple (a product or service) or a 'group' of sub-details which are simple items. */ @@ -13417,11 +13417,11 @@ export interface ExplanationOfBenefitItemDetailSubDetail extends BackboneElement /** * Unique Device Identifiers associated with this line item. */ - udi?: Reference[]; + udi?: Reference[]|undefined; /** * If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group. */ - unitPrice?: Money; + unitPrice?: Money|undefined; } /** * Second-tier of goods and services. @@ -13430,27 +13430,27 @@ export interface ExplanationOfBenefitItemDetail extends BackboneElement { /** * The adjudication results. */ - adjudication?: ExplanationOfBenefitItemAdjudication[]; + adjudication?: ExplanationOfBenefitItemAdjudication[]|undefined; /** * Examples include: Medical Care, Periodontics, Renal Dialysis, Vision Coverage. */ - category?: CodeableConcept; + category?: CodeableConcept|undefined; /** * To show a 10% senior's discount, the value entered is: 0.90 (1.00 - 0.10). */ - factor?: number; + factor?: number|undefined; /** * For example, in Oral whether the treatment is cosmetic or associated with TMJ, or for Medical whether the treatment was outside the clinic or out of office hours. */ - modifier?: CodeableConcept[]; + modifier?: CodeableConcept[]|undefined; /** * For example, the formula: quantity * unitPrice * factor = net. Quantity and factor are assumed to be 1 if not supplied. */ - net?: Money; + net?: Money|undefined; /** * The numbers associated with notes below which apply to the adjudication of this item. */ - noteNumber?: number[]; + noteNumber?: number[]|undefined; /** * If this is an actual service or product line, i.e. not a Group, then use code to indicate the Professional Service or Product supplied (e.g. CTP, HCPCS, USCLS, ICD10, NCPDP, DIN, RxNorm, ACHI, CCI). If a grouping item then use a group code to indicate the type of thing being grouped e.g. 'glasses' or 'compound'. */ @@ -13458,15 +13458,15 @@ export interface ExplanationOfBenefitItemDetail extends BackboneElement { /** * For example: Neonatal program, child dental program or drug users recovery program. */ - programCode?: CodeableConcept[]; + programCode?: CodeableConcept[]|undefined; /** * The number of repetitions of a service or product. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * The type of revenue or cost center providing the product and/or service. */ - revenue?: CodeableConcept; + revenue?: CodeableConcept|undefined; /** * A claim detail line. Either a simple (a product or service) or a 'group' of sub-details which are simple items. */ @@ -13474,15 +13474,15 @@ export interface ExplanationOfBenefitItemDetail extends BackboneElement { /** * Third-tier of goods and services. */ - subDetail?: ExplanationOfBenefitItemDetailSubDetail[]; + subDetail?: ExplanationOfBenefitItemDetailSubDetail[]|undefined; /** * Unique Device Identifiers associated with this line item. */ - udi?: Reference[]; + udi?: Reference[]|undefined; /** * If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group. */ - unitPrice?: Money; + unitPrice?: Money|undefined; } /** * A claim line. Either a simple (a product or service) or a 'group' of details which can also be a simple items or groups of sub-details. @@ -13491,67 +13491,67 @@ export interface ExplanationOfBenefitItem extends BackboneElement { /** * If this item is a group then the values here are a summary of the adjudication of the detail items. If this item is a simple product or service then this is the result of the adjudication of this item. */ - adjudication?: ExplanationOfBenefitItemAdjudication[]; + adjudication?: ExplanationOfBenefitItemAdjudication[]|undefined; /** * For example: Providing a tooth code, allows an insurer to identify a provider performing a filling on a tooth that was previously removed. */ - bodySite?: CodeableConcept; + bodySite?: CodeableConcept|undefined; /** * Care team members related to this service or product. */ - careTeamSequence?: number[]; + careTeamSequence?: number[]|undefined; /** * Examples include Medical Care, Periodontics, Renal Dialysis, Vision Coverage. */ - category?: CodeableConcept; + category?: CodeableConcept|undefined; /** * Second-tier of goods and services. */ - detail?: ExplanationOfBenefitItemDetail[]; + detail?: ExplanationOfBenefitItemDetail[]|undefined; /** * Diagnoses applicable for this service or product. */ - diagnosisSequence?: number[]; + diagnosisSequence?: number[]|undefined; /** * A billed item may include goods or services provided in multiple encounters. */ - encounter?: Reference[]; + encounter?: Reference[]|undefined; /** * To show a 10% senior's discount, the value entered is: 0.90 (1.00 - 0.10). */ - factor?: number; + factor?: number|undefined; /** * Exceptions, special conditions and supporting information applicable for this service or product. */ - informationSequence?: number[]; + informationSequence?: number[]|undefined; /** * Where the product or service was provided. */ - locationCodeableConcept?: CodeableConcept; + locationCodeableConcept?: CodeableConcept|undefined; /** * Where the product or service was provided. */ - locationAddress?: Address; + locationAddress?: Address|undefined; /** * Where the product or service was provided. */ - locationReference?: Reference; + locationReference?: Reference|undefined; /** * For example, in Oral whether the treatment is cosmetic or associated with TMJ, or for Medical whether the treatment was outside the clinic or out of office hours. */ - modifier?: CodeableConcept[]; + modifier?: CodeableConcept[]|undefined; /** * For example, the formula: quantity * unitPrice * factor = net. Quantity and factor are assumed to be 1 if not supplied. */ - net?: Money; + net?: Money|undefined; /** * The numbers associated with notes below which apply to the adjudication of this item. */ - noteNumber?: number[]; + noteNumber?: number[]|undefined; /** * Procedures applicable for this service or product. */ - procedureSequence?: number[]; + procedureSequence?: number[]|undefined; /** * If this is an actual service or product line, i.e. not a Group, then use code to indicate the Professional Service or Product supplied (e.g. CTP, HCPCS, USCLS, ICD10, NCPDP, DIN, RxNorm, ACHI, CCI). If a grouping item then use a group code to indicate the type of thing being grouped e.g. 'glasses' or 'compound'. */ @@ -13559,15 +13559,15 @@ export interface ExplanationOfBenefitItem extends BackboneElement { /** * For example: Neonatal program, child dental program or drug users recovery program. */ - programCode?: CodeableConcept[]; + programCode?: CodeableConcept[]|undefined; /** * The number of repetitions of a service or product. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * The type of revenue or cost center providing the product and/or service. */ - revenue?: CodeableConcept; + revenue?: CodeableConcept|undefined; /** * A number to uniquely identify item entries. */ @@ -13575,24 +13575,24 @@ export interface ExplanationOfBenefitItem extends BackboneElement { /** * The date or dates when the service or product was supplied, performed or completed. */ - servicedDate?: string; - _servicedDate?: Element; + servicedDate?: string|undefined; + _servicedDate?: Element|undefined; /** * The date or dates when the service or product was supplied, performed or completed. */ - servicedPeriod?: Period; + servicedPeriod?: Period|undefined; /** * A region or surface of the bodySite, e.g. limb region or tooth surface(s). */ - subSite?: CodeableConcept[]; + subSite?: CodeableConcept[]|undefined; /** * Unique Device Identifiers associated with this line item. */ - udi?: Reference[]; + udi?: Reference[]|undefined; /** * If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group. */ - unitPrice?: Money; + unitPrice?: Money|undefined; } /** * The third-tier service adjudications for payor added services. @@ -13601,23 +13601,23 @@ export interface ExplanationOfBenefitAddItemDetailSubDetail extends BackboneElem /** * The adjudication results. */ - adjudication?: ExplanationOfBenefitItemAdjudication[]; + adjudication?: ExplanationOfBenefitItemAdjudication[]|undefined; /** * To show a 10% senior's discount, the value entered is: 0.90 (1.00 - 0.10). */ - factor?: number; + factor?: number|undefined; /** * For example, in Oral whether the treatment is cosmetic or associated with TMJ, or for Medical whether the treatment was outside the clinic or out of office hours. */ - modifier?: CodeableConcept[]; + modifier?: CodeableConcept[]|undefined; /** * For example, the formula: quantity * unitPrice * factor = net. Quantity and factor are assumed to be 1 if not supplied. */ - net?: Money; + net?: Money|undefined; /** * The numbers associated with notes below which apply to the adjudication of this item. */ - noteNumber?: number[]; + noteNumber?: number[]|undefined; /** * If this is an actual service or product line, i.e. not a Group, then use code to indicate the Professional Service or Product supplied (e.g. CTP, HCPCS, USCLS, ICD10, NCPDP, DIN, RxNorm, ACHI, CCI). If a grouping item then use a group code to indicate the type of thing being grouped e.g. 'glasses' or 'compound'. */ @@ -13625,11 +13625,11 @@ export interface ExplanationOfBenefitAddItemDetailSubDetail extends BackboneElem /** * The number of repetitions of a service or product. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group. */ - unitPrice?: Money; + unitPrice?: Money|undefined; } /** * The second-tier service adjudications for payor added services. @@ -13638,23 +13638,23 @@ export interface ExplanationOfBenefitAddItemDetail extends BackboneElement { /** * The adjudication results. */ - adjudication?: ExplanationOfBenefitItemAdjudication[]; + adjudication?: ExplanationOfBenefitItemAdjudication[]|undefined; /** * To show a 10% senior's discount, the value entered is: 0.90 (1.00 - 0.10). */ - factor?: number; + factor?: number|undefined; /** * For example, in Oral whether the treatment is cosmetic or associated with TMJ, or for Medical whether the treatment was outside the clinic or out of office hours. */ - modifier?: CodeableConcept[]; + modifier?: CodeableConcept[]|undefined; /** * For example, the formula: quantity * unitPrice * factor = net. Quantity and factor are assumed to be 1 if not supplied. */ - net?: Money; + net?: Money|undefined; /** * The numbers associated with notes below which apply to the adjudication of this item. */ - noteNumber?: number[]; + noteNumber?: number[]|undefined; /** * If this is an actual service or product line, i.e. not a Group, then use code to indicate the Professional Service or Product supplied (e.g. CTP, HCPCS, USCLS, ICD10, NCPDP, DIN, RxNorm, ACHI, CCI). If a grouping item then use a group code to indicate the type of thing being grouped e.g. 'glasses' or 'compound'. */ @@ -13662,15 +13662,15 @@ export interface ExplanationOfBenefitAddItemDetail extends BackboneElement { /** * The number of repetitions of a service or product. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * The third-tier service adjudications for payor added services. */ - subDetail?: ExplanationOfBenefitAddItemDetailSubDetail[]; + subDetail?: ExplanationOfBenefitAddItemDetailSubDetail[]|undefined; /** * If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group. */ - unitPrice?: Money; + unitPrice?: Money|undefined; } /** * The first-tier service adjudications for payor added product or service lines. @@ -13679,51 +13679,51 @@ export interface ExplanationOfBenefitAddItem extends BackboneElement { /** * The adjudication results. */ - adjudication?: ExplanationOfBenefitItemAdjudication[]; + adjudication?: ExplanationOfBenefitItemAdjudication[]|undefined; /** * For example, providing a tooth code allows an insurer to identify a provider performing a filling on a tooth that was previously removed. */ - bodySite?: CodeableConcept; + bodySite?: CodeableConcept|undefined; /** * The second-tier service adjudications for payor added services. */ - detail?: ExplanationOfBenefitAddItemDetail[]; + detail?: ExplanationOfBenefitAddItemDetail[]|undefined; /** * The sequence number of the details within the claim item which this line is intended to replace. */ - detailSequence?: number[]; + detailSequence?: number[]|undefined; /** * To show a 10% senior's discount, the value entered is: 0.90 (1.00 - 0.10). */ - factor?: number; + factor?: number|undefined; /** * Claim items which this service line is intended to replace. */ - itemSequence?: number[]; + itemSequence?: number[]|undefined; /** * Where the product or service was provided. */ - locationCodeableConcept?: CodeableConcept; + locationCodeableConcept?: CodeableConcept|undefined; /** * Where the product or service was provided. */ - locationAddress?: Address; + locationAddress?: Address|undefined; /** * Where the product or service was provided. */ - locationReference?: Reference; + locationReference?: Reference|undefined; /** * For example, in Oral whether the treatment is cosmetic or associated with TMJ, or for Medical whether the treatment was outside the clinic or out of office hours. */ - modifier?: CodeableConcept[]; + modifier?: CodeableConcept[]|undefined; /** * For example, the formula: quantity * unitPrice * factor = net. Quantity and factor are assumed to be 1 if not supplied. */ - net?: Money; + net?: Money|undefined; /** * The numbers associated with notes below which apply to the adjudication of this item. */ - noteNumber?: number[]; + noteNumber?: number[]|undefined; /** * If this is an actual service or product line, i.e. not a Group, then use code to indicate the Professional Service or Product supplied (e.g. CTP, HCPCS, USCLS, ICD10, NCPDP, DIN, RxNorm, ACHI, CCI). If a grouping item then use a group code to indicate the type of thing being grouped e.g. 'glasses' or 'compound'. */ @@ -13731,36 +13731,36 @@ export interface ExplanationOfBenefitAddItem extends BackboneElement { /** * For example: Neonatal program, child dental program or drug users recovery program. */ - programCode?: CodeableConcept[]; + programCode?: CodeableConcept[]|undefined; /** * The providers who are authorized for the services rendered to the patient. */ - provider?: Reference[]; + provider?: Reference[]|undefined; /** * The number of repetitions of a service or product. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * The date or dates when the service or product was supplied, performed or completed. */ - servicedDate?: string; - _servicedDate?: Element; + servicedDate?: string|undefined; + _servicedDate?: Element|undefined; /** * The date or dates when the service or product was supplied, performed or completed. */ - servicedPeriod?: Period; + servicedPeriod?: Period|undefined; /** * The sequence number of the sub-details woithin the details within the claim item which this line is intended to replace. */ - subDetailSequence?: number[]; + subDetailSequence?: number[]|undefined; /** * A region or surface of the bodySite, e.g. limb region or tooth surface(s). */ - subSite?: CodeableConcept[]; + subSite?: CodeableConcept[]|undefined; /** * If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group. */ - unitPrice?: Money; + unitPrice?: Money|undefined; } /** * Totals for amounts submitted, co-pays, benefits payable etc. @@ -13782,28 +13782,28 @@ export interface ExplanationOfBenefitPayment extends BackboneElement { /** * Insurers will deduct amounts owing from the provider (adjustment), such as a prior overpayment, from the amount owing to the provider (benefits payable) when payment is made to the provider. */ - adjustment?: Money; + adjustment?: Money|undefined; /** * Reason for the payment adjustment. */ - adjustmentReason?: CodeableConcept; + adjustmentReason?: CodeableConcept|undefined; /** * Benefits payable less any payment adjustment. */ - amount?: Money; + amount?: Money|undefined; /** * Estimated date the payment will be issued or the actual issue date of payment. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * For example: EFT number or check number. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * Whether this represents partial or complete payment of the benefits payable. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * A note that describes or explains adjudication results in a human readable form. @@ -13812,21 +13812,21 @@ export interface ExplanationOfBenefitProcessNote extends BackboneElement { /** * Only required if the language is different from the resource language. */ - language?: CodeableConcept; + language?: CodeableConcept|undefined; /** * A number to uniquely identify a note entry. */ - number?: number; + number?: number|undefined; /** * The explanation or description associated with the processing. */ - text?: string; - _text?: Element; + text?: string|undefined; + _text?: Element|undefined; /** * The business purpose of the note text. */ - type?: ExplanationOfBenefitProcessNoteTypeCodes; - _type?: Element; + type?: ExplanationOfBenefitProcessNoteTypeCodes|undefined; + _type?: Element|undefined; } /** * Code Values for the ExplanationOfBenefit.processNote.type field @@ -13843,16 +13843,16 @@ export interface ExplanationOfBenefitBenefitBalanceFinancial extends BackboneEle /** * The quantity of the benefit which is permitted under the coverage. */ - allowedUnsignedInt?: number; + allowedUnsignedInt?: number|undefined; /** * The quantity of the benefit which is permitted under the coverage. */ - allowedString?: string; - _allowedString?: Element; + allowedString?: string|undefined; + _allowedString?: Element|undefined; /** * The quantity of the benefit which is permitted under the coverage. */ - allowedMoney?: Money; + allowedMoney?: Money|undefined; /** * For example: deductible, visits, benefit amount. */ @@ -13860,11 +13860,11 @@ export interface ExplanationOfBenefitBenefitBalanceFinancial extends BackboneEle /** * The quantity of the benefit which have been consumed to date. */ - usedUnsignedInt?: number; + usedUnsignedInt?: number|undefined; /** * The quantity of the benefit which have been consumed to date. */ - usedMoney?: Money; + usedMoney?: Money|undefined; } /** * Balance by Benefit Category. @@ -13877,34 +13877,34 @@ export interface ExplanationOfBenefitBenefitBalance extends BackboneElement { /** * For example, 'DENT2 covers 100% of basic, 50% of major but excludes Ortho, Implants and Cosmetic services'. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * True if the indicated class of service is excluded from the plan, missing or False indicates the product or service is included in the coverage. */ - excluded?: boolean; - _excluded?: Element; + excluded?: boolean|undefined; + _excluded?: Element|undefined; /** * Benefits Used to date. */ - financial?: ExplanationOfBenefitBenefitBalanceFinancial[]; + financial?: ExplanationOfBenefitBenefitBalanceFinancial[]|undefined; /** * For example: MED01, or DENT2. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Is a flag to indicate whether the benefits refer to in-network providers or out-of-network providers. */ - network?: CodeableConcept; + network?: CodeableConcept|undefined; /** * The term or period of the values such as 'maximum lifetime benefit' or 'maximum annual visits'. */ - term?: CodeableConcept; + term?: CodeableConcept|undefined; /** * Indicates if the benefits apply to an individual or to the family. */ - unit?: CodeableConcept; + unit?: CodeableConcept|undefined; } /** * This resource provides: the claim details; adjudication details from the processing of a Claim; and optionally account balance information, for informing the subscriber of the benefits provided. @@ -13915,81 +13915,81 @@ export interface ExplanationOfBenefit extends DomainResource { /** * Details of a accident which resulted in injuries which required the products and services listed in the claim. */ - accident?: ExplanationOfBenefitAccident; + accident?: ExplanationOfBenefitAccident|undefined; /** * The first-tier service adjudications for payor added product or service lines. */ - addItem?: ExplanationOfBenefitAddItem[]; + addItem?: ExplanationOfBenefitAddItem[]|undefined; /** * The adjudication results which are presented at the header level rather than at the line-item or add-item levels. */ - adjudication?: ExplanationOfBenefitItemAdjudication[]; + adjudication?: ExplanationOfBenefitItemAdjudication[]|undefined; /** * Balance by Benefit Category. */ - benefitBalance?: ExplanationOfBenefitBenefitBalance[]; + benefitBalance?: ExplanationOfBenefitBenefitBalance[]|undefined; /** * Not applicable when use=claim. */ - benefitPeriod?: Period; + benefitPeriod?: Period|undefined; /** * Typically this would be today or in the past for a claim, and today or in the future for preauthorizations and prodeterminations. Typically line item dates of service should fall within the billing period if one is specified. */ - billablePeriod?: Period; + billablePeriod?: Period|undefined; /** * The members of the team who provided the products and services. */ - careTeam?: ExplanationOfBenefitCareTeam[]; + careTeam?: ExplanationOfBenefitCareTeam[]|undefined; /** * The business identifier for the instance of the adjudication request: claim predetermination or preauthorization. */ - claim?: Reference; + claim?: Reference|undefined; /** * The business identifier for the instance of the adjudication response: claim, predetermination or preauthorization response. */ - claimResponse?: Reference; + claimResponse?: Reference|undefined; /** * This field is independent of the date of creation of the resource as it may reflect the creation date of a source document prior to digitization. Typically for claims all services must be completed as of this date. */ created: string; - _created?: Element; + _created?: Element|undefined; /** * Information about diagnoses relevant to the claim items. */ - diagnosis?: ExplanationOfBenefitDiagnosis[]; + diagnosis?: ExplanationOfBenefitDiagnosis[]|undefined; /** * A human readable description of the status of the adjudication. */ - disposition?: string; - _disposition?: Element; + disposition?: string|undefined; + _disposition?: Element|undefined; /** * Individual who created the claim, predetermination or preauthorization. */ - enterer?: Reference; + enterer?: Reference|undefined; /** * Facility where the services were provided. */ - facility?: Reference; + facility?: Reference|undefined; /** * Needed to permit insurers to include the actual form. */ - form?: Attachment; + form?: Attachment|undefined; /** * May be needed to identify specific jurisdictional forms. */ - formCode?: CodeableConcept; + formCode?: CodeableConcept|undefined; /** * Fund would be release by a future claim quoting the preAuthRef of this response. Examples of values include: provider, patient, none. */ - fundsReserve?: CodeableConcept; + fundsReserve?: CodeableConcept|undefined; /** * This field is only used for preauthorizations. */ - fundsReserveRequested?: CodeableConcept; + fundsReserveRequested?: CodeableConcept|undefined; /** * A unique identifier assigned to this explanation of benefit. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * All insurance coverages for the patient which may be applicable for reimbursement, of the products and services listed in the claim, are typically provided in the claim to allow insurers to confirm the ordering of the insurance coverages relative to local 'coordination of benefit' rules. One coverage (and only one) with 'focal=true' is to be used in the adjudication of this claim. Coverages appearing before the focal Coverage in the list, and where 'Coverage.subrogation=false', should provide a reference to the ClaimResponse containing the adjudication results of the prior claim. */ @@ -14001,16 +14001,16 @@ export interface ExplanationOfBenefit extends DomainResource { /** * A claim line. Either a simple (a product or service) or a 'group' of details which can also be a simple items or groups of sub-details. */ - item?: ExplanationOfBenefitItem[]; + item?: ExplanationOfBenefitItem[]|undefined; /** * For example, a physician may prescribe a medication which the pharmacy determines is contraindicated, or for which the patient has an intolerance, and therefor issues a new prescription for an alternate medication which has the same therapeutic intent. The prescription from the pharmacy becomes the 'prescription' and that from the physician becomes the 'original prescription'. */ - originalPrescription?: Reference; + originalPrescription?: Reference|undefined; /** * The resource may be used to indicate that: the request has been held (queued) for processing; that it has been processed and errors found (error); that no errors were found and that some of the adjudication has been undertaken (partial) or that all of the adjudication has been undertaken (complete). */ outcome: ExplanationOfBenefitOutcomeCodes; - _outcome?: Element; + _outcome?: Element|undefined; /** * The party to whom the professional services and/or products have been supplied or are being considered and for whom actual for forecast reimbursement is sought. */ @@ -14018,40 +14018,40 @@ export interface ExplanationOfBenefit extends DomainResource { /** * Often providers agree to receive the benefits payable to reduce the near-term costs to the patient. The insurer may decline to pay the provider and may choose to pay the subscriber instead. */ - payee?: ExplanationOfBenefitPayee; + payee?: ExplanationOfBenefitPayee|undefined; /** * Payment details for the adjudication of the claim. */ - payment?: ExplanationOfBenefitPayment; + payment?: ExplanationOfBenefitPayment|undefined; /** * This value is only present on preauthorization adjudications. */ - preAuthRef?: string[]; - _preAuthRef?: Element[]; + preAuthRef?: string[]|undefined; + _preAuthRef?: Element[]|undefined; /** * This value is only present on preauthorization adjudications. */ - preAuthRefPeriod?: Period[]; + preAuthRefPeriod?: Period[]|undefined; /** * This indicates the relative order of a series of EOBs related to different coverages for the same suite of services. */ - precedence?: number; + precedence?: number|undefined; /** * Prescription to support the dispensing of pharmacy, device or vision products. */ - prescription?: Reference; + prescription?: Reference|undefined; /** * If a claim processor is unable to complete the processing as per the priority then they should generate and error and not process the request. */ - priority?: CodeableConcept; + priority?: CodeableConcept|undefined; /** * Procedures performed on the patient relevant to the billing items with the claim. */ - procedure?: ExplanationOfBenefitProcedure[]; + procedure?: ExplanationOfBenefitProcedure[]|undefined; /** * A note that describes or explains adjudication results in a human readable form. */ - processNote?: ExplanationOfBenefitProcessNote[]; + processNote?: ExplanationOfBenefitProcessNote[]|undefined; /** * Typically this field would be 1..1 where this party is responsible for the claim but not necessarily professionally responsible for the provision of the individual products and services listed below. */ @@ -14059,28 +14059,28 @@ export interface ExplanationOfBenefit extends DomainResource { /** * The referral resource which lists the date, practitioner, reason and other supporting information. */ - referral?: Reference; + referral?: Reference|undefined; /** * For example, for the original treatment and follow-up exams. */ - related?: ExplanationOfBenefitRelated[]; + related?: ExplanationOfBenefitRelated[]|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: ExplanationOfBenefitStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * This may contain the local bill type codes such as the US UB-04 bill type code. */ - subType?: CodeableConcept; + subType?: CodeableConcept|undefined; /** * Often there are multiple jurisdiction specific valuesets which are required. */ - supportingInfo?: ExplanationOfBenefitSupportingInfo[]; + supportingInfo?: ExplanationOfBenefitSupportingInfo[]|undefined; /** * Totals for amounts submitted, co-pays, benefits payable etc. */ - total?: ExplanationOfBenefitTotal[]; + total?: ExplanationOfBenefitTotal[]|undefined; /** * The majority of jurisdictions use: oral, pharmacy, vision, professional and institutional, or variants on those terms, as the general styles of claims. The valueset is extensible to accommodate other jurisdictional requirements. */ @@ -14089,7 +14089,7 @@ export interface ExplanationOfBenefit extends DomainResource { * A code to indicate whether the nature of the request is: to request adjudication of products and services previously rendered; or requesting authorization and adjudication for provision in the future; or requesting the non-binding adjudication of the listed products and services which could be provided in the future. */ use: ExplanationOfBenefitUseCodes; - _use?: Element; + _use?: Element|undefined; } /** * Code Values for the ExplanationOfBenefit.outcome field @@ -14128,33 +14128,33 @@ export interface FamilyMemberHistoryCondition extends BackboneElement { /** * This condition contributed to the cause of death of the related person. If contributedToDeath is not populated, then it is unknown. */ - contributedToDeath?: boolean; - _contributedToDeath?: Element; + contributedToDeath?: boolean|undefined; + _contributedToDeath?: Element|undefined; /** * An area where general notes can be placed about this specific condition. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * Either the age of onset, range of approximate age or descriptive string can be recorded. For conditions with multiple occurrences, this describes the first known occurrence. */ - onsetAge?: Age; + onsetAge?: Age|undefined; /** * Either the age of onset, range of approximate age or descriptive string can be recorded. For conditions with multiple occurrences, this describes the first known occurrence. */ - onsetRange?: Range; + onsetRange?: Range|undefined; /** * Either the age of onset, range of approximate age or descriptive string can be recorded. For conditions with multiple occurrences, this describes the first known occurrence. */ - onsetPeriod?: Period; + onsetPeriod?: Period|undefined; /** * Either the age of onset, range of approximate age or descriptive string can be recorded. For conditions with multiple occurrences, this describes the first known occurrence. */ - onsetString?: string; - _onsetString?: Element; + onsetString?: string|undefined; + _onsetString?: Element|undefined; /** * Indicates what happened following the condition. If the condition resulted in death, deceased date is captured on the relation. */ - outcome?: CodeableConcept; + outcome?: CodeableConcept|undefined; } /** * Significant health conditions for a person related to the patient relevant in the context of care for the patient. @@ -14165,94 +14165,94 @@ export interface FamilyMemberHistory extends DomainResource { /** * use estimatedAge to indicate whether the age is actual or not. */ - ageAge?: Age; + ageAge?: Age|undefined; /** * use estimatedAge to indicate whether the age is actual or not. */ - ageRange?: Range; + ageRange?: Range|undefined; /** * use estimatedAge to indicate whether the age is actual or not. */ - ageString?: string; - _ageString?: Element; + ageString?: string|undefined; + _ageString?: Element|undefined; /** * The actual or approximate date of birth of the relative. */ - bornPeriod?: Period; + bornPeriod?: Period|undefined; /** * The actual or approximate date of birth of the relative. */ - bornDate?: string; - _bornDate?: Element; + bornDate?: string|undefined; + _bornDate?: Element|undefined; /** * The actual or approximate date of birth of the relative. */ - bornString?: string; - _bornString?: Element; + bornString?: string|undefined; + _bornString?: Element|undefined; /** * The significant Conditions (or condition) that the family member had. This is a repeating section to allow a system to represent more than one condition per resource, though there is nothing stopping multiple resources - one per condition. */ - condition?: FamilyMemberHistoryCondition[]; + condition?: FamilyMemberHistoryCondition[]|undefined; /** * Describes why the family member's history is not available. */ - dataAbsentReason?: CodeableConcept; + dataAbsentReason?: CodeableConcept|undefined; /** * This should be captured even if the same as the date on the List aggregating the full family history. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * Deceased flag or the actual or approximate age of the relative at the time of death for the family member history record. */ - deceasedBoolean?: boolean; - _deceasedBoolean?: Element; + deceasedBoolean?: boolean|undefined; + _deceasedBoolean?: Element|undefined; /** * Deceased flag or the actual or approximate age of the relative at the time of death for the family member history record. */ - deceasedAge?: Age; + deceasedAge?: Age|undefined; /** * Deceased flag or the actual or approximate age of the relative at the time of death for the family member history record. */ - deceasedRange?: Range; + deceasedRange?: Range|undefined; /** * Deceased flag or the actual or approximate age of the relative at the time of death for the family member history record. */ - deceasedDate?: string; - _deceasedDate?: Element; + deceasedDate?: string|undefined; + _deceasedDate?: Element|undefined; /** * Deceased flag or the actual or approximate age of the relative at the time of death for the family member history record. */ - deceasedString?: string; - _deceasedString?: Element; + deceasedString?: string|undefined; + _deceasedString?: Element|undefined; /** * This element is labeled as a modifier because the fact that age is estimated can/should change the results of any algorithm that calculates based on the specified age. */ - estimatedAge?: boolean; - _estimatedAge?: Element; + estimatedAge?: boolean|undefined; + _estimatedAge?: Element|undefined; /** * This is a business identifier, not a resource identifier (see [discussion](resource.html#identifiers)). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and a Person resource instance might share the same social insurance number. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The URL pointing to a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this FamilyMemberHistory. */ - instantiatesCanonical?: string[]; - _instantiatesCanonical?: Element[]; + instantiatesCanonical?: string[]|undefined; + _instantiatesCanonical?: Element[]|undefined; /** * This might be an HTML page, PDF, etc. or could just be a non-resolvable URI identifier. */ - instantiatesUri?: string[]; - _instantiatesUri?: Element[]; + instantiatesUri?: string[]|undefined; + _instantiatesUri?: Element[]|undefined; /** * This will either be a name or a description; e.g. "Aunt Susan", "my cousin with the red hair". */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * This property allows a non condition-specific note to the made about the related person. Ideally, the note would be in the condition property, but this is not always possible. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * The person who this history concerns. */ @@ -14260,11 +14260,11 @@ export interface FamilyMemberHistory extends DomainResource { /** * Textual reasons can be captured using reasonCode.text. */ - reasonCode?: CodeableConcept[]; + reasonCode?: CodeableConcept[]|undefined; /** * Indicates a Condition, Observation, AllergyIntolerance, or QuestionnaireResponse that justifies this family member history event. */ - reasonReference?: Reference[]; + reasonReference?: Reference[]|undefined; /** * The type of relationship this person has to the patient (father, mother, brother etc.). */ @@ -14272,12 +14272,12 @@ export interface FamilyMemberHistory extends DomainResource { /** * This element should ideally reflect whether the individual is genetically male or female. However, as reported information based on the knowledge of the patient or reporting friend/relative, there may be situations where the reported sex might not be totally accurate. E.g. 'Aunt Sue' might be XY rather than XX. Questions soliciting this information should be phrased to encourage capture of genetic sex where known. However, systems performing analysis should also allow for the possibility of imprecision with this element. */ - sex?: CodeableConcept; + sex?: CodeableConcept|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: FamilyMemberHistoryStatusCodes; - _status?: Element; + _status?: Element|undefined; } /** * Code Values for the FamilyMemberHistory.status field @@ -14297,11 +14297,11 @@ export interface Flag extends DomainResource { /** * The person, organization or device that created the flag. */ - author?: Reference; + author?: Reference|undefined; /** * The value set will often need to be adjusted based on local business rules and usage context. */ - category?: CodeableConcept[]; + category?: CodeableConcept[]|undefined; /** * If non-coded, use CodeableConcept.text. This element should always be included in the narrative. */ @@ -14309,20 +14309,20 @@ export interface Flag extends DomainResource { /** * If both Flag.encounter and Flag.period are valued, then Flag.period.start shall not be before Encounter.period.start and Flag.period.end shall not be after Encounter.period.end. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * This is a business identifier, not a resource identifier (see [discussion](resource.html#identifiers)). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and a Person resource instance might share the same social insurance number. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The period of time from the activation of the flag to inactivation of the flag. If the flag is active, the end of the period should be unspecified. */ - period?: Period; + period?: Period|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: FlagStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * The patient, location, group, organization, or practitioner etc. this is about record this flag is associated with. */ @@ -14343,46 +14343,46 @@ export interface GoalTarget extends BackboneElement { /** * A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Goal.target.measure defines a coded value. */ - detailQuantity?: Quantity; + detailQuantity?: Quantity|undefined; /** * A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Goal.target.measure defines a coded value. */ - detailRange?: Range; + detailRange?: Range|undefined; /** * A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Goal.target.measure defines a coded value. */ - detailCodeableConcept?: CodeableConcept; + detailCodeableConcept?: CodeableConcept|undefined; /** * A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Goal.target.measure defines a coded value. */ - detailString?: string; - _detailString?: Element; + detailString?: string|undefined; + _detailString?: Element|undefined; /** * A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Goal.target.measure defines a coded value. */ - detailBoolean?: boolean; - _detailBoolean?: Element; + detailBoolean?: boolean|undefined; + _detailBoolean?: Element|undefined; /** * A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Goal.target.measure defines a coded value. */ - detailInteger?: number; + detailInteger?: number|undefined; /** * A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Goal.target.measure defines a coded value. */ - detailRatio?: Ratio; + detailRatio?: Ratio|undefined; /** * Indicates either the date or the duration after start by which the goal should be met. */ - dueDate?: string; - _dueDate?: Element; + dueDate?: string|undefined; + _dueDate?: Element|undefined; /** * Indicates either the date or the duration after start by which the goal should be met. */ - dueDuration?: Duration; + dueDuration?: Duration|undefined; /** * The parameter whose value is being tracked, e.g. body weight, blood pressure, or hemoglobin A1c level. */ - measure?: CodeableConcept; + measure?: CodeableConcept|undefined; } /** * Describes the intended objective(s) for a patient, group or organization care, for example, weight loss, restoring an activity of daily living, obtaining herd immunity via immunization, meeting a process improvement objective, etc. @@ -14393,15 +14393,15 @@ export interface Goal extends DomainResource { /** * Describes the progression, or lack thereof, towards the goal against the target. */ - achievementStatus?: CodeableConcept; + achievementStatus?: CodeableConcept|undefined; /** * The identified conditions and other health record elements that are intended to be addressed by the goal. */ - addresses?: Reference[]; + addresses?: Reference[]|undefined; /** * Indicates a category the goal falls within. */ - category?: CodeableConcept[]; + category?: CodeableConcept[]|undefined; /** * If no code is available, use CodeableConcept.text. */ @@ -14409,52 +14409,52 @@ export interface Goal extends DomainResource { /** * This is the individual responsible for establishing the goal, not necessarily who recorded it. (For that, use the Provenance resource.). */ - expressedBy?: Reference; + expressedBy?: Reference|undefined; /** * This is a business identifier, not a resource identifier (see [discussion](resource.html#identifiers)). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and a Person resource instance might share the same social insurance number. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * This element is labeled as a modifier because the lifecycleStatus contains codes that mark the resource as not currently valid. */ lifecycleStatus: GoalLifecycleStatusCodes; - _lifecycleStatus?: Element; + _lifecycleStatus?: Element|undefined; /** * May be used for progress notes, concerns or other related information that doesn't actually describe the goal itself. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * Note that this should not duplicate the goal status. */ - outcomeCode?: CodeableConcept[]; + outcomeCode?: CodeableConcept[]|undefined; /** * The goal outcome is independent of the outcome of the related activities. For example, if the Goal is to achieve a target body weight of 150 lb and a care plan activity is defined to diet, then the care plan’s activity outcome could be calories consumed whereas goal outcome is an observation for the actual body weight measured. */ - outcomeReference?: Reference[]; + outcomeReference?: Reference[]|undefined; /** * Extensions are available to track priorities as established by each participant (i.e. Priority from the patient's perspective, different practitioners' perspectives, family member's perspectives) * The ordinal extension on Coding can be used to convey a numerically comparable ranking to priority. (Keep in mind that different coding systems may use a "low value=important". */ - priority?: CodeableConcept; + priority?: CodeableConcept|undefined; /** * The date or event after which the goal should begin being pursued. */ - startDate?: string; - _startDate?: Element; + startDate?: string|undefined; + _startDate?: Element|undefined; /** * The date or event after which the goal should begin being pursued. */ - startCodeableConcept?: CodeableConcept; + startCodeableConcept?: CodeableConcept|undefined; /** * To see the date for past statuses, query history. */ - statusDate?: string; - _statusDate?: Element; + statusDate?: string|undefined; + _statusDate?: Element|undefined; /** * This will typically be captured for statuses such as rejected, on-hold or cancelled, but could be present for others. */ - statusReason?: string; - _statusReason?: Element; + statusReason?: string|undefined; + _statusReason?: Element|undefined; /** * Identifies the patient, group or organization for whom the goal is being established. */ @@ -14462,7 +14462,7 @@ export interface Goal extends DomainResource { /** * When multiple targets are present for a single goal instance, all targets must be met for the overall goal to be met. */ - target?: GoalTarget[]; + target?: GoalTarget[]|undefined; } /** * Code Values for the Goal.lifecycleStatus field @@ -14486,27 +14486,27 @@ export interface GraphDefinitionLinkTargetCompartment extends BackboneElement { * Identifies the compartment. */ code: GraphDefinitionLinkTargetCompartmentCodeCodes; - _code?: Element; + _code?: Element|undefined; /** * Documentation for FHIRPath expression. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Custom rule, as a FHIRPath expression. */ - expression?: string; - _expression?: Element; + expression?: string|undefined; + _expression?: Element|undefined; /** * identical | matching | different | no-rule | custom. */ rule: GraphDefinitionLinkTargetCompartmentRuleCodes; - _rule?: Element; + _rule?: Element|undefined; /** * All conditional rules are evaluated; if they are true, then the rules are evaluated. */ use: GraphDefinitionLinkTargetCompartmentUseCodes; - _use?: Element; + _use?: Element|undefined; } /** * Code Values for the GraphDefinition.link.target.compartment.code field @@ -14541,26 +14541,26 @@ export interface GraphDefinitionLinkTarget extends BackboneElement { /** * Compartment Consistency Rules. */ - compartment?: GraphDefinitionLinkTargetCompartment[]; + compartment?: GraphDefinitionLinkTargetCompartment[]|undefined; /** * Additional links from target resource. */ - link?: GraphDefinitionLink[]; + link?: GraphDefinitionLink[]|undefined; /** * At least one of the parameters must have the value {ref} which identifies the focus resource. */ - params?: string; - _params?: Element; + params?: string|undefined; + _params?: Element|undefined; /** * Profile for the target resource. */ - profile?: string; - _profile?: Element; + profile?: string|undefined; + _profile?: Element|undefined; /** * Type of resource this link refers to. */ type: string; - _type?: Element; + _type?: Element|undefined; } /** * Links this graph makes rules about. @@ -14569,31 +14569,31 @@ export interface GraphDefinitionLink extends BackboneElement { /** * Information about why this link is of interest in this graph definition. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Maximum occurrences for this link. */ - max?: string; - _max?: Element; + max?: string|undefined; + _max?: Element|undefined; /** * Minimum occurrences for this link. */ - min?: number; + min?: number|undefined; /** * The path expression cannot contain a resolve() function. If there is no path, the link is a reverse lookup, using target.params. If the path is "*" then this means all references in the resource. */ - path?: string; - _path?: Element; + path?: string|undefined; + _path?: Element|undefined; /** * Which slice (if profiled). */ - sliceName?: string; - _sliceName?: Element; + sliceName?: string|undefined; + _sliceName?: Element|undefined; /** * Potential target for the link. */ - target?: GraphDefinitionLinkTarget[]; + target?: GraphDefinitionLinkTarget[]|undefined; } /** * A formal computable definition of a graph of resources - that is, a coherent set of resources that form a graph by following references. The Graph Definition resource defines a set and makes rules about the set. @@ -14604,76 +14604,76 @@ export interface GraphDefinition extends DomainResource { /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the graph definition. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * This description can be used to capture details such as why the graph definition was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the graph definition as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the graph definition is presumed to be the predominant language in the place the graph definition was created). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Allows filtering of graph definitions that are appropriate for use versus not. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * It may be possible for the graph definition to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * Links this graph makes rules about. */ - link?: GraphDefinitionLink[]; + link?: GraphDefinitionLink[]|undefined; /** * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * The code does not include the '$' prefix that is always included in the URL when the operation is invoked. */ - profile?: string; - _profile?: Element; + profile?: string|undefined; + _profile?: Element|undefined; /** * Usually an organization but may be an individual. The publisher (or steward) of the graph definition is the organization or individual primarily responsible for the maintenance and upkeep of the graph definition. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the graph definition. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * This element does not describe the usage of the graph definition. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this graph definition. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * The type of FHIR resource at which instances of this graph start. */ start: string; - _start?: Element; + _start?: Element|undefined; /** * Allows filtering of graph definitions that are appropriate for use versus not. */ status: GraphDefinitionStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different graph definition instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the graph definition with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the GraphDefinition.status field @@ -14696,32 +14696,32 @@ export interface GroupCharacteristic extends BackboneElement { * This is labeled as "Is Modifier" because applications cannot wrongly include excluded members as included or vice versa. */ exclude: boolean; - _exclude?: Element; + _exclude?: Element|undefined; /** * The period over which the characteristic is tested; e.g. the patient had an operation during the month of June. */ - period?: Period; + period?: Period|undefined; /** * For Range, it means members of the group have a value that falls somewhere within the specified range. */ - valueCodeableConcept?: CodeableConcept; + valueCodeableConcept?: CodeableConcept|undefined; /** * For Range, it means members of the group have a value that falls somewhere within the specified range. */ - valueBoolean?: boolean; - _valueBoolean?: Element; + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; /** * For Range, it means members of the group have a value that falls somewhere within the specified range. */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; /** * For Range, it means members of the group have a value that falls somewhere within the specified range. */ - valueRange?: Range; + valueRange?: Range|undefined; /** * For Range, it means members of the group have a value that falls somewhere within the specified range. */ - valueReference?: Reference; + valueReference?: Reference|undefined; } /** * Identifies the resource instances that are members of the group. @@ -14734,12 +14734,12 @@ export interface GroupMember extends BackboneElement { /** * A flag to indicate that the member is no longer in the group, but previously may have been a member. */ - inactive?: boolean; - _inactive?: Element; + inactive?: boolean|undefined; + _inactive?: Element|undefined; /** * The period that the member was in the group, if known. */ - period?: Period; + period?: Period|undefined; } /** * Represents a defined collection of entities that may be discussed or acted upon collectively but which are not expected to act collectively, and are not formally or legally recognized; i.e. a collection of entities that isn't an Organization. @@ -14750,47 +14750,47 @@ export interface Group extends DomainResource { /** * Indicates whether the record for the group is available for use or is merely being retained for historical purposes. */ - active?: boolean; - _active?: Element; + active?: boolean|undefined; + _active?: Element|undefined; /** * If true, indicates that the resource refers to a specific group of real individuals. If false, the group defines a set of intended individuals. */ actual: boolean; - _actual?: Element; + _actual?: Element|undefined; /** * All the identified characteristics must be true for an entity to a member of the group. */ - characteristic?: GroupCharacteristic[]; + characteristic?: GroupCharacteristic[]|undefined; /** * This would generally be omitted for Person resources. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * A unique business identifier for this group. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * This does not strictly align with ownership of a herd or flock, but may suffice to represent that relationship in simple cases. More complex cases will require an extension. */ - managingEntity?: Reference; + managingEntity?: Reference|undefined; /** * Identifies the resource instances that are members of the group. */ - member?: GroupMember[]; + member?: GroupMember[]|undefined; /** * A label assigned to the group for human identification and communication. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Note that the quantity may be less than the number of members if some of the members are not active. */ - quantity?: number; + quantity?: number|undefined; /** * Group members SHALL be of the appropriate resource type (Patient for person or animal; or Practitioner, Device, Medication or Substance for the other types.). */ type: GroupTypeCodes; - _type?: Element; + _type?: Element|undefined; } /** * Code Values for the Group.type field @@ -14812,75 +14812,75 @@ export interface GuidanceResponse extends DomainResource { /** * If the evaluation could not be completed due to lack of information, or additional information would potentially result in a more accurate response, this element will a description of the data required in order to proceed with the evaluation. A subsequent request to the service should include this data. */ - dataRequirement?: DataRequirement[]; + dataRequirement?: DataRequirement[]|undefined; /** * This will typically be the encounter the event occurred within, but some activities may be initiated prior to or after the official copmletion of an encounter but still be tied to the context of the encounter. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * Messages resulting from the evaluation of the artifact or artifacts. As part of evaluating the request, the engine may produce informational or warning messages. These messages will be provided by this element. */ - evaluationMessage?: Reference[]; + evaluationMessage?: Reference[]|undefined; /** * Allows a service to provide unique, business identifiers for the response. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * An identifier, CodeableConcept or canonical reference to the guidance that was requested. */ - moduleUri?: string; - _moduleUri?: Element; + moduleUri?: string|undefined; + _moduleUri?: Element|undefined; /** * An identifier, CodeableConcept or canonical reference to the guidance that was requested. */ - moduleCanonical?: string; - _moduleCanonical?: Element; + moduleCanonical?: string|undefined; + _moduleCanonical?: Element|undefined; /** * An identifier, CodeableConcept or canonical reference to the guidance that was requested. */ - moduleCodeableConcept?: CodeableConcept; + moduleCodeableConcept?: CodeableConcept|undefined; /** * Provides a mechanism to communicate additional information about the response. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * Indicates when the guidance response was processed. */ - occurrenceDateTime?: string; - _occurrenceDateTime?: Element; + occurrenceDateTime?: string|undefined; + _occurrenceDateTime?: Element|undefined; /** * The output parameters of the evaluation, if any. Many modules will result in the return of specific resources such as procedure or communication requests that are returned as part of the operation result. However, modules may define specific outputs that would be returned as the result of the evaluation, and these would be returned in this element. */ - outputParameters?: Reference; + outputParameters?: Reference|undefined; /** * Provides a reference to the device that performed the guidance. */ - performer?: Reference; + performer?: Reference|undefined; /** * Describes the reason for the guidance response in coded or textual form. */ - reasonCode?: CodeableConcept[]; + reasonCode?: CodeableConcept[]|undefined; /** * Indicates the reason the request was initiated. This is typically provided as a parameter to the evaluation and echoed by the service, although for some use cases, such as subscription- or event-based scenarios, it may provide an indication of the cause for the response. */ - reasonReference?: Reference[]; + reasonReference?: Reference[]|undefined; /** * The identifier of the request associated with this response. If an identifier was given as part of the request, it will be reproduced here to enable the requester to more easily identify the response in a multi-request scenario. */ - requestIdentifier?: Identifier; + requestIdentifier?: Identifier|undefined; /** * The actions, if any, produced by the evaluation of the artifact. */ - result?: Reference; + result?: Reference|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: GuidanceResponseStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * The patient for which the request was processed. */ - subject?: Reference; + subject?: Reference|undefined; } /** * Code Values for the GuidanceResponse.status field @@ -14900,12 +14900,12 @@ export interface HealthcareServiceEligibility extends BackboneElement { /** * Coded value for the eligibility. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * The description of service eligibility should, in general, not exceed one or two paragraphs. It should be sufficient for a prospective consumer to determine if they are likely to be eligible or not. Where eligibility requirements and conditions are complex, it may simply be noted that an eligibility assessment is required. Where eligibility is determined by an outside source, such as an Act of Parliament, this should be noted, preferably with a reference to a commonly available copy of the source document such as a web page. */ - comment?: string; - _comment?: Element; + comment?: string|undefined; + _comment?: Element|undefined; } /** * More detailed availability information may be provided in associated Schedule/Slot resources. @@ -14914,23 +14914,23 @@ export interface HealthcareServiceAvailableTime extends BackboneElement { /** * Is this always available? (hence times are irrelevant) e.g. 24 hour service. */ - allDay?: boolean; - _allDay?: Element; + allDay?: boolean|undefined; + _allDay?: Element|undefined; /** * The time zone is expected to be for where this HealthcareService is provided at. */ - availableEndTime?: string; - _availableEndTime?: Element; + availableEndTime?: string|undefined; + _availableEndTime?: Element|undefined; /** * The time zone is expected to be for where this HealthcareService is provided at. */ - availableStartTime?: string; - _availableStartTime?: Element; + availableStartTime?: string|undefined; + _availableStartTime?: Element|undefined; /** * Indicates which days of the week are available between the start and end Times. */ - daysOfWeek?: HealthcareServiceAvailableTimeDaysOfWeekCodes[]; - _daysOfWeek?: Element[]; + daysOfWeek?: HealthcareServiceAvailableTimeDaysOfWeekCodes[]|undefined; + _daysOfWeek?: Element[]|undefined; } /** * Code Values for the HealthcareService.availableTime.daysOfWeek field @@ -14952,11 +14952,11 @@ export interface HealthcareServiceNotAvailable extends BackboneElement { * The reason that can be presented to the user as to why this time is not available. */ description: string; - _description?: Element; + _description?: Element|undefined; /** * Service is not available (seasonally or for a public holiday) from this date. */ - during?: Period; + during?: Period|undefined; } /** * The details of a healthcare service available at a location. @@ -14967,105 +14967,105 @@ export interface HealthcareService extends DomainResource { /** * This element is labeled as a modifier because it may be used to mark that the resource was created in error. */ - active?: boolean; - _active?: Element; + active?: boolean|undefined; + _active?: Element|undefined; /** * Indicates whether or not a prospective consumer will require an appointment for a particular service at a site to be provided by the Organization. Indicates if an appointment is required for access to this service. */ - appointmentRequired?: boolean; - _appointmentRequired?: Element; + appointmentRequired?: boolean|undefined; + _appointmentRequired?: Element|undefined; /** * A description of site availability exceptions, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as details in the available Times and not available Times. */ - availabilityExceptions?: string; - _availabilityExceptions?: Element; + availabilityExceptions?: string|undefined; + _availabilityExceptions?: Element|undefined; /** * More detailed availability information may be provided in associated Schedule/Slot resources. */ - availableTime?: HealthcareServiceAvailableTime[]; + availableTime?: HealthcareServiceAvailableTime[]|undefined; /** * Selecting a Service Category then determines the list of relevant service types that can be selected in the primary service type. */ - category?: CodeableConcept[]; + category?: CodeableConcept[]|undefined; /** * These could be such things as is wheelchair accessible. */ - characteristic?: CodeableConcept[]; + characteristic?: CodeableConcept[]|undefined; /** * Would expect that a user would not see this information on a search results, and it would only be available when viewing the complete details of the service. */ - comment?: string; - _comment?: Element; + comment?: string|undefined; + _comment?: Element|undefined; /** * When using this property it indicates that the service is available with this language, it is not derived from the practitioners, and not all are required to use this language, just that this language is available while scheduling. */ - communication?: CodeableConcept[]; + communication?: CodeableConcept[]|undefined; /** * The locations referenced by the coverage area can include both specific locations, including areas, and also conceptual domains too (mode = kind), such as a physical area (tri-state area) and some other attribute (covered by Example Care Organization). These types of Locations are often not managed by any specific organization. This could also include generic locations such as "in-home". */ - coverageArea?: Reference[]; + coverageArea?: Reference[]|undefined; /** * Does this service have specific eligibility requirements that need to be met in order to use the service? */ - eligibility?: HealthcareServiceEligibility[]; + eligibility?: HealthcareServiceEligibility[]|undefined; /** * Technical endpoints providing access to services operated for the specific healthcare services defined at this resource. */ - endpoint?: Reference[]; + endpoint?: Reference[]|undefined; /** * Extra details about the service that can't be placed in the other fields. */ - extraDetails?: string; - _extraDetails?: Element; + extraDetails?: string|undefined; + _extraDetails?: Element|undefined; /** * External identifiers for this item. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The location(s) where this healthcare service may be provided. */ - location?: Reference[]; + location?: Reference[]|undefined; /** * Further description of the service as it would be presented to a consumer while searching. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * The HealthcareService is not available during this period of time due to the provided reason. */ - notAvailable?: HealthcareServiceNotAvailable[]; + notAvailable?: HealthcareServiceNotAvailable[]|undefined; /** * If there is a photo/symbol associated with this HealthcareService, it may be included here to facilitate quick identification of the service in a list. */ - photo?: Attachment; + photo?: Attachment|undefined; /** * Programs are often defined externally to an Organization, commonly by governments; e.g. Home and Community Care Programs, Homeless Program, …. */ - program?: CodeableConcept[]; + program?: CodeableConcept[]|undefined; /** * This property is recommended to be the same as the Location's managingOrganization, and if not provided should be interpreted as such. If the Location does not have a managing Organization, then this property should be populated. */ - providedBy?: Reference; + providedBy?: Reference|undefined; /** * Ways that the service accepts referrals, if this is not provided then it is implied that no referral is required. */ - referralMethod?: CodeableConcept[]; + referralMethod?: CodeableConcept[]|undefined; /** * The provision means being commissioned by, contractually obliged or financially sourced. Types of costings that may apply to this healthcare service, such if the service may be available for free, some discounts available, or fees apply. */ - serviceProvisionCode?: CodeableConcept[]; + serviceProvisionCode?: CodeableConcept[]|undefined; /** * Collection of specialties handled by the service site. This is more of a medical term. */ - specialty?: CodeableConcept[]; + specialty?: CodeableConcept[]|undefined; /** * If this is empty, then refer to the location's contacts. */ - telecom?: ContactPoint[]; + telecom?: ContactPoint[]|undefined; /** * The specific type of service that may be delivered or performed. */ - type?: CodeableConcept[]; + type?: CodeableConcept[]|undefined; } /** * If the person who performed the series is not known, their Organization may be recorded. A patient, or related person, may be the performer, e.g. for patient-captured images. @@ -15078,7 +15078,7 @@ export interface ImagingStudySeriesPerformer extends BackboneElement { /** * Distinguishes the type of involvement of the performer in the series. */ - function?: CodeableConcept; + function?: CodeableConcept|undefined; } /** * A single SOP instance within the series, e.g. an image, or presentation state. @@ -15087,7 +15087,7 @@ export interface ImagingStudySeriesInstance extends BackboneElement { /** * The number of instance in the series. */ - number?: number; + number?: number|undefined; /** * DICOM instance type. */ @@ -15095,13 +15095,13 @@ export interface ImagingStudySeriesInstance extends BackboneElement { /** * Particularly for post-acquisition analytic objects, such as SR, presentation states, value mapping, etc. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * See [DICOM PS3.3 C.12.1](http://dicom.nema.org/medical/dicom/current/output/chtml/part03/sect_C.12.html#sect_C.12.1). */ uid: string; - _uid?: Element; + _uid?: Element|undefined; } /** * Each study has one or more series of images or other content. @@ -15110,24 +15110,24 @@ export interface ImagingStudySeries extends BackboneElement { /** * The anatomic structures examined. See DICOM Part 16 Annex L (http://dicom.nema.org/medical/dicom/current/output/chtml/part16/chapter_L.html) for DICOM to SNOMED-CT mappings. The bodySite may indicate the laterality of body part imaged; if so, it shall be consistent with any content of ImagingStudy.series.laterality. */ - bodySite?: Coding; + bodySite?: Coding|undefined; /** * A description of the series. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Typical endpoint types include DICOM WADO-RS, which is used to retrieve DICOM instances in native or rendered (e.g., JPG, PNG) formats using a RESTful API; DICOM WADO-URI, which can similarly retrieve native or rendered instances, except using an HTTP query-based approach; and DICOM QIDO-RS, which allows RESTful query for DICOM information without retrieving the actual instances. */ - endpoint?: Reference[]; + endpoint?: Reference[]|undefined; /** * A single SOP instance within the series, e.g. an image, or presentation state. */ - instance?: ImagingStudySeriesInstance[]; + instance?: ImagingStudySeriesInstance[]|undefined; /** * The laterality of the (possibly paired) anatomic structures examined. E.g., the left knee, both lungs, or unpaired abdomen. If present, shall be consistent with any laterality information indicated in ImagingStudy.series.bodySite. */ - laterality?: Coding; + laterality?: Coding|undefined; /** * The modality of this series sequence. */ @@ -15135,29 +15135,29 @@ export interface ImagingStudySeries extends BackboneElement { /** * The numeric identifier of this series in the study. */ - number?: number; + number?: number|undefined; /** * Number of SOP Instances in the Study. The value given may be larger than the number of instance elements this resource contains due to resource availability, security, or other factors. This element should be present if any instance elements are present. */ - numberOfInstances?: number; + numberOfInstances?: number|undefined; /** * If the person who performed the series is not known, their Organization may be recorded. A patient, or related person, may be the performer, e.g. for patient-captured images. */ - performer?: ImagingStudySeriesPerformer[]; + performer?: ImagingStudySeriesPerformer[]|undefined; /** * The specimen imaged, e.g., for whole slide imaging of a biopsy. */ - specimen?: Reference[]; + specimen?: Reference[]|undefined; /** * The date and time the series was started. */ - started?: string; - _started?: Element; + started?: string|undefined; + _started?: Element|undefined; /** * See [DICOM PS3.3 C.7.3](http://dicom.nema.org/medical/dicom/current/output/chtml/part03/sect_C.7.3.html). */ uid: string; - _uid?: Element; + _uid?: Element|undefined; } /** * Representation of the content produced in a DICOM imaging study. A study comprises a set of series, each of which includes a set of Service-Object Pair Instances (SOP Instances - images or other data) acquired or produced in a common context. A series is of only one modality (e.g. X-ray, CT, MR, ultrasound), but a study may have multiple series of different modalities. @@ -15168,82 +15168,82 @@ export interface ImagingStudy extends DomainResource { /** * A list of the diagnostic requests that resulted in this imaging study being performed. */ - basedOn?: Reference[]; + basedOn?: Reference[]|undefined; /** * The Imaging Manager description of the study. Institution-generated description or classification of the Study (component) performed. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * This will typically be the encounter the event occurred within, but some events may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter (e.g. pre-admission test). */ - encounter?: Reference; + encounter?: Reference|undefined; /** * Typical endpoint types include DICOM WADO-RS, which is used to retrieve DICOM instances in native or rendered (e.g., JPG, PNG), formats using a RESTful API; DICOM WADO-URI, which can similarly retrieve native or rendered instances, except using an HTTP query-based approach; DICOM QIDO-RS, which allows RESTful query for DICOM information without retrieving the actual instances; or IHE Invoke Image Display (IID), which provides standard invocation of an imaging web viewer. */ - endpoint?: Reference[]; + endpoint?: Reference[]|undefined; /** * See discussion under [Imaging Study Implementation Notes](imagingstudy.html#notes) for encoding of DICOM Study Instance UID. Accession Number should use ACSN Identifier type. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Who read the study and interpreted the images or other content. */ - interpreter?: Reference[]; + interpreter?: Reference[]|undefined; /** * The principal physical location where the ImagingStudy was performed. */ - location?: Reference; + location?: Reference|undefined; /** * A list of all the series.modality values that are actual acquisition modalities, i.e. those in the DICOM Context Group 29 (value set OID 1.2.840.10008.6.1.19). */ - modality?: Coding[]; + modality?: Coding[]|undefined; /** * Per the recommended DICOM mapping, this element is derived from the Study Description attribute (0008,1030). Observations or findings about the imaging study should be recorded in another resource, e.g. Observation, and not in this element. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * Number of SOP Instances in Study. This value given may be larger than the number of instance elements this resource contains due to resource availability, security, or other factors. This element should be present if any instance elements are present. */ - numberOfInstances?: number; + numberOfInstances?: number|undefined; /** * Number of Series in the Study. This value given may be larger than the number of series elements this Resource contains due to resource availability, security, or other factors. This element should be present if any series elements are present. */ - numberOfSeries?: number; + numberOfSeries?: number|undefined; /** * The code for the performed procedure type. */ - procedureCode?: CodeableConcept[]; + procedureCode?: CodeableConcept[]|undefined; /** * The procedure which this ImagingStudy was part of. */ - procedureReference?: Reference; + procedureReference?: Reference|undefined; /** * Description of clinical condition indicating why the ImagingStudy was requested. */ - reasonCode?: CodeableConcept[]; + reasonCode?: CodeableConcept[]|undefined; /** * Indicates another resource whose existence justifies this Study. */ - reasonReference?: Reference[]; + reasonReference?: Reference[]|undefined; /** * The requesting/referring physician. */ - referrer?: Reference; + referrer?: Reference|undefined; /** * Each study has one or more series of images or other content. */ - series?: ImagingStudySeries[]; + series?: ImagingStudySeries[]|undefined; /** * Date and time the study started. */ - started?: string; - _started?: Element; + started?: string|undefined; + _started?: Element|undefined; /** * Unknown does not represent "other" - one of the defined statuses must apply. Unknown is used when the authoring system is not sure what the current status is. */ status: ImagingStudyStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * QA phantoms can be recorded with a Device; multiple subjects (such as mice) can be recorded with a Group. */ @@ -15270,7 +15270,7 @@ export interface ImmunizationPerformer extends BackboneElement { /** * Describes the type of performance (e.g. ordering provider, administering provider, etc.). */ - function?: CodeableConcept; + function?: CodeableConcept|undefined; } /** * Educational material presented to the patient (or guardian) at the time of vaccine administration. @@ -15279,23 +15279,23 @@ export interface ImmunizationEducation extends BackboneElement { /** * Identifier of the material presented to the patient. */ - documentType?: string; - _documentType?: Element; + documentType?: string|undefined; + _documentType?: Element|undefined; /** * Date the educational material was given to the patient. */ - presentationDate?: string; - _presentationDate?: Element; + presentationDate?: string|undefined; + _presentationDate?: Element|undefined; /** * Date the educational material was published. */ - publicationDate?: string; - _publicationDate?: Element; + publicationDate?: string|undefined; + _publicationDate?: Element|undefined; /** * Reference pointer to the educational material given to the patient if the information was on line. */ - reference?: string; - _reference?: Element; + reference?: string|undefined; + _reference?: Element|undefined; } /** * A reaction may be an indication of an allergy or intolerance and, if this is determined to be the case, it should be recorded as a new AllergyIntolerance resource instance as most systems will not query against past Immunization.reaction elements. @@ -15304,17 +15304,17 @@ export interface ImmunizationReaction extends BackboneElement { /** * Date of reaction to the immunization. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * Details of the reaction. */ - detail?: Reference; + detail?: Reference|undefined; /** * Self-reported indicator. */ - reported?: boolean; - _reported?: Element; + reported?: boolean|undefined; + _reported?: Element|undefined; } /** * The protocol (set of recommendations) being followed by the provider who administered the dose. @@ -15323,34 +15323,34 @@ export interface ImmunizationProtocolApplied extends BackboneElement { /** * Indicates the authority who published the protocol (e.g. ACIP) that is being followed. */ - authority?: Reference; + authority?: Reference|undefined; /** * The use of an integer is preferred if known. A string should only be used in cases where an integer is not available (such as when documenting a recurring booster dose). */ - doseNumberPositiveInt?: number; + doseNumberPositiveInt?: number|undefined; /** * The use of an integer is preferred if known. A string should only be used in cases where an integer is not available (such as when documenting a recurring booster dose). */ - doseNumberString?: string; - _doseNumberString?: Element; + doseNumberString?: string|undefined; + _doseNumberString?: Element|undefined; /** * One possible path to achieve presumed immunity against a disease - within the context of an authority. */ - series?: string; - _series?: Element; + series?: string|undefined; + _series?: Element|undefined; /** * The use of an integer is preferred if known. A string should only be used in cases where an integer is not available (such as when documenting a recurring booster dose). */ - seriesDosesPositiveInt?: number; + seriesDosesPositiveInt?: number|undefined; /** * The use of an integer is preferred if known. A string should only be used in cases where an integer is not available (such as when documenting a recurring booster dose). */ - seriesDosesString?: string; - _seriesDosesString?: Element; + seriesDosesString?: string|undefined; + _seriesDosesString?: Element|undefined; /** * The vaccine preventable disease the dose is being administered against. */ - targetDisease?: CodeableConcept[]; + targetDisease?: CodeableConcept[]|undefined; } /** * Describes the event of a patient being administered a vaccine or a record of an immunization as reported by a patient, a clinician or another party. @@ -15361,60 +15361,60 @@ export interface Immunization extends DomainResource { /** * The quantity of vaccine product that was administered. */ - doseQuantity?: Quantity; + doseQuantity?: Quantity|undefined; /** * Educational material presented to the patient (or guardian) at the time of vaccine administration. */ - education?: ImmunizationEducation[]; + education?: ImmunizationEducation[]|undefined; /** * The visit or admission or other contact between patient and health care provider the immunization was performed as part of. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * Date vaccine batch expires. */ - expirationDate?: string; - _expirationDate?: Element; + expirationDate?: string|undefined; + _expirationDate?: Element|undefined; /** * Indicates the source of the vaccine actually administered. This may be different than the patient eligibility (e.g. the patient may be eligible for a publically purchased vaccine but due to inventory issues, vaccine purchased with private funds was actually administered). */ - fundingSource?: CodeableConcept; + fundingSource?: CodeableConcept|undefined; /** * A unique identifier assigned to this immunization record. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Typically, the recognition of the dose being sub-potent is retrospective, after the administration (ex. notification of a manufacturer recall after administration). However, in the case of a partial administration (the patient moves unexpectedly and only some of the dose is actually administered), subpotency may be recognized immediately, but it is still important to record the event. */ - isSubpotent?: boolean; - _isSubpotent?: Element; + isSubpotent?: boolean|undefined; + _isSubpotent?: Element|undefined; /** * The service delivery location where the vaccine administration occurred. */ - location?: Reference; + location?: Reference|undefined; /** * Lot number of the vaccine product. */ - lotNumber?: string; - _lotNumber?: Element; + lotNumber?: string|undefined; + _lotNumber?: Element|undefined; /** * Name of vaccine manufacturer. */ - manufacturer?: Reference; + manufacturer?: Reference|undefined; /** * Extra information about the immunization that is not conveyed by the other attributes. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * When immunizations are given a specific date and time should always be known. When immunizations are patient reported, a specific date might not be known. Although partial dates are allowed, an adult patient might not be able to recall the year a childhood immunization was given. An exact date is always preferable, but the use of the String data type is acceptable when an exact date is not known. A small number of vaccines (e.g. live oral typhoid vaccine) are given as a series of patient self-administered dose over a span of time. In cases like this, often, only the first dose (typically a provider supervised dose) is recorded with the occurrence indicating the date/time of the first dose. */ - occurrenceDateTime?: string; - _occurrenceDateTime?: Element; + occurrenceDateTime?: string|undefined; + _occurrenceDateTime?: Element|undefined; /** * When immunizations are given a specific date and time should always be known. When immunizations are patient reported, a specific date might not be known. Although partial dates are allowed, an adult patient might not be able to recall the year a childhood immunization was given. An exact date is always preferable, but the use of the String data type is acceptable when an exact date is not known. A small number of vaccines (e.g. live oral typhoid vaccine) are given as a series of patient self-administered dose over a span of time. In cases like this, often, only the first dose (typically a provider supervised dose) is recorded with the occurrence indicating the date/time of the first dose. */ - occurrenceString?: string; - _occurrenceString?: Element; + occurrenceString?: string|undefined; + _occurrenceString?: Element|undefined; /** * The patient who either received or did not receive the immunization. */ @@ -15422,62 +15422,62 @@ export interface Immunization extends DomainResource { /** * Indicates who performed the immunization event. */ - performer?: ImmunizationPerformer[]; + performer?: ImmunizationPerformer[]|undefined; /** * Reflects the “reliability” of the content. */ - primarySource?: boolean; - _primarySource?: Element; + primarySource?: boolean|undefined; + _primarySource?: Element|undefined; /** * Indicates a patient's eligibility for a funding program. */ - programEligibility?: CodeableConcept[]; + programEligibility?: CodeableConcept[]|undefined; /** * The protocol (set of recommendations) being followed by the provider who administered the dose. */ - protocolApplied?: ImmunizationProtocolApplied[]; + protocolApplied?: ImmunizationProtocolApplied[]|undefined; /** * A reaction may be an indication of an allergy or intolerance and, if this is determined to be the case, it should be recorded as a new AllergyIntolerance resource instance as most systems will not query against past Immunization.reaction elements. */ - reaction?: ImmunizationReaction[]; + reaction?: ImmunizationReaction[]|undefined; /** * Reasons why the vaccine was administered. */ - reasonCode?: CodeableConcept[]; + reasonCode?: CodeableConcept[]|undefined; /** * Condition, Observation or DiagnosticReport that supports why the immunization was administered. */ - reasonReference?: Reference[]; + reasonReference?: Reference[]|undefined; /** * The date the occurrence of the immunization was first captured in the record - potentially significantly after the occurrence of the event. */ - recorded?: string; - _recorded?: Element; + recorded?: string|undefined; + _recorded?: Element|undefined; /** * Should not be populated if primarySource = True, not required even if primarySource = False. */ - reportOrigin?: CodeableConcept; + reportOrigin?: CodeableConcept|undefined; /** * The path by which the vaccine product is taken into the body. */ - route?: CodeableConcept; + route?: CodeableConcept|undefined; /** * Body site where vaccine was administered. */ - site?: CodeableConcept; + site?: CodeableConcept|undefined; /** * Will generally be set to show that the immunization has been completed or not done. This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: ImmunizationStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * This is generally only used for the status of "not-done". The reason for performing the immunization event is captured in reasonCode, not here. */ - statusReason?: CodeableConcept; + statusReason?: CodeableConcept|undefined; /** * Reason why a dose is considered to be subpotent. */ - subpotentReason?: CodeableConcept[]; + subpotentReason?: CodeableConcept[]|undefined; /** * Vaccine that was administered or was to be administered. */ @@ -15500,26 +15500,26 @@ export interface ImmunizationEvaluation extends DomainResource { /** * Indicates the authority who published the protocol (e.g. ACIP). */ - authority?: Reference; + authority?: Reference|undefined; /** * The date the evaluation of the vaccine administration event was performed. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * Additional information about the evaluation. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * The use of an integer is preferred if known. A string should only be used in cases where an integer is not available (such as when documenting a recurring booster dose). */ - doseNumberPositiveInt?: number; + doseNumberPositiveInt?: number|undefined; /** * The use of an integer is preferred if known. A string should only be used in cases where an integer is not available (such as when documenting a recurring booster dose). */ - doseNumberString?: string; - _doseNumberString?: Element; + doseNumberString?: string|undefined; + _doseNumberString?: Element|undefined; /** * Indicates if the dose is valid or not valid with respect to the published recommendations. */ @@ -15527,11 +15527,11 @@ export interface ImmunizationEvaluation extends DomainResource { /** * Provides an explanation as to why the vaccine administration event is valid or not relative to the published recommendations. */ - doseStatusReason?: CodeableConcept[]; + doseStatusReason?: CodeableConcept[]|undefined; /** * A unique identifier assigned to this immunization evaluation record. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The vaccine administration event being evaluated. */ @@ -15543,22 +15543,22 @@ export interface ImmunizationEvaluation extends DomainResource { /** * One possible path to achieve presumed immunity against a disease - within the context of an authority. */ - series?: string; - _series?: Element; + series?: string|undefined; + _series?: Element|undefined; /** * The use of an integer is preferred if known. A string should only be used in cases where an integer is not available (such as when documenting a recurring booster dose). */ - seriesDosesPositiveInt?: number; + seriesDosesPositiveInt?: number|undefined; /** * The use of an integer is preferred if known. A string should only be used in cases where an integer is not available (such as when documenting a recurring booster dose). */ - seriesDosesString?: string; - _seriesDosesString?: Element; + seriesDosesString?: string|undefined; + _seriesDosesString?: Element|undefined; /** * Indicates the current status of the evaluation of the vaccination administration event. */ status: ImmunizationEvaluationStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * The vaccine preventable disease the dose is being evaluated against. */ @@ -15583,7 +15583,7 @@ export interface ImmunizationRecommendationRecommendationDateCriterion extends B * The date whose meaning is specified by dateCriterion.code. */ value: string; - _value?: Element; + _value?: Element|undefined; } /** * Vaccine administration recommendations. @@ -15592,29 +15592,29 @@ export interface ImmunizationRecommendationRecommendation extends BackboneElemen /** * Vaccine(s) which should not be used to fulfill the recommendation. */ - contraindicatedVaccineCode?: CodeableConcept[]; + contraindicatedVaccineCode?: CodeableConcept[]|undefined; /** * Vaccine date recommendations. For example, earliest date to administer, latest date to administer, etc. */ - dateCriterion?: ImmunizationRecommendationRecommendationDateCriterion[]; + dateCriterion?: ImmunizationRecommendationRecommendationDateCriterion[]|undefined; /** * Contains the description about the protocol under which the vaccine was administered. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * The use of an integer is prefered if known. A string should only be used in cases where an interger is not available (such as when documenting a recurring booster dose). */ - doseNumberPositiveInt?: number; + doseNumberPositiveInt?: number|undefined; /** * The use of an integer is prefered if known. A string should only be used in cases where an interger is not available (such as when documenting a recurring booster dose). */ - doseNumberString?: string; - _doseNumberString?: Element; + doseNumberString?: string|undefined; + _doseNumberString?: Element|undefined; /** * The reason for the assigned forecast status. */ - forecastReason?: CodeableConcept[]; + forecastReason?: CodeableConcept[]|undefined; /** * Indicates the patient status with respect to the path to immunity for the target disease. */ @@ -15622,33 +15622,33 @@ export interface ImmunizationRecommendationRecommendation extends BackboneElemen /** * One possible path to achieve presumed immunity against a disease - within the context of an authority. */ - series?: string; - _series?: Element; + series?: string|undefined; + _series?: Element|undefined; /** * The use of an integer is prefered if known. A string should only be used in cases where an interger is not available (such as when documenting a recurring booster dose). */ - seriesDosesPositiveInt?: number; + seriesDosesPositiveInt?: number|undefined; /** * The use of an integer is prefered if known. A string should only be used in cases where an interger is not available (such as when documenting a recurring booster dose). */ - seriesDosesString?: string; - _seriesDosesString?: Element; + seriesDosesString?: string|undefined; + _seriesDosesString?: Element|undefined; /** * Immunization event history and/or evaluation that supports the status and recommendation. */ - supportingImmunization?: Reference[]; + supportingImmunization?: Reference[]|undefined; /** * Patient Information that supports the status and recommendation. This includes patient observations, adverse reactions and allergy/intolerance information. */ - supportingPatientInformation?: Reference[]; + supportingPatientInformation?: Reference[]|undefined; /** * The targeted disease for the recommendation. */ - targetDisease?: CodeableConcept; + targetDisease?: CodeableConcept|undefined; /** * Vaccine(s) or vaccine group that pertain to the recommendation. */ - vaccineCode?: CodeableConcept[]; + vaccineCode?: CodeableConcept[]|undefined; } /** * A patient's point-in-time set of recommendations (i.e. forecasting) according to a published schedule with optional supporting justification. @@ -15659,16 +15659,16 @@ export interface ImmunizationRecommendation extends DomainResource { /** * Indicates the authority who published the protocol (e.g. ACIP). */ - authority?: Reference; + authority?: Reference|undefined; /** * The date the immunization recommendation(s) were created. */ date: string; - _date?: Element; + _date?: Element|undefined; /** * A unique identifier assigned to this particular recommendation record. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The patient the recommendation(s) are for. */ @@ -15685,18 +15685,18 @@ export interface ImplementationGuideDependsOn extends BackboneElement { /** * The NPM package name for the Implementation Guide that this IG depends on. */ - packageId?: string; - _packageId?: Element; + packageId?: string|undefined; + _packageId?: Element|undefined; /** * Usually, A canonical reference to the implementation guide is the same as the master location at which the implementation guide is published. */ uri: string; - _uri?: Element; + _uri?: Element|undefined; /** * This follows the syntax of the NPM packaging version field - see [[reference]]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * See [Default Profiles](implementationguide.html#default) for a discussion of which resources are 'covered' by an implementation guide. @@ -15706,12 +15706,12 @@ export interface ImplementationGuideGlobal extends BackboneElement { * A reference to the profile that all instances must conform to. */ profile: string; - _profile?: Element; + _profile?: Element|undefined; /** * The type must match that of the profile that is referred to but is made explicit here as a denormalization so that a system processing the implementation guide resource knows which resources the profile applies to even if the profile itself is not available. */ type: string; - _type?: Element; + _type?: Element|undefined; } /** * Groupings are arbitrary sub-divisions of content. Typically, they are used to help build Table of Contents automatically. @@ -15720,13 +15720,13 @@ export interface ImplementationGuideDefinitionGrouping extends BackboneElement { /** * Human readable text describing the package. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * The human-readable title to display for the package of resources when rendering the implementation guide. */ name: string; - _name?: Element; + _name?: Element|undefined; } /** * A resource that is part of the implementation guide. Conformance resources (value set, structure definition, capability statements etc.) are obvious candidates for inclusion, but any kind of resource can be included as an example resource. @@ -15735,8 +15735,8 @@ export interface ImplementationGuideDefinitionResource extends BackboneElement { /** * This is mostly used with examples to explain why it is present (though they can have extensive comments in the examples). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Examples: * * StructureDefinition -> Any @@ -15744,8 +15744,8 @@ export interface ImplementationGuideDefinitionResource extends BackboneElement { * * OperationDefinition -> Parameters * * Questionnaire -> QuestionnaireResponse. */ - exampleBoolean?: boolean; - _exampleBoolean?: Element; + exampleBoolean?: boolean|undefined; + _exampleBoolean?: Element|undefined; /** * Examples: * * StructureDefinition -> Any @@ -15753,23 +15753,23 @@ export interface ImplementationGuideDefinitionResource extends BackboneElement { * * OperationDefinition -> Parameters * * Questionnaire -> QuestionnaireResponse. */ - exampleCanonical?: string; - _exampleCanonical?: Element; + exampleCanonical?: string|undefined; + _exampleCanonical?: Element|undefined; /** * The resource SHALL be valid against all the versions it is specified to apply to. If the resource referred to is a StructureDefinition, the fhirVersion stated in the StructureDefinition cannot disagree with the version specified here; the specified versions SHALL include the version specified by the StructureDefinition, and may include additional versions using the [applicable-version](extension-structuredefinition-applicable-version.html) extension. */ - fhirVersion?: string[]; - _fhirVersion?: Element[]; + fhirVersion?: string[]|undefined; + _fhirVersion?: Element[]|undefined; /** * This must correspond to a package.id element within this implementation guide. */ - groupingId?: string; - _groupingId?: Element; + groupingId?: string|undefined; + _groupingId?: Element|undefined; /** * A human assigned name for the resource. All resources SHOULD have a name, but the name may be extracted from the resource (e.g. ValueSet.name). */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Usually this is a relative URL that locates the resource within the implementation guide. If you authoring an implementation guide, and will publish it using the FHIR publication tooling, use a URI that may point to a resource, or to one of various alternative representations (e.g. spreadsheet). The tooling will convert this when it publishes it. */ @@ -15783,25 +15783,25 @@ export interface ImplementationGuideDefinitionPage extends BackboneElement { * A code that indicates how the page is generated. */ generation: ImplementationGuideDefinitionPageGenerationCodes; - _generation?: Element; + _generation?: Element|undefined; /** * The publishing tool will autogenerate source for list (source = n/a) and inject included implementations for include (source = uri of guide to include). */ - nameUrl?: string; - _nameUrl?: Element; + nameUrl?: string|undefined; + _nameUrl?: Element|undefined; /** * The publishing tool will autogenerate source for list (source = n/a) and inject included implementations for include (source = uri of guide to include). */ - nameReference?: Reference; + nameReference?: Reference|undefined; /** * The implementation guide breadcrumbs are generated from this structure. */ - page?: ImplementationGuideDefinitionPage[]; + page?: ImplementationGuideDefinitionPage[]|undefined; /** * A short title used to represent this page in navigational structures such as table of contents, bread crumbs, etc. */ title: string; - _title?: Element; + _title?: Element|undefined; } /** * Code Values for the ImplementationGuide.definition.page.generation field @@ -15820,12 +15820,12 @@ export interface ImplementationGuideDefinitionParameter extends BackboneElement * apply | path-resource | path-pages | path-tx-cache | expansion-parameter | rule-broken-links | generate-xml | generate-json | generate-turtle | html-template. */ code: ImplementationGuideDefinitionParameterCodeCodes; - _code?: Element; + _code?: Element|undefined; /** * Value for named type. */ value: string; - _value?: Element; + _value?: Element|undefined; } /** * Code Values for the ImplementationGuide.definition.parameter.code field @@ -15850,17 +15850,17 @@ export interface ImplementationGuideDefinitionTemplate extends BackboneElement { * Type of template specified. */ code: string; - _code?: Element; + _code?: Element|undefined; /** * The scope in which the template applies. */ - scope?: string; - _scope?: Element; + scope?: string|undefined; + _scope?: Element|undefined; /** * The source location for the template. */ source: string; - _source?: Element; + _source?: Element|undefined; } /** * Principally, this consists of information abuot source resource and file locations, and build parameters and templates. @@ -15869,15 +15869,15 @@ export interface ImplementationGuideDefinition extends BackboneElement { /** * Groupings are arbitrary sub-divisions of content. Typically, they are used to help build Table of Contents automatically. */ - grouping?: ImplementationGuideDefinitionGrouping[]; + grouping?: ImplementationGuideDefinitionGrouping[]|undefined; /** * Pages automatically become sections if they have sub-pages. By convention, the home page is called index.html. */ - page?: ImplementationGuideDefinitionPage; + page?: ImplementationGuideDefinitionPage|undefined; /** * Defines how IG is built by tools. */ - parameter?: ImplementationGuideDefinitionParameter[]; + parameter?: ImplementationGuideDefinitionParameter[]|undefined; /** * A resource that is part of the implementation guide. Conformance resources (value set, structure definition, capability statements etc.) are obvious candidates for inclusion, but any kind of resource can be included as an example resource. */ @@ -15885,7 +15885,7 @@ export interface ImplementationGuideDefinition extends BackboneElement { /** * A template for building resources. */ - template?: ImplementationGuideDefinitionTemplate[]; + template?: ImplementationGuideDefinitionTemplate[]|undefined; } /** * A resource that is part of the implementation guide. Conformance resources (value set, structure definition, capability statements etc.) are obvious candidates for inclusion, but any kind of resource can be included as an example resource. @@ -15894,13 +15894,13 @@ export interface ImplementationGuideManifestResource extends BackboneElement { /** * Typically, conformance resources and knowledge resources are directly part of the implementation guide, with their normal meaning, and patient linked resources are usually examples. However this is not always true. */ - exampleBoolean?: boolean; - _exampleBoolean?: Element; + exampleBoolean?: boolean|undefined; + _exampleBoolean?: Element|undefined; /** * Typically, conformance resources and knowledge resources are directly part of the implementation guide, with their normal meaning, and patient linked resources are usually examples. However this is not always true. */ - exampleCanonical?: string; - _exampleCanonical?: Element; + exampleCanonical?: string|undefined; + _exampleCanonical?: Element|undefined; /** * Usually this is a relative URL that locates the resource within the implementation guide. If you authoring an implementation guide, and will publish it using the FHIR publication tooling, use a URI that may point to a resource, or to one of various alternative representations (e.g. spreadsheet). The tooling will convert this when it publishes it. */ @@ -15908,8 +15908,8 @@ export interface ImplementationGuideManifestResource extends BackboneElement { /** * Appending 'rendering' + "/" + this should resolve to the resource page. */ - relativePath?: string; - _relativePath?: Element; + relativePath?: string|undefined; + _relativePath?: Element|undefined; } /** * Information about a page within the IG. @@ -15918,18 +15918,18 @@ export interface ImplementationGuideManifestPage extends BackboneElement { /** * Appending 'rendering' + "/" + page.name + "#" + page.anchor should resolve to the anchor. */ - anchor?: string[]; - _anchor?: Element[]; + anchor?: string[]|undefined; + _anchor?: Element[]|undefined; /** * Appending 'rendering' + "/" + this should resolve to the page. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * Label for the page intended for human display. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; } /** * Information about an assembled implementation guide, created by the publication tooling. @@ -15938,22 +15938,22 @@ export interface ImplementationGuideManifest extends BackboneElement { /** * Indicates a relative path to an image that exists within the IG. */ - image?: string[]; - _image?: Element[]; + image?: string[]|undefined; + _image?: Element[]|undefined; /** * Indicates the relative path of an additional non-page, non-image file that is part of the IG - e.g. zip, jar and similar files that could be the target of a hyperlink in a derived IG. */ - other?: string[]; - _other?: Element[]; + other?: string[]|undefined; + _other?: Element[]|undefined; /** * Information about a page within the IG. */ - page?: ImplementationGuideManifestPage[]; + page?: ImplementationGuideManifestPage[]|undefined; /** * A pointer to official web page, PDF or other rendering of the implementation guide. */ - rendering?: string; - _rendering?: Element; + rendering?: string|undefined; + _rendering?: Element|undefined; /** * A resource that is part of the implementation guide. Conformance resources (value set, structure definition, capability statements etc.) are obvious candidates for inclusion, but any kind of resource can be included as an example resource. */ @@ -15968,98 +15968,98 @@ export interface ImplementationGuide extends DomainResource { /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * A copyright statement relating to the implementation guide and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the implementation guide. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the implementation guide. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * Principally, this consists of information abuot source resource and file locations, and build parameters and templates. */ - definition?: ImplementationGuideDefinition; + definition?: ImplementationGuideDefinition|undefined; /** * Another implementation guide that this implementation depends on. Typically, an implementation guide uses value sets, profiles etc.defined in other implementation guides. */ - dependsOn?: ImplementationGuideDependsOn[]; + dependsOn?: ImplementationGuideDependsOn[]|undefined; /** * This description can be used to capture details such as why the implementation guide was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the implementation guide as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the implementation guide is presumed to be the predominant language in the place the implementation guide was created). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Allows filtering of implementation guides that are appropriate for use versus not. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * Most implementation guides target a single version - e.g. they describe how to use a particular version, and the profiles and examples etc are valid for that version. But some implementation guides describe how to use multiple different versions of FHIR to solve the same problem, or in concert with each other. Typically, the requirement to support multiple versions arises as implementation matures and different implementation communities are stuck at different versions by regulation or market dynamics. */ fhirVersion: string[]; - _fhirVersion?: Element[]; + _fhirVersion?: Element[]|undefined; /** * See [Default Profiles](implementationguide.html#default) for a discussion of which resources are 'covered' by an implementation guide. */ - global?: ImplementationGuideGlobal[]; + global?: ImplementationGuideGlobal[]|undefined; /** * It may be possible for the implementation guide to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * The license that applies to this Implementation Guide, using an SPDX license code, or 'not-open-source'. */ - license?: string; - _license?: Element; + license?: string|undefined; + _license?: Element|undefined; /** * Information about an assembled implementation guide, created by the publication tooling. */ - manifest?: ImplementationGuideManifest; + manifest?: ImplementationGuideManifest|undefined; /** * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * Many (if not all) IG publishing tools will require that this element be present. For implementation guides published through HL7 or the FHIR foundation, the FHIR product director assigns package IDs. */ packageId: string; - _packageId?: Element; + _packageId?: Element|undefined; /** * Usually an organization but may be an individual. The publisher (or steward) of the implementation guide is the organization or individual primarily responsible for the maintenance and upkeep of the implementation guide. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the implementation guide. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * Allows filtering of implementation guides that are appropriate for use versus not. */ status: ImplementationGuideStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. */ url: string; - _url?: Element; + _url?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different implementation guide instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the implementation guide with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the ImplementationGuide.status field @@ -16077,19 +16077,19 @@ export interface InsurancePlanContact extends BackboneElement { /** * Visiting or postal addresses for the contact. */ - address?: Address; + address?: Address|undefined; /** * A name associated with the contact. */ - name?: HumanName; + name?: HumanName|undefined; /** * Indicates a purpose for which the contact can be reached. */ - purpose?: CodeableConcept; + purpose?: CodeableConcept|undefined; /** * A contact detail (e.g. a telephone number or an email address) by which the party may be contacted. */ - telecom?: ContactPoint[]; + telecom?: ContactPoint[]|undefined; } /** * The specific limits on the benefit. @@ -16098,11 +16098,11 @@ export interface InsurancePlanCoverageBenefitLimit extends BackboneElement { /** * Use `CodeableConcept.text` element if the data is free (uncoded) text. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * May also be called “eligible expense,” “payment allowance,” or “negotiated rate.”. */ - value?: Quantity; + value?: Quantity|undefined; } /** * Specific benefits under this type of coverage. @@ -16111,12 +16111,12 @@ export interface InsurancePlanCoverageBenefit extends BackboneElement { /** * The specific limits on the benefit. */ - limit?: InsurancePlanCoverageBenefitLimit[]; + limit?: InsurancePlanCoverageBenefitLimit[]|undefined; /** * The referral requirements to have access/coverage for this benefit. */ - requirement?: string; - _requirement?: Element; + requirement?: string|undefined; + _requirement?: Element|undefined; /** * Type of benefit (primary care; speciality care; inpatient; outpatient). */ @@ -16133,7 +16133,7 @@ export interface InsurancePlanCoverage extends BackboneElement { /** * Networks are represented as a hierarchy of organization resources. */ - network?: Reference[]; + network?: Reference[]|undefined; /** * Type of coverage (Medical; Dental; Mental Health; Substance Abuse; Vision; Drug; Short Term; Long Term Care; Hospice; Home Health). */ @@ -16146,20 +16146,20 @@ export interface InsurancePlanPlanGeneralCost extends BackboneElement { /** * Additional information about the general costs associated with this plan. */ - comment?: string; - _comment?: Element; + comment?: string|undefined; + _comment?: Element|undefined; /** * Value of the cost. */ - cost?: Money; + cost?: Money|undefined; /** * Number of participants enrolled in the plan. */ - groupSize?: number; + groupSize?: number|undefined; /** * Type of cost. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * List of the costs associated with a specific benefit. @@ -16168,11 +16168,11 @@ export interface InsurancePlanPlanSpecificCostBenefitCost extends BackboneElemen /** * Whether the cost applies to in-network or out-of-network providers (in-network; out-of-network; other). */ - applicability?: CodeableConcept; + applicability?: CodeableConcept|undefined; /** * Additional information about the cost, such as information about funding sources (e.g. HSA, HRA, FSA, RRA). */ - qualifiers?: CodeableConcept[]; + qualifiers?: CodeableConcept[]|undefined; /** * Type of cost (copay; individual cap; family cap; coinsurance; deductible). */ @@ -16180,7 +16180,7 @@ export interface InsurancePlanPlanSpecificCostBenefitCost extends BackboneElemen /** * The actual cost value. (some of the costs may be represented as percentages rather than currency, e.g. 10% coinsurance). */ - value?: Quantity; + value?: Quantity|undefined; } /** * List of the specific benefits under this category of benefit. @@ -16189,7 +16189,7 @@ export interface InsurancePlanPlanSpecificCostBenefit extends BackboneElement { /** * List of the costs associated with a specific benefit. */ - cost?: InsurancePlanPlanSpecificCostBenefitCost[]; + cost?: InsurancePlanPlanSpecificCostBenefitCost[]|undefined; /** * Type of specific benefit (preventative; primary care office visit; speciality office visit; hospitalization; emergency room; urgent care). */ @@ -16202,7 +16202,7 @@ export interface InsurancePlanPlanSpecificCost extends BackboneElement { /** * List of the specific benefits under this category of benefit. */ - benefit?: InsurancePlanPlanSpecificCostBenefit[]; + benefit?: InsurancePlanPlanSpecificCostBenefit[]|undefined; /** * General category of benefit (Medical; Dental; Vision; Drug; Mental Health; Substance Abuse; Hospice, Home Health). */ @@ -16215,27 +16215,27 @@ export interface InsurancePlanPlan extends BackboneElement { /** * The geographic region in which a health insurance plan's benefits apply. */ - coverageArea?: Reference[]; + coverageArea?: Reference[]|undefined; /** * Overall costs associated with the plan. */ - generalCost?: InsurancePlanPlanGeneralCost[]; + generalCost?: InsurancePlanPlanGeneralCost[]|undefined; /** * Business identifiers assigned to this health insurance plan which remain constant as the resource is updated and propagates from server to server. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Networks are represented as a hierarchy of organization resources. */ - network?: Reference[]; + network?: Reference[]|undefined; /** * Costs associated with the coverage provided by the product. */ - specificCost?: InsurancePlanPlanSpecificCost[]; + specificCost?: InsurancePlanPlanSpecificCost[]|undefined; /** * Type of plan. For example, "Platinum" or "High Deductable". */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Details of a Health Insurance product/plan provided by an organization. @@ -16246,62 +16246,62 @@ export interface InsurancePlan extends DomainResource { /** * An organization which administer other services such as underwriting, customer service and/or claims processing on behalf of the health insurance product owner. */ - administeredBy?: Reference; + administeredBy?: Reference|undefined; /** * There are no dates associated with the alias/historic names, as this is not intended to track when names were used, but to assist in searching so that older names can still result in identifying the product/plan. */ - alias?: string[]; - _alias?: Element[]; + alias?: string[]|undefined; + _alias?: Element[]|undefined; /** * Where multiple contacts for the same purpose are provided there is a standard extension that can be used to determine which one is the preferred contact to use. */ - contact?: InsurancePlanContact[]; + contact?: InsurancePlanContact[]|undefined; /** * Details about the coverage offered by the insurance product. */ - coverage?: InsurancePlanCoverage[]; + coverage?: InsurancePlanCoverage[]|undefined; /** * The geographic region in which a health insurance product's benefits apply. */ - coverageArea?: Reference[]; + coverageArea?: Reference[]|undefined; /** * The technical endpoints providing access to services operated for the health insurance product. */ - endpoint?: Reference[]; + endpoint?: Reference[]|undefined; /** * Business identifiers assigned to this health insurance product which remain constant as the resource is updated and propagates from server to server. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * If the name of the product/plan changes, consider putting the old name in the alias column so that it can still be located through searches. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Networks are represented as a hierarchy of organization resources. */ - network?: Reference[]; + network?: Reference[]|undefined; /** * The entity that is providing the health insurance product and underwriting the risk. This is typically an insurance carriers, other third-party payers, or health plan sponsors comonly referred to as 'payers'. */ - ownedBy?: Reference; + ownedBy?: Reference|undefined; /** * The period of time that the health insurance product is available. */ - period?: Period; + period?: Period|undefined; /** * Details about an insurance plan. */ - plan?: InsurancePlanPlan[]; + plan?: InsurancePlanPlan[]|undefined; /** * The current state of the health insurance product. */ - status?: InsurancePlanStatusCodes; - _status?: Element; + status?: InsurancePlanStatusCodes|undefined; + _status?: Element|undefined; /** * The kind of health insurance product. */ - type?: CodeableConcept[]; + type?: CodeableConcept[]|undefined; } /** * Code Values for the InsurancePlan.status field @@ -16323,7 +16323,7 @@ export interface InvoiceParticipant extends BackboneElement { /** * Describes the type of involvement (e.g. transcriptionist, creator etc.). If the invoice has been created automatically, the Participant may be a billing engine or another kind of device. */ - role?: CodeableConcept; + role?: CodeableConcept|undefined; } /** * The price for a ChargeItem may be calculated as a base price with surcharges/deductions that apply in certain conditions. A ChargeItemDefinition resource that defines the prices, factors and conditions that apply to a billing code is currently under development. The priceComponent element can be used to offer transparency to the recipient of the Invoice as to how the prices have been calculated. @@ -16332,20 +16332,20 @@ export interface InvoiceLineItemPriceComponent extends BackboneElement { /** * There is no reason to carry the price in the instance of a ChargeItem unless circumstances require a manual override. The list prices or are usually defined in a back catalogue of the billing codes (see ChargeItem.definition). Derived profiles may require a ChargeItem.overrideReason to be provided if either factor or price are manually overridden. */ - amount?: Money; + amount?: Money|undefined; /** * A code that identifies the component. Codes may be used to differentiate between kinds of taxes, surcharges, discounts etc. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * There is no reason to carry the price in the instance of a ChargeItem unless circumstances require a manual override. The list prices or are usually defined in a back catalogue of the billing codes (see ChargeItem.definition). Derived profiles may require a ChargeItem.overrideReason to be provided if either factor or price are manually overridden. */ - factor?: number; + factor?: number|undefined; /** * This code identifies the type of the component. */ type: InvoiceLineItemPriceComponentTypeCodes; - _type?: Element; + _type?: Element|undefined; } /** * Code Values for the Invoice.lineItem.priceComponent.type field @@ -16365,19 +16365,19 @@ export interface InvoiceLineItem extends BackboneElement { /** * The ChargeItem contains information such as the billing code, date, amount etc. If no further details are required for the lineItem, inline billing codes can be added using the CodeableConcept data type instead of the Reference. */ - chargeItemReference?: Reference; + chargeItemReference?: Reference|undefined; /** * The ChargeItem contains information such as the billing code, date, amount etc. If no further details are required for the lineItem, inline billing codes can be added using the CodeableConcept data type instead of the Reference. */ - chargeItemCodeableConcept?: CodeableConcept; + chargeItemCodeableConcept?: CodeableConcept|undefined; /** * The price for a ChargeItem may be calculated as a base price with surcharges/deductions that apply in certain conditions. A ChargeItemDefinition resource that defines the prices, factors and conditions that apply to a billing code is currently under development. The priceComponent element can be used to offer transparency to the recipient of the Invoice as to how the prices have been calculated. */ - priceComponent?: InvoiceLineItemPriceComponent[]; + priceComponent?: InvoiceLineItemPriceComponent[]|undefined; /** * Sequence in which the items appear on the invoice. */ - sequence?: number; + sequence?: number|undefined; } /** * Invoice containing collected ChargeItems from an Account with calculated individual and total price for Billing purpose. @@ -16388,71 +16388,71 @@ export interface Invoice extends DomainResource { /** * Systems posting the ChargeItems might not always be able to determine, which accounts the Items need to be places into. It is up to the potprocessing Financial System to apply internal rules to decide based on the Encounter/EpisodeOfCare/Patient/Coverage context and the type of ChargeItem, which Account is appropriate. */ - account?: Reference; + account?: Reference|undefined; /** * Derived Profiles may choose to add invariants requiring this field to be populated if either priceOverride or factorOverride have been filled. */ - cancelledReason?: string; - _cancelledReason?: Element; + cancelledReason?: string|undefined; + _cancelledReason?: Element|undefined; /** * The list of types may be constrained as appropriate for the type of charge item. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * Identifier of this Invoice, often used for reference in correspondence about this invoice or for tracking of payments. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Practitioners and Devices can be associated with multiple organizations. It has to be made clear, on behalf of which Organization the services have been rendered. */ - issuer?: Reference; + issuer?: Reference|undefined; /** * Each line item represents one charge for goods and services rendered. Details such as date, code and amount are found in the referenced ChargeItem resource. */ - lineItem?: InvoiceLineItem[]; + lineItem?: InvoiceLineItem[]|undefined; /** * Comments made about the invoice by the issuer, subject, or other participants. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * Indicates who or what performed or participated in the charged service. */ - participant?: InvoiceParticipant[]; + participant?: InvoiceParticipant[]|undefined; /** * Derived Profiles may chose to add invariants requiring this field to be populated if either priceOverride or factorOverride have been filled. */ - paymentTerms?: string; - _paymentTerms?: Element; + paymentTerms?: string|undefined; + _paymentTerms?: Element|undefined; /** * The individual or Organization responsible for balancing of this invoice. */ - recipient?: Reference; + recipient?: Reference|undefined; /** * The current state of the Invoice. */ status: InvoiceStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * The individual or set of individuals receiving the goods and services billed in this invoice. */ - subject?: Reference; + subject?: Reference|undefined; /** * There is no reason to carry the price in the instance of a ChargeItem unless circumstances require a manual override. The list prices or are usually defined in a back catalogue of the billing codes (see ChargeItem.definition). Derived profiles may require a ChargeItem.overrideReason to be provided if either factor or price are manually overridden. */ - totalGross?: Money; + totalGross?: Money|undefined; /** * There is no reason to carry the price in the instance of a ChargeItem unless circumstances require a manual override. The list prices or are usually defined in a back catalogue of the billing codes (see ChargeItem.definition). Derived profiles may require a ChargeItem.overrideReason to be provided if either factor or price are manually overridden. */ - totalNet?: Money; + totalNet?: Money|undefined; /** * The total amount for the Invoice may be calculated as the sum of the line items with surcharges/deductions that apply in certain conditions. The priceComponent element can be used to offer transparency to the recipient of the Invoice of how the total price was calculated. */ - totalPriceComponent?: InvoiceLineItemPriceComponent[]; + totalPriceComponent?: InvoiceLineItemPriceComponent[]|undefined; /** * Type of Invoice depending on domain, realm an usage (e.g. internal/external, dental, preliminary). */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Code Values for the Invoice.status field @@ -16473,123 +16473,123 @@ export interface Library extends DomainResource { /** * The 'date' element may be more recent than the approval date because of minor changes or editorial corrections. */ - approvalDate?: string; - _approvalDate?: Element; + approvalDate?: string|undefined; + _approvalDate?: Element|undefined; /** * An individiual or organization primarily involved in the creation and maintenance of the content. */ - author?: ContactDetail[]; + author?: ContactDetail[]|undefined; /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * The content of the library as an Attachment. The content may be a reference to a url, or may be directly embedded as a base-64 string. Either way, the contentType of the attachment determines how to interpret the content. */ - content?: Attachment[]; + content?: Attachment[]|undefined; /** * A copyright statement relating to the library and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the library. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * Describes a set of data that must be provided in order to be able to successfully perform the computations defined by the library. */ - dataRequirement?: DataRequirement[]; + dataRequirement?: DataRequirement[]|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the library. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * This description can be used to capture details such as why the library was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the library as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the library is presumed to be the predominant language in the place the library was created). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * An individual or organization primarily responsible for internal coherence of the content. */ - editor?: ContactDetail[]; + editor?: ContactDetail[]|undefined; /** * The effective period for a library determines when the content is applicable for usage and is independent of publication and review dates. For example, a measure intended to be used for the year 2016 might be published in 2015. */ - effectivePeriod?: Period; + effectivePeriod?: Period|undefined; /** * An individual or organization responsible for officially endorsing the content for use in some setting. */ - endorser?: ContactDetail[]; + endorser?: ContactDetail[]|undefined; /** * Allows filtering of librarys that are appropriate for use versus not. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this library outside of FHIR, where it is not possible to use the logical URI. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * It may be possible for the library to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * If specified, this date follows the original approval date. */ - lastReviewDate?: string; - _lastReviewDate?: Element; + lastReviewDate?: string|undefined; + _lastReviewDate?: Element|undefined; /** * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * The parameter element defines parameters used by the library. */ - parameter?: ParameterDefinition[]; + parameter?: ParameterDefinition[]|undefined; /** * Usually an organization but may be an individual. The publisher (or steward) of the library is the organization or individual primarily responsible for the maintenance and upkeep of the library. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the library. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * This element does not describe the usage of the library. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this library. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * Each related artifact is either an attachment, or a reference to another resource, but not both. */ - relatedArtifact?: RelatedArtifact[]; + relatedArtifact?: RelatedArtifact[]|undefined; /** * An individual or organization primarily responsible for review of some aspect of the content. */ - reviewer?: ContactDetail[]; + reviewer?: ContactDetail[]|undefined; /** * Allows filtering of libraries that are appropriate for use vs. not. */ status: LibraryStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * A code or group definition that describes the intended subject of the contents of the library. */ - subjectCodeableConcept?: CodeableConcept; + subjectCodeableConcept?: CodeableConcept|undefined; /** * A code or group definition that describes the intended subject of the contents of the library. */ - subjectReference?: Reference; + subjectReference?: Reference|undefined; /** * An explanatory or alternate title for the library giving additional information about its content. */ - subtitle?: string; - _subtitle?: Element; + subtitle?: string|undefined; + _subtitle?: Element|undefined; /** * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Descriptive topics related to the content of the library. Topics provide a high-level categorization of the library that can be useful for filtering and searching. */ - topic?: CodeableConcept[]; + topic?: CodeableConcept[]|undefined; /** * Identifies the type of library such as a Logic Library, Model Definition, Asset Collection, or Module Definition. */ @@ -16599,22 +16599,22 @@ export interface Library extends DomainResource { * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * A detailed description of how the library is used from a clinical perspective. */ - usage?: string; - _usage?: Element; + usage?: string|undefined; + _usage?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different library instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the library with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the Library.status field @@ -16637,7 +16637,7 @@ export interface LinkageItem extends BackboneElement { * Distinguishes which item is "source of truth" (if any) and which items are no longer considered to be current representations. */ type: LinkageItemTypeCodes; - _type?: Element; + _type?: Element|undefined; } /** * Code Values for the Linkage.item.type field @@ -16656,12 +16656,12 @@ export interface Linkage extends DomainResource { /** * If false, any asserted linkages should not be considered current/relevant/applicable. */ - active?: boolean; - _active?: Element; + active?: boolean|undefined; + _active?: Element|undefined; /** * Identifies the user or organization responsible for asserting the linkages as well as the user or organization who establishes the context in which the nature of each linkage is evaluated. */ - author?: Reference; + author?: Reference|undefined; /** * Identifies which record considered as the reference to the same real-world occurrence as well as how the items should be evaluated within the collection of linked items. */ @@ -16674,17 +16674,17 @@ export interface ListEntry extends BackboneElement { /** * When this item was added to the list. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * If the flag means that the entry has actually been deleted from the list, the deleted element SHALL be true. Both flag and deleted can only be used if the List.mode is "changes". A deleted entry should be displayed in narrative as deleted. This element is labeled as a modifier because it indicates that an item is (to be) no longer in the list. */ - deleted?: boolean; - _deleted?: Element; + deleted?: boolean|undefined; + _deleted?: Element|undefined; /** * The flag can only be understood in the context of the List.code. If the flag means that the entry has actually been deleted from the list, the deleted element SHALL be true. Deleted can only be used if the List.mode is "changes". */ - flag?: CodeableConcept; + flag?: CodeableConcept|undefined; /** * A reference to the actual resource from which data was derived. */ @@ -16699,59 +16699,59 @@ export interface List extends DomainResource { /** * If there is no code, the purpose of the list is implied where it is used, such as in a document section using Document.section.code. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * The actual important date is the date of currency of the resources that were summarized, but it is usually assumed that these are current when the preparation occurs. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * The various reasons for an empty list make a significant interpretation to its interpretation. Note that this code is for use when the entire list has been suppressed, and not for when individual items are omitted - implementers may consider using a text note or a flag on an entry in these cases. */ - emptyReason?: CodeableConcept; + emptyReason?: CodeableConcept|undefined; /** * The encounter that is the context in which this list was created. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * If there are no entries in the list, an emptyReason SHOULD be provided. */ - entry?: ListEntry[]; + entry?: ListEntry[]|undefined; /** * Identifier for the List assigned for business purposes outside the context of FHIR. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * This element is labeled as a modifier because a change list must not be misunderstood as a complete list. */ mode: ListModeCodes; - _mode?: Element; + _mode?: Element|undefined; /** * Comments that apply to the overall list. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * Applications SHOULD render ordered lists in the order provided, but MAY allow users to re-order based on their own preferences as well. If there is no order specified, the order is unknown, though there may still be some order. */ - orderedBy?: CodeableConcept; + orderedBy?: CodeableConcept|undefined; /** * The primary source is the entity that made the decisions what items are in the list. This may be software or user. */ - source?: Reference; + source?: Reference|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: ListStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Some purely arbitrary lists do not have a common subject, so this is optional. */ - subject?: Reference; + subject?: Reference|undefined; /** * A label for the list assigned by the author. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; } /** * Code Values for the List.mode field @@ -16776,7 +16776,7 @@ export interface LocationPosition extends BackboneElement { /** * Altitude. The value domain and the interpretation are the same as for the text of the altitude element in KML (see notes below). */ - altitude?: number; + altitude?: number|undefined; /** * Latitude. The value domain and the interpretation are the same as for the text of the latitude element in KML (see notes below). */ @@ -16794,23 +16794,23 @@ export interface LocationHoursOfOperation extends BackboneElement { /** * The Location is open all day. */ - allDay?: boolean; - _allDay?: Element; + allDay?: boolean|undefined; + _allDay?: Element|undefined; /** * Time that the Location closes. */ - closingTime?: string; - _closingTime?: Element; + closingTime?: string|undefined; + _closingTime?: Element|undefined; /** * Indicates which days of the week are available between the start and end Times. */ - daysOfWeek?: LocationHoursOfOperationDaysOfWeekCodes[]; - _daysOfWeek?: Element[]; + daysOfWeek?: LocationHoursOfOperationDaysOfWeekCodes[]|undefined; + _daysOfWeek?: Element[]|undefined; /** * Time that the Location opens. */ - openingTime?: string; - _openingTime?: Element; + openingTime?: string|undefined; + _openingTime?: Element|undefined; } /** * Code Values for the Location.hoursOfOperation.daysOfWeek field @@ -16833,78 +16833,78 @@ export interface Location extends DomainResource { /** * Additional addresses should be recorded using another instance of the Location resource, or via the Organization. */ - address?: Address; + address?: Address|undefined; /** * There are no dates associated with the alias/historic names, as this is not intended to track when names were used, but to assist in searching so that older names can still result in identifying the location. */ - alias?: string[]; - _alias?: Element[]; + alias?: string[]|undefined; + _alias?: Element[]|undefined; /** * A description of when the locations opening ours are different to normal, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as detailed in the opening hours Times. */ - availabilityExceptions?: string; - _availabilityExceptions?: Element; + availabilityExceptions?: string|undefined; + _availabilityExceptions?: Element|undefined; /** * Description of the Location, which helps in finding or referencing the place. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Technical endpoints providing access to services operated for the location. */ - endpoint?: Reference[]; + endpoint?: Reference[]|undefined; /** * This type of information is commonly found published in directories and on websites informing customers when the facility is available. * Specific services within the location may have their own hours which could be shorter (or longer) than the locations hours. */ - hoursOfOperation?: LocationHoursOfOperation[]; + hoursOfOperation?: LocationHoursOfOperation[]|undefined; /** * Unique code or number identifying the location to its users. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * This can also be used as the part of the organization hierarchy where this location provides services. These services can be defined through the HealthcareService resource. */ - managingOrganization?: Reference; + managingOrganization?: Reference|undefined; /** * This is labeled as a modifier because whether or not the location is a class of locations changes how it can be used and understood. */ - mode?: LocationModeCodes; - _mode?: Element; + mode?: LocationModeCodes|undefined; + _mode?: Element|undefined; /** * If the name of a location changes, consider putting the old name in the alias column so that it can still be located through searches. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * The operational status covers operation values most relevant to beds (but can also apply to rooms/units/chairs/etc. such as an isolation unit/dialysis chair). This typically covers concepts such as contamination, housekeeping, and other activities like maintenance. */ - operationalStatus?: Coding; + operationalStatus?: Coding|undefined; /** * Another Location of which this Location is physically a part of. */ - partOf?: Reference; + partOf?: Reference|undefined; /** * Physical form of the location, e.g. building, room, vehicle, road. */ - physicalType?: CodeableConcept; + physicalType?: CodeableConcept|undefined; /** * The absolute geographic location of the Location, expressed using the WGS84 datum (This is the same co-ordinate system used in KML). */ - position?: LocationPosition; + position?: LocationPosition|undefined; /** * The status property covers the general availability of the resource, not the current value which may be covered by the operationStatus, or by a schedule/slots if they are configured for the location. */ - status?: LocationStatusCodes; - _status?: Element; + status?: LocationStatusCodes|undefined; + _status?: Element|undefined; /** * The contact details of communication devices available at the location. This can include phone numbers, fax numbers, mobile numbers, email addresses and web sites. */ - telecom?: ContactPoint[]; + telecom?: ContactPoint[]|undefined; /** * Indicates the type of function performed at the location. */ - type?: CodeableConcept[]; + type?: CodeableConcept[]|undefined; } /** * Code Values for the Location.mode field @@ -16928,7 +16928,7 @@ export interface MeasureGroupPopulation extends BackboneElement { /** * The type of population criteria. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * In the case of a continuous-variable or ratio measure, this may be the name of a function that calculates the value of the individual observation for each patient or event in the population. For these types of measures, individual observations are reported as observation resources included in the evaluatedResources bundle for each patient. See the MeasureReport resource or the Quality Reporting topic for more information. */ @@ -16936,8 +16936,8 @@ export interface MeasureGroupPopulation extends BackboneElement { /** * The human readable description of this population criteria. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; } /** * Stratifiers are defined either as a single criteria, or as a set of component criteria. @@ -16946,7 +16946,7 @@ export interface MeasureGroupStratifierComponent extends BackboneElement { /** * Indicates a meaning for the stratifier component. This can be as simple as a unique identifier, or it can establish meaning in a broader context by drawing from a terminology, allowing stratifiers to be correlated across measures. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * An expression that specifies the criteria for this component of the stratifier. This is typically the name of an expression defined within a referenced library, but it may also be a path to a stratifier element. */ @@ -16954,8 +16954,8 @@ export interface MeasureGroupStratifierComponent extends BackboneElement { /** * The human readable description of this stratifier criteria component. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; } /** * The stratifier criteria for the measure report, specified as either the name of a valid CQL expression defined within a referenced library or a valid FHIR Resource Path. @@ -16964,20 +16964,20 @@ export interface MeasureGroupStratifier extends BackboneElement { /** * Indicates a meaning for the stratifier. This can be as simple as a unique identifier, or it can establish meaning in a broader context by drawing from a terminology, allowing stratifiers to be correlated across measures. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * Stratifiers are defined either as a single criteria, or as a set of component criteria. */ - component?: MeasureGroupStratifierComponent[]; + component?: MeasureGroupStratifierComponent[]|undefined; /** * An expression that specifies the criteria for the stratifier. This is typically the name of an expression defined within a referenced library, but it may also be a path to a stratifier element. */ - criteria?: Expression; + criteria?: Expression|undefined; /** * The human readable description of this stratifier criteria. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; } /** * A group of population criteria for the measure. @@ -16986,20 +16986,20 @@ export interface MeasureGroup extends BackboneElement { /** * Indicates a meaning for the group. This can be as simple as a unique identifier, or it can establish meaning in a broader context by drawing from a terminology, allowing groups to be correlated across measures. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * The human readable description of this population group. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * A population criteria for the measure. */ - population?: MeasureGroupPopulation[]; + population?: MeasureGroupPopulation[]|undefined; /** * The stratifier criteria for the measure report, specified as either the name of a valid CQL expression defined within a referenced library or a valid FHIR Resource Path. */ - stratifier?: MeasureGroupStratifier[]; + stratifier?: MeasureGroupStratifier[]|undefined; } /** * Note that supplemental data are reported as observations for each patient and included in the evaluatedResources bundle. See the MeasureReport resource or the Quality Reporting topic for more information. @@ -17008,7 +17008,7 @@ export interface MeasureSupplementalData extends BackboneElement { /** * Indicates a meaning for the supplemental data. This can be as simple as a unique identifier, or it can establish meaning in a broader context by drawing from a terminology, allowing supplemental data to be correlated across measures. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * The criteria for the supplemental data. This is typically the name of a valid expression defined within a referenced library, but it may also be a path to a specific data element. The criteria defines the data to be returned for this element. */ @@ -17016,12 +17016,12 @@ export interface MeasureSupplementalData extends BackboneElement { /** * The human readable description of this supplemental data. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * An indicator of the intended usage for the supplemental data element. Supplemental data indicates the data is additional information requested to augment the measure information. Risk adjustment factor indicates the data is additional information used to calculate risk adjustment factors when applying a risk model to the measure calculation. */ - usage?: CodeableConcept[]; + usage?: CodeableConcept[]|undefined; } /** * The Measure resource provides the definition of a quality measure. @@ -17032,196 +17032,196 @@ export interface Measure extends DomainResource { /** * The 'date' element may be more recent than the approval date because of minor changes or editorial corrections. */ - approvalDate?: string; - _approvalDate?: Element; + approvalDate?: string|undefined; + _approvalDate?: Element|undefined; /** * An individiual or organization primarily involved in the creation and maintenance of the content. */ - author?: ContactDetail[]; + author?: ContactDetail[]|undefined; /** * Provides a summary of relevant clinical guidelines or other clinical recommendations supporting the measure. */ - clinicalRecommendationStatement?: string; - _clinicalRecommendationStatement?: Element; + clinicalRecommendationStatement?: string|undefined; + _clinicalRecommendationStatement?: Element|undefined; /** * If this is a composite measure, the scoring method used to combine the component measures to determine the composite score. */ - compositeScoring?: CodeableConcept; + compositeScoring?: CodeableConcept|undefined; /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * A copyright statement relating to the measure and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the measure. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the measure. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * Provides a description of an individual term used within the measure. */ - definition?: string[]; - _definition?: Element[]; + definition?: string[]|undefined; + _definition?: Element[]|undefined; /** * This description can be used to capture details such as why the measure was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the measure as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the measure is presumed to be the predominant language in the place the measure was created). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Notices and disclaimers regarding the use of the measure or related to intellectual property (such as code systems) referenced by the measure. */ - disclaimer?: string; - _disclaimer?: Element; + disclaimer?: string|undefined; + _disclaimer?: Element|undefined; /** * An individual or organization primarily responsible for internal coherence of the content. */ - editor?: ContactDetail[]; + editor?: ContactDetail[]|undefined; /** * The effective period for a measure determines when the content is applicable for usage and is independent of publication and review dates. For example, a measure intended to be used for the year 2016 might be published in 2015. */ - effectivePeriod?: Period; + effectivePeriod?: Period|undefined; /** * An individual or organization responsible for officially endorsing the content for use in some setting. */ - endorser?: ContactDetail[]; + endorser?: ContactDetail[]|undefined; /** * Allows filtering of measures that are appropriate for use versus not. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * A group of population criteria for the measure. */ - group?: MeasureGroup[]; + group?: MeasureGroup[]|undefined; /** * Additional guidance for the measure including how it can be used in a clinical context, and the intent of the measure. */ - guidance?: string; - _guidance?: Element; + guidance?: string|undefined; + _guidance?: Element|undefined; /** * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this measure outside of FHIR, where it is not possible to use the logical URI. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Information on whether an increase or decrease in score is the preferred result (e.g., a higher score indicates better quality OR a lower score indicates better quality OR quality is within a range). */ - improvementNotation?: CodeableConcept; + improvementNotation?: CodeableConcept|undefined; /** * It may be possible for the measure to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * If specified, this date follows the original approval date. */ - lastReviewDate?: string; - _lastReviewDate?: Element; + lastReviewDate?: string|undefined; + _lastReviewDate?: Element|undefined; /** * A reference to a Library resource containing the formal logic used by the measure. */ - library?: string[]; - _library?: Element[]; + library?: string[]|undefined; + _library?: Element[]|undefined; /** * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Usually an organization but may be an individual. The publisher (or steward) of the measure is the organization or individual primarily responsible for the maintenance and upkeep of the measure. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the measure. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * This element does not describe the usage of the measure. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this measure. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * The measure rate for an organization or clinician is based upon the entities’ aggregate data and summarizes the performance of the entity over a given time period (e.g., monthly, quarterly, yearly). The aggregated data are derived from the results of a specific measure algorithm and, if appropriate, the application of specific risk adjustment models. Can also be used to describe how to risk adjust the data based on supplemental data elements described in the eMeasure (e.g., pneumonia hospital measures antibiotic selection in the ICU versus non-ICU and then the roll-up of the two). This could be applied to aggregated cohort measure definitions (e.g., CDC's aggregate reporting for TB at the state level). */ - rateAggregation?: string; - _rateAggregation?: Element; + rateAggregation?: string|undefined; + _rateAggregation?: Element|undefined; /** * Provides a succinct statement of the need for the measure. Usually includes statements pertaining to importance criterion: impact, gap in care, and evidence. */ - rationale?: string; - _rationale?: Element; + rationale?: string|undefined; + _rationale?: Element|undefined; /** * Each related artifact is either an attachment, or a reference to another resource, but not both. */ - relatedArtifact?: RelatedArtifact[]; + relatedArtifact?: RelatedArtifact[]|undefined; /** * An individual or organization primarily responsible for review of some aspect of the content. */ - reviewer?: ContactDetail[]; + reviewer?: ContactDetail[]|undefined; /** * Describes the method of adjusting for clinical severity and conditions present at the start of care that can influence patient outcomes for making valid comparisons of outcome measures across providers. Indicates whether a measure is subject to the statistical process for reducing, removing, or clarifying the influences of confounding factors to allow for more useful comparisons. */ - riskAdjustment?: string; - _riskAdjustment?: Element; + riskAdjustment?: string|undefined; + _riskAdjustment?: Element|undefined; /** * Indicates how the calculation is performed for the measure, including proportion, ratio, continuous-variable, and cohort. The value set is extensible, allowing additional measure scoring types to be represented. */ - scoring?: CodeableConcept; + scoring?: CodeableConcept|undefined; /** * Allows filtering of measures that are appropriate for use versus not. */ status: MeasureStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * The subject of the measure is critical in interpreting the criteria definitions, as the logic in the measures is evaluated with respect to a particular subject. This corresponds roughly to the notion of a Compartment in that it limits what content is available based on its relationship to the subject. In CQL, this corresponds to the context declaration. */ - subjectCodeableConcept?: CodeableConcept; + subjectCodeableConcept?: CodeableConcept|undefined; /** * The subject of the measure is critical in interpreting the criteria definitions, as the logic in the measures is evaluated with respect to a particular subject. This corresponds roughly to the notion of a Compartment in that it limits what content is available based on its relationship to the subject. In CQL, this corresponds to the context declaration. */ - subjectReference?: Reference; + subjectReference?: Reference|undefined; /** * An explanatory or alternate title for the measure giving additional information about its content. */ - subtitle?: string; - _subtitle?: Element; + subtitle?: string|undefined; + _subtitle?: Element|undefined; /** * Note that supplemental data are reported as observations for each patient and included in the evaluatedResources bundle. See the MeasureReport resource or the Quality Reporting topic for more information. */ - supplementalData?: MeasureSupplementalData[]; + supplementalData?: MeasureSupplementalData[]|undefined; /** * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Descriptive topics related to the content of the measure. Topics provide a high-level categorization grouping types of measures that can be useful for filtering and searching. */ - topic?: CodeableConcept[]; + topic?: CodeableConcept[]|undefined; /** * Indicates whether the measure is used to examine a process, an outcome over time, a patient-reported outcome, or a structure measure such as utilization. */ - type?: CodeableConcept[]; + type?: CodeableConcept[]|undefined; /** * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * A detailed description, from a clinical perspective, of how the measure is used. */ - usage?: string; - _usage?: Element; + usage?: string|undefined; + _usage?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different measure instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the measure with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the Measure.status field @@ -17239,15 +17239,15 @@ export interface MeasureReportGroupPopulation extends BackboneElement { /** * The type of the population. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * The number of members of the population. */ - count?: number; + count?: number|undefined; /** * This element refers to a List of subject level MeasureReport resources, one for each subject in this population. */ - subjectResults?: Reference; + subjectResults?: Reference|undefined; } /** * A stratifier component value. @@ -17269,15 +17269,15 @@ export interface MeasureReportGroupStratifierStratumPopulation extends BackboneE /** * The type of the population. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * The number of members of the population in this stratum. */ - count?: number; + count?: number|undefined; /** * This element refers to a List of subject level MeasureReport resources, one for each subject in this population in this stratum. */ - subjectResults?: Reference; + subjectResults?: Reference|undefined; } /** * This element contains the results for a single stratum within the stratifier. For example, when stratifying on administrative gender, there will be four strata, one for each possible gender value. @@ -17286,19 +17286,19 @@ export interface MeasureReportGroupStratifierStratum extends BackboneElement { /** * A stratifier component value. */ - component?: MeasureReportGroupStratifierStratumComponent[]; + component?: MeasureReportGroupStratifierStratumComponent[]|undefined; /** * The measure score for this stratum, calculated as appropriate for the measure type and scoring method, and based on only the members of this stratum. */ - measureScore?: Quantity; + measureScore?: Quantity|undefined; /** * The populations that make up the stratum, one for each type of population appropriate to the measure. */ - population?: MeasureReportGroupStratifierStratumPopulation[]; + population?: MeasureReportGroupStratifierStratumPopulation[]|undefined; /** * The value for this stratum, expressed as a CodeableConcept. When defining stratifiers on complex values, the value must be rendered such that the value for each stratum within the stratifier is unique. */ - value?: CodeableConcept; + value?: CodeableConcept|undefined; } /** * When a measure includes multiple stratifiers, there will be a stratifier group for each stratifier defined by the measure. @@ -17307,11 +17307,11 @@ export interface MeasureReportGroupStratifier extends BackboneElement { /** * The meaning of this stratifier, as defined in the measure definition. */ - code?: CodeableConcept[]; + code?: CodeableConcept[]|undefined; /** * This element contains the results for a single stratum within the stratifier. For example, when stratifying on administrative gender, there will be four strata, one for each possible gender value. */ - stratum?: MeasureReportGroupStratifierStratum[]; + stratum?: MeasureReportGroupStratifierStratum[]|undefined; } /** * The results of the calculation, one for each population group in the measure. @@ -17320,19 +17320,19 @@ export interface MeasureReportGroup extends BackboneElement { /** * The meaning of the population group as defined in the measure definition. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * The measure score for this population group, calculated as appropriate for the measure type and scoring method, and based on the contents of the populations defined in the group. */ - measureScore?: Quantity; + measureScore?: Quantity|undefined; /** * The populations that make up the population group, one for each type of population appropriate for the measure. */ - population?: MeasureReportGroupPopulation[]; + population?: MeasureReportGroupPopulation[]|undefined; /** * When a measure includes multiple stratifiers, there will be a stratifier group for each stratifier defined by the measure. */ - stratifier?: MeasureReportGroupStratifier[]; + stratifier?: MeasureReportGroupStratifier[]|undefined; } /** * The MeasureReport resource contains the results of the calculation of a measure; and optionally a reference to the resources involved in that calculation. @@ -17343,29 +17343,29 @@ export interface MeasureReport extends DomainResource { /** * The date this measure report was generated. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * A reference to a Bundle containing the Resources that were used in the calculation of this measure. */ - evaluatedResource?: Reference[]; + evaluatedResource?: Reference[]|undefined; /** * The results of the calculation, one for each population group in the measure. */ - group?: MeasureReportGroup[]; + group?: MeasureReportGroup[]|undefined; /** * Typically, this is used for identifiers that can go in an HL7 V3 II data type - e.g. to identify this {{title}} outside of FHIR, where the logical URL is not possible to use. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * This element is typically defined by the measure, but reproduced here to ensure the measure score can be interpreted. The element is labeled as a modifier because it changes the interpretation of the reported measure score. */ - improvementNotation?: CodeableConcept; + improvementNotation?: CodeableConcept|undefined; /** * A reference to the Measure that was calculated to produce this report. */ measure: string; - _measure?: Element; + _measure?: Element|undefined; /** * The reporting period for which the report was calculated. */ @@ -17373,21 +17373,21 @@ export interface MeasureReport extends DomainResource { /** * The individual, location, or organization that is reporting the data. */ - reporter?: Reference; + reporter?: Reference|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: MeasureReportStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Optional subject identifying the individual or individuals the report is for. */ - subject?: Reference; + subject?: Reference|undefined; /** * Data-collection reports are used only to communicate data-of-interest for a measure. They do not necessarily include all the data for a particular subject or population, but they may. */ type: MeasureReportTypeCodes; - _type?: Element; + _type?: Element|undefined; } /** * Code Values for the MeasureReport.status field @@ -17415,12 +17415,12 @@ export interface Media extends DomainResource { /** * A procedure that is fulfilled in whole or in part by the creation of this media. */ - basedOn?: Reference[]; + basedOn?: Reference[]|undefined; /** * Only used if not implicit in code found in Observation.code. In many systems, this may be represented as a related observation instead of an inline component. * If the use case requires BodySite to be handled as a separate resource (e.g. to identify and track separately) then use the standard extension[ bodySite](extension-bodysite.html). */ - bodySite?: CodeableConcept; + bodySite?: CodeableConcept|undefined; /** * Recommended content types: image/jpeg, image/png, image/tiff, video/mpeg, audio/mp4, application/dicom. Application/dicom can contain the transfer syntax as a parameter. For media that covers a period of time (video/sound), the content.creationTime is the end time. Creation time is used for tracking, organizing versions and searching. */ @@ -17428,89 +17428,89 @@ export interface Media extends DomainResource { /** * The date and time(s) at which the media was collected. */ - createdDateTime?: string; - _createdDateTime?: Element; + createdDateTime?: string|undefined; + _createdDateTime?: Element|undefined; /** * The date and time(s) at which the media was collected. */ - createdPeriod?: Period; + createdPeriod?: Period|undefined; /** * An extension should be used if further typing of the device is needed. Secondary devices used to support collecting a media can be represented using either extension or through the Observation.related element. */ - device?: Reference; + device?: Reference|undefined; /** * The name of the device / manufacturer of the device that was used to make the recording. */ - deviceName?: string; - _deviceName?: Element; + deviceName?: string|undefined; + _deviceName?: Element|undefined; /** * The duration might differ from occurrencePeriod if recording was paused. */ - duration?: number; + duration?: number|undefined; /** * This will typically be the encounter the media occurred within. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * if the number of frames is not supplied, the value may be unknown. Applications should not assume that there is only one frame unless it is explicitly stated. */ - frames?: number; + frames?: number|undefined; /** * Height of the image in pixels (photo/video). */ - height?: number; + height?: number|undefined; /** * The identifier label and use can be used to determine what kind of identifier it is. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * It may be the same as the [`lastUpdated` ](resource-definitions.html#Meta.lastUpdated) time of the resource itself. For Observations that do require review and verification for certain updates, it might not be the same as the `lastUpdated` time of the resource itself due to a non-clinically significant update that does not require the new version to be reviewed and verified again. */ - issued?: string; - _issued?: Element; + issued?: string|undefined; + _issued?: Element|undefined; /** * Details of the type of the media - usually, how it was acquired (what type of device). If images sourced from a DICOM system, are wrapped in a Media resource, then this is the modality. */ - modality?: CodeableConcept; + modality?: CodeableConcept|undefined; /** * Not to be used for observations, conclusions, etc. Instead use an [Observation](observation.html) based on the Media/ImagingStudy resource. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * The person who administered the collection of the image. */ - operator?: Reference; + operator?: Reference|undefined; /** * Not to be used to link an event to an Encounter - use Media.encounter for that. * [The allowed reference resources may be adjusted as appropriate for the event resource]. */ - partOf?: Reference[]; + partOf?: Reference[]|undefined; /** * Textual reasons can be captured using reasonCode.text. */ - reasonCode?: CodeableConcept[]; + reasonCode?: CodeableConcept[]|undefined; /** * A nominal state-transition diagram can be found in the [[event.html#statemachine | Event pattern]] documentation * Unknown does not represent "other" - one of the defined statuses must apply. Unknown is used when the authoring system is not sure what the current status is. */ status: MediaStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Who/What this Media is a record of. */ - subject?: Reference; + subject?: Reference|undefined; /** * A code that classifies whether the media is an image, video or audio recording or some other media category. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; /** * The name of the imaging view e.g. Lateral or Antero-posterior (AP). */ - view?: CodeableConcept; + view?: CodeableConcept|undefined; /** * Width of the image in pixels (photo/video). */ - width?: number; + width?: number|undefined; } /** * Code Values for the Media.status field @@ -17532,20 +17532,20 @@ export interface MedicationIngredient extends BackboneElement { /** * Indication of whether this ingredient affects the therapeutic action of the drug. */ - isActive?: boolean; - _isActive?: Element; + isActive?: boolean|undefined; + _isActive?: Element|undefined; /** * The actual ingredient - either a substance (simple ingredient) or another medication of a medication. */ - itemCodeableConcept?: CodeableConcept; + itemCodeableConcept?: CodeableConcept|undefined; /** * The actual ingredient - either a substance (simple ingredient) or another medication of a medication. */ - itemReference?: Reference; + itemReference?: Reference|undefined; /** * Specifies how many (or how much) of the items there are in this Medication. For example, 250 mg per tablet. This is expressed as a ratio where the numerator is 250mg and the denominator is 1 tablet. */ - strength?: Ratio; + strength?: Ratio|undefined; } /** * Information that only applies to packages (not products). @@ -17554,13 +17554,13 @@ export interface MedicationBatch extends BackboneElement { /** * When this specific batch of product will expire. */ - expirationDate?: string; - _expirationDate?: Element; + expirationDate?: string|undefined; + _expirationDate?: Element|undefined; /** * The assigned lot number of a batch of the specified product. */ - lotNumber?: string; - _lotNumber?: Element; + lotNumber?: string|undefined; + _lotNumber?: Element|undefined; } /** * This resource is primarily used for the identification and definition of a medication for the purposes of prescribing, dispensing, and administering a medication as well as for making statements about medication use. @@ -17571,36 +17571,36 @@ export interface Medication extends DomainResource { /** * Specific amount of the drug in the packaged product. For example, when specifying a product that has the same strength (For example, Insulin glargine 100 unit per mL solution for injection), this attribute provides additional clarification of the package amount (For example, 3 mL, 10mL, etc.). */ - amount?: Ratio; + amount?: Ratio|undefined; /** * Information that only applies to packages (not products). */ - batch?: MedicationBatch; + batch?: MedicationBatch|undefined; /** * Depending on the context of use, the code that was actually selected by the user (prescriber, dispenser, etc.) will have the coding.userSelected set to true. As described in the coding datatype: "A coding may be marked as a "userSelected" if a user selected the particular coded value in a user interface (e.g. the user selects an item in a pick-list). If a user selected coding exists, it is the preferred choice for performing translations etc. Other codes can only be literal translations to alternative code systems, or codes at a lower level of granularity (e.g. a generic code for a vendor-specific primary one). */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * When Medication is referenced from MedicationRequest, this is the ordered form. When Medication is referenced within MedicationDispense, this is the dispensed form. When Medication is referenced within MedicationAdministration, this is administered form. */ - form?: CodeableConcept; + form?: CodeableConcept|undefined; /** * The serial number could be included as an identifier. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The ingredients need not be a complete list. If an ingredient is not specified, this does not indicate whether an ingredient is present or absent. If an ingredient is specified it does not mean that all ingredients are specified. It is possible to specify both inactive and active ingredients. */ - ingredient?: MedicationIngredient[]; + ingredient?: MedicationIngredient[]|undefined; /** * Describes the details of the manufacturer of the medication product. This is not intended to represent the distributor of a medication product. */ - manufacturer?: Reference; + manufacturer?: Reference|undefined; /** * This status is intended to identify if the medication in a local system is in active use within a drug database or inventory. For example, a pharmacy system may create a new drug file record for a compounded product "ABC Hospital Special Cream" with an active status. At some point in the future, it may be determined that the drug record was created with an error and the status is changed to "entered in error". This status is not intended to specify if a medication is part of a particular formulary. It is possible that the drug record may be referenced by multiple formularies or catalogues and each of those entries would have a separate status. */ - status?: MedicationStatusCodes; - _status?: Element; + status?: MedicationStatusCodes|undefined; + _status?: Element|undefined; } /** * Code Values for the Medication.status field @@ -17621,7 +17621,7 @@ export interface MedicationAdministrationPerformer extends BackboneElement { /** * Distinguishes the type of involvement of the performer in the medication administration. */ - function?: CodeableConcept; + function?: CodeableConcept|undefined; } /** * Describes the medication dosage information details e.g. dose, rate, site, route, etc. @@ -17630,33 +17630,33 @@ export interface MedicationAdministrationDosage extends BackboneElement { /** * If the administration is not instantaneous (rate is present), this can be specified to convey the total amount administered over period of time of a single administration. */ - dose?: Quantity; + dose?: Quantity|undefined; /** * One of the reasons this attribute is not used often, is that the method is often pre-coordinated with the route and/or form of administration. This means the codes used in route or form may pre-coordinate the method in the route code or the form code. The implementation decision about what coding system to use for route or form code will determine how frequently the method code will be populated e.g. if route or form code pre-coordinate method code, then this attribute will not be populated often; if there is no pre-coordination then method code may be used frequently. */ - method?: CodeableConcept; + method?: CodeableConcept|undefined; /** * If the rate changes over time, and you want to capture this in MedicationAdministration, then each change should be captured as a distinct MedicationAdministration, with a specific MedicationAdministration.dosage.rate, and the date time when the rate change occurred. Typically, the MedicationAdministration.dosage.rate element is not used to convey an average rate. */ - rateRatio?: Ratio; + rateRatio?: Ratio|undefined; /** * If the rate changes over time, and you want to capture this in MedicationAdministration, then each change should be captured as a distinct MedicationAdministration, with a specific MedicationAdministration.dosage.rate, and the date time when the rate change occurred. Typically, the MedicationAdministration.dosage.rate element is not used to convey an average rate. */ - rateQuantity?: Quantity; + rateQuantity?: Quantity|undefined; /** * A code specifying the route or physiological path of administration of a therapeutic agent into or onto the patient. For example, topical, intravenous, etc. */ - route?: CodeableConcept; + route?: CodeableConcept|undefined; /** * If the use case requires attributes from the BodySite resource (e.g. to identify and track separately) then use the standard extension [bodySite](extension-bodysite.html). May be a summary code, or a reference to a very precise definition of the location, or both. */ - site?: CodeableConcept; + site?: CodeableConcept|undefined; /** * Free text dosage can be used for cases where the dosage administered is too complex to code. When coded dosage is present, the free text dosage may still be present for display to humans. * The dosage instructions should reflect the dosage of the medication that was administered. */ - text?: string; - _text?: Element; + text?: string|undefined; + _text?: Element|undefined; } /** * Describes the event of a patient consuming or otherwise being administered a medication. This may be as simple as swallowing a tablet or it may be a long running infusion. Related resources tie this event to the authorizing prescription, and the specific encounter between patient and health care practitioner. @@ -17667,82 +17667,82 @@ export interface MedicationAdministration extends DomainResource { /** * Indicates where the medication is expected to be consumed or administered. */ - category?: CodeableConcept; + category?: CodeableConcept|undefined; /** * The visit, admission, or other contact between patient and health care provider during which the medication administration was performed. */ - context?: Reference; + context?: Reference|undefined; /** * The device used in administering the medication to the patient. For example, a particular infusion pump. */ - device?: Reference[]; + device?: Reference[]|undefined; /** * Describes the medication dosage information details e.g. dose, rate, site, route, etc. */ - dosage?: MedicationAdministrationDosage; + dosage?: MedicationAdministrationDosage|undefined; /** * A specific date/time or interval of time during which the administration took place (or did not take place, when the 'notGiven' attribute is true). For many administrations, such as swallowing a tablet the use of dateTime is more appropriate. */ - effectiveDateTime?: string; - _effectiveDateTime?: Element; + effectiveDateTime?: string|undefined; + _effectiveDateTime?: Element|undefined; /** * A specific date/time or interval of time during which the administration took place (or did not take place, when the 'notGiven' attribute is true). For many administrations, such as swallowing a tablet the use of dateTime is more appropriate. */ - effectivePeriod?: Period; + effectivePeriod?: Period|undefined; /** * This might not include provenances for all versions of the request – only those deemed “relevant” or important. This SHALL NOT include the Provenance associated with this current version of the resource. (If that provenance is deemed to be a “relevant” change, it will need to be added as part of a later update. Until then, it can be queried directly as the Provenance that points to this version using _revinclude All Provenances should have some historical version of this Request as their subject. */ - eventHistory?: Reference[]; + eventHistory?: Reference[]|undefined; /** * This is a business identifier, not a resource identifier. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * A protocol, guideline, orderset, or other definition that was adhered to in whole or in part by this event. */ - instantiates?: string[]; - _instantiates?: Element[]; + instantiates?: string[]|undefined; + _instantiates?: Element[]|undefined; /** * If only a code is specified, then it needs to be a code for a specific product. If more information is required, then the use of the medication resource is recommended. For example, if you require form or lot number, then you must reference the Medication resource. */ - medicationCodeableConcept?: CodeableConcept; + medicationCodeableConcept?: CodeableConcept|undefined; /** * If only a code is specified, then it needs to be a code for a specific product. If more information is required, then the use of the medication resource is recommended. For example, if you require form or lot number, then you must reference the Medication resource. */ - medicationReference?: Reference; + medicationReference?: Reference|undefined; /** * Extra information about the medication administration that is not conveyed by the other attributes. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * A larger event of which this particular event is a component or step. */ - partOf?: Reference[]; + partOf?: Reference[]|undefined; /** * Indicates who or what performed the medication administration and how they were involved. */ - performer?: MedicationAdministrationPerformer[]; + performer?: MedicationAdministrationPerformer[]|undefined; /** * A code indicating why the medication was given. */ - reasonCode?: CodeableConcept[]; + reasonCode?: CodeableConcept[]|undefined; /** * This is a reference to a condition that is the reason for the medication request. If only a code exists, use reasonCode. */ - reasonReference?: Reference[]; + reasonReference?: Reference[]|undefined; /** * This is a reference to the MedicationRequest where the intent is either order or instance-order. It should not reference MedicationRequests where the intent is any other value. */ - request?: Reference; + request?: Reference|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: MedicationAdministrationStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * A code indicating why the administration was not performed. */ - statusReason?: CodeableConcept[]; + statusReason?: CodeableConcept[]|undefined; /** * The person or animal or group receiving the medication. */ @@ -17750,7 +17750,7 @@ export interface MedicationAdministration extends DomainResource { /** * Additional information (for example, patient height and weight) that supports the administration of the medication. */ - supportingInformation?: Reference[]; + supportingInformation?: Reference[]|undefined; } /** * Code Values for the MedicationAdministration.status field @@ -17775,7 +17775,7 @@ export interface MedicationDispensePerformer extends BackboneElement { /** * Distinguishes the type of performer in the dispense. For example, date enterer, packager, final checker. */ - function?: CodeableConcept; + function?: CodeableConcept|undefined; } /** * Indicates whether or not substitution was made as part of the dispense. In some cases, substitution will be expected but does not happen, in other cases substitution is not expected but does happen. This block explains what substitution did or did not happen and why. If nothing is specified, substitution was not done. @@ -17784,20 +17784,20 @@ export interface MedicationDispenseSubstitution extends BackboneElement { /** * Indicates the reason for the substitution (or lack of substitution) from what was prescribed. */ - reason?: CodeableConcept[]; + reason?: CodeableConcept[]|undefined; /** * The person or organization that has primary responsibility for the substitution. */ - responsibleParty?: Reference[]; + responsibleParty?: Reference[]|undefined; /** * A code signifying whether a different drug was dispensed from what was prescribed. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; /** * True if the dispenser dispensed a different drug or product from what was prescribed. */ wasSubstituted: boolean; - _wasSubstituted?: Element; + _wasSubstituted?: Element|undefined; } /** * Indicates that a medication product is to be or has been dispensed for a named person/patient. This includes a description of the medication product (supply) provided and the instructions for administering the medication. The medication dispense is the result of a pharmacy system responding to a medication order. @@ -17808,111 +17808,111 @@ export interface MedicationDispense extends DomainResource { /** * Maps to basedOn in Event logical model. */ - authorizingPrescription?: Reference[]; + authorizingPrescription?: Reference[]|undefined; /** * The category can be used to include where the medication is expected to be consumed or other types of dispenses. Invariants can be used to bind to different value sets when profiling to bind. */ - category?: CodeableConcept; + category?: CodeableConcept|undefined; /** * The encounter or episode of care that establishes the context for this event. */ - context?: Reference; + context?: Reference|undefined; /** * The amount of medication expressed as a timing amount. */ - daysSupply?: Quantity; + daysSupply?: Quantity|undefined; /** * Identification of the facility/location where the medication was shipped to, as part of the dispense event. */ - destination?: Reference; + destination?: Reference|undefined; /** * This element can include a detected issue that has been identified either by a decision support system or by a clinician and may include information on the steps that were taken to address the issue. */ - detectedIssue?: Reference[]; + detectedIssue?: Reference[]|undefined; /** * When the dose or rate is intended to change over the entire administration period (e.g. Tapering dose prescriptions), multiple instances of dosage instructions will need to be supplied to convey the different doses/rates. * The pharmacist reviews the medication order prior to dispense and updates the dosageInstruction based on the actual product being dispensed. */ - dosageInstruction?: Dosage[]; + dosageInstruction?: Dosage[]|undefined; /** * This might not include provenances for all versions of the request – only those deemed “relevant” or important. This SHALL NOT include the Provenance associated with this current version of the resource. (If that provenance is deemed to be a “relevant” change, it will need to be added as part of a later update. Until then, it can be queried directly as the Provenance that points to this version using _revinclude All Provenances should have some historical version of this Request as their subject.). */ - eventHistory?: Reference[]; + eventHistory?: Reference[]|undefined; /** * This is a business identifier, not a resource identifier. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The principal physical location where the dispense was performed. */ - location?: Reference; + location?: Reference|undefined; /** * If only a code is specified, then it needs to be a code for a specific product. If more information is required, then the use of the medication resource is recommended. For example, if you require form or lot number, then you must reference the Medication resource. */ - medicationCodeableConcept?: CodeableConcept; + medicationCodeableConcept?: CodeableConcept|undefined; /** * If only a code is specified, then it needs to be a code for a specific product. If more information is required, then the use of the medication resource is recommended. For example, if you require form or lot number, then you must reference the Medication resource. */ - medicationReference?: Reference; + medicationReference?: Reference|undefined; /** * Extra information about the dispense that could not be conveyed in the other attributes. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * The procedure that trigger the dispense. */ - partOf?: Reference[]; + partOf?: Reference[]|undefined; /** * Indicates who or what performed the event. */ - performer?: MedicationDispensePerformer[]; + performer?: MedicationDispensePerformer[]|undefined; /** * The amount of medication that has been dispensed. Includes unit of measure. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * Identifies the person who picked up the medication. This will usually be a patient or their caregiver, but some cases exist where it can be a healthcare professional. */ - receiver?: Reference[]; + receiver?: Reference[]|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: MedicationDispenseStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Indicates the reason why a dispense was not performed. */ - statusReasonCodeableConcept?: CodeableConcept; + statusReasonCodeableConcept?: CodeableConcept|undefined; /** * Indicates the reason why a dispense was not performed. */ - statusReasonReference?: Reference; + statusReasonReference?: Reference|undefined; /** * SubstanceAdministration->subject->Patient. */ - subject?: Reference; + subject?: Reference|undefined; /** * Indicates whether or not substitution was made as part of the dispense. In some cases, substitution will be expected but does not happen, in other cases substitution is not expected but does happen. This block explains what substitution did or did not happen and why. If nothing is specified, substitution was not done. */ - substitution?: MedicationDispenseSubstitution; + substitution?: MedicationDispenseSubstitution|undefined; /** * Additional information that supports the medication being dispensed. */ - supportingInformation?: Reference[]; + supportingInformation?: Reference[]|undefined; /** * Indicates the type of dispensing event that is performed. For example, Trial Fill, Completion of Trial, Partial Fill, Emergency Fill, Samples, etc. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; /** * The time the dispensed product was provided to the patient or their representative. */ - whenHandedOver?: string; - _whenHandedOver?: Element; + whenHandedOver?: string|undefined; + _whenHandedOver?: Element|undefined; /** * The time when the dispensed product was packaged and reviewed. */ - whenPrepared?: string; - _whenPrepared?: Element; + whenPrepared?: string|undefined; + _whenPrepared?: Element|undefined; } /** * Code Values for the MedicationDispense.status field @@ -17948,11 +17948,11 @@ export interface MedicationKnowledgeMonograph extends BackboneElement { /** * Associated documentation about the medication. */ - source?: Reference; + source?: Reference|undefined; /** * The category of documentation about the medication. (e.g. professional monograph, patient education monograph). */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Identifies a particular constituent of interest in the product. @@ -17961,20 +17961,20 @@ export interface MedicationKnowledgeIngredient extends BackboneElement { /** * Indication of whether this ingredient affects the therapeutic action of the drug. */ - isActive?: boolean; - _isActive?: Element; + isActive?: boolean|undefined; + _isActive?: Element|undefined; /** * The actual ingredient - either a substance (simple ingredient) or another medication. */ - itemCodeableConcept?: CodeableConcept; + itemCodeableConcept?: CodeableConcept|undefined; /** * The actual ingredient - either a substance (simple ingredient) or another medication. */ - itemReference?: Reference; + itemReference?: Reference|undefined; /** * Specifies how many (or how much) of the items there are in this Medication. For example, 250 mg per tablet. This is expressed as a ratio where the numerator is 250mg and the denominator is 1 tablet. */ - strength?: Ratio; + strength?: Ratio|undefined; } /** * The price of the medication. @@ -17987,8 +17987,8 @@ export interface MedicationKnowledgeCost extends BackboneElement { /** * The source or owner that assigns the price to the medication. */ - source?: string; - _source?: Element; + source?: string|undefined; + _source?: Element|undefined; /** * The category of the cost information. For example, manufacturers' cost, patient cost, claim reimbursement cost, actual acquisition cost. */ @@ -18001,12 +18001,12 @@ export interface MedicationKnowledgeMonitoringProgram extends BackboneElement { /** * Name of the reviewing program. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Type of program under which the medication is monitored. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Dosage for the medication for the specific guidelines. @@ -18028,16 +18028,16 @@ export interface MedicationKnowledgeAdministrationGuidelinesPatientCharacteristi /** * Specific characteristic that is relevant to the administration guideline (e.g. height, weight, gender). */ - characteristicCodeableConcept?: CodeableConcept; + characteristicCodeableConcept?: CodeableConcept|undefined; /** * Specific characteristic that is relevant to the administration guideline (e.g. height, weight, gender). */ - characteristicQuantity?: Quantity; + characteristicQuantity?: Quantity|undefined; /** * The specific characteristic (e.g. height, weight, gender, etc.). */ - value?: string[]; - _value?: Element[]; + value?: string[]|undefined; + _value?: Element[]|undefined; } /** * Guidelines for the administration of the medication. @@ -18046,19 +18046,19 @@ export interface MedicationKnowledgeAdministrationGuidelines extends BackboneEle /** * Dosage for the medication for the specific guidelines. */ - dosage?: MedicationKnowledgeAdministrationGuidelinesDosage[]; + dosage?: MedicationKnowledgeAdministrationGuidelinesDosage[]|undefined; /** * Indication for use that apply to the specific administration guidelines. */ - indicationCodeableConcept?: CodeableConcept; + indicationCodeableConcept?: CodeableConcept|undefined; /** * Indication for use that apply to the specific administration guidelines. */ - indicationReference?: Reference; + indicationReference?: Reference|undefined; /** * Characteristics of the patient that are relevant to the administration guidelines (for example, height, weight, gender, etc.). */ - patientCharacteristics?: MedicationKnowledgeAdministrationGuidelinesPatientCharacteristics[]; + patientCharacteristics?: MedicationKnowledgeAdministrationGuidelinesPatientCharacteristics[]|undefined; } /** * Categorization of the medication within a formulary or classification system. @@ -18067,7 +18067,7 @@ export interface MedicationKnowledgeMedicineClassification extends BackboneEleme /** * Specific category assigned to the medication (e.g. anti-infective, anti-hypertensive, antibiotic, etc.). */ - classification?: CodeableConcept[]; + classification?: CodeableConcept[]|undefined; /** * The type of category for the medication (for example, therapeutic classification, therapeutic sub-classification). */ @@ -18080,11 +18080,11 @@ export interface MedicationKnowledgePackaging extends BackboneElement { /** * The number of product units the package would contain if fully loaded. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * A code that defines the specific type of packaging that the medication can be found in (e.g. blister sleeve, tube, bottle). */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Specifies descriptive properties of the medicine, such as color, shape, imprints, etc. @@ -18093,25 +18093,25 @@ export interface MedicationKnowledgeDrugCharacteristic extends BackboneElement { /** * A code specifying which characteristic of the medicine is being described (for example, colour, shape, imprint). */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; /** * The description should be provided as a CodeableConcept, SimpleQuantity or an image. The description can be a string only when these others are not available. */ - valueCodeableConcept?: CodeableConcept; + valueCodeableConcept?: CodeableConcept|undefined; /** * The description should be provided as a CodeableConcept, SimpleQuantity or an image. The description can be a string only when these others are not available. */ - valueString?: string; - _valueString?: Element; + valueString?: string|undefined; + _valueString?: Element|undefined; /** * The description should be provided as a CodeableConcept, SimpleQuantity or an image. The description can be a string only when these others are not available. */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; /** * The description should be provided as a CodeableConcept, SimpleQuantity or an image. The description can be a string only when these others are not available. */ - valueBase64Binary?: string; - _valueBase64Binary?: Element; + valueBase64Binary?: string|undefined; + _valueBase64Binary?: Element|undefined; } /** * Specifies if changes are allowed when dispensing a medication from a regulatory perspective. @@ -18121,7 +18121,7 @@ export interface MedicationKnowledgeRegulatorySubstitution extends BackboneEleme * Specifies if regulation allows for changes in the medication when dispensing. */ allowed: boolean; - _allowed?: Element; + _allowed?: Element|undefined; /** * Specifies the type of substitution allowed. */ @@ -18143,7 +18143,7 @@ export interface MedicationKnowledgeRegulatoryMaxDispense extends BackboneElemen /** * The period that applies to the maximum number of units. */ - period?: Duration; + period?: Duration|undefined; /** * The maximum number of units of the medication that can be dispensed. */ @@ -18156,7 +18156,7 @@ export interface MedicationKnowledgeRegulatory extends BackboneElement { /** * The maximum number of units of the medication that can be dispensed in a period. */ - maxDispense?: MedicationKnowledgeRegulatoryMaxDispense; + maxDispense?: MedicationKnowledgeRegulatoryMaxDispense|undefined; /** * The authority that is specifying the regulations. */ @@ -18164,11 +18164,11 @@ export interface MedicationKnowledgeRegulatory extends BackboneElement { /** * Specifies the schedule of a medication in jurisdiction. */ - schedule?: MedicationKnowledgeRegulatorySchedule[]; + schedule?: MedicationKnowledgeRegulatorySchedule[]|undefined; /** * Specifies if changes are allowed when dispensing a medication from a regulatory perspective. */ - substitution?: MedicationKnowledgeRegulatorySubstitution[]; + substitution?: MedicationKnowledgeRegulatorySubstitution[]|undefined; } /** * The time course of drug absorption, distribution, metabolism and excretion of a medication from the body. @@ -18177,15 +18177,15 @@ export interface MedicationKnowledgeKinetics extends BackboneElement { /** * The drug concentration measured at certain discrete points in time. */ - areaUnderCurve?: Quantity[]; + areaUnderCurve?: Quantity[]|undefined; /** * The time required for any specified property (e.g., the concentration of a substance in the body) to decrease by half. */ - halfLifePeriod?: Duration; + halfLifePeriod?: Duration|undefined; /** * The median lethal dose of a drug. */ - lethalDose50?: Quantity[]; + lethalDose50?: Quantity[]|undefined; } /** * Information about a medication that is used to support knowledge. @@ -18196,94 +18196,94 @@ export interface MedicationKnowledge extends DomainResource { /** * Guidelines for the administration of the medication. */ - administrationGuidelines?: MedicationKnowledgeAdministrationGuidelines[]; + administrationGuidelines?: MedicationKnowledgeAdministrationGuidelines[]|undefined; /** * This is the quantity of medication in a package. To specify the strength of the medication, the Ingredient.strength attribute is used. */ - amount?: Quantity; + amount?: Quantity|undefined; /** * Associated or related medications. For example, if the medication is a branded product (e.g. Crestor), this is the Therapeutic Moeity (e.g. Rosuvastatin) or if this is a generic medication (e.g. Rosuvastatin), this would link to a branded product (e.g. Crestor). */ - associatedMedication?: Reference[]; + associatedMedication?: Reference[]|undefined; /** * Depending on the context of use, the code that was actually selected by the user (prescriber, dispenser, etc.) will have the coding.userSelected set to true. As described in the coding datatype: "A coding may be marked as a "userSelected" if a user selected the particular coded value in a user interface (e.g. the user selects an item in a pick-list). If a user selected coding exists, it is the preferred choice for performing translations etc. Other codes can only be literal translations to alternative code systems, or codes at a lower level of granularity (e.g. a generic code for a vendor-specific primary one). */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * Potential clinical issue with or between medication(s) (for example, drug-drug interaction, drug-disease contraindication, drug-allergy interaction, etc.). */ - contraindication?: Reference[]; + contraindication?: Reference[]|undefined; /** * The price of the medication. */ - cost?: MedicationKnowledgeCost[]; + cost?: MedicationKnowledgeCost[]|undefined; /** * When Medication is referenced from MedicationRequest, this is the ordered form. When Medication is referenced within MedicationDispense, this is the dispensed form. When Medication is referenced within MedicationAdministration, this is administered form. */ - doseForm?: CodeableConcept; + doseForm?: CodeableConcept|undefined; /** * Specifies descriptive properties of the medicine, such as color, shape, imprints, etc. */ - drugCharacteristic?: MedicationKnowledgeDrugCharacteristic[]; + drugCharacteristic?: MedicationKnowledgeDrugCharacteristic[]|undefined; /** * Identifies a particular constituent of interest in the product. */ - ingredient?: MedicationKnowledgeIngredient[]; + ingredient?: MedicationKnowledgeIngredient[]|undefined; /** * The intended or approved route of administration. */ - intendedRoute?: CodeableConcept[]; + intendedRoute?: CodeableConcept[]|undefined; /** * The time course of drug absorption, distribution, metabolism and excretion of a medication from the body. */ - kinetics?: MedicationKnowledgeKinetics[]; + kinetics?: MedicationKnowledgeKinetics[]|undefined; /** * Describes the details of the manufacturer of the medication product. This is not intended to represent the distributor of a medication product. */ - manufacturer?: Reference; + manufacturer?: Reference|undefined; /** * Categorization of the medication within a formulary or classification system. */ - medicineClassification?: MedicationKnowledgeMedicineClassification[]; + medicineClassification?: MedicationKnowledgeMedicineClassification[]|undefined; /** * The program under which the medication is reviewed. */ - monitoringProgram?: MedicationKnowledgeMonitoringProgram[]; + monitoringProgram?: MedicationKnowledgeMonitoringProgram[]|undefined; /** * Associated documentation about the medication. */ - monograph?: MedicationKnowledgeMonograph[]; + monograph?: MedicationKnowledgeMonograph[]|undefined; /** * Information that only applies to packages (not products). */ - packaging?: MedicationKnowledgePackaging; + packaging?: MedicationKnowledgePackaging|undefined; /** * The instructions for preparing the medication. */ - preparationInstruction?: string; - _preparationInstruction?: Element; + preparationInstruction?: string|undefined; + _preparationInstruction?: Element|undefined; /** * Category of the medication or product (e.g. branded product, therapeutic moeity, generic product, innovator product, etc.). */ - productType?: CodeableConcept[]; + productType?: CodeableConcept[]|undefined; /** * Regulatory information about a medication. */ - regulatory?: MedicationKnowledgeRegulatory[]; + regulatory?: MedicationKnowledgeRegulatory[]|undefined; /** * Associated or related knowledge about a medication. */ - relatedMedicationKnowledge?: MedicationKnowledgeRelatedMedicationKnowledge[]; + relatedMedicationKnowledge?: MedicationKnowledgeRelatedMedicationKnowledge[]|undefined; /** * This status is intended to identify if the medication in a local system is in active use within a drug database or inventory. For example, a pharmacy system may create a new drug file record for a compounded product "ABC Hospital Special Cream" with an active status. At some point in the future, it may be determined that the drug record was created with an error and the status is changed to "entered in error". This status is not intended to specify if a medication is part of a particular formulary. It is possible that the drug record may be referenced by multiple formularies or catalogues and each of those entries would have a separate status. */ - status?: MedicationKnowledgeStatusCodes; - _status?: Element; + status?: MedicationKnowledgeStatusCodes|undefined; + _status?: Element|undefined; /** * Additional names for a medication, for example, the name(s) given to a medication in different countries. For example, acetaminophen and paracetamol or salbutamol and albuterol. */ - synonym?: string[]; - _synonym?: Element[]; + synonym?: string[]|undefined; + _synonym?: Element[]|undefined; } /** * Code Values for the MedicationKnowledge.status field @@ -18300,11 +18300,11 @@ export interface MedicationRequestDispenseRequestInitialFill extends BackboneEle /** * The length of time that the first dispense is expected to last. */ - duration?: Duration; + duration?: Duration|undefined; /** * The amount or quantity to provide as part of the first dispense. */ - quantity?: Quantity; + quantity?: Quantity|undefined; } /** * Indicates the specific details for the dispense or medication supply part of a medication request (also known as a Medication Prescription or Medication Order). Note that this information is not always sent with the order. There may be in some settings (e.g. hospitals) institutional or system support for completing the dispense details in the pharmacy department. @@ -18313,31 +18313,31 @@ export interface MedicationRequestDispenseRequest extends BackboneElement { /** * The minimum period of time that must occur between dispenses of the medication. */ - dispenseInterval?: Duration; + dispenseInterval?: Duration|undefined; /** * In some situations, this attribute may be used instead of quantity to identify the amount supplied by how long it is expected to last, rather than the physical quantity issued, e.g. 90 days supply of medication (based on an ordered dosage). When possible, it is always better to specify quantity, as this tends to be more precise. expectedSupplyDuration will always be an estimate that can be influenced by external factors. */ - expectedSupplyDuration?: Duration; + expectedSupplyDuration?: Duration|undefined; /** * If populating this element, either the quantity or the duration must be included. */ - initialFill?: MedicationRequestDispenseRequestInitialFill; + initialFill?: MedicationRequestDispenseRequestInitialFill|undefined; /** * If displaying "number of authorized fills", add 1 to this number. */ - numberOfRepeatsAllowed?: number; + numberOfRepeatsAllowed?: number|undefined; /** * Indicates the intended dispensing Organization specified by the prescriber. */ - performer?: Reference; + performer?: Reference|undefined; /** * The amount that is to be dispensed for one fill. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * It reflects the prescribers' perspective for the validity of the prescription. Dispenses must not be made against the prescription outside of this period. The lower-bound of the Dispensing Window signifies the earliest date that the prescription can be filled for the first time. If an upper-bound is not specified then the Prescription is open-ended or will default to a stale-date based on regulations. */ - validityPeriod?: Period; + validityPeriod?: Period|undefined; } /** * Indicates whether or not substitution can or should be part of the dispense. In some cases, substitution must happen, in other cases substitution must not happen. This block explains the prescriber's intent. If nothing is specified substitution may be done. @@ -18346,16 +18346,16 @@ export interface MedicationRequestSubstitution extends BackboneElement { /** * This element is labeled as a modifier because whether substitution is allow or not, it cannot be ignored. */ - allowedBoolean?: boolean; - _allowedBoolean?: Element; + allowedBoolean?: boolean|undefined; + _allowedBoolean?: Element|undefined; /** * This element is labeled as a modifier because whether substitution is allow or not, it cannot be ignored. */ - allowedCodeableConcept?: CodeableConcept; + allowedCodeableConcept?: CodeableConcept|undefined; /** * Indicates the reason for the substitution, or why substitution must or must not be performed. */ - reason?: CodeableConcept; + reason?: CodeableConcept|undefined; } /** * An order or request for both supply of the medication and the instructions for administration of the medication to a patient. The resource is called "MedicationRequest" rather than "MedicationPrescription" or "MedicationOrder" to generalize the use across inpatient and outpatient settings, including care plans, etc., and to harmonize with workflow patterns. @@ -18366,137 +18366,137 @@ export interface MedicationRequest extends DomainResource { /** * The date (and perhaps time) when the prescription was initially written or authored on. */ - authoredOn?: string; - _authoredOn?: Element; + authoredOn?: string|undefined; + _authoredOn?: Element|undefined; /** * A plan or request that is fulfilled in whole or in part by this medication request. */ - basedOn?: Reference[]; + basedOn?: Reference[]|undefined; /** * The category can be used to include where the medication is expected to be consumed or other types of requests. */ - category?: CodeableConcept[]; + category?: CodeableConcept[]|undefined; /** * This attribute should not be confused with the protocol of the medication. */ - courseOfTherapyType?: CodeableConcept; + courseOfTherapyType?: CodeableConcept|undefined; /** * This element can include a detected issue that has been identified either by a decision support system or by a clinician and may include information on the steps that were taken to address the issue. */ - detectedIssue?: Reference[]; + detectedIssue?: Reference[]|undefined; /** * Indicates the specific details for the dispense or medication supply part of a medication request (also known as a Medication Prescription or Medication Order). Note that this information is not always sent with the order. There may be in some settings (e.g. hospitals) institutional or system support for completing the dispense details in the pharmacy department. */ - dispenseRequest?: MedicationRequestDispenseRequest; + dispenseRequest?: MedicationRequestDispenseRequest|undefined; /** * If do not perform is not specified, the request is a positive request e.g. "do perform". */ - doNotPerform?: boolean; - _doNotPerform?: Element; + doNotPerform?: boolean|undefined; + _doNotPerform?: Element|undefined; /** * There are examples where a medication request may include the option of an oral dose or an Intravenous or Intramuscular dose. For example, "Ondansetron 8mg orally or IV twice a day as needed for nausea" or "Compazine® (prochlorperazine) 5-10mg PO or 25mg PR bid prn nausea or vomiting". In these cases, two medication requests would be created that could be grouped together. The decision on which dose and route of administration to use is based on the patient's condition at the time the dose is needed. */ - dosageInstruction?: Dosage[]; + dosageInstruction?: Dosage[]|undefined; /** * This will typically be the encounter the event occurred within, but some activities may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter." If there is a need to link to episodes of care they will be handled with an extension. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * This might not include provenances for all versions of the request – only those deemed “relevant” or important. This SHALL NOT include the provenance associated with this current version of the resource. (If that provenance is deemed to be a “relevant” change, it will need to be added as part of a later update. Until then, it can be queried directly as the provenance that points to this version using _revinclude All Provenances should have some historical version of this Request as their subject.). */ - eventHistory?: Reference[]; + eventHistory?: Reference[]|undefined; /** * A shared identifier common to all requests that were authorized more or less simultaneously by a single author, representing the identifier of the requisition or prescription. */ - groupIdentifier?: Identifier; + groupIdentifier?: Identifier|undefined; /** * This is a business identifier, not a resource identifier. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The URL pointing to a protocol, guideline, orderset, or other definition that is adhered to in whole or in part by this MedicationRequest. */ - instantiatesCanonical?: string[]; - _instantiatesCanonical?: Element[]; + instantiatesCanonical?: string[]|undefined; + _instantiatesCanonical?: Element[]|undefined; /** * The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this MedicationRequest. */ - instantiatesUri?: string[]; - _instantiatesUri?: Element[]; + instantiatesUri?: string[]|undefined; + _instantiatesUri?: Element[]|undefined; /** * Insurance plans, coverage extensions, pre-authorizations and/or pre-determinations that may be required for delivering the requested service. */ - insurance?: Reference[]; + insurance?: Reference[]|undefined; /** * It is expected that the type of requester will be restricted for different stages of a MedicationRequest. For example, Proposals can be created by a patient, relatedPerson, Practitioner or Device. Plans can be created by Practitioners, Patients, RelatedPersons and Devices. Original orders can be created by a Practitioner only. * An instance-order is an instantiation of a request or order and may be used to populate Medication Administration Record. * This element is labeled as a modifier because the intent alters when and how the resource is actually applicable. */ intent: MedicationRequestIntentCodes; - _intent?: Element; + _intent?: Element|undefined; /** * If only a code is specified, then it needs to be a code for a specific product. If more information is required, then the use of the Medication resource is recommended. For example, if you require form or lot number or if the medication is compounded or extemporaneously prepared, then you must reference the Medication resource. */ - medicationCodeableConcept?: CodeableConcept; + medicationCodeableConcept?: CodeableConcept|undefined; /** * If only a code is specified, then it needs to be a code for a specific product. If more information is required, then the use of the Medication resource is recommended. For example, if you require form or lot number or if the medication is compounded or extemporaneously prepared, then you must reference the Medication resource. */ - medicationReference?: Reference; + medicationReference?: Reference|undefined; /** * Extra information about the prescription that could not be conveyed by the other attributes. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * The specified desired performer of the medication treatment (e.g. the performer of the medication administration). */ - performer?: Reference; + performer?: Reference|undefined; /** * If specified without indicating a performer, this indicates that the performer must be of the specified type. If specified with a performer then it indicates the requirements of the performer if the designated performer is not available. */ - performerType?: CodeableConcept; + performerType?: CodeableConcept|undefined; /** * Indicates how quickly the Medication Request should be addressed with respect to other requests. */ - priority?: MedicationRequestPriorityCodes; - _priority?: Element; + priority?: MedicationRequestPriorityCodes|undefined; + _priority?: Element|undefined; /** * A link to a resource representing an earlier order related order or prescription. */ - priorPrescription?: Reference; + priorPrescription?: Reference|undefined; /** * This could be a diagnosis code. If a full condition record exists or additional detail is needed, use reasonReference. */ - reasonCode?: CodeableConcept[]; + reasonCode?: CodeableConcept[]|undefined; /** * This is a reference to a condition or observation that is the reason for the medication order. If only a code exists, use reasonCode. */ - reasonReference?: Reference[]; + reasonReference?: Reference[]|undefined; /** * The person who entered the order on behalf of another individual for example in the case of a verbal or a telephone order. */ - recorder?: Reference; + recorder?: Reference|undefined; /** * Indicates if this record was captured as a secondary 'reported' record rather than as an original primary source-of-truth record. It may also indicate the source of the report. */ - reportedBoolean?: boolean; - _reportedBoolean?: Element; + reportedBoolean?: boolean|undefined; + _reportedBoolean?: Element|undefined; /** * Indicates if this record was captured as a secondary 'reported' record rather than as an original primary source-of-truth record. It may also indicate the source of the report. */ - reportedReference?: Reference; + reportedReference?: Reference|undefined; /** * The individual, organization, or device that initiated the request and has responsibility for its activation. */ - requester?: Reference; + requester?: Reference|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: MedicationRequestStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * This is generally only used for "exception" statuses such as "suspended" or "cancelled". The reason why the MedicationRequest was created at all is captured in reasonCode, not here. */ - statusReason?: CodeableConcept; + statusReason?: CodeableConcept|undefined; /** * The subject on a medication request is mandatory. For the secondary use case where the actual subject is not provided, there still must be an anonymized subject specified. */ @@ -18504,11 +18504,11 @@ export interface MedicationRequest extends DomainResource { /** * Indicates whether or not substitution can or should be part of the dispense. In some cases, substitution must happen, in other cases substitution must not happen. This block explains the prescriber's intent. If nothing is specified substitution may be done. */ - substitution?: MedicationRequestSubstitution; + substitution?: MedicationRequestSubstitution|undefined; /** * Include additional information (for example, patient height and weight) that supports the ordering of the medication. */ - supportingInformation?: Reference[]; + supportingInformation?: Reference[]|undefined; } /** * Code Values for the MedicationRequest.intent field @@ -18555,79 +18555,79 @@ export interface MedicationStatement extends DomainResource { /** * A plan, proposal or order that is fulfilled in whole or in part by this event. */ - basedOn?: Reference[]; + basedOn?: Reference[]|undefined; /** * Indicates where the medication is expected to be consumed or administered. */ - category?: CodeableConcept; + category?: CodeableConcept|undefined; /** * The encounter or episode of care that establishes the context for this MedicationStatement. */ - context?: Reference; + context?: Reference|undefined; /** * The date when the medication statement was asserted by the information source. */ - dateAsserted?: string; - _dateAsserted?: Element; + dateAsserted?: string|undefined; + _dateAsserted?: Element|undefined; /** * Likely references would be to MedicationRequest, MedicationDispense, Claim, Observation or QuestionnaireAnswers. The most common use cases for deriving a MedicationStatement comes from creating a MedicationStatement from a MedicationRequest or from a lab observation or a claim. it should be noted that the amount of information that is available varies from the type resource that you derive the MedicationStatement from. */ - derivedFrom?: Reference[]; + derivedFrom?: Reference[]|undefined; /** * The dates included in the dosage on a Medication Statement reflect the dates for a given dose. For example, "from November 1, 2016 to November 3, 2016, take one tablet daily and from November 4, 2016 to November 7, 2016, take two tablets daily." It is expected that this specificity may only be populated where the patient brings in their labeled container or where the Medication Statement is derived from a MedicationRequest. */ - dosage?: Dosage[]; + dosage?: Dosage[]|undefined; /** * This attribute reflects the period over which the patient consumed the medication and is expected to be populated on the majority of Medication Statements. If the medication is still being taken at the time the statement is recorded, the "end" date will be omitted. The date/time attribute supports a variety of dates - year, year/month and exact date. If something more than this is required, this should be conveyed as text. */ - effectiveDateTime?: string; - _effectiveDateTime?: Element; + effectiveDateTime?: string|undefined; + _effectiveDateTime?: Element|undefined; /** * This attribute reflects the period over which the patient consumed the medication and is expected to be populated on the majority of Medication Statements. If the medication is still being taken at the time the statement is recorded, the "end" date will be omitted. The date/time attribute supports a variety of dates - year, year/month and exact date. If something more than this is required, this should be conveyed as text. */ - effectivePeriod?: Period; + effectivePeriod?: Period|undefined; /** * This is a business identifier, not a resource identifier. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The person or organization that provided the information about the taking of this medication. Note: Use derivedFrom when a MedicationStatement is derived from other resources, e.g. Claim or MedicationRequest. */ - informationSource?: Reference; + informationSource?: Reference|undefined; /** * If only a code is specified, then it needs to be a code for a specific product. If more information is required, then the use of the medication resource is recommended. For example, if you require form or lot number, then you must reference the Medication resource. */ - medicationCodeableConcept?: CodeableConcept; + medicationCodeableConcept?: CodeableConcept|undefined; /** * If only a code is specified, then it needs to be a code for a specific product. If more information is required, then the use of the medication resource is recommended. For example, if you require form or lot number, then you must reference the Medication resource. */ - medicationReference?: Reference; + medicationReference?: Reference|undefined; /** * Provides extra information about the medication statement that is not conveyed by the other attributes. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * A larger event of which this particular event is a component or step. */ - partOf?: Reference[]; + partOf?: Reference[]|undefined; /** * This could be a diagnosis code. If a full condition record exists or additional detail is needed, use reasonForUseReference. */ - reasonCode?: CodeableConcept[]; + reasonCode?: CodeableConcept[]|undefined; /** * This is a reference to a condition that is the reason why the medication is being/was taken. If only a code exists, use reasonForUseCode. */ - reasonReference?: Reference[]; + reasonReference?: Reference[]|undefined; /** * MedicationStatement is a statement at a point in time. The status is only representative at the point when it was asserted. The value set for MedicationStatement.status contains codes that assert the status of the use of the medication by the patient (for example, stopped or on hold) as well as codes that assert the status of the medication statement itself (for example, entered in error). * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: MedicationStatementStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * This is generally only used for "exception" statuses such as "not-taken", "on-hold", "cancelled" or "entered-in-error". The reason for performing the event at all is captured in reasonCode, not here. */ - statusReason?: CodeableConcept[]; + statusReason?: CodeableConcept[]|undefined; /** * The person, animal or group who is/was taking the medication. */ @@ -18654,7 +18654,7 @@ export interface MedicinalProductNameNamePart extends BackboneElement { * A fragment of a product name. */ part: string; - _part?: Element; + _part?: Element|undefined; /** * Idenifying type for this part of the name (e.g. strength part). */ @@ -18671,7 +18671,7 @@ export interface MedicinalProductNameCountryLanguage extends BackboneElement { /** * Jurisdiction code for where this name applies. */ - jurisdiction?: CodeableConcept; + jurisdiction?: CodeableConcept|undefined; /** * Language code for this name. */ @@ -18684,16 +18684,16 @@ export interface MedicinalProductName extends BackboneElement { /** * Country where the name applies. */ - countryLanguage?: MedicinalProductNameCountryLanguage[]; + countryLanguage?: MedicinalProductNameCountryLanguage[]|undefined; /** * Coding words or phrases of the name. */ - namePart?: MedicinalProductNameNamePart[]; + namePart?: MedicinalProductNameNamePart[]|undefined; /** * The full product name. */ productName: string; - _productName?: Element; + _productName?: Element|undefined; } /** * An operation applied to the product, for manufacturing or adminsitrative purpose. @@ -18702,28 +18702,28 @@ export interface MedicinalProductManufacturingBusinessOperation extends Backbone /** * Regulatory authorization reference number. */ - authorisationReferenceNumber?: Identifier; + authorisationReferenceNumber?: Identifier|undefined; /** * To indicate if this proces is commercially confidential. */ - confidentialityIndicator?: CodeableConcept; + confidentialityIndicator?: CodeableConcept|undefined; /** * Regulatory authorization date. */ - effectiveDate?: string; - _effectiveDate?: Element; + effectiveDate?: string|undefined; + _effectiveDate?: Element|undefined; /** * The manufacturer or establishment associated with the process. */ - manufacturer?: Reference[]; + manufacturer?: Reference[]|undefined; /** * The type of manufacturing operation. */ - operationType?: CodeableConcept; + operationType?: CodeableConcept|undefined; /** * A regulator which oversees the operation. */ - regulator?: Reference; + regulator?: Reference|undefined; } /** * Indicates if the medicinal product has an orphan designation for the treatment of a rare disease. @@ -18732,36 +18732,36 @@ export interface MedicinalProductSpecialDesignation extends BackboneElement { /** * Date when the designation was granted. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * Identifier for the designation, or procedure number. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Condition for which the medicinal use applies. */ - indicationCodeableConcept?: CodeableConcept; + indicationCodeableConcept?: CodeableConcept|undefined; /** * Condition for which the medicinal use applies. */ - indicationReference?: Reference; + indicationReference?: Reference|undefined; /** * The intended use of the product, e.g. prevention, treatment. */ - intendedUse?: CodeableConcept; + intendedUse?: CodeableConcept|undefined; /** * Animal species for which this applies. */ - species?: CodeableConcept; + species?: CodeableConcept|undefined; /** * For example granted, pending, expired or withdrawn. */ - status?: CodeableConcept; + status?: CodeableConcept|undefined; /** * The type of special designation, e.g. orphan drug, minor use. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Detailed definition of a medicinal product, typically for uses other than direct patient care (e.g. regulatory use). @@ -18772,51 +18772,51 @@ export interface MedicinalProduct extends DomainResource { /** * Whether the Medicinal Product is subject to additional monitoring for regulatory reasons. */ - additionalMonitoringIndicator?: CodeableConcept; + additionalMonitoringIndicator?: CodeableConcept|undefined; /** * Supporting documentation, typically for regulatory submission. */ - attachedDocument?: Reference[]; + attachedDocument?: Reference[]|undefined; /** * Clinical trials or studies that this product is involved in. */ - clinicalTrial?: Reference[]; + clinicalTrial?: Reference[]|undefined; /** * The dose form for a single part product, or combined form of a multiple part product. */ - combinedPharmaceuticalDoseForm?: CodeableConcept; + combinedPharmaceuticalDoseForm?: CodeableConcept|undefined; /** * A product specific contact, person (in a role), or an organization. */ - contact?: Reference[]; + contact?: Reference[]|undefined; /** * Reference to another product, e.g. for linking authorised to investigational product. */ - crossReference?: Identifier[]; + crossReference?: Identifier[]|undefined; /** * If this medicine applies to human or veterinary uses. */ - domain?: Coding; + domain?: Coding|undefined; /** * Business identifier for this product. Could be an MPID. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The legal status of supply of the medicinal product as classified by the regulator. */ - legalStatusOfSupply?: CodeableConcept; + legalStatusOfSupply?: CodeableConcept|undefined; /** * An operation applied to the product, for manufacturing or adminsitrative purpose. */ - manufacturingBusinessOperation?: MedicinalProductManufacturingBusinessOperation[]; + manufacturingBusinessOperation?: MedicinalProductManufacturingBusinessOperation[]|undefined; /** * Marketing status of the medicinal product, in contrast to marketing authorizaton. */ - marketingStatus?: MarketingStatus[]; + marketingStatus?: MarketingStatus[]|undefined; /** * A master file for to the medicinal product (e.g. Pharmacovigilance System Master File). */ - masterFile?: Reference[]; + masterFile?: Reference[]|undefined; /** * The product's name, including full name and possibly coded parts. */ @@ -18824,32 +18824,32 @@ export interface MedicinalProduct extends DomainResource { /** * Package representation for the product. */ - packagedMedicinalProduct?: Reference[]; + packagedMedicinalProduct?: Reference[]|undefined; /** * If authorised for use in children. */ - paediatricUseIndicator?: CodeableConcept; + paediatricUseIndicator?: CodeableConcept|undefined; /** * Pharmaceutical aspects of product. */ - pharmaceuticalProduct?: Reference[]; + pharmaceuticalProduct?: Reference[]|undefined; /** * Allows the product to be classified by various systems. */ - productClassification?: CodeableConcept[]; + productClassification?: CodeableConcept[]|undefined; /** * Indicates if the medicinal product has an orphan designation for the treatment of a rare disease. */ - specialDesignation?: MedicinalProductSpecialDesignation[]; + specialDesignation?: MedicinalProductSpecialDesignation[]|undefined; /** * Whether the Medicinal Product is subject to special measures for regulatory reasons. */ - specialMeasures?: string[]; - _specialMeasures?: Element[]; + specialMeasures?: string[]|undefined; + _specialMeasures?: Element[]|undefined; /** * Regulatory type, e.g. Investigational or Authorized. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Authorization in areas within a country. @@ -18858,23 +18858,23 @@ export interface MedicinalProductAuthorizationJurisdictionalAuthorization extend /** * Country of authorization. */ - country?: CodeableConcept; + country?: CodeableConcept|undefined; /** * The assigned number for the marketing authorization. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Jurisdiction within a country. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * The legal status of supply in a jurisdiction or region. */ - legalStatusOfSupply?: CodeableConcept; + legalStatusOfSupply?: CodeableConcept|undefined; /** * The start and expected end date of the authorization. */ - validityPeriod?: Period; + validityPeriod?: Period|undefined; } /** * The regulatory procedure for granting or amending a marketing authorization. @@ -18883,20 +18883,20 @@ export interface MedicinalProductAuthorizationProcedure extends BackboneElement /** * Applcations submitted to obtain a marketing authorization. */ - application?: MedicinalProductAuthorizationProcedure[]; + application?: MedicinalProductAuthorizationProcedure[]|undefined; /** * Date of procedure. */ - datePeriod?: Period; + datePeriod?: Period|undefined; /** * Date of procedure. */ - dateDateTime?: string; - _dateDateTime?: Element; + dateDateTime?: string|undefined; + _dateDateTime?: Element|undefined; /** * Identifier for this procedure. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * Type of procedure. */ @@ -18911,71 +18911,71 @@ export interface MedicinalProductAuthorization extends DomainResource { /** * The country in which the marketing authorization has been granted. */ - country?: CodeableConcept[]; + country?: CodeableConcept[]|undefined; /** * A period of time after authorization before generic product applicatiosn can be submitted. */ - dataExclusivityPeriod?: Period; + dataExclusivityPeriod?: Period|undefined; /** * The date when the first authorization was granted by a Medicines Regulatory Agency. */ - dateOfFirstAuthorization?: string; - _dateOfFirstAuthorization?: Element; + dateOfFirstAuthorization?: string|undefined; + _dateOfFirstAuthorization?: Element|undefined; /** * Marketing Authorization Holder. */ - holder?: Reference; + holder?: Reference|undefined; /** * Business identifier for the marketing authorization, as assigned by a regulator. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Date of first marketing authorization for a company's new medicinal product in any country in the World. */ - internationalBirthDate?: string; - _internationalBirthDate?: Element; + internationalBirthDate?: string|undefined; + _internationalBirthDate?: Element|undefined; /** * Jurisdiction within a country. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * Authorization in areas within a country. */ - jurisdictionalAuthorization?: MedicinalProductAuthorizationJurisdictionalAuthorization[]; + jurisdictionalAuthorization?: MedicinalProductAuthorizationJurisdictionalAuthorization[]|undefined; /** * The legal framework against which this authorization is granted. */ - legalBasis?: CodeableConcept; + legalBasis?: CodeableConcept|undefined; /** * The regulatory procedure for granting or amending a marketing authorization. */ - procedure?: MedicinalProductAuthorizationProcedure; + procedure?: MedicinalProductAuthorizationProcedure|undefined; /** * Medicines Regulatory Agency. */ - regulator?: Reference; + regulator?: Reference|undefined; /** * The date when a suspended the marketing or the marketing authorization of the product is anticipated to be restored. */ - restoreDate?: string; - _restoreDate?: Element; + restoreDate?: string|undefined; + _restoreDate?: Element|undefined; /** * The status of the marketing authorization. */ - status?: CodeableConcept; + status?: CodeableConcept|undefined; /** * The date at which the given status has become applicable. */ - statusDate?: string; - _statusDate?: Element; + statusDate?: string|undefined; + _statusDate?: Element|undefined; /** * The medicinal product that is being authorized. */ - subject?: Reference; + subject?: Reference|undefined; /** * The beginning of the time period in which the marketing authorization is in the specific status shall be specified A complete date consisting of day, month and year shall be specified using the ISO 8601 date format. */ - validityPeriod?: Period; + validityPeriod?: Period|undefined; } /** * Information about the use of the medicinal product in relation to other therapies described as part of the indication. @@ -18984,11 +18984,11 @@ export interface MedicinalProductContraindicationOtherTherapy extends BackboneEl /** * Reference to a specific medication (active substance, medicinal product or class of products) as part of an indication or contraindication. */ - medicationCodeableConcept?: CodeableConcept; + medicationCodeableConcept?: CodeableConcept|undefined; /** * Reference to a specific medication (active substance, medicinal product or class of products) as part of an indication or contraindication. */ - medicationReference?: Reference; + medicationReference?: Reference|undefined; /** * The type of relationship between the medicinal product indication or contraindication and another therapy. */ @@ -19003,31 +19003,31 @@ export interface MedicinalProductContraindication extends DomainResource { /** * A comorbidity (concurrent condition) or coinfection. */ - comorbidity?: CodeableConcept[]; + comorbidity?: CodeableConcept[]|undefined; /** * The disease, symptom or procedure for the contraindication. */ - disease?: CodeableConcept; + disease?: CodeableConcept|undefined; /** * The status of the disease or symptom for the contraindication. */ - diseaseStatus?: CodeableConcept; + diseaseStatus?: CodeableConcept|undefined; /** * Information about the use of the medicinal product in relation to other therapies described as part of the indication. */ - otherTherapy?: MedicinalProductContraindicationOtherTherapy[]; + otherTherapy?: MedicinalProductContraindicationOtherTherapy[]|undefined; /** * The population group to which this applies. */ - population?: Population[]; + population?: Population[]|undefined; /** * The medication for which this is an indication. */ - subject?: Reference[]; + subject?: Reference[]|undefined; /** * Information about the use of the medicinal product in relation to other therapies as part of the indication. */ - therapeuticIndication?: Reference[]; + therapeuticIndication?: Reference[]|undefined; } /** * Information about the use of the medicinal product in relation to other therapies described as part of the indication. @@ -19036,11 +19036,11 @@ export interface MedicinalProductIndicationOtherTherapy extends BackboneElement /** * Reference to a specific medication (active substance, medicinal product or class of products) as part of an indication or contraindication. */ - medicationCodeableConcept?: CodeableConcept; + medicationCodeableConcept?: CodeableConcept|undefined; /** * Reference to a specific medication (active substance, medicinal product or class of products) as part of an indication or contraindication. */ - medicationReference?: Reference; + medicationReference?: Reference|undefined; /** * The type of relationship between the medicinal product indication or contraindication and another therapy. */ @@ -19055,39 +19055,39 @@ export interface MedicinalProductIndication extends DomainResource { /** * Comorbidity (concurrent condition) or co-infection as part of the indication. */ - comorbidity?: CodeableConcept[]; + comorbidity?: CodeableConcept[]|undefined; /** * The status of the disease or symptom for which the indication applies. */ - diseaseStatus?: CodeableConcept; + diseaseStatus?: CodeableConcept|undefined; /** * The disease, symptom or procedure that is the indication for treatment. */ - diseaseSymptomProcedure?: CodeableConcept; + diseaseSymptomProcedure?: CodeableConcept|undefined; /** * Timing or duration information as part of the indication. */ - duration?: Quantity; + duration?: Quantity|undefined; /** * The intended effect, aim or strategy to be achieved by the indication. */ - intendedEffect?: CodeableConcept; + intendedEffect?: CodeableConcept|undefined; /** * Information about the use of the medicinal product in relation to other therapies described as part of the indication. */ - otherTherapy?: MedicinalProductIndicationOtherTherapy[]; + otherTherapy?: MedicinalProductIndicationOtherTherapy[]|undefined; /** * The population group to which this applies. */ - population?: Population[]; + population?: Population[]|undefined; /** * The medication for which this is an indication. */ - subject?: Reference[]; + subject?: Reference[]|undefined; /** * Describe the undesirable effects of the medicinal product. */ - undesirableEffect?: Reference[]; + undesirableEffect?: Reference[]|undefined; } /** * Strength expressed in terms of a reference substance. @@ -19096,12 +19096,12 @@ export interface MedicinalProductIngredientSpecifiedSubstanceStrengthReferenceSt /** * The country or countries for which the strength range applies. */ - country?: CodeableConcept[]; + country?: CodeableConcept[]|undefined; /** * For when strength is measured at a particular point or distance. */ - measurementPoint?: string; - _measurementPoint?: Element; + measurementPoint?: string|undefined; + _measurementPoint?: Element|undefined; /** * Strength expressed in terms of a reference substance. */ @@ -19109,11 +19109,11 @@ export interface MedicinalProductIngredientSpecifiedSubstanceStrengthReferenceSt /** * Strength expressed in terms of a reference substance. */ - strengthLowLimit?: Ratio; + strengthLowLimit?: Ratio|undefined; /** * Relevant reference substance. */ - substance?: CodeableConcept; + substance?: CodeableConcept|undefined; } /** * Quantity of the substance or specified substance present in the manufactured item or pharmaceutical product. @@ -19122,20 +19122,20 @@ export interface MedicinalProductIngredientSpecifiedSubstanceStrength extends Ba /** * The strength per unitary volume (or mass). */ - concentration?: Ratio; + concentration?: Ratio|undefined; /** * A lower limit for the strength per unitary volume (or mass), for when there is a range. The concentration attribute then becomes the upper limit. */ - concentrationLowLimit?: Ratio; + concentrationLowLimit?: Ratio|undefined; /** * The country or countries for which the strength range applies. */ - country?: CodeableConcept[]; + country?: CodeableConcept[]|undefined; /** * For when strength is measured at a particular point or distance. */ - measurementPoint?: string; - _measurementPoint?: Element; + measurementPoint?: string|undefined; + _measurementPoint?: Element|undefined; /** * The quantity of substance in the unit of presentation, or in the volume (or mass) of the single pharmaceutical product or manufactured item. */ @@ -19143,11 +19143,11 @@ export interface MedicinalProductIngredientSpecifiedSubstanceStrength extends Ba /** * A lower limit for the quantity of substance in the unit of presentation. For use when there is a range of strengths, this is the lower limit, with the presentation attribute becoming the upper limit. */ - presentationLowLimit?: Ratio; + presentationLowLimit?: Ratio|undefined; /** * Strength expressed in terms of a reference substance. */ - referenceStrength?: MedicinalProductIngredientSpecifiedSubstanceStrengthReferenceStrength[]; + referenceStrength?: MedicinalProductIngredientSpecifiedSubstanceStrengthReferenceStrength[]|undefined; } /** * A specified substance that comprises this ingredient. @@ -19160,7 +19160,7 @@ export interface MedicinalProductIngredientSpecifiedSubstance extends BackboneEl /** * Confidentiality level of the specified substance as the ingredient. */ - confidentiality?: CodeableConcept; + confidentiality?: CodeableConcept|undefined; /** * The group of specified substance, e.g. group 1 to 4. */ @@ -19168,7 +19168,7 @@ export interface MedicinalProductIngredientSpecifiedSubstance extends BackboneEl /** * Quantity of the substance or specified substance present in the manufactured item or pharmaceutical product. */ - strength?: MedicinalProductIngredientSpecifiedSubstanceStrength[]; + strength?: MedicinalProductIngredientSpecifiedSubstanceStrength[]|undefined; } /** * The ingredient substance. @@ -19181,7 +19181,7 @@ export interface MedicinalProductIngredientSubstance extends BackboneElement { /** * Quantity of the substance or specified substance present in the manufactured item or pharmaceutical product. */ - strength?: MedicinalProductIngredientSpecifiedSubstanceStrength[]; + strength?: MedicinalProductIngredientSpecifiedSubstanceStrength[]|undefined; } /** * An ingredient of a manufactured item or pharmaceutical product. @@ -19192,16 +19192,16 @@ export interface MedicinalProductIngredient extends DomainResource { /** * If the ingredient is a known or suspected allergen. */ - allergenicIndicator?: boolean; - _allergenicIndicator?: Element; + allergenicIndicator?: boolean|undefined; + _allergenicIndicator?: Element|undefined; /** * The identifier(s) of this Ingredient that are assigned by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * Manufacturer of this Ingredient. */ - manufacturer?: Reference[]; + manufacturer?: Reference[]|undefined; /** * Ingredient role e.g. Active ingredient, excipient. */ @@ -19209,11 +19209,11 @@ export interface MedicinalProductIngredient extends DomainResource { /** * A specified substance that comprises this ingredient. */ - specifiedSubstance?: MedicinalProductIngredientSpecifiedSubstance[]; + specifiedSubstance?: MedicinalProductIngredientSpecifiedSubstance[]|undefined; /** * The ingredient substance. */ - substance?: MedicinalProductIngredientSubstance; + substance?: MedicinalProductIngredientSubstance|undefined; } /** * The specific medication, food or laboratory test that interacts. @@ -19222,11 +19222,11 @@ export interface MedicinalProductInteractionInteractant extends BackboneElement /** * The specific medication, food or laboratory test that interacts. */ - itemReference?: Reference; + itemReference?: Reference|undefined; /** * The specific medication, food or laboratory test that interacts. */ - itemCodeableConcept?: CodeableConcept; + itemCodeableConcept?: CodeableConcept|undefined; } /** * The interactions of the medicinal product with other medicinal products, or other forms of interactions. @@ -19237,32 +19237,32 @@ export interface MedicinalProductInteraction extends DomainResource { /** * The interaction described. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * The effect of the interaction, for example "reduced gastric absorption of primary medication". */ - effect?: CodeableConcept; + effect?: CodeableConcept|undefined; /** * The incidence of the interaction, e.g. theoretical, observed. */ - incidence?: CodeableConcept; + incidence?: CodeableConcept|undefined; /** * The specific medication, food or laboratory test that interacts. */ - interactant?: MedicinalProductInteractionInteractant[]; + interactant?: MedicinalProductInteractionInteractant[]|undefined; /** * Actions for managing the interaction. */ - management?: CodeableConcept; + management?: CodeableConcept|undefined; /** * The medication for which this is a described interaction. */ - subject?: Reference[]; + subject?: Reference[]|undefined; /** * The type of the interaction e.g. drug-drug interaction, drug-food interaction, drug-lab test interaction. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * The manufactured item as contained in the packaged medicinal product. @@ -19273,7 +19273,7 @@ export interface MedicinalProductManufactured extends DomainResource { /** * Ingredient. */ - ingredient?: Reference[]; + ingredient?: Reference[]|undefined; /** * Dose form as manufactured and before any transformation into the pharmaceutical product. */ @@ -19281,15 +19281,15 @@ export interface MedicinalProductManufactured extends DomainResource { /** * Manufacturer of the item (Note that this should be named "manufacturer" but it currently causes technical issues). */ - manufacturer?: Reference[]; + manufacturer?: Reference[]|undefined; /** * Other codeable characteristics. */ - otherCharacteristics?: CodeableConcept[]; + otherCharacteristics?: CodeableConcept[]|undefined; /** * Dimensions, color etc. */ - physicalCharacteristics?: ProdCharacteristic; + physicalCharacteristics?: ProdCharacteristic|undefined; /** * The quantity or "count number" of the manufactured item. */ @@ -19297,7 +19297,7 @@ export interface MedicinalProductManufactured extends DomainResource { /** * The “real world” units in which the quantity of the manufactured item is described. */ - unitOfPresentation?: CodeableConcept; + unitOfPresentation?: CodeableConcept|undefined; } /** * Batch numbering. @@ -19306,7 +19306,7 @@ export interface MedicinalProductPackagedBatchIdentifier extends BackboneElement /** * A number appearing on the immediate packaging (and not the outer packaging). */ - immediatePackaging?: Identifier; + immediatePackaging?: Identifier|undefined; /** * A number appearing on the outer packaging of a specific batch. */ @@ -19319,39 +19319,39 @@ export interface MedicinalProductPackagedPackageItem extends BackboneElement { /** * A possible alternate material for the packaging. */ - alternateMaterial?: CodeableConcept[]; + alternateMaterial?: CodeableConcept[]|undefined; /** * A device accompanying a medicinal product. */ - device?: Reference[]; + device?: Reference[]|undefined; /** * Including possibly Data Carrier Identifier. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The manufactured item as contained in the packaged medicinal product. */ - manufacturedItem?: Reference[]; + manufacturedItem?: Reference[]|undefined; /** * Manufacturer of this Package Item. */ - manufacturer?: Reference[]; + manufacturer?: Reference[]|undefined; /** * Material type of the package item. */ - material?: CodeableConcept[]; + material?: CodeableConcept[]|undefined; /** * Other codeable characteristics. */ - otherCharacteristics?: CodeableConcept[]; + otherCharacteristics?: CodeableConcept[]|undefined; /** * Allows containers within containers. */ - packageItem?: MedicinalProductPackagedPackageItem[]; + packageItem?: MedicinalProductPackagedPackageItem[]|undefined; /** * Dimensions, color etc. */ - physicalCharacteristics?: ProdCharacteristic; + physicalCharacteristics?: ProdCharacteristic|undefined; /** * The quantity of this package in the medicinal product, at the current level of packaging. The outermost is always 1. */ @@ -19359,7 +19359,7 @@ export interface MedicinalProductPackagedPackageItem extends BackboneElement { /** * Shelf Life and storage information. */ - shelfLifeStorage?: ProductShelfLife[]; + shelfLifeStorage?: ProductShelfLife[]|undefined; /** * The physical type of the container of the medicine. */ @@ -19374,32 +19374,32 @@ export interface MedicinalProductPackaged extends DomainResource { /** * Batch numbering. */ - batchIdentifier?: MedicinalProductPackagedBatchIdentifier[]; + batchIdentifier?: MedicinalProductPackagedBatchIdentifier[]|undefined; /** * Textual description. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Unique identifier. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The legal status of supply of the medicinal product as classified by the regulator. */ - legalStatusOfSupply?: CodeableConcept; + legalStatusOfSupply?: CodeableConcept|undefined; /** * Manufacturer of this Package Item. */ - manufacturer?: Reference[]; + manufacturer?: Reference[]|undefined; /** * Manufacturer of this Package Item. */ - marketingAuthorization?: Reference; + marketingAuthorization?: Reference|undefined; /** * Marketing information. */ - marketingStatus?: MarketingStatus[]; + marketingStatus?: MarketingStatus[]|undefined; /** * A packaging item, as a contained for medicine, possibly with other packaging items within. */ @@ -19407,7 +19407,7 @@ export interface MedicinalProductPackaged extends DomainResource { /** * The product with this is a pack for. */ - subject?: Reference[]; + subject?: Reference[]|undefined; } /** * Characteristics e.g. a products onset of action. @@ -19420,7 +19420,7 @@ export interface MedicinalProductPharmaceuticalCharacteristics extends BackboneE /** * The status of characteristic e.g. assigned or pending. */ - status?: CodeableConcept; + status?: CodeableConcept|undefined; } /** * A species specific time during which consumption of animal product is not appropriate. @@ -19429,8 +19429,8 @@ export interface MedicinalProductPharmaceuticalRouteOfAdministrationTargetSpecie /** * Extra information about the withdrawal period. */ - supportingInformation?: string; - _supportingInformation?: Element; + supportingInformation?: string|undefined; + _supportingInformation?: Element|undefined; /** * Coded expression for the type of tissue for which the withdrawal period applues, e.g. meat, milk. */ @@ -19451,7 +19451,7 @@ export interface MedicinalProductPharmaceuticalRouteOfAdministrationTargetSpecie /** * A species specific time during which consumption of animal product is not appropriate. */ - withdrawalPeriod?: MedicinalProductPharmaceuticalRouteOfAdministrationTargetSpeciesWithdrawalPeriod[]; + withdrawalPeriod?: MedicinalProductPharmaceuticalRouteOfAdministrationTargetSpeciesWithdrawalPeriod[]|undefined; } /** * The path by which the pharmaceutical product is taken into or makes contact with the body. @@ -19464,27 +19464,27 @@ export interface MedicinalProductPharmaceuticalRouteOfAdministration extends Bac /** * The first dose (dose quantity) administered in humans can be specified, for a product under investigation, using a numerical value and its unit of measurement. */ - firstDose?: Quantity; + firstDose?: Quantity|undefined; /** * The maximum dose per day (maximum dose quantity to be administered in any one 24-h period) that can be administered as per the protocol referenced in the clinical trial authorisation. */ - maxDosePerDay?: Quantity; + maxDosePerDay?: Quantity|undefined; /** * The maximum dose per treatment period that can be administered as per the protocol referenced in the clinical trial authorisation. */ - maxDosePerTreatmentPeriod?: Ratio; + maxDosePerTreatmentPeriod?: Ratio|undefined; /** * The maximum single dose that can be administered as per the protocol of a clinical trial can be specified using a numerical value and its unit of measurement. */ - maxSingleDose?: Quantity; + maxSingleDose?: Quantity|undefined; /** * The maximum treatment period during which an Investigational Medicinal Product can be administered as per the protocol referenced in the clinical trial authorisation. */ - maxTreatmentPeriod?: Duration; + maxTreatmentPeriod?: Duration|undefined; /** * A species for which this route applies. */ - targetSpecies?: MedicinalProductPharmaceuticalRouteOfAdministrationTargetSpecies[]; + targetSpecies?: MedicinalProductPharmaceuticalRouteOfAdministrationTargetSpecies[]|undefined; } /** * A pharmaceutical product described in terms of its composition and dose form. @@ -19499,19 +19499,19 @@ export interface MedicinalProductPharmaceutical extends DomainResource { /** * Characteristics e.g. a products onset of action. */ - characteristics?: MedicinalProductPharmaceuticalCharacteristics[]; + characteristics?: MedicinalProductPharmaceuticalCharacteristics[]|undefined; /** * Accompanying device. */ - device?: Reference[]; + device?: Reference[]|undefined; /** * An identifier for the pharmaceutical medicinal product. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Ingredient. */ - ingredient?: Reference[]; + ingredient?: Reference[]|undefined; /** * The path by which the pharmaceutical product is taken into or makes contact with the body. */ @@ -19519,7 +19519,7 @@ export interface MedicinalProductPharmaceutical extends DomainResource { /** * Todo. */ - unitOfPresentation?: CodeableConcept; + unitOfPresentation?: CodeableConcept|undefined; } /** * Describe the undesirable effects of the medicinal product. @@ -19530,23 +19530,23 @@ export interface MedicinalProductUndesirableEffect extends DomainResource { /** * Classification of the effect. */ - classification?: CodeableConcept; + classification?: CodeableConcept|undefined; /** * The frequency of occurrence of the effect. */ - frequencyOfOccurrence?: CodeableConcept; + frequencyOfOccurrence?: CodeableConcept|undefined; /** * The population group to which this applies. */ - population?: Population[]; + population?: Population[]|undefined; /** * The medication for which this is an indication. */ - subject?: Reference[]; + subject?: Reference[]|undefined; /** * The symptom, condition or undesirable effect. */ - symptomConditionEffect?: CodeableConcept; + symptomConditionEffect?: CodeableConcept|undefined; } /** * Identifies the resource (or resources) that are being addressed by the event. For example, the Encounter for an admit message or two Account records for a merge. @@ -19556,12 +19556,12 @@ export interface MessageDefinitionFocus extends BackboneElement { * Multiple focuses addressing different resources may occasionally occur. E.g. to link or unlink a resource from a particular account or encounter, etc. */ code: string; - _code?: Element; + _code?: Element|undefined; /** * Identifies the maximum number of resources of this type that must be pointed to by a message in order for it to be valid against this MessageDefinition. */ - max?: string; - _max?: Element; + max?: string|undefined; + _max?: Element|undefined; /** * Identifies the minimum number of resources of this type that must be pointed to by a message in order for it to be valid against this MessageDefinition. */ @@ -19569,8 +19569,8 @@ export interface MessageDefinitionFocus extends BackboneElement { /** * This should be present for most message definitions. However, if the message focus is only a single resource and there is no need to include referenced resources or otherwise enforce the presence of particular elements, it can be omitted. */ - profile?: string; - _profile?: Element; + profile?: string|undefined; + _profile?: Element|undefined; } /** * This indicates an application level response to "close" a transaction implicit in a particular request message. To define a complete workflow scenario, look to the [[PlanDefinition]] resource which allows the definition of complex orchestrations, conditionality, etc. @@ -19580,12 +19580,12 @@ export interface MessageDefinitionAllowedResponse extends BackboneElement { * A reference to the message definition that must be adhered to by this supported response. */ message: string; - _message?: Element; + _message?: Element|undefined; /** * Provides a description of the circumstances in which this response should be used (as opposed to one of the alternative responses). */ - situation?: string; - _situation?: Element; + situation?: string|undefined; + _situation?: Element|undefined; } /** * Defines the characteristics of a message that can be shared between systems, including the type of event that initiates the message, the content to be transmitted and what response(s), if any, are permitted. @@ -19596,123 +19596,123 @@ export interface MessageDefinition extends DomainResource { /** * This indicates an application level response to "close" a transaction implicit in a particular request message. To define a complete workflow scenario, look to the [[PlanDefinition]] resource which allows the definition of complex orchestrations, conditionality, etc. */ - allowedResponse?: MessageDefinitionAllowedResponse[]; + allowedResponse?: MessageDefinitionAllowedResponse[]|undefined; /** * The MessageDefinition that is the basis for the contents of this resource. */ - base?: string; - _base?: Element; + base?: string|undefined; + _base?: Element|undefined; /** * The impact of the content of the message. */ - category?: MessageDefinitionCategoryCodes; - _category?: Element; + category?: MessageDefinitionCategoryCodes|undefined; + _category?: Element|undefined; /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * A copyright statement relating to the message definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the message definition. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the message definition. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ date: string; - _date?: Element; + _date?: Element|undefined; /** * This description can be used to capture details such as why the message definition was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the message definition as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the message definition is presumed to be the predominant language in the place the message definition was created). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Event code or link to the EventDefinition. */ - eventCoding?: Coding; + eventCoding?: Coding|undefined; /** * Event code or link to the EventDefinition. */ - eventUri?: string; - _eventUri?: Element; + eventUri?: string|undefined; + _eventUri?: Element|undefined; /** * Allows filtering of message definitions that are appropriate for use versus not. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * Identifies the resource (or resources) that are being addressed by the event. For example, the Encounter for an admit message or two Account records for a merge. */ - focus?: MessageDefinitionFocus[]; + focus?: MessageDefinitionFocus[]|undefined; /** * Canonical reference to a GraphDefinition. If a URL is provided, it is the canonical reference to a [GraphDefinition](graphdefinition.html) that it controls what resources are to be added to the bundle when building the document. The GraphDefinition can also specify profiles that apply to the various resources. */ - graph?: string[]; - _graph?: Element[]; + graph?: string[]|undefined; + _graph?: Element[]|undefined; /** * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this message definition outside of FHIR, where it is not possible to use the logical URI. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * It may be possible for the message definition to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * It should be possible to use MessageDefinition to describe a message to be used by certain steps in a particular protocol as part of a PlanDefinition or ActivityDefinition. */ - parent?: string[]; - _parent?: Element[]; + parent?: string[]|undefined; + _parent?: Element[]|undefined; /** * Usually an organization but may be an individual. The publisher (or steward) of the message definition is the organization or individual primarily responsible for the maintenance and upkeep of the message definition. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the message definition. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * This element does not describe the usage of the message definition. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this message definition. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * A MessageDefinition that is superseded by this definition. */ - replaces?: string[]; - _replaces?: Element[]; + replaces?: string[]|undefined; + _replaces?: Element[]|undefined; /** * This enables the capability currently available through MSH-16 (Application Level acknowledgement) in HL7 Version 2 to declare at a message instance level whether a response is required or only upon error or success, or never. */ - responseRequired?: MessageDefinitionResponseRequiredCodes; - _responseRequired?: Element; + responseRequired?: MessageDefinitionResponseRequiredCodes|undefined; + _responseRequired?: Element|undefined; /** * Allows filtering of message definitions that are appropriate for use versus not. */ status: MessageDefinitionStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different message definition instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the message definition with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the MessageDefinition.category field @@ -19748,20 +19748,20 @@ export interface MessageHeaderDestination extends BackboneElement { * The id may be a non-resolvable URI for systems that do not use standard network-based addresses. */ endpoint: string; - _endpoint?: Element; + _endpoint?: Element|undefined; /** * Human-readable name for the target system. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Allows data conveyed by a message to be addressed to a particular person or department when routing to a specific application isn't sufficient. */ - receiver?: Reference; + receiver?: Reference|undefined; /** * Identifies the target end system in situations where the initial message transmission is to an intermediary system. */ - target?: Reference; + target?: Reference|undefined; } /** * The source application from which this message originated. @@ -19770,27 +19770,27 @@ export interface MessageHeaderSource extends BackboneElement { /** * An e-mail, phone, website or other contact point to use to resolve issues with message communications. */ - contact?: ContactPoint; + contact?: ContactPoint|undefined; /** * The id may be a non-resolvable URI for systems that do not use standard network-based addresses. */ endpoint: string; - _endpoint?: Element; + _endpoint?: Element|undefined; /** * Human-readable name for the source system. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * May include configuration or other information useful in debugging. */ - software?: string; - _software?: Element; + software?: string|undefined; + _software?: Element|undefined; /** * Can convey versions of multiple systems in situations where a message passes through multiple hands. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Information about the message that this message is a response to. Only present if this message is a response. @@ -19800,16 +19800,16 @@ export interface MessageHeaderResponse extends BackboneElement { * This is a generic response to the request message. Specific data for the response will be found in MessageHeader.focus. */ code: MessageHeaderResponseCodeCodes; - _code?: Element; + _code?: Element|undefined; /** * This SHALL be contained in the bundle. If any of the issues are errors, the response code SHALL be an error. */ - details?: Reference; + details?: Reference|undefined; /** * The MessageHeader.id of the message to which this message is a response. */ identifier: string; - _identifier?: Element; + _identifier?: Element|undefined; } /** * Code Values for the MessageHeader.response.code field @@ -19828,49 +19828,49 @@ export interface MessageHeader extends DomainResource { /** * Usually only for the request but can be used in a response. */ - author?: Reference; + author?: Reference|undefined; /** * Permanent link to the MessageDefinition for this message. */ - definition?: string; - _definition?: Element; + definition?: string|undefined; + _definition?: Element|undefined; /** * There SHOULD be at least one destination, but in some circumstances, the source system is unaware of any particular destination system. */ - destination?: MessageHeaderDestination[]; + destination?: MessageHeaderDestination[]|undefined; /** * Usually only for the request but can be used in a response. */ - enterer?: Reference; + enterer?: Reference|undefined; /** * The time of the event will be found in the focus resource. The time of the message will be found in [Bundle.timestamp](bundle-definitions.html#Bundle.timestamp). */ - eventCoding?: Coding; + eventCoding?: Coding|undefined; /** * The time of the event will be found in the focus resource. The time of the message will be found in [Bundle.timestamp](bundle-definitions.html#Bundle.timestamp). */ - eventUri?: string; - _eventUri?: Element; + eventUri?: string|undefined; + _eventUri?: Element|undefined; /** * The data is defined where the transaction type is defined. The transaction data is always included in the bundle that is the full message. Only the root resource is specified. The resources it references should be contained in the bundle but are not also listed here. Multiple repetitions are allowed to cater for merges and other situations with multiple focal targets. */ - focus?: Reference[]; + focus?: Reference[]|undefined; /** * Coded indication of the cause for the event - indicates a reason for the occurrence of the event that is a focus of this message. */ - reason?: CodeableConcept; + reason?: CodeableConcept|undefined; /** * Information about the message that this message is a response to. Only present if this message is a response. */ - response?: MessageHeaderResponse; + response?: MessageHeaderResponse|undefined; /** * Usually only for the request but can be used in a response. */ - responsible?: Reference; + responsible?: Reference|undefined; /** * Use case is for where a (trusted) sending system is responsible for multiple organizations, and therefore cannot differentiate based on source endpoint / authentication alone. */ - sender?: Reference; + sender?: Reference|undefined; /** * The source application from which this message originated. */ @@ -19883,43 +19883,43 @@ export interface MolecularSequenceReferenceSeq extends BackboneElement { /** * Structural unit composed of a nucleic acid molecule which controls its own replication through the interaction of specific proteins at one or more origins of replication ([SO:0000340](http://www.sequenceontology.org/browser/current_svn/term/SO:0000340)). */ - chromosome?: CodeableConcept; + chromosome?: CodeableConcept|undefined; /** * The Genome Build used for reference, following GRCh build versions e.g. 'GRCh 37'. Version number must be included if a versioned release of a primary build was used. */ - genomeBuild?: string; - _genomeBuild?: Element; + genomeBuild?: string|undefined; + _genomeBuild?: Element|undefined; /** * A relative reference to a DNA strand based on gene orientation. The strand that contains the open reading frame of the gene is the "sense" strand, and the opposite complementary strand is the "antisense" strand. */ - orientation?: MolecularSequenceReferenceSeqOrientationCodes; - _orientation?: Element; + orientation?: MolecularSequenceReferenceSeqOrientationCodes|undefined; + _orientation?: Element|undefined; /** * Reference identifier of reference sequence submitted to NCBI. It must match the type in the MolecularSequence.type field. For example, the prefix, “NG_” identifies reference sequence for genes, “NM_” for messenger RNA transcripts, and “NP_” for amino acid sequences. */ - referenceSeqId?: CodeableConcept; + referenceSeqId?: CodeableConcept|undefined; /** * A pointer to another MolecularSequence entity as reference sequence. */ - referenceSeqPointer?: Reference; + referenceSeqPointer?: Reference|undefined; /** * A string like "ACGT". */ - referenceSeqString?: string; - _referenceSeqString?: Element; + referenceSeqString?: string|undefined; + _referenceSeqString?: Element|undefined; /** * An absolute reference to a strand. The Watson strand is the strand whose 5'-end is on the short arm of the chromosome, and the Crick strand as the one whose 5'-end is on the long arm. */ - strand?: MolecularSequenceReferenceSeqStrandCodes; - _strand?: Element; + strand?: MolecularSequenceReferenceSeqStrandCodes|undefined; + _strand?: Element|undefined; /** * End position of the window on the reference sequence. If the coordinate system is 0-based then end is exclusive and does not include the last position. If the coordinate system is 1-base, then end is inclusive and includes the last position. */ - windowEnd?: number; + windowEnd?: number|undefined; /** * Start position of the window on the reference sequence. If the coordinate system is either 0-based or 1-based, then start position is inclusive. */ - windowStart?: number; + windowStart?: number|undefined; } /** * Code Values for the MolecularSequence.referenceSeq.orientation field @@ -19942,30 +19942,30 @@ export interface MolecularSequenceVariant extends BackboneElement { /** * Extended CIGAR string for aligning the sequence with reference bases. See detailed documentation [here](http://support.illumina.com/help/SequencingAnalysisWorkflow/Content/Vault/Informatics/Sequencing_Analysis/CASAVA/swSEQ_mCA_ExtendedCIGARFormat.htm). */ - cigar?: string; - _cigar?: Element; + cigar?: string|undefined; + _cigar?: Element|undefined; /** * End position of the variant on the reference sequence. If the coordinate system is 0-based then end is exclusive and does not include the last position. If the coordinate system is 1-base, then end is inclusive and includes the last position. */ - end?: number; + end?: number|undefined; /** * An allele is one of a set of coexisting sequence variants of a gene ([SO:0001023](http://www.sequenceontology.org/browser/current_svn/term/SO:0001023)). Nucleotide(s)/amino acids from start position of sequence to stop position of sequence on the positive (+) strand of the observed sequence. When the sequence type is DNA, it should be the sequence on the positive (+) strand. This will lay in the range between variant.start and variant.end. */ - observedAllele?: string; - _observedAllele?: Element; + observedAllele?: string|undefined; + _observedAllele?: Element|undefined; /** * An allele is one of a set of coexisting sequence variants of a gene ([SO:0001023](http://www.sequenceontology.org/browser/current_svn/term/SO:0001023)). Nucleotide(s)/amino acids from start position of sequence to stop position of sequence on the positive (+) strand of the reference sequence. When the sequence type is DNA, it should be the sequence on the positive (+) strand. This will lay in the range between variant.start and variant.end. */ - referenceAllele?: string; - _referenceAllele?: Element; + referenceAllele?: string|undefined; + _referenceAllele?: Element|undefined; /** * Start position of the variant on the reference sequence. If the coordinate system is either 0-based or 1-based, then start position is inclusive. */ - start?: number; + start?: number|undefined; /** * A pointer to an Observation containing variant information. */ - variantPointer?: Reference; + variantPointer?: Reference|undefined; } /** * Receiver Operator Characteristic (ROC) Curve to give sensitivity/specificity tradeoff. @@ -19974,31 +19974,31 @@ export interface MolecularSequenceQualityRoc extends BackboneElement { /** * Calculated fScore if the GQ score threshold was set to "score" field value. */ - fMeasure?: number[]; + fMeasure?: number[]|undefined; /** * The number of false negatives if the GQ score threshold was set to "score" field value. */ - numFN?: number[]; + numFN?: number[]|undefined; /** * The number of false positives if the GQ score threshold was set to "score" field value. */ - numFP?: number[]; + numFP?: number[]|undefined; /** * The number of true positives if the GQ score threshold was set to "score" field value. */ - numTP?: number[]; + numTP?: number[]|undefined; /** * Calculated precision if the GQ score threshold was set to "score" field value. */ - precision?: number[]; + precision?: number[]|undefined; /** * Invidual data point representing the GQ (genotype quality) score threshold. */ - score?: number[]; + score?: number[]|undefined; /** * Calculated sensitivity if the GQ score threshold was set to "score" field value. */ - sensitivity?: number[]; + sensitivity?: number[]|undefined; } /** * An experimental feature attribute that defines the quality of the feature in a quantitative way, such as a phred quality score ([SO:0001686](http://www.sequenceontology.org/browser/current_svn/term/SO:0001686)). @@ -20007,64 +20007,64 @@ export interface MolecularSequenceQuality extends BackboneElement { /** * End position of the sequence. If the coordinate system is 0-based then end is exclusive and does not include the last position. If the coordinate system is 1-base, then end is inclusive and includes the last position. */ - end?: number; + end?: number|undefined; /** * Harmonic mean of Recall and Precision, computed as: 2 * precision * recall / (precision + recall). */ - fScore?: number; + fScore?: number|undefined; /** * The number of false positives where the non-REF alleles in the Truth and Query Call Sets match (i.e. cases where the truth is 1/1 and the query is 0/1 or similar). */ - gtFP?: number; + gtFP?: number|undefined; /** * Which method is used to get sequence quality. */ - method?: CodeableConcept; + method?: CodeableConcept|undefined; /** * QUERY.TP / (QUERY.TP + QUERY.FP). */ - precision?: number; + precision?: number|undefined; /** * False positives, i.e. the number of sites in the Query Call Set for which there is no path through the Truth Call Set that is consistent with this site. Sites with correct variant but incorrect genotype are counted here. */ - queryFP?: number; + queryFP?: number|undefined; /** * True positives, from the perspective of the query data, i.e. the number of sites in the Query Call Set for which there are paths through the Truth Call Set that are consistent with all of the alleles at this site, and for which there is an accurate genotype call for the event. */ - queryTP?: number; + queryTP?: number|undefined; /** * TRUTH.TP / (TRUTH.TP + TRUTH.FN). */ - recall?: number; + recall?: number|undefined; /** * Receiver Operator Characteristic (ROC) Curve to give sensitivity/specificity tradeoff. */ - roc?: MolecularSequenceQualityRoc; + roc?: MolecularSequenceQualityRoc|undefined; /** * The score of an experimentally derived feature such as a p-value ([SO:0001685](http://www.sequenceontology.org/browser/current_svn/term/SO:0001685)). */ - score?: Quantity; + score?: Quantity|undefined; /** * Gold standard sequence used for comparing against. */ - standardSequence?: CodeableConcept; + standardSequence?: CodeableConcept|undefined; /** * Start position of the sequence. If the coordinate system is either 0-based or 1-based, then start position is inclusive. */ - start?: number; + start?: number|undefined; /** * False negatives, i.e. the number of sites in the Truth Call Set for which there is no path through the Query Call Set that is consistent with all of the alleles at this site, or sites for which there is an inaccurate genotype call for the event. Sites with correct variant but incorrect genotype are counted here. */ - truthFN?: number; + truthFN?: number|undefined; /** * True positives, from the perspective of the truth data, i.e. the number of sites in the Truth Call Set for which there are paths through the Query Call Set that are consistent with all of the alleles at this site, and for which there is an accurate genotype call for the event. */ - truthTP?: number; + truthTP?: number|undefined; /** * INDEL / SNP / Undefined variant. */ type: MolecularSequenceQualityTypeCodes; - _type?: Element; + _type?: Element|undefined; } /** * Code Values for the MolecularSequence.quality.type field @@ -20081,33 +20081,33 @@ export interface MolecularSequenceRepository extends BackboneElement { /** * Id of the variant in this external repository. The server will understand how to use this id to call for more info about datasets in external repository. */ - datasetId?: string; - _datasetId?: Element; + datasetId?: string|undefined; + _datasetId?: Element|undefined; /** * URI of an external repository which contains further details about the genetics data. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Id of the read in this external repository. */ - readsetId?: string; - _readsetId?: Element; + readsetId?: string|undefined; + _readsetId?: Element|undefined; /** * Click and see / RESTful API / Need login to see / RESTful API with authentication / Other ways to see resource. */ type: MolecularSequenceRepositoryTypeCodes; - _type?: Element; + _type?: Element|undefined; /** * URI of an external repository which contains further details about the genetics data. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * Id of the variantset in this external repository. The server will understand how to use this id to call for more info about variantsets in external repository. */ - variantsetId?: string; - _variantsetId?: Element; + variantsetId?: string|undefined; + _variantsetId?: Element|undefined; } /** * Code Values for the MolecularSequence.repository.type field @@ -20126,11 +20126,11 @@ export interface MolecularSequenceStructureVariantOuter extends BackboneElement /** * Structural variant outer end. If the coordinate system is 0-based then end is exclusive and does not include the last position. If the coordinate system is 1-base, then end is inclusive and includes the last position. */ - end?: number; + end?: number|undefined; /** * Structural variant outer start. If the coordinate system is either 0-based or 1-based, then start position is inclusive. */ - start?: number; + start?: number|undefined; } /** * Structural variant inner. @@ -20139,11 +20139,11 @@ export interface MolecularSequenceStructureVariantInner extends BackboneElement /** * Structural variant inner end. If the coordinate system is 0-based then end is exclusive and does not include the last position. If the coordinate system is 1-base, then end is inclusive and includes the last position. */ - end?: number; + end?: number|undefined; /** * Structural variant inner start. If the coordinate system is either 0-based or 1-based, then start position is inclusive. */ - start?: number; + start?: number|undefined; } /** * Information about chromosome structure variation. @@ -20152,24 +20152,24 @@ export interface MolecularSequenceStructureVariant extends BackboneElement { /** * Used to indicate if the outer and inner start-end values have the same meaning. */ - exact?: boolean; - _exact?: Element; + exact?: boolean|undefined; + _exact?: Element|undefined; /** * Structural variant inner. */ - inner?: MolecularSequenceStructureVariantInner; + inner?: MolecularSequenceStructureVariantInner|undefined; /** * Length of the variant chromosome. */ - length?: number; + length?: number|undefined; /** * Structural variant outer. */ - outer?: MolecularSequenceStructureVariantOuter; + outer?: MolecularSequenceStructureVariantOuter|undefined; /** * Information about chromosome structure variation DNA change type. */ - variantType?: CodeableConcept; + variantType?: CodeableConcept|undefined; } /** * Raw data describing a biological sequence. @@ -20184,65 +20184,65 @@ export interface MolecularSequence extends DomainResource { /** * The method for sequencing, for example, chip information. */ - device?: Reference; + device?: Reference|undefined; /** * A unique identifier for this particular sequence instance. This is a FHIR-defined id. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Sequence that was observed. It is the result marked by referenceSeq along with variant records on referenceSeq. This shall start from referenceSeq.windowStart and end by referenceSeq.windowEnd. */ - observedSeq?: string; - _observedSeq?: Element; + observedSeq?: string|undefined; + _observedSeq?: Element|undefined; /** * The patient whose sequencing results are described by this resource. */ - patient?: Reference; + patient?: Reference|undefined; /** * The organization or lab that should be responsible for this result. */ - performer?: Reference; + performer?: Reference|undefined; /** * Pointer to next atomic sequence which at most contains one variant. */ - pointer?: Reference[]; + pointer?: Reference[]|undefined; /** * An experimental feature attribute that defines the quality of the feature in a quantitative way, such as a phred quality score ([SO:0001686](http://www.sequenceontology.org/browser/current_svn/term/SO:0001686)). */ - quality?: MolecularSequenceQuality[]; + quality?: MolecularSequenceQuality[]|undefined; /** * The number of copies of the sequence of interest. (RNASeq). */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * Coverage (read depth or depth) is the average number of reads representing a given nucleotide in the reconstructed sequence. */ - readCoverage?: number; + readCoverage?: number|undefined; /** * A sequence that is used as a reference to describe variants that are present in a sequence analyzed. */ - referenceSeq?: MolecularSequenceReferenceSeq; + referenceSeq?: MolecularSequenceReferenceSeq|undefined; /** * Configurations of the external repository. The repository shall store target's observedSeq or records related with target's observedSeq. */ - repository?: MolecularSequenceRepository[]; + repository?: MolecularSequenceRepository[]|undefined; /** * Specimen used for sequencing. */ - specimen?: Reference; + specimen?: Reference|undefined; /** * Information about chromosome structure variation. */ - structureVariant?: MolecularSequenceStructureVariant[]; + structureVariant?: MolecularSequenceStructureVariant[]|undefined; /** * Amino Acid Sequence/ DNA Sequence / RNA Sequence. */ - type?: MolecularSequenceTypeCodes; - _type?: Element; + type?: MolecularSequenceTypeCodes|undefined; + _type?: Element|undefined; /** * The definition of variant here originates from Sequence ontology ([variant_of](http://www.sequenceontology.org/browser/current_svn/term/variant_of)). This element can represent amino acid or nucleic sequence change(including insertion,deletion,SNP,etc.) It can represent some complex mutation or segment variation with the assist of CIGAR string. */ - variant?: MolecularSequenceVariant[]; + variant?: MolecularSequenceVariant[]|undefined; } /** * Code Values for the MolecularSequence.type field @@ -20259,27 +20259,27 @@ export interface NamingSystemUniqueId extends BackboneElement { /** * e.g. "must be used in Germany" or "was initially published in error with this value". */ - comment?: string; - _comment?: Element; + comment?: string|undefined; + _comment?: Element|undefined; /** * Within a registry, a given identifier should only be "active" for a single namespace at a time. (Ideally, an identifier should only ever be associated with a single namespace across all time). */ - period?: Period; + period?: Period|undefined; /** * Indicates whether this identifier is the "preferred" identifier of this type. */ - preferred?: boolean; - _preferred?: Element; + preferred?: boolean|undefined; + _preferred?: Element|undefined; /** * Different identifier types may be used in different types of communications (OIDs for v3, URIs for FHIR, etc.). Other includes RUIDs from v3, standard v2 code name strings, etc. */ type: NamingSystemUniqueIdTypeCodes; - _type?: Element; + _type?: Element|undefined; /** * If the value is a URI intended for use as FHIR system identifier, the URI should not contain "\" or "?" or "," since this makes escaping very difficult. */ value: string; - _value?: Element; + _value?: Element|undefined; } /** * Code Values for the NamingSystem.uniqueId.type field @@ -20299,50 +20299,50 @@ export interface NamingSystem extends DomainResource { /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the naming system. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ date: string; - _date?: Element; + _date?: Element|undefined; /** * This description can be used to capture details such as why the naming system was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the naming system as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the naming system is presumed to be the predominant language in the place the naming system was created). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * It may be possible for the naming system to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * Indicates the purpose for the naming system - what kinds of things does it make unique? */ kind: NamingSystemKindCodes; - _kind?: Element; + _kind?: Element|undefined; /** * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly.The"symbolic name" for an OID would be captured as an extension. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * Usually an organization but may be an individual. The publisher (or steward) of the naming system is the organization or individual primarily responsible for the maintenance and upkeep of the naming system. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the naming system. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * This is the primary organization. Responsibility for some aspects of a namespace may be delegated. */ - responsible?: string; - _responsible?: Element; + responsible?: string|undefined; + _responsible?: Element|undefined; /** * Allows filtering of naming systems that are appropriate for use versus not. */ status: NamingSystemStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * This will most commonly be used for identifier namespaces, but categories could potentially be useful for code systems and authorities as well. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; /** * Multiple identifiers may exist, either due to duplicate registration, regional rules, needs of different communication technologies, etc. */ @@ -20350,12 +20350,12 @@ export interface NamingSystem extends DomainResource { /** * Provides guidance on the use of the namespace, including the handling of formatting characters, use of upper vs. lower case, etc. */ - usage?: string; - _usage?: Element; + usage?: string|undefined; + _usage?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; } /** * Code Values for the NamingSystem.kind field @@ -20381,11 +20381,11 @@ export interface NutritionOrderOralDietNutrient extends BackboneElement { /** * The quantity of the specified nutrient to include in diet. */ - amount?: Quantity; + amount?: Quantity|undefined; /** * The nutrient that is being modified such as carbohydrate or sodium. */ - modifier?: CodeableConcept; + modifier?: CodeableConcept|undefined; } /** * Class that describes any texture modifications required for the patient to safely consume various types of solid foods. @@ -20394,11 +20394,11 @@ export interface NutritionOrderOralDietTexture extends BackboneElement { /** * Coupled with the `texture.modifier`; could be (All Foods). */ - foodType?: CodeableConcept; + foodType?: CodeableConcept|undefined; /** * Coupled with the foodType (Meat). */ - modifier?: CodeableConcept; + modifier?: CodeableConcept|undefined; } /** * Diet given orally in contrast to enteral (tube) feeding. @@ -20407,28 +20407,28 @@ export interface NutritionOrderOralDiet extends BackboneElement { /** * The required consistency (e.g. honey-thick, nectar-thick, thin, thickened.) of liquids or fluids served to the patient. */ - fluidConsistencyType?: CodeableConcept[]; + fluidConsistencyType?: CodeableConcept[]|undefined; /** * Free text dosage instructions can be used for cases where the instructions are too complex to code. */ - instruction?: string; - _instruction?: Element; + instruction?: string|undefined; + _instruction?: Element|undefined; /** * Class that defines the quantity and type of nutrient modifications (for example carbohydrate, fiber or sodium) required for the oral diet. */ - nutrient?: NutritionOrderOralDietNutrient[]; + nutrient?: NutritionOrderOralDietNutrient[]|undefined; /** * The time period and frequency at which the diet should be given. The diet should be given for the combination of all schedules if more than one schedule is present. */ - schedule?: Timing[]; + schedule?: Timing[]|undefined; /** * Class that describes any texture modifications required for the patient to safely consume various types of solid foods. */ - texture?: NutritionOrderOralDietTexture[]; + texture?: NutritionOrderOralDietTexture[]|undefined; /** * The kind of diet or dietary restriction such as fiber restricted diet or diabetic diet. */ - type?: CodeableConcept[]; + type?: CodeableConcept[]|undefined; } /** * Oral nutritional products given in order to add further nutritional value to the patient's diet. @@ -20437,25 +20437,25 @@ export interface NutritionOrderSupplement extends BackboneElement { /** * Free text dosage instructions can be used for cases where the instructions are too complex to code. */ - instruction?: string; - _instruction?: Element; + instruction?: string|undefined; + _instruction?: Element|undefined; /** * The product or brand name of the nutritional supplement such as "Acme Protein Shake". */ - productName?: string; - _productName?: Element; + productName?: string|undefined; + _productName?: Element|undefined; /** * The amount of the nutritional supplement to be given. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * The time period and frequency at which the supplement(s) should be given. The supplement should be given for the combination of all schedules if more than one schedule is present. */ - schedule?: Timing[]; + schedule?: Timing[]|undefined; /** * The kind of nutritional supplement product required such as a high protein or pediatric clear liquid supplement. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * See implementation notes below for further discussion on how to order continuous vs bolus enteral feeding using this resource. @@ -20464,19 +20464,19 @@ export interface NutritionOrderEnteralFormulaAdministration extends BackboneElem /** * The volume of formula to provide to the patient per the specified administration schedule. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * Ratio is used when the quantity value in the denominator is not "1", otherwise use Quantity. For example, the Ratio datatype is used for "200 mL/4 hrs" versus the Quantity datatype for "50 mL/hr". */ - rateQuantity?: Quantity; + rateQuantity?: Quantity|undefined; /** * Ratio is used when the quantity value in the denominator is not "1", otherwise use Quantity. For example, the Ratio datatype is used for "200 mL/4 hrs" versus the Quantity datatype for "50 mL/hr". */ - rateRatio?: Ratio; + rateRatio?: Ratio|undefined; /** * The time period and frequency at which the enteral formula should be delivered to the patient. */ - schedule?: Timing; + schedule?: Timing|undefined; } /** * Feeding provided through the gastrointestinal tract via a tube, catheter, or stoma that delivers nutrition distal to the oral cavity. @@ -20485,42 +20485,42 @@ export interface NutritionOrderEnteralFormula extends BackboneElement { /** * The product or brand name of the type of modular component to be added to the formula. */ - additiveProductName?: string; - _additiveProductName?: Element; + additiveProductName?: string|undefined; + _additiveProductName?: Element|undefined; /** * Indicates the type of modular component such as protein, carbohydrate, fat or fiber to be provided in addition to or mixed with the base formula. */ - additiveType?: CodeableConcept; + additiveType?: CodeableConcept|undefined; /** * See implementation notes below for further discussion on how to order continuous vs bolus enteral feeding using this resource. */ - administration?: NutritionOrderEnteralFormulaAdministration[]; + administration?: NutritionOrderEnteralFormulaAdministration[]|undefined; /** * Free text dosage instructions can be used for cases where the instructions are too complex to code. */ - administrationInstruction?: string; - _administrationInstruction?: Element; + administrationInstruction?: string|undefined; + _administrationInstruction?: Element|undefined; /** * The product or brand name of the enteral or infant formula product such as "ACME Adult Standard Formula". */ - baseFormulaProductName?: string; - _baseFormulaProductName?: Element; + baseFormulaProductName?: string|undefined; + _baseFormulaProductName?: Element|undefined; /** * The type of enteral or infant formula such as an adult standard formula with fiber or a soy-based infant formula. */ - baseFormulaType?: CodeableConcept; + baseFormulaType?: CodeableConcept|undefined; /** * The amount of energy (calories) that the formula should provide per specified volume, typically per mL or fluid oz. For example, an infant may require a formula that provides 24 calories per fluid ounce or an adult may require an enteral formula that provides 1.5 calorie/mL. */ - caloricDensity?: Quantity; + caloricDensity?: Quantity|undefined; /** * The maximum total quantity of formula that may be administered to a subject over the period of time, e.g. 1440 mL over 24 hours. */ - maxVolumeToDeliver?: Quantity; + maxVolumeToDeliver?: Quantity|undefined; /** * The route or physiological path of administration into the patient's gastrointestinal tract for purposes of providing the formula feeding, e.g. nasogastric tube. */ - routeofAdministration?: CodeableConcept; + routeofAdministration?: CodeableConcept|undefined; } /** * A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident. @@ -20531,64 +20531,64 @@ export interface NutritionOrder extends DomainResource { /** * Information on a patient's food allergies and intolerances to inform healthcare personnel about the type of foods that the patient shouldn't receive or consume. */ - allergyIntolerance?: Reference[]; + allergyIntolerance?: Reference[]|undefined; /** * The date and time that this nutrition order was requested. */ dateTime: string; - _dateTime?: Element; + _dateTime?: Element|undefined; /** * An encounter that provides additional information about the healthcare context in which this request is made. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * Feeding provided through the gastrointestinal tract via a tube, catheter, or stoma that delivers nutrition distal to the oral cavity. */ - enteralFormula?: NutritionOrderEnteralFormula; + enteralFormula?: NutritionOrderEnteralFormula|undefined; /** * Information on a patient's food allergies, intolerances and preferences to inform healthcare personnel about the type of foods that the patient shouldn't receive or consume. */ - excludeFoodModifier?: CodeableConcept[]; + excludeFoodModifier?: CodeableConcept[]|undefined; /** * Information on a patient's food preferences that inform healthcare personnel about the food that the patient should receive or consume. */ - foodPreferenceModifier?: CodeableConcept[]; + foodPreferenceModifier?: CodeableConcept[]|undefined; /** * The Identifier.type element can be to indicate filler vs. placer if needed. This is explained in further detail [here](servicerequest.html#notes). */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The URL pointing to a protocol, guideline, orderset or other definition that is adhered to in whole or in part by this NutritionOrder. */ - instantiates?: string[]; - _instantiates?: Element[]; + instantiates?: string[]|undefined; + _instantiates?: Element[]|undefined; /** * Note: This is a business identifier, not a resource identifier (see [discussion](resource.html#identifiers)). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and a Person resource instance might share the same social insurance number. */ - instantiatesCanonical?: string[]; - _instantiatesCanonical?: Element[]; + instantiatesCanonical?: string[]|undefined; + _instantiatesCanonical?: Element[]|undefined; /** * This might be an HTML page, PDF, etc. or could just be a non-resolvable URI identifier. */ - instantiatesUri?: string[]; - _instantiatesUri?: Element[]; + instantiatesUri?: string[]|undefined; + _instantiatesUri?: Element[]|undefined; /** * When resources map to this element, they are free to define as many codes as necessary to cover their space and will map to "proposal, plan or order". Can have multiple codes that map to one of these. E.g. "original order", "encoded order", "reflex order" would all map to "order". Expectation is that the set of codes is mutually exclusive or a strict all-encompassing hierarchy. */ intent: NutritionOrderIntentCodes; - _intent?: Element; + _intent?: Element|undefined; /** * This element SHALL NOT be used to supply free text instructions for the diet which are represented in the `.oralDiet.instruction`, `supplement.instruction`, or `enteralFormula.administrationInstruction` elements. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * Diet given orally in contrast to enteral (tube) feeding. */ - oralDiet?: NutritionOrderOralDiet; + oralDiet?: NutritionOrderOralDiet|undefined; /** * The practitioner that holds legal responsibility for ordering the diet, nutritional supplement, or formula feedings. */ - orderer?: Reference; + orderer?: Reference|undefined; /** * The person (patient) who needs the nutrition order for an oral diet, nutritional supplement and/or enteral or formula feeding. */ @@ -20597,11 +20597,11 @@ export interface NutritionOrder extends DomainResource { * Typically the system placing the order sets the status to "requested". Thereafter, the order is maintained by the receiver that updates the status as the request is handled. This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: NutritionOrderStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Oral nutritional products given in order to add further nutritional value to the patient's diet. */ - supplement?: NutritionOrderSupplement[]; + supplement?: NutritionOrderSupplement[]|undefined; } /** * Code Values for the NutritionOrder.intent field @@ -20636,28 +20636,28 @@ export interface ObservationReferenceRange extends BackboneElement { /** * The age at which this reference range is applicable. This is a neonatal age (e.g. number of weeks at term) if the meaning says so. */ - age?: Range; + age?: Range|undefined; /** * This SHOULD be populated if there is more than one range. If this element is not present then the normal population is assumed. */ - appliesTo?: CodeableConcept[]; + appliesTo?: CodeableConcept[]|undefined; /** * The value of the high bound of the reference range. The high bound of the reference range endpoint is inclusive of the value (e.g. reference range is >=5 - <=9). If the high bound is omitted, it is assumed to be meaningless (e.g. reference range is >= 2.3). */ - high?: Quantity; + high?: Quantity|undefined; /** * The value of the low bound of the reference range. The low bound of the reference range endpoint is inclusive of the value (e.g. reference range is >=5 - <=9). If the low bound is omitted, it is assumed to be meaningless (e.g. reference range is <=2.3). */ - low?: Quantity; + low?: Quantity|undefined; /** * Text based reference range in an observation which may be used when a quantitative range is not appropriate for an observation. An example would be a reference value of "Negative" or a list or table of "normals". */ - text?: string; - _text?: Element; + text?: string|undefined; + _text?: Element|undefined; /** * This SHOULD be populated if there is more than one range. If this element is not present then the normal range is assumed. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * For a discussion on the ways Observations can be assembled in groups together see [Notes](observation.html#notes) below. @@ -20671,63 +20671,63 @@ export interface ObservationComponent extends BackboneElement { * "Null" or exceptional values can be represented two ways in FHIR Observations. One way is to simply include them in the value set and represent the exceptions in the value. For example, measurement values for a serology test could be "detected", "not detected", "inconclusive", or "test not done". * The alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values. For example, the dataAbsentReason code "error" could be used when the measurement was not completed. Because of these options, use-case agreements are required to interpret general observations for exceptional values. */ - dataAbsentReason?: CodeableConcept; + dataAbsentReason?: CodeableConcept|undefined; /** * Historically used for laboratory results (known as 'abnormal flag' ), its use extends to other use cases where coded interpretations are relevant. Often reported as one or more simple compact codes this element is often placed adjacent to the result value in reports and flow sheets to signal the meaning/normalcy status of the result. */ - interpretation?: CodeableConcept[]; + interpretation?: CodeableConcept[]|undefined; /** * Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this might not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties. */ - referenceRange?: ObservationReferenceRange[]; + referenceRange?: ObservationReferenceRange[]|undefined; /** * Used when observation has a set of component observations. An observation may have both a value (e.g. an Apgar score) and component observations (the observations from which the Apgar score was derived). If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For additional guidance, see the [Notes section](observation.html#notes) below. */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; /** * Used when observation has a set of component observations. An observation may have both a value (e.g. an Apgar score) and component observations (the observations from which the Apgar score was derived). If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For additional guidance, see the [Notes section](observation.html#notes) below. */ - valueCodeableConcept?: CodeableConcept; + valueCodeableConcept?: CodeableConcept|undefined; /** * Used when observation has a set of component observations. An observation may have both a value (e.g. an Apgar score) and component observations (the observations from which the Apgar score was derived). If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For additional guidance, see the [Notes section](observation.html#notes) below. */ - valueString?: string; - _valueString?: Element; + valueString?: string|undefined; + _valueString?: Element|undefined; /** * Used when observation has a set of component observations. An observation may have both a value (e.g. an Apgar score) and component observations (the observations from which the Apgar score was derived). If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For additional guidance, see the [Notes section](observation.html#notes) below. */ - valueBoolean?: boolean; - _valueBoolean?: Element; + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; /** * Used when observation has a set of component observations. An observation may have both a value (e.g. an Apgar score) and component observations (the observations from which the Apgar score was derived). If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For additional guidance, see the [Notes section](observation.html#notes) below. */ - valueInteger?: number; + valueInteger?: number|undefined; /** * Used when observation has a set of component observations. An observation may have both a value (e.g. an Apgar score) and component observations (the observations from which the Apgar score was derived). If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For additional guidance, see the [Notes section](observation.html#notes) below. */ - valueRange?: Range; + valueRange?: Range|undefined; /** * Used when observation has a set of component observations. An observation may have both a value (e.g. an Apgar score) and component observations (the observations from which the Apgar score was derived). If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For additional guidance, see the [Notes section](observation.html#notes) below. */ - valueRatio?: Ratio; + valueRatio?: Ratio|undefined; /** * Used when observation has a set of component observations. An observation may have both a value (e.g. an Apgar score) and component observations (the observations from which the Apgar score was derived). If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For additional guidance, see the [Notes section](observation.html#notes) below. */ - valueSampledData?: SampledData; + valueSampledData?: SampledData|undefined; /** * Used when observation has a set of component observations. An observation may have both a value (e.g. an Apgar score) and component observations (the observations from which the Apgar score was derived). If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For additional guidance, see the [Notes section](observation.html#notes) below. */ - valueTime?: string; - _valueTime?: Element; + valueTime?: string|undefined; + _valueTime?: Element|undefined; /** * Used when observation has a set of component observations. An observation may have both a value (e.g. an Apgar score) and component observations (the observations from which the Apgar score was derived). If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For additional guidance, see the [Notes section](observation.html#notes) below. */ - valueDateTime?: string; - _valueDateTime?: Element; + valueDateTime?: string|undefined; + _valueDateTime?: Element|undefined; /** * Used when observation has a set of component observations. An observation may have both a value (e.g. an Apgar score) and component observations (the observations from which the Apgar score was derived). If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For additional guidance, see the [Notes section](observation.html#notes) below. */ - valuePeriod?: Period; + valuePeriod?: Period|undefined; } /** * Measurements and simple assertions made about a patient, device or other subject. @@ -20738,16 +20738,16 @@ export interface Observation extends DomainResource { /** * A plan, proposal or order that is fulfilled in whole or in part by this event. For example, a MedicationRequest may require a patient to have laboratory test performed before it is dispensed. */ - basedOn?: Reference[]; + basedOn?: Reference[]|undefined; /** * Only used if not implicit in code found in Observation.code. In many systems, this may be represented as a related observation instead of an inline component. * If the use case requires BodySite to be handled as a separate resource (e.g. to identify and track separately) then use the standard extension[ bodySite](extension-bodysite.html). */ - bodySite?: CodeableConcept; + bodySite?: CodeableConcept|undefined; /** * In addition to the required category valueset, this element allows various categorization schemes based on the owner’s definition of the category and effectively multiple categories can be used at once. The level of granularity is defined by the category concepts in the value set. */ - category?: CodeableConcept[]; + category?: CodeableConcept[]|undefined; /** * *All* code-value and, if present, component.code-component.value pairs need to be taken into account to correctly understand the meaning of the observation. */ @@ -20755,144 +20755,144 @@ export interface Observation extends DomainResource { /** * For a discussion on the ways Observations can be assembled in groups together see [Notes](observation.html#notes) below. */ - component?: ObservationComponent[]; + component?: ObservationComponent[]|undefined; /** * Null or exceptional values can be represented two ways in FHIR Observations. One way is to simply include them in the value set and represent the exceptions in the value. For example, measurement values for a serology test could be "detected", "not detected", "inconclusive", or "specimen unsatisfactory". * The alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values. For example, the dataAbsentReason code "error" could be used when the measurement was not completed. Note that an observation may only be reported if there are values to report. For example differential cell counts values may be reported only when > 0. Because of these options, use-case agreements are required to interpret general observations for null or exceptional values. */ - dataAbsentReason?: CodeableConcept; + dataAbsentReason?: CodeableConcept|undefined; /** * All the reference choices that are listed in this element can represent clinical observations and other measurements that may be the source for a derived value. The most common reference will be another Observation. For a discussion on the ways Observations can assembled in groups together, see [Notes](observation.html#obsgrouping) below. */ - derivedFrom?: Reference[]; + derivedFrom?: Reference[]|undefined; /** * Note that this is not meant to represent a device involved in the transmission of the result, e.g., a gateway. Such devices may be documented using the Provenance resource where relevant. */ - device?: Reference; + device?: Reference|undefined; /** * At least a date should be present unless this observation is a historical report. For recording imprecise or "fuzzy" times (For example, a blood glucose measurement taken "after breakfast") use the [Timing](datatypes.html#timing) datatype which allow the measurement to be tied to regular life events. */ - effectiveDateTime?: string; - _effectiveDateTime?: Element; + effectiveDateTime?: string|undefined; + _effectiveDateTime?: Element|undefined; /** * At least a date should be present unless this observation is a historical report. For recording imprecise or "fuzzy" times (For example, a blood glucose measurement taken "after breakfast") use the [Timing](datatypes.html#timing) datatype which allow the measurement to be tied to regular life events. */ - effectivePeriod?: Period; + effectivePeriod?: Period|undefined; /** * At least a date should be present unless this observation is a historical report. For recording imprecise or "fuzzy" times (For example, a blood glucose measurement taken "after breakfast") use the [Timing](datatypes.html#timing) datatype which allow the measurement to be tied to regular life events. */ - effectiveTiming?: Timing; + effectiveTiming?: Timing|undefined; /** * At least a date should be present unless this observation is a historical report. For recording imprecise or "fuzzy" times (For example, a blood glucose measurement taken "after breakfast") use the [Timing](datatypes.html#timing) datatype which allow the measurement to be tied to regular life events. */ - effectiveInstant?: string; - _effectiveInstant?: Element; + effectiveInstant?: string|undefined; + _effectiveInstant?: Element|undefined; /** * This will typically be the encounter the event occurred within, but some events may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter (e.g. pre-admission laboratory tests). */ - encounter?: Reference; + encounter?: Reference|undefined; /** * Typically, an observation is made about the subject - a patient, or group of patients, location, or device - and the distinction between the subject and what is directly measured for an observation is specified in the observation code itself ( e.g., "Blood Glucose") and does not need to be represented separately using this element. Use `specimen` if a reference to a specimen is required. If a code is required instead of a resource use either `bodysite` for bodysites or the standard extension [focusCode](extension-observation-focuscode.html). */ - focus?: Reference[]; + focus?: Reference[]|undefined; /** * When using this element, an observation will typically have either a value or a set of related resources, although both may be present in some cases. For a discussion on the ways Observations can assembled in groups together, see [Notes](observation.html#obsgrouping) below. Note that a system may calculate results from [QuestionnaireResponse](questionnaireresponse.html) into a final score and represent the score as an Observation. */ - hasMember?: Reference[]; + hasMember?: Reference[]|undefined; /** * A unique identifier assigned to this observation. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Historically used for laboratory results (known as 'abnormal flag' ), its use extends to other use cases where coded interpretations are relevant. Often reported as one or more simple compact codes this element is often placed adjacent to the result value in reports and flow sheets to signal the meaning/normalcy status of the result. */ - interpretation?: CodeableConcept[]; + interpretation?: CodeableConcept[]|undefined; /** * For Observations that don’t require review and verification, it may be the same as the [`lastUpdated` ](resource-definitions.html#Meta.lastUpdated) time of the resource itself. For Observations that do require review and verification for certain updates, it might not be the same as the `lastUpdated` time of the resource itself due to a non-clinically significant update that doesn’t require the new version to be reviewed and verified again. */ - issued?: string; - _issued?: Element; + issued?: string|undefined; + _issued?: Element|undefined; /** * Only used if not implicit in code for Observation.code. */ - method?: CodeableConcept; + method?: CodeableConcept|undefined; /** * May include general statements about the observation, or statements about significant, unexpected or unreliable results values, or information about its source when relevant to its interpretation. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * To link an Observation to an Encounter use `encounter`. See the [Notes](observation.html#obsgrouping) below for guidance on referencing another Observation. */ - partOf?: Reference[]; + partOf?: Reference[]|undefined; /** * Who was responsible for asserting the observed value as "true". */ - performer?: Reference[]; + performer?: Reference[]|undefined; /** * Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this might not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties. */ - referenceRange?: ObservationReferenceRange[]; + referenceRange?: ObservationReferenceRange[]|undefined; /** * Should only be used if not implicit in code found in `Observation.code`. Observations are not made on specimens themselves; they are made on a subject, but in many cases by the means of a specimen. Note that although specimens are often involved, they are not always tracked and reported explicitly. Also note that observation resources may be used in contexts that track the specimen explicitly (e.g. Diagnostic Report). */ - specimen?: Reference; + specimen?: Reference|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: ObservationStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * One would expect this element to be a cardinality of 1..1. The only circumstance in which the subject can be missing is when the observation is made by a device that does not know the patient. In this case, the observation SHALL be matched to a patient through some context/channel matching technique, and at this point, the observation should be updated. */ - subject?: Reference; + subject?: Reference|undefined; /** * An observation may have; 1) a single value here, 2) both a value and a set of related or component values, or 3) only a set of related or component values. If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For additional guidance, see the [Notes section](observation.html#notes) below. */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; /** * An observation may have; 1) a single value here, 2) both a value and a set of related or component values, or 3) only a set of related or component values. If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For additional guidance, see the [Notes section](observation.html#notes) below. */ - valueCodeableConcept?: CodeableConcept; + valueCodeableConcept?: CodeableConcept|undefined; /** * An observation may have; 1) a single value here, 2) both a value and a set of related or component values, or 3) only a set of related or component values. If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For additional guidance, see the [Notes section](observation.html#notes) below. */ - valueString?: string; - _valueString?: Element; + valueString?: string|undefined; + _valueString?: Element|undefined; /** * An observation may have; 1) a single value here, 2) both a value and a set of related or component values, or 3) only a set of related or component values. If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For additional guidance, see the [Notes section](observation.html#notes) below. */ - valueBoolean?: boolean; - _valueBoolean?: Element; + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; /** * An observation may have; 1) a single value here, 2) both a value and a set of related or component values, or 3) only a set of related or component values. If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For additional guidance, see the [Notes section](observation.html#notes) below. */ - valueInteger?: number; + valueInteger?: number|undefined; /** * An observation may have; 1) a single value here, 2) both a value and a set of related or component values, or 3) only a set of related or component values. If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For additional guidance, see the [Notes section](observation.html#notes) below. */ - valueRange?: Range; + valueRange?: Range|undefined; /** * An observation may have; 1) a single value here, 2) both a value and a set of related or component values, or 3) only a set of related or component values. If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For additional guidance, see the [Notes section](observation.html#notes) below. */ - valueRatio?: Ratio; + valueRatio?: Ratio|undefined; /** * An observation may have; 1) a single value here, 2) both a value and a set of related or component values, or 3) only a set of related or component values. If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For additional guidance, see the [Notes section](observation.html#notes) below. */ - valueSampledData?: SampledData; + valueSampledData?: SampledData|undefined; /** * An observation may have; 1) a single value here, 2) both a value and a set of related or component values, or 3) only a set of related or component values. If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For additional guidance, see the [Notes section](observation.html#notes) below. */ - valueTime?: string; - _valueTime?: Element; + valueTime?: string|undefined; + _valueTime?: Element|undefined; /** * An observation may have; 1) a single value here, 2) both a value and a set of related or component values, or 3) only a set of related or component values. If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For additional guidance, see the [Notes section](observation.html#notes) below. */ - valueDateTime?: string; - _valueDateTime?: Element; + valueDateTime?: string|undefined; + _valueDateTime?: Element|undefined; /** * An observation may have; 1) a single value here, 2) both a value and a set of related or component values, or 3) only a set of related or component values. If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For additional guidance, see the [Notes section](observation.html#notes) below. */ - valuePeriod?: Period; + valuePeriod?: Period|undefined; } /** * Code Values for the Observation.status field @@ -20914,19 +20914,19 @@ export interface ObservationDefinitionQuantitativeDetails extends BackboneElemen /** * Factor for converting value expressed with SI unit to value expressed with customary unit. */ - conversionFactor?: number; + conversionFactor?: number|undefined; /** * Customary unit used to report quantitative results of observations conforming to this ObservationDefinition. */ - customaryUnit?: CodeableConcept; + customaryUnit?: CodeableConcept|undefined; /** * Number of digits after decimal separator when the results of such observations are of type Quantity. */ - decimalPrecision?: number; + decimalPrecision?: number|undefined; /** * SI unit used to report quantitative results of observations conforming to this ObservationDefinition. */ - unit?: CodeableConcept; + unit?: CodeableConcept|undefined; } /** * Multiple ranges of results qualified by different contexts for ordinal or continuous observations conforming to this ObservationDefinition. @@ -20935,38 +20935,38 @@ export interface ObservationDefinitionQualifiedInterval extends BackboneElement /** * Some analytes vary greatly over age. */ - age?: Range; + age?: Range|undefined; /** * If this element is not present then the global population is assumed. */ - appliesTo?: CodeableConcept[]; + appliesTo?: CodeableConcept[]|undefined; /** * The category of interval of values for continuous or ordinal observations conforming to this ObservationDefinition. */ - category?: ObservationDefinitionQualifiedIntervalCategoryCodes; - _category?: Element; + category?: ObservationDefinitionQualifiedIntervalCategoryCodes|undefined; + _category?: Element|undefined; /** * Text based condition for which the reference range is valid. */ - condition?: string; - _condition?: Element; + condition?: string|undefined; + _condition?: Element|undefined; /** * Codes to indicate the health context the range applies to. For example, the normal or therapeutic range. */ - context?: CodeableConcept; + context?: CodeableConcept|undefined; /** * Sex of the population the range applies to. */ - gender?: ObservationDefinitionQualifiedIntervalGenderCodes; - _gender?: Element; + gender?: ObservationDefinitionQualifiedIntervalGenderCodes|undefined; + _gender?: Element|undefined; /** * The gestational age to which this reference range is applicable, in the context of pregnancy. */ - gestationalAge?: Range; + gestationalAge?: Range|undefined; /** * The low and high values determining the interval. There may be only one of the two. */ - range?: Range; + range?: Range|undefined; } /** * Code Values for the ObservationDefinition.qualifiedInterval.category field @@ -20994,11 +20994,11 @@ export interface ObservationDefinition extends DomainResource { /** * The set of abnormal coded results for the observation conforming to this ObservationDefinition. */ - abnormalCodedValueSet?: Reference; + abnormalCodedValueSet?: Reference|undefined; /** * This element allows various categorization schemes based on the owner’s definition of the category and effectively multiple categories can be used for one instance of ObservationDefinition. The level of granularity is defined by the category concepts in the value set. */ - category?: CodeableConcept[]; + category?: CodeableConcept[]|undefined; /** * Describes what will be observed. Sometimes this is called the observation "name". */ @@ -21006,46 +21006,46 @@ export interface ObservationDefinition extends DomainResource { /** * The set of critical coded results for the observation conforming to this ObservationDefinition. */ - criticalCodedValueSet?: Reference; + criticalCodedValueSet?: Reference|undefined; /** * A unique identifier assigned to this ObservationDefinition artifact. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Only used if not implicit in observation code. */ - method?: CodeableConcept; + method?: CodeableConcept|undefined; /** * An example of observation allowing multiple results is "bacteria identified by culture". Conversely, the measurement of a potassium level allows a single result. */ - multipleResultsAllowed?: boolean; - _multipleResultsAllowed?: Element; + multipleResultsAllowed?: boolean|undefined; + _multipleResultsAllowed?: Element|undefined; /** * The set of normal coded results for the observations conforming to this ObservationDefinition. */ - normalCodedValueSet?: Reference; + normalCodedValueSet?: Reference|undefined; /** * The data types allowed for the value element of the instance observations conforming to this ObservationDefinition. */ - permittedDataType?: ObservationDefinitionPermittedDataTypeCodes[]; - _permittedDataType?: Element[]; + permittedDataType?: ObservationDefinitionPermittedDataTypeCodes[]|undefined; + _permittedDataType?: Element[]|undefined; /** * The preferred name to be used when reporting the results of observations conforming to this ObservationDefinition. */ - preferredReportName?: string; - _preferredReportName?: Element; + preferredReportName?: string|undefined; + _preferredReportName?: Element|undefined; /** * Multiple ranges of results qualified by different contexts for ordinal or continuous observations conforming to this ObservationDefinition. */ - qualifiedInterval?: ObservationDefinitionQualifiedInterval[]; + qualifiedInterval?: ObservationDefinitionQualifiedInterval[]|undefined; /** * Characteristics for quantitative results of this observation. */ - quantitativeDetails?: ObservationDefinitionQuantitativeDetails; + quantitativeDetails?: ObservationDefinitionQuantitativeDetails|undefined; /** * The set of valid coded results for the observations conforming to this ObservationDefinition. */ - validCodedValueSet?: Reference; + validCodedValueSet?: Reference|undefined; } /** * Code Values for the ObservationDefinition.permittedDataType field @@ -21071,12 +21071,12 @@ export interface OperationDefinitionParameterBinding extends BackboneElement { * For further discussion, see [Using Terminologies](terminologies.html). */ strength: OperationDefinitionParameterBindingStrengthCodes; - _strength?: Element; + _strength?: Element|undefined; /** * For value sets with a referenceResource, the display can contain the value set description. The reference may be version-specific or not. */ valueSet: string; - _valueSet?: Element; + _valueSet?: Element|undefined; } /** * Code Values for the OperationDefinition.parameter.binding.strength field @@ -21095,12 +21095,12 @@ export interface OperationDefinitionParameterReferencedFrom extends BackboneElem * The name of the parameter or dot-separated path of parameter names pointing to the resource parameter that is expected to contain a reference to this resource. */ source: string; - _source?: Element; + _source?: Element|undefined; /** * The id of the element in the referencing resource that is expected to resolve to this resource. */ - sourceId?: string; - _sourceId?: Element; + sourceId?: string|undefined; + _sourceId?: Element|undefined; } /** * Query Definitions only have one output parameter, named "result". This might not be described, but can be to allow a profile to be defined. @@ -21109,17 +21109,17 @@ export interface OperationDefinitionParameter extends BackboneElement { /** * Binds to a value set if this parameter is coded (code, Coding, CodeableConcept). */ - binding?: OperationDefinitionParameterBinding; + binding?: OperationDefinitionParameterBinding|undefined; /** * Describes the meaning or use of this parameter. */ - documentation?: string; - _documentation?: Element; + documentation?: string|undefined; + _documentation?: Element|undefined; /** * The maximum number of times this element is permitted to appear in the request or response. */ max: string; - _max?: Element; + _max?: Element|undefined; /** * The minimum number of times this parameter SHALL appear in the request or response. */ @@ -21128,35 +21128,35 @@ export interface OperationDefinitionParameter extends BackboneElement { * This name must be a token (start with a letter in a..z, and only contain letters, numerals, and underscore. Note that for search parameters (type = string, with a search type), the name may be altered by the search modifiers. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * Query Definitions only have one output parameter, named "result". This might not be described, but can be to allow a profile to be defined. */ - part?: OperationDefinitionParameter[]; + part?: OperationDefinitionParameter[]|undefined; /** * Resolution applies if the referenced parameter exists. */ - referencedFrom?: OperationDefinitionParameterReferencedFrom[]; + referencedFrom?: OperationDefinitionParameterReferencedFrom[]|undefined; /** * How the parameter is understood as a search parameter. This is only used if the parameter type is 'string'. */ - searchType?: OperationDefinitionParameterSearchTypeCodes; - _searchType?: Element; + searchType?: OperationDefinitionParameterSearchTypeCodes|undefined; + _searchType?: Element|undefined; /** * Often, these profiles are the base definitions from the spec (e.g. http://hl7.org/fhir/StructureDefinition/Patient). */ - targetProfile?: string[]; - _targetProfile?: Element[]; + targetProfile?: string[]|undefined; + _targetProfile?: Element[]|undefined; /** * if there is no stated parameter, then the parameter is a multi-part parameter; type and must have at least one part defined. */ - type?: string; - _type?: Element; + type?: string|undefined; + _type?: Element|undefined; /** * If a parameter name is used for both an input and an output parameter, the parameter should be defined twice. */ use: OperationDefinitionParameterUseCodes; - _use?: Element; + _use?: Element|undefined; } /** * Code Values for the OperationDefinition.parameter.searchType field @@ -21186,13 +21186,13 @@ export interface OperationDefinitionOverload extends BackboneElement { /** * Comments to go on overload. */ - comment?: string; - _comment?: Element; + comment?: string|undefined; + _comment?: Element|undefined; /** * Name of parameter to include in overload. */ - parameterName?: string[]; - _parameterName?: Element[]; + parameterName?: string[]|undefined; + _parameterName?: Element[]|undefined; } /** * A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction). @@ -21205,130 +21205,130 @@ export interface OperationDefinition extends DomainResource { * 1. Servers SHALL support POST method for all operations. * 2. Servers SHALL support GET method if all the parameters for the operation are primitive or there are no parameters and the operation has affectsState = false. */ - affectsState?: boolean; - _affectsState?: Element; + affectsState?: boolean|undefined; + _affectsState?: Element|undefined; /** * A constrained profile can make optional parameters required or not used and clarify documentation. */ - base?: string; - _base?: Element; + base?: string|undefined; + _base?: Element|undefined; /** * The name used to invoke the operation. */ code: string; - _code?: Element; + _code?: Element|undefined; /** * Additional information about how to use this operation or named query. */ - comment?: string; - _comment?: Element; + comment?: string|undefined; + _comment?: Element|undefined; /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the operation definition. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * This description can be used to capture details such as why the operation definition was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the operation definition as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the operation definition is presumed to be the predominant language in the place the operation definition was created). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Allows filtering of operation definitions that are appropriate for use versus not. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * If present the profile shall not conflict with what is specified in the parameters in the operation definition (max/min etc.), though it may provide additional constraints. The constraints expressed in the profile apply whether the operation is invoked by a POST wih parameters or not. */ - inputProfile?: string; - _inputProfile?: Element; + inputProfile?: string|undefined; + _inputProfile?: Element|undefined; /** * Indicates whether this operation can be invoked on a particular instance of one of the given types. */ instance: boolean; - _instance?: Element; + _instance?: Element|undefined; /** * It may be possible for the operation definition to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * Named queries are invoked differently, and have different capabilities. */ kind: OperationDefinitionKindCodes; - _kind?: Element; + _kind?: Element|undefined; /** * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * If present the profile shall not conflict with what is specified in the parameters in the operation definition (max/min etc.), though it may provide additional constraints. The constraints expressed in the profile apply whether the operation is invoked by a POST wih parameters or not. */ - outputProfile?: string; - _outputProfile?: Element; + outputProfile?: string|undefined; + _outputProfile?: Element|undefined; /** * The combinations are suggestions as to which sets of parameters to use together, but the combinations are not intended to be authoritative. */ - overload?: OperationDefinitionOverload[]; + overload?: OperationDefinitionOverload[]|undefined; /** * Query Definitions only have one output parameter, named "result". This might not be described, but can be to allow a profile to be defined. */ - parameter?: OperationDefinitionParameter[]; + parameter?: OperationDefinitionParameter[]|undefined; /** * Usually an organization but may be an individual. The publisher (or steward) of the operation definition is the organization or individual primarily responsible for the maintenance and upkeep of the operation definition. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the operation definition. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * This element does not describe the usage of the operation definition. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this operation definition. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * If the type is an abstract resource ("Resource" or "DomainResource") then the operation can be invoked on any concrete specialization. */ - resource?: string[]; - _resource?: Element[]; + resource?: string[]|undefined; + _resource?: Element[]|undefined; /** * Allows filtering of operation definitions that are appropriate for use versus not. */ status: OperationDefinitionStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Indicates whether this operation or named query can be invoked at the system level (e.g. without needing to choose a resource type for the context). */ system: boolean; - _system?: Element; + _system?: Element|undefined; /** * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Indicates whether this operation or named query can be invoked at the resource type level for any given resource type level (e.g. without needing to choose a specific resource id for the context). */ type: boolean; - _type?: Element; + _type?: Element|undefined; /** * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different operation definition instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the operation definition with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the OperationDefinition.kind field @@ -21354,31 +21354,31 @@ export interface OperationOutcomeIssue extends BackboneElement { * Describes the type of the issue. The system that creates an OperationOutcome SHALL choose the most applicable code from the IssueType value set, and may additional provide its own code for the error in the details element. */ code: string; - _code?: Element; + _code?: Element|undefined; /** * A human readable description of the error issue SHOULD be placed in details.text. */ - details?: CodeableConcept; + details?: CodeableConcept|undefined; /** * This may be a description of how a value is erroneous, a stack dump to help trace the issue or other troubleshooting information. */ - diagnostics?: string; - _diagnostics?: Element; + diagnostics?: string|undefined; + _diagnostics?: Element|undefined; /** * The root of the FHIRPath is the resource or bundle that generated OperationOutcome. Each FHIRPath SHALL resolve to a single node. */ - expression?: string[]; - _expression?: Element[]; + expression?: string[]|undefined; + _expression?: Element[]|undefined; /** * The root of the XPath is the resource or bundle that generated OperationOutcome. Each XPath SHALL resolve to a single node. This element is deprecated, and is being replaced by expression. */ - location?: string[]; - _location?: Element[]; + location?: string[]|undefined; + _location?: Element[]|undefined; /** * This is labeled as "Is Modifier" because applications should not confuse hints and warnings with errors. */ severity: OperationOutcomeIssueSeverityCodes; - _severity?: Element; + _severity?: Element|undefined; } /** * Code Values for the OperationOutcome.issue.severity field @@ -21407,19 +21407,19 @@ export interface OrganizationContact extends BackboneElement { /** * Visiting or postal addresses for the contact. */ - address?: Address; + address?: Address|undefined; /** * A name associated with the contact. */ - name?: HumanName; + name?: HumanName|undefined; /** * Indicates a purpose for which the contact can be reached. */ - purpose?: CodeableConcept; + purpose?: CodeableConcept|undefined; /** * A contact detail (e.g. a telephone number or an email address) by which the party may be contacted. */ - telecom?: ContactPoint[]; + telecom?: ContactPoint[]|undefined; } /** * A formally or informally recognized grouping of people or organizations formed for the purpose of achieving some form of collective action. Includes companies, institutions, corporations, departments, community groups, healthcare practice groups, payer/insurer, etc. @@ -21431,48 +21431,48 @@ export interface Organization extends DomainResource { * This active flag is not intended to be used to mark an organization as temporarily closed or under construction. Instead the Location(s) within the Organization should have the suspended status. If further details of the reason for the suspension are required, then an extension on this element should be used. * This element is labeled as a modifier because it may be used to mark that the resource was created in error. */ - active?: boolean; - _active?: Element; + active?: boolean|undefined; + _active?: Element|undefined; /** * Organization may have multiple addresses with different uses or applicable periods. The use code 'home' is not to be used. */ - address?: Address[]; + address?: Address[]|undefined; /** * There are no dates associated with the alias/historic names, as this is not intended to track when names were used, but to assist in searching so that older names can still result in identifying the organization. */ - alias?: string[]; - _alias?: Element[]; + alias?: string[]|undefined; + _alias?: Element[]|undefined; /** * Where multiple contacts for the same purpose are provided there is a standard extension that can be used to determine which one is the preferred contact to use. */ - contact?: OrganizationContact[]; + contact?: OrganizationContact[]|undefined; /** * Technical endpoints providing access to services operated for the organization. */ - endpoint?: Reference[]; + endpoint?: Reference[]|undefined; /** * Identifier for the organization that is used to identify the organization across multiple disparate systems. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * If the name of an organization changes, consider putting the old name in the alias column so that it can still be located through searches. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * The organization of which this organization forms a part. */ - partOf?: Reference; + partOf?: Reference|undefined; /** * The use code 'home' is not to be used. Note that these contacts are not the contact details of people who are employed by or represent the organization, but official contacts for the organization itself. */ - telecom?: ContactPoint[]; + telecom?: ContactPoint[]|undefined; /** * Organizations can be corporations, wards, sections, clinical teams, government departments, etc. Note that code is generally a classifier of the type of organization; in many applications, codes are used to identity a particular organization (say, ward) as opposed to another of the same type - these are identifiers, not codes * When considering if multiple types are appropriate, you should evaluate if child organizations would be a more appropriate use of the concept, as different types likely are in different sub-areas of the organization. This is most likely to be used where type values have orthogonal values, such as a religious, academic and medical center. * We expect that some jurisdictions will profile this optionality to be a single cardinality. */ - type?: CodeableConcept[]; + type?: CodeableConcept[]|undefined; } /** * Defines an affiliation/assotiation/relationship between 2 distinct oganizations, that is not a part-of relationship/sub-division relationship. @@ -21483,52 +21483,52 @@ export interface OrganizationAffiliation extends DomainResource { /** * If this value is false, you may refer to the period to see when the role was in active use. If there is no period specified, no inference can be made about when it was active. */ - active?: boolean; - _active?: Element; + active?: boolean|undefined; + _active?: Element|undefined; /** * Definition of the role the participatingOrganization plays in the association. */ - code?: CodeableConcept[]; + code?: CodeableConcept[]|undefined; /** * Technical endpoints providing access to services operated for this role. */ - endpoint?: Reference[]; + endpoint?: Reference[]|undefined; /** * Healthcare services provided through the role. */ - healthcareService?: Reference[]; + healthcareService?: Reference[]|undefined; /** * Business identifiers that are specific to this role. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The location(s) at which the role occurs. */ - location?: Reference[]; + location?: Reference[]|undefined; /** * Health insurance provider network in which the participatingOrganization provides the role's services (if defined) at the indicated locations (if defined). */ - network?: Reference[]; + network?: Reference[]|undefined; /** * Organization where the role is available (primary organization/has members). */ - organization?: Reference; + organization?: Reference|undefined; /** * The Participating Organization provides/performs the role(s) defined by the code to the Primary Organization (e.g. providing services or is a member of). */ - participatingOrganization?: Reference; + participatingOrganization?: Reference|undefined; /** * The period during which the participatingOrganization is affiliated with the primary organization. */ - period?: Period; + period?: Period|undefined; /** * Specific specialty of the participatingOrganization in the context of the role. */ - specialty?: CodeableConcept[]; + specialty?: CodeableConcept[]|undefined; /** * Contact details at the participatingOrganization relevant to this Affiliation. */ - telecom?: ContactPoint[]; + telecom?: ContactPoint[]|undefined; } /** * A parameter passed to or received from the operation. @@ -21538,230 +21538,230 @@ export interface ParametersParameter extends BackboneElement { * The name of the parameter (reference to the operation definition). */ name: string; - _name?: Element; + _name?: Element|undefined; /** * Only one level of nested parameters is allowed. */ - part?: ParametersParameter[]; + part?: ParametersParameter[]|undefined; /** * When resolving references in resources, the operation definition may specify how references may be resolved between parameters. If a reference cannot be resolved between the parameters, the application should fall back to it's general resource resolution methods. */ - resource?: FhirResource; + resource?: FhirResource|undefined; /** * If the parameter is a data type. */ - valueBase64Binary?: string; - _valueBase64Binary?: Element; + valueBase64Binary?: string|undefined; + _valueBase64Binary?: Element|undefined; /** * If the parameter is a data type. */ - valueBoolean?: boolean; - _valueBoolean?: Element; + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; /** * If the parameter is a data type. */ - valueCanonical?: string; - _valueCanonical?: Element; + valueCanonical?: string|undefined; + _valueCanonical?: Element|undefined; /** * If the parameter is a data type. */ - valueCode?: string; - _valueCode?: Element; + valueCode?: string|undefined; + _valueCode?: Element|undefined; /** * If the parameter is a data type. */ - valueDate?: string; - _valueDate?: Element; + valueDate?: string|undefined; + _valueDate?: Element|undefined; /** * If the parameter is a data type. */ - valueDateTime?: string; - _valueDateTime?: Element; + valueDateTime?: string|undefined; + _valueDateTime?: Element|undefined; /** * If the parameter is a data type. */ - valueDecimal?: number; + valueDecimal?: number|undefined; /** * If the parameter is a data type. */ - valueId?: string; - _valueId?: Element; + valueId?: string|undefined; + _valueId?: Element|undefined; /** * If the parameter is a data type. */ - valueInstant?: string; - _valueInstant?: Element; + valueInstant?: string|undefined; + _valueInstant?: Element|undefined; /** * If the parameter is a data type. */ - valueInteger?: number; + valueInteger?: number|undefined; /** * If the parameter is a data type. */ - valueMarkdown?: string; - _valueMarkdown?: Element; + valueMarkdown?: string|undefined; + _valueMarkdown?: Element|undefined; /** * If the parameter is a data type. */ - valueOid?: string; - _valueOid?: Element; + valueOid?: string|undefined; + _valueOid?: Element|undefined; /** * If the parameter is a data type. */ - valuePositiveInt?: number; + valuePositiveInt?: number|undefined; /** * If the parameter is a data type. */ - valueString?: string; - _valueString?: Element; + valueString?: string|undefined; + _valueString?: Element|undefined; /** * If the parameter is a data type. */ - valueTime?: string; - _valueTime?: Element; + valueTime?: string|undefined; + _valueTime?: Element|undefined; /** * If the parameter is a data type. */ - valueUnsignedInt?: number; + valueUnsignedInt?: number|undefined; /** * If the parameter is a data type. */ - valueUri?: string; - _valueUri?: Element; + valueUri?: string|undefined; + _valueUri?: Element|undefined; /** * If the parameter is a data type. */ - valueUrl?: string; - _valueUrl?: Element; + valueUrl?: string|undefined; + _valueUrl?: Element|undefined; /** * If the parameter is a data type. */ - valueUuid?: string; - _valueUuid?: Element; + valueUuid?: string|undefined; + _valueUuid?: Element|undefined; /** * If the parameter is a data type. */ - valueAddress?: Address; + valueAddress?: Address|undefined; /** * If the parameter is a data type. */ - valueAge?: Age; + valueAge?: Age|undefined; /** * If the parameter is a data type. */ - valueAnnotation?: Annotation; + valueAnnotation?: Annotation|undefined; /** * If the parameter is a data type. */ - valueAttachment?: Attachment; + valueAttachment?: Attachment|undefined; /** * If the parameter is a data type. */ - valueCodeableConcept?: CodeableConcept; + valueCodeableConcept?: CodeableConcept|undefined; /** * If the parameter is a data type. */ - valueCoding?: Coding; + valueCoding?: Coding|undefined; /** * If the parameter is a data type. */ - valueContactPoint?: ContactPoint; + valueContactPoint?: ContactPoint|undefined; /** * If the parameter is a data type. */ - valueCount?: Count; + valueCount?: Count|undefined; /** * If the parameter is a data type. */ - valueDistance?: Distance; + valueDistance?: Distance|undefined; /** * If the parameter is a data type. */ - valueDuration?: Duration; + valueDuration?: Duration|undefined; /** * If the parameter is a data type. */ - valueHumanName?: HumanName; + valueHumanName?: HumanName|undefined; /** * If the parameter is a data type. */ - valueIdentifier?: Identifier; + valueIdentifier?: Identifier|undefined; /** * If the parameter is a data type. */ - valueMoney?: Money; + valueMoney?: Money|undefined; /** * If the parameter is a data type. */ - valuePeriod?: Period; + valuePeriod?: Period|undefined; /** * If the parameter is a data type. */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; /** * If the parameter is a data type. */ - valueRange?: Range; + valueRange?: Range|undefined; /** * If the parameter is a data type. */ - valueRatio?: Ratio; + valueRatio?: Ratio|undefined; /** * If the parameter is a data type. */ - valueReference?: Reference; + valueReference?: Reference|undefined; /** * If the parameter is a data type. */ - valueSampledData?: SampledData; + valueSampledData?: SampledData|undefined; /** * If the parameter is a data type. */ - valueSignature?: Signature; + valueSignature?: Signature|undefined; /** * If the parameter is a data type. */ - valueTiming?: Timing; + valueTiming?: Timing|undefined; /** * If the parameter is a data type. */ - valueContactDetail?: ContactDetail; + valueContactDetail?: ContactDetail|undefined; /** * If the parameter is a data type. */ - valueContributor?: Contributor; + valueContributor?: Contributor|undefined; /** * If the parameter is a data type. */ - valueDataRequirement?: DataRequirement; + valueDataRequirement?: DataRequirement|undefined; /** * If the parameter is a data type. */ - valueExpression?: Expression; + valueExpression?: Expression|undefined; /** * If the parameter is a data type. */ - valueParameterDefinition?: ParameterDefinition; + valueParameterDefinition?: ParameterDefinition|undefined; /** * If the parameter is a data type. */ - valueRelatedArtifact?: RelatedArtifact; + valueRelatedArtifact?: RelatedArtifact|undefined; /** * If the parameter is a data type. */ - valueTriggerDefinition?: TriggerDefinition; + valueTriggerDefinition?: TriggerDefinition|undefined; /** * If the parameter is a data type. */ - valueUsageContext?: UsageContext; + valueUsageContext?: UsageContext|undefined; /** * If the parameter is a data type. */ - valueDosage?: Dosage; + valueDosage?: Dosage|undefined; /** * If the parameter is a data type. */ - valueMeta?: Meta; + valueMeta?: Meta|undefined; } /** * This resource is a non-persisted resource used to pass information into and back from an [operation](operations.html). It has no other use, and there is no RESTful endpoint associated with it. @@ -21772,7 +21772,7 @@ export interface Parameters extends Resource { /** * A parameter passed to or received from the operation. */ - parameter?: ParametersParameter[]; + parameter?: ParametersParameter[]|undefined; } /** * Contact covers all kinds of contact parties: family members, business contacts, guardians, caregivers. Not applicable to register pedigree and family ties beyond use of having contact. @@ -21781,32 +21781,32 @@ export interface PatientContact extends BackboneElement { /** * Address for the contact person. */ - address?: Address; + address?: Address|undefined; /** * Administrative Gender - the gender that the contact person is considered to have for administration and record keeping purposes. */ - gender?: PatientContactGenderCodes; - _gender?: Element; + gender?: PatientContactGenderCodes|undefined; + _gender?: Element|undefined; /** * A name associated with the contact person. */ - name?: HumanName; + name?: HumanName|undefined; /** * Organization on behalf of which the contact is acting or for which the contact is working. */ - organization?: Reference; + organization?: Reference|undefined; /** * The period during which this contact person or organization is valid to be contacted relating to this patient. */ - period?: Period; + period?: Period|undefined; /** * The nature of the relationship between the patient and the contact person. */ - relationship?: CodeableConcept[]; + relationship?: CodeableConcept[]|undefined; /** * Contact may have multiple ways to be contacted with different uses or applicable periods. May need to have options for contacting the person urgently, and also to help with identification. */ - telecom?: ContactPoint[]; + telecom?: ContactPoint[]|undefined; } /** * Code Values for the Patient.contact.gender field @@ -21828,8 +21828,8 @@ export interface PatientCommunication extends BackboneElement { /** * This language is specifically identified for communicating healthcare information. */ - preferred?: boolean; - _preferred?: Element; + preferred?: boolean|undefined; + _preferred?: Element|undefined; } /** * There is no assumption that linked patient records have mutual links. @@ -21843,7 +21843,7 @@ export interface PatientLink extends BackboneElement { * The type of link between this patient resource and another patient resource. */ type: PatientLinkTypeCodes; - _type?: Element; + _type?: Element|undefined; } /** * Code Values for the Patient.link.type field @@ -21863,86 +21863,86 @@ export interface Patient extends DomainResource { /** * If a record is inactive, and linked to an active record, then future patient/record updates should occur on the other patient. */ - active?: boolean; - _active?: Element; + active?: boolean|undefined; + _active?: Element|undefined; /** * Patient may have multiple addresses with different uses or applicable periods. */ - address?: Address[]; + address?: Address[]|undefined; /** * At least an estimated year should be provided as a guess if the real DOB is unknown There is a standard extension "patient-birthTime" available that should be used where Time is required (such as in maternity/infant care systems). */ - birthDate?: string; - _birthDate?: Element; + birthDate?: string|undefined; + _birthDate?: Element|undefined; /** * If no language is specified, this *implies* that the default local language is spoken. If you need to convey proficiency for multiple modes, then you need multiple Patient.Communication associations. For animals, language is not a relevant field, and should be absent from the instance. If the Patient does not speak the default local language, then the Interpreter Required Standard can be used to explicitly declare that an interpreter is required. */ - communication?: PatientCommunication[]; + communication?: PatientCommunication[]|undefined; /** * Contact covers all kinds of contact parties: family members, business contacts, guardians, caregivers. Not applicable to register pedigree and family ties beyond use of having contact. */ - contact?: PatientContact[]; + contact?: PatientContact[]|undefined; /** * If there's no value in the instance, it means there is no statement on whether or not the individual is deceased. Most systems will interpret the absence of a value as a sign of the person being alive. */ - deceasedBoolean?: boolean; - _deceasedBoolean?: Element; + deceasedBoolean?: boolean|undefined; + _deceasedBoolean?: Element|undefined; /** * If there's no value in the instance, it means there is no statement on whether or not the individual is deceased. Most systems will interpret the absence of a value as a sign of the person being alive. */ - deceasedDateTime?: string; - _deceasedDateTime?: Element; + deceasedDateTime?: string|undefined; + _deceasedDateTime?: Element|undefined; /** * The gender might not match the biological sex as determined by genetics or the individual's preferred identification. Note that for both humans and particularly animals, there are other legitimate possibilities than male and female, though the vast majority of systems and contexts only support male and female. Systems providing decision support or enforcing business rules should ideally do this on the basis of Observations dealing with the specific sex or gender aspect of interest (anatomical, chromosomal, social, etc.) However, because these observations are infrequently recorded, defaulting to the administrative gender is common practice. Where such defaulting occurs, rule enforcement should allow for the variation between administrative and biological, chromosomal and other gender aspects. For example, an alert about a hysterectomy on a male should be handled as a warning or overridable error, not a "hard" error. See the Patient Gender and Sex section for additional information about communicating patient gender and sex. */ - gender?: PatientGenderCodes; - _gender?: Element; + gender?: PatientGenderCodes|undefined; + _gender?: Element|undefined; /** * This may be the primary care provider (in a GP context), or it may be a patient nominated care manager in a community/disability setting, or even organization that will provide people to perform the care provider roles. It is not to be used to record Care Teams, these should be in a CareTeam resource that may be linked to the CarePlan or EpisodeOfCare resources. * Multiple GPs may be recorded against the patient for various reasons, such as a student that has his home GP listed along with the GP at university during the school semesters, or a "fly-in/fly-out" worker that has the onsite GP also included with his home GP to remain aware of medical issues. * Jurisdictions may decide that they can profile this down to 1 if desired, or 1 per type. */ - generalPractitioner?: Reference[]; + generalPractitioner?: Reference[]|undefined; /** * An identifier for this patient. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * There is no assumption that linked patient records have mutual links. */ - link?: PatientLink[]; + link?: PatientLink[]|undefined; /** * There is only one managing organization for a specific patient record. Other organizations will have their own Patient record, and may use the Link property to join the records together (or a Person resource which can include confidence ratings for the association). */ - managingOrganization?: Reference; + managingOrganization?: Reference|undefined; /** * This field contains a patient's most recent marital (civil) status. */ - maritalStatus?: CodeableConcept; + maritalStatus?: CodeableConcept|undefined; /** * Where the valueInteger is provided, the number is the birth number in the sequence. E.g. The middle birth in triplets would be valueInteger=2 and the third born would have valueInteger=3 If a boolean value was provided for this triplets example, then all 3 patient records would have valueBoolean=true (the ordering is not indicated). */ - multipleBirthBoolean?: boolean; - _multipleBirthBoolean?: Element; + multipleBirthBoolean?: boolean|undefined; + _multipleBirthBoolean?: Element|undefined; /** * Where the valueInteger is provided, the number is the birth number in the sequence. E.g. The middle birth in triplets would be valueInteger=2 and the third born would have valueInteger=3 If a boolean value was provided for this triplets example, then all 3 patient records would have valueBoolean=true (the ordering is not indicated). */ - multipleBirthInteger?: number; + multipleBirthInteger?: number|undefined; /** * A patient may have multiple names with different uses or applicable periods. For animals, the name is a "HumanName" in the sense that is assigned and used by humans and has the same patterns. */ - name?: HumanName[]; + name?: HumanName[]|undefined; /** * Guidelines: * * Use id photos, not clinical photos. * * Limit dimensions to thumbnail. * * Keep byte count low to ease resource updates. */ - photo?: Attachment[]; + photo?: Attachment[]|undefined; /** * A Patient may have multiple ways to be contacted with different uses or applicable periods. May need to have options for contacting the person urgently and also to help with identification. The address might not go directly to the individual, but may reach another party that is able to proxy for the patient (i.e. home phone, or pet owner's phone). */ - telecom?: ContactPoint[]; + telecom?: ContactPoint[]|undefined; } /** * Code Values for the Patient.gender field @@ -21967,15 +21967,15 @@ export interface PaymentNotice extends DomainResource { * The date when this resource was created. */ created: string; - _created?: Element; + _created?: Element|undefined; /** * A unique identifier assigned to this payment notice. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The party who will receive or has received payment that is the subject of this notification. */ - payee?: Reference; + payee?: Reference|undefined; /** * A reference to the payment which is the subject of this notice. */ @@ -21983,16 +21983,16 @@ export interface PaymentNotice extends DomainResource { /** * The date when the above payment action occurred. */ - paymentDate?: string; - _paymentDate?: Element; + paymentDate?: string|undefined; + _paymentDate?: Element|undefined; /** * Typically paid: payment sent, cleared: payment received. */ - paymentStatus?: CodeableConcept; + paymentStatus?: CodeableConcept|undefined; /** * The practitioner who is responsible for the services rendered to the patient. */ - provider?: Reference; + provider?: Reference|undefined; /** * The party who is notified of the payment status. */ @@ -22000,16 +22000,16 @@ export interface PaymentNotice extends DomainResource { /** * Reference of resource for which payment is being made. */ - request?: Reference; + request?: Reference|undefined; /** * Reference of response to resource for which payment is being made. */ - response?: Reference; + response?: Reference|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: PaymentNoticeStatusCodes; - _status?: Element; + _status?: Element|undefined; } /** * Code Values for the PaymentNotice.status field @@ -22027,40 +22027,40 @@ export interface PaymentReconciliationDetail extends BackboneElement { /** * The monetary amount allocated from the total payment to the payable. */ - amount?: Money; + amount?: Money|undefined; /** * The date from the response resource containing a commitment to pay. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * Unique identifier for the current payment item for the referenced payable. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * The party which is receiving the payment. */ - payee?: Reference; + payee?: Reference|undefined; /** * Unique identifier for the prior payment item for the referenced payable. */ - predecessor?: Identifier; + predecessor?: Identifier|undefined; /** * A resource, such as a Claim, the evaluation of which could lead to payment. */ - request?: Reference; + request?: Reference|undefined; /** * A resource, such as a ClaimResponse, which contains a commitment to payment. */ - response?: Reference; + response?: Reference|undefined; /** * A reference to the individual who is responsible for inquiries regarding the response and its payment. */ - responsible?: Reference; + responsible?: Reference|undefined; /** * The party which submitted the claim or financial transaction. */ - submitter?: Reference; + submitter?: Reference|undefined; /** * For example: payment, adjustment, funds advance, etc. */ @@ -22073,13 +22073,13 @@ export interface PaymentReconciliationProcessNote extends BackboneElement { /** * The explanation or description associated with the processing. */ - text?: string; - _text?: Element; + text?: string|undefined; + _text?: Element|undefined; /** * The business purpose of the note text. */ - type?: PaymentReconciliationProcessNoteTypeCodes; - _type?: Element; + type?: PaymentReconciliationProcessNoteTypeCodes|undefined; + _type?: Element|undefined; } /** * Code Values for the PaymentReconciliation.processNote.type field @@ -22099,29 +22099,29 @@ export interface PaymentReconciliation extends DomainResource { * The date when the resource was created. */ created: string; - _created?: Element; + _created?: Element|undefined; /** * Distribution of the payment amount for a previously acknowledged payable. */ - detail?: PaymentReconciliationDetail[]; + detail?: PaymentReconciliationDetail[]|undefined; /** * A human readable description of the status of the request for the reconciliation. */ - disposition?: string; - _disposition?: Element; + disposition?: string|undefined; + _disposition?: Element|undefined; /** * May be needed to identify specific jurisdictional forms. */ - formCode?: CodeableConcept; + formCode?: CodeableConcept|undefined; /** * A unique identifier assigned to this payment reconciliation. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The resource may be used to indicate that: the request has been held (queued) for processing; that it has been processed and errors found (error); that no errors were found and that some of the adjudication has been undertaken (partial) or that all of the adjudication has been undertaken (complete). */ - outcome?: PaymentReconciliationOutcomeCodes; - _outcome?: Element; + outcome?: PaymentReconciliationOutcomeCodes|undefined; + _outcome?: Element|undefined; /** * Total payment amount as indicated on the financial instrument. */ @@ -22130,36 +22130,36 @@ export interface PaymentReconciliation extends DomainResource { * The date of payment as indicated on the financial instrument. */ paymentDate: string; - _paymentDate?: Element; + _paymentDate?: Element|undefined; /** * For example: EFT number or check number. */ - paymentIdentifier?: Identifier; + paymentIdentifier?: Identifier|undefined; /** * This party is also responsible for the reconciliation. */ - paymentIssuer?: Reference; + paymentIssuer?: Reference|undefined; /** * The period of time for which payments have been gathered into this bulk payment for settlement. */ - period?: Period; + period?: Period|undefined; /** * A note that describes or explains the processing in a human readable form. */ - processNote?: PaymentReconciliationProcessNote[]; + processNote?: PaymentReconciliationProcessNote[]|undefined; /** * Original request resource reference. */ - request?: Reference; + request?: Reference|undefined; /** * The practitioner who is responsible for the services rendered to the patient. */ - requestor?: Reference; + requestor?: Reference|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: PaymentReconciliationStatusCodes; - _status?: Element; + _status?: Element|undefined; } /** * Code Values for the PaymentReconciliation.outcome field @@ -22186,8 +22186,8 @@ export interface PersonLink extends BackboneElement { /** * Level of assurance that this link is associated with the target resource. */ - assurance?: PersonLinkAssuranceCodes; - _assurance?: Element; + assurance?: PersonLinkAssuranceCodes|undefined; + _assurance?: Element|undefined; /** * The resource to which this actual person is associated. */ @@ -22211,46 +22211,46 @@ export interface Person extends DomainResource { /** * Whether this person's record is in active use. */ - active?: boolean; - _active?: Element; + active?: boolean|undefined; + _active?: Element|undefined; /** * Person may have multiple addresses with different uses or applicable periods. */ - address?: Address[]; + address?: Address[]|undefined; /** * At least an estimated year should be provided as a guess if the real DOB is unknown. */ - birthDate?: string; - _birthDate?: Element; + birthDate?: string|undefined; + _birthDate?: Element|undefined; /** * The gender might not match the biological sex as determined by genetics, or the individual's preferred identification. Note that for both humans and particularly animals, there are other legitimate possibilities than M and F, though a clear majority of systems and contexts only support M and F. */ - gender?: PersonGenderCodes; - _gender?: Element; + gender?: PersonGenderCodes|undefined; + _gender?: Element|undefined; /** * Identifier for a person within a particular scope. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Link to a resource that concerns the same actual person. */ - link?: PersonLink[]; + link?: PersonLink[]|undefined; /** * The organization that is the custodian of the person record. */ - managingOrganization?: Reference; + managingOrganization?: Reference|undefined; /** * Person may have multiple names with different uses or applicable periods. */ - name?: HumanName[]; + name?: HumanName[]|undefined; /** * An image that can be displayed as a thumbnail of the person to enhance the identification of the individual. */ - photo?: Attachment; + photo?: Attachment|undefined; /** * Person may have multiple ways to be contacted with different uses or applicable periods. May need to have options for contacting the person urgently and also to help with identification. */ - telecom?: ContactPoint[]; + telecom?: ContactPoint[]|undefined; } /** * Code Values for the Person.gender field @@ -22268,23 +22268,23 @@ export interface PlanDefinitionGoalTarget extends BackboneElement { /** * The target value of the measure to be achieved to signify fulfillment of the goal, e.g. 150 pounds or 7.0%. Either the high or low or both values of the range can be specified. When a low value is missing, it indicates that the goal is achieved at any value at or below the high value. Similarly, if the high value is missing, it indicates that the goal is achieved at any value at or above the low value. */ - detailQuantity?: Quantity; + detailQuantity?: Quantity|undefined; /** * The target value of the measure to be achieved to signify fulfillment of the goal, e.g. 150 pounds or 7.0%. Either the high or low or both values of the range can be specified. When a low value is missing, it indicates that the goal is achieved at any value at or below the high value. Similarly, if the high value is missing, it indicates that the goal is achieved at any value at or above the low value. */ - detailRange?: Range; + detailRange?: Range|undefined; /** * The target value of the measure to be achieved to signify fulfillment of the goal, e.g. 150 pounds or 7.0%. Either the high or low or both values of the range can be specified. When a low value is missing, it indicates that the goal is achieved at any value at or below the high value. Similarly, if the high value is missing, it indicates that the goal is achieved at any value at or above the low value. */ - detailCodeableConcept?: CodeableConcept; + detailCodeableConcept?: CodeableConcept|undefined; /** * Indicates the timeframe after the start of the goal in which the goal should be met. */ - due?: Duration; + due?: Duration|undefined; /** * The parameter whose value is to be tracked, e.g. body weight, blood pressure, or hemoglobin A1c level. */ - measure?: CodeableConcept; + measure?: CodeableConcept|undefined; } /** * Goals that describe what the activities within the plan are intended to achieve. For example, weight loss, restoring an activity of daily living, obtaining herd immunity via immunization, meeting a process improvement objective, etc. @@ -22293,11 +22293,11 @@ export interface PlanDefinitionGoal extends BackboneElement { /** * Identifies problems, conditions, issues, or concerns the goal is intended to address. */ - addresses?: CodeableConcept[]; + addresses?: CodeableConcept[]|undefined; /** * Indicates a category the goal falls within. */ - category?: CodeableConcept; + category?: CodeableConcept|undefined; /** * If no code is available, use CodeableConcept.text. */ @@ -22305,19 +22305,19 @@ export interface PlanDefinitionGoal extends BackboneElement { /** * Didactic or other informational resources associated with the goal that provide further supporting information about the goal. Information resources can include inline text commentary and links to web resources. */ - documentation?: RelatedArtifact[]; + documentation?: RelatedArtifact[]|undefined; /** * Identifies the expected level of importance associated with reaching/sustaining the defined goal. */ - priority?: CodeableConcept; + priority?: CodeableConcept|undefined; /** * The event after which the goal should begin being pursued. */ - start?: CodeableConcept; + start?: CodeableConcept|undefined; /** * Indicates what should be done and within what timeframe. */ - target?: PlanDefinitionGoalTarget[]; + target?: PlanDefinitionGoalTarget[]|undefined; } /** * When multiple conditions of the same kind are present, the effects are combined using AND semantics, so the overall condition is true only if all the conditions are true. @@ -22326,12 +22326,12 @@ export interface PlanDefinitionActionCondition extends BackboneElement { /** * The expression may be inlined or may be a reference to a named expression within a logic library referenced by the library element. */ - expression?: Expression; + expression?: Expression|undefined; /** * Applicability criteria are used to determine immediate applicability when a plan definition is applied to a given context. Start and stop criteria are carried through application and used to describe enter/exit criteria for an action. */ kind: PlanDefinitionActionConditionKindCodes; - _kind?: Element; + _kind?: Element|undefined; } /** * Code Values for the PlanDefinition.action.condition.kind field @@ -22349,20 +22349,20 @@ export interface PlanDefinitionActionRelatedAction extends BackboneElement { * The element id of the related action. */ actionId: string; - _actionId?: Element; + _actionId?: Element|undefined; /** * A duration or range of durations to apply to the relationship. For example, 30-60 minutes before. */ - offsetDuration?: Duration; + offsetDuration?: Duration|undefined; /** * A duration or range of durations to apply to the relationship. For example, 30-60 minutes before. */ - offsetRange?: Range; + offsetRange?: Range|undefined; /** * The relationship of this action to the related action. */ relationship: PlanDefinitionActionRelatedActionRelationshipCodes; - _relationship?: Element; + _relationship?: Element|undefined; } /** * Code Values for the PlanDefinition.action.relatedAction.relationship field @@ -22385,12 +22385,12 @@ export interface PlanDefinitionActionParticipant extends BackboneElement { /** * The role the participant should play in performing the described action. */ - role?: CodeableConcept; + role?: CodeableConcept|undefined; /** * The type of participant in the action. */ type: PlanDefinitionActionParticipantTypeCodes; - _type?: Element; + _type?: Element|undefined; } /** * Code Values for the PlanDefinition.action.participant.type field @@ -22408,12 +22408,12 @@ export interface PlanDefinitionActionDynamicValue extends BackboneElement { /** * The expression may be inlined or may be a reference to a named expression within a logic library referenced by the library element. */ - expression?: Expression; + expression?: Expression|undefined; /** * To specify the path to the current action being realized, the %action environment variable is available in this path. For example, to specify the description element of the target action, the path would be %action.description. The path attribute contains a [Simple FHIRPath Subset](fhirpath.html#simple) that allows path traversal, but not calculation. */ - path?: string; - _path?: Element; + path?: string|undefined; + _path?: Element|undefined; } /** * Note that there is overlap between many of the elements defined here and the ActivityDefinition resource. When an ActivityDefinition is referenced (using the definition element), the overlapping elements in the plan override the content of the referenced ActivityDefinition unless otherwise documented in the specific elements. See the PlanDefinition resource for more detailed information. @@ -22422,156 +22422,156 @@ export interface PlanDefinitionAction extends BackboneElement { /** * Sub actions that are contained within the action. The behavior of this action determines the functionality of the sub-actions. For example, a selection behavior of at-most-one indicates that of the sub-actions, at most one may be chosen as part of realizing the action definition. */ - action?: PlanDefinitionAction[]; + action?: PlanDefinitionAction[]|undefined; /** * Defines whether the action can be selected multiple times. */ - cardinalityBehavior?: PlanDefinitionActionCardinalityBehaviorCodes; - _cardinalityBehavior?: Element; + cardinalityBehavior?: PlanDefinitionActionCardinalityBehaviorCodes|undefined; + _cardinalityBehavior?: Element|undefined; /** * A code that provides meaning for the action or action group. For example, a section may have a LOINC code for the section of a documentation template. */ - code?: CodeableConcept[]; + code?: CodeableConcept[]|undefined; /** * When multiple conditions of the same kind are present, the effects are combined using AND semantics, so the overall condition is true only if all the conditions are true. */ - condition?: PlanDefinitionActionCondition[]; + condition?: PlanDefinitionActionCondition[]|undefined; /** * Note that the definition is optional, and if no definition is specified, a dynamicValue with a root ($this) path can be used to define the entire resource dynamically. */ - definitionCanonical?: string; - _definitionCanonical?: Element; + definitionCanonical?: string|undefined; + _definitionCanonical?: Element|undefined; /** * Note that the definition is optional, and if no definition is specified, a dynamicValue with a root ($this) path can be used to define the entire resource dynamically. */ - definitionUri?: string; - _definitionUri?: Element; + definitionUri?: string|undefined; + _definitionUri?: Element|undefined; /** * A brief description of the action used to provide a summary to display to the user. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Didactic or other informational resources associated with the action that can be provided to the CDS recipient. Information resources can include inline text commentary and links to web resources. */ - documentation?: RelatedArtifact[]; + documentation?: RelatedArtifact[]|undefined; /** * Dynamic values are applied in the order in which they are defined in the PlanDefinition resource. Note that when dynamic values are also specified by a referenced ActivityDefinition, the dynamicValues from the ActivityDefinition are applied first, followed by the dynamicValues specified here. In addition, if both a transform and dynamic values are specific, the dynamic values are applied to the result of the transform. */ - dynamicValue?: PlanDefinitionActionDynamicValue[]; + dynamicValue?: PlanDefinitionActionDynamicValue[]|undefined; /** * Identifies goals that this action supports. The reference must be to a goal element defined within this plan definition. */ - goalId?: string[]; - _goalId?: Element[]; + goalId?: string[]|undefined; + _goalId?: Element[]|undefined; /** * Defines the grouping behavior for the action and its children. */ - groupingBehavior?: PlanDefinitionActionGroupingBehaviorCodes; - _groupingBehavior?: Element; + groupingBehavior?: PlanDefinitionActionGroupingBehaviorCodes|undefined; + _groupingBehavior?: Element|undefined; /** * Defines input data requirements for the action. */ - input?: DataRequirement[]; + input?: DataRequirement[]|undefined; /** * Defines the outputs of the action, if any. */ - output?: DataRequirement[]; + output?: DataRequirement[]|undefined; /** * Indicates who should participate in performing the action described. */ - participant?: PlanDefinitionActionParticipant[]; + participant?: PlanDefinitionActionParticipant[]|undefined; /** * Defines whether the action should usually be preselected. */ - precheckBehavior?: PlanDefinitionActionPrecheckBehaviorCodes; - _precheckBehavior?: Element; + precheckBehavior?: PlanDefinitionActionPrecheckBehaviorCodes|undefined; + _precheckBehavior?: Element|undefined; /** * A user-visible prefix for the action. */ - prefix?: string; - _prefix?: Element; + prefix?: string|undefined; + _prefix?: Element|undefined; /** * Indicates how quickly the action should be addressed with respect to other actions. */ - priority?: PlanDefinitionActionPriorityCodes; - _priority?: Element; + priority?: PlanDefinitionActionPriorityCodes|undefined; + _priority?: Element|undefined; /** * This is different than the clinical evidence documentation, it's an actual business description of the reason for performing the action. */ - reason?: CodeableConcept[]; + reason?: CodeableConcept[]|undefined; /** * When an action depends on multiple actions, the meaning is that all actions are dependencies, rather than that any of the actions are a dependency. */ - relatedAction?: PlanDefinitionActionRelatedAction[]; + relatedAction?: PlanDefinitionActionRelatedAction[]|undefined; /** * Defines the required behavior for the action. */ - requiredBehavior?: PlanDefinitionActionRequiredBehaviorCodes; - _requiredBehavior?: Element; + requiredBehavior?: PlanDefinitionActionRequiredBehaviorCodes|undefined; + _requiredBehavior?: Element|undefined; /** * Defines the selection behavior for the action and its children. */ - selectionBehavior?: PlanDefinitionActionSelectionBehaviorCodes; - _selectionBehavior?: Element; + selectionBehavior?: PlanDefinitionActionSelectionBehaviorCodes|undefined; + _selectionBehavior?: Element|undefined; /** * The subject of an action overrides the subject at a parent action or on the root of the PlanDefinition if specified. * In addition, because the subject needs to be resolved during realization, use of subjects in actions (or in the ActivityDefinition referenced by the action) resolves based on the set of subjects supplied in context and by type (i.e. the patient subject would resolve to a resource of type Patient). */ - subjectCodeableConcept?: CodeableConcept; + subjectCodeableConcept?: CodeableConcept|undefined; /** * The subject of an action overrides the subject at a parent action or on the root of the PlanDefinition if specified. * In addition, because the subject needs to be resolved during realization, use of subjects in actions (or in the ActivityDefinition referenced by the action) resolves based on the set of subjects supplied in context and by type (i.e. the patient subject would resolve to a resource of type Patient). */ - subjectReference?: Reference; + subjectReference?: Reference|undefined; /** * A text equivalent of the action to be performed. This provides a human-interpretable description of the action when the definition is consumed by a system that might not be capable of interpreting it dynamically. */ - textEquivalent?: string; - _textEquivalent?: Element; + textEquivalent?: string|undefined; + _textEquivalent?: Element|undefined; /** * An optional value describing when the action should be performed. */ - timingDateTime?: string; - _timingDateTime?: Element; + timingDateTime?: string|undefined; + _timingDateTime?: Element|undefined; /** * An optional value describing when the action should be performed. */ - timingAge?: Age; + timingAge?: Age|undefined; /** * An optional value describing when the action should be performed. */ - timingPeriod?: Period; + timingPeriod?: Period|undefined; /** * An optional value describing when the action should be performed. */ - timingDuration?: Duration; + timingDuration?: Duration|undefined; /** * An optional value describing when the action should be performed. */ - timingRange?: Range; + timingRange?: Range|undefined; /** * An optional value describing when the action should be performed. */ - timingTiming?: Timing; + timingTiming?: Timing|undefined; /** * The title of the action displayed to a user. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Note that when a referenced ActivityDefinition also defines a transform, the transform specified here generally takes precedence. In addition, if both a transform and dynamic values are specific, the dynamic values are applied to the result of the transform. */ - transform?: string; - _transform?: Element; + transform?: string|undefined; + _transform?: Element|undefined; /** * A description of when the action should be triggered. */ - trigger?: TriggerDefinition[]; + trigger?: TriggerDefinition[]|undefined; /** * The type of action to perform (create, update, remove). */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Code Values for the PlanDefinition.action.cardinalityBehavior field @@ -22632,149 +22632,149 @@ export interface PlanDefinition extends DomainResource { /** * Note that there is overlap between many of the elements defined here and the ActivityDefinition resource. When an ActivityDefinition is referenced (using the definition element), the overlapping elements in the plan override the content of the referenced ActivityDefinition unless otherwise documented in the specific elements. See the PlanDefinition resource for more detailed information. */ - action?: PlanDefinitionAction[]; + action?: PlanDefinitionAction[]|undefined; /** * The 'date' element may be more recent than the approval date because of minor changes or editorial corrections. */ - approvalDate?: string; - _approvalDate?: Element; + approvalDate?: string|undefined; + _approvalDate?: Element|undefined; /** * An individiual or organization primarily involved in the creation and maintenance of the content. */ - author?: ContactDetail[]; + author?: ContactDetail[]|undefined; /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * A copyright statement relating to the plan definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the plan definition. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the plan definition. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * This description can be used to capture details such as why the plan definition was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the plan definition as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the plan definition is presumed to be the predominant language in the place the plan definition was created). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * An individual or organization primarily responsible for internal coherence of the content. */ - editor?: ContactDetail[]; + editor?: ContactDetail[]|undefined; /** * The effective period for a plan definition determines when the content is applicable for usage and is independent of publication and review dates. For example, a measure intended to be used for the year 2016 might be published in 2015. */ - effectivePeriod?: Period; + effectivePeriod?: Period|undefined; /** * An individual or organization responsible for officially endorsing the content for use in some setting. */ - endorser?: ContactDetail[]; + endorser?: ContactDetail[]|undefined; /** * Allows filtering of plan definitions that are appropriate for use versus not. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * Goals that describe what the activities within the plan are intended to achieve. For example, weight loss, restoring an activity of daily living, obtaining herd immunity via immunization, meeting a process improvement objective, etc. */ - goal?: PlanDefinitionGoal[]; + goal?: PlanDefinitionGoal[]|undefined; /** * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this plan definition outside of FHIR, where it is not possible to use the logical URI. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * It may be possible for the plan definition to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * If specified, this date follows the original approval date. */ - lastReviewDate?: string; - _lastReviewDate?: Element; + lastReviewDate?: string|undefined; + _lastReviewDate?: Element|undefined; /** * A reference to a Library resource containing any formal logic used by the plan definition. */ - library?: string[]; - _library?: Element[]; + library?: string[]|undefined; + _library?: Element[]|undefined; /** * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Usually an organization but may be an individual. The publisher (or steward) of the plan definition is the organization or individual primarily responsible for the maintenance and upkeep of the plan definition. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the plan definition. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * This element does not describe the usage of the plan definition. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this plan definition. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * Each related artifact is either an attachment, or a reference to another resource, but not both. */ - relatedArtifact?: RelatedArtifact[]; + relatedArtifact?: RelatedArtifact[]|undefined; /** * An individual or organization primarily responsible for review of some aspect of the content. */ - reviewer?: ContactDetail[]; + reviewer?: ContactDetail[]|undefined; /** * Allows filtering of plan definitions that are appropriate for use versus not. */ status: PlanDefinitionStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * A code or group definition that describes the intended subject of the plan definition. */ - subjectCodeableConcept?: CodeableConcept; + subjectCodeableConcept?: CodeableConcept|undefined; /** * A code or group definition that describes the intended subject of the plan definition. */ - subjectReference?: Reference; + subjectReference?: Reference|undefined; /** * An explanatory or alternate title for the plan definition giving additional information about its content. */ - subtitle?: string; - _subtitle?: Element; + subtitle?: string|undefined; + _subtitle?: Element|undefined; /** * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Descriptive topics related to the content of the plan definition. Topics provide a high-level categorization of the definition that can be useful for filtering and searching. */ - topic?: CodeableConcept[]; + topic?: CodeableConcept[]|undefined; /** * A high-level category for the plan definition that distinguishes the kinds of systems that would be interested in the plan definition. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; /** * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * A detailed description of how the plan definition is used from a clinical perspective. */ - usage?: string; - _usage?: Element; + usage?: string|undefined; + _usage?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different plan definition instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the plan definition with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the PlanDefinition.status field @@ -22796,15 +22796,15 @@ export interface PractitionerQualification extends BackboneElement { /** * An identifier that applies to this person's qualification in this role. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Organization that regulates and issues the qualification. */ - issuer?: Reference; + issuer?: Reference|undefined; /** * Period during which the qualification is valid. */ - period?: Period; + period?: Period|undefined; } /** * A person who is directly or indirectly involved in the provisioning of healthcare. @@ -22815,30 +22815,30 @@ export interface Practitioner extends DomainResource { /** * If the practitioner is not in use by one organization, then it should mark the period on the PractitonerRole with an end date (even if they are active) as they may be active in another role. */ - active?: boolean; - _active?: Element; + active?: boolean|undefined; + _active?: Element|undefined; /** * The PractitionerRole does not have an address value on it, as it is expected that the location property be used for this purpose (which has an address). */ - address?: Address[]; + address?: Address[]|undefined; /** * The date of birth for the practitioner. */ - birthDate?: string; - _birthDate?: Element; + birthDate?: string|undefined; + _birthDate?: Element|undefined; /** * The structure aa-BB with this exact casing is one the most widely used notations for locale. However not all systems code this but instead have it as free text. Hence CodeableConcept instead of code as the data type. */ - communication?: CodeableConcept[]; + communication?: CodeableConcept[]|undefined; /** * Administrative Gender - the gender that the person is considered to have for administration and record keeping purposes. */ - gender?: PractitionerGenderCodes; - _gender?: Element; + gender?: PractitionerGenderCodes|undefined; + _gender?: Element|undefined; /** * An identifier that applies to this person in this role. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The selection of the use property should ensure that there is a single usual name specified, and others use the nickname (alias), old, or other values as appropriate. * In general, select the value to be used in the ResourceReference.display based on this: @@ -22848,19 +22848,19 @@ export interface Practitioner extends DomainResource { * 4. Use = official * 5. Other order as decided by internal business rules. */ - name?: HumanName[]; + name?: HumanName[]|undefined; /** * Image of the person. */ - photo?: Attachment[]; + photo?: Attachment[]|undefined; /** * The official certifications, training, and licenses that authorize or otherwise pertain to the provision of care by the practitioner. For example, a medical license issued by a medical board authorizing the practitioner to practice medicine within a certian locality. */ - qualification?: PractitionerQualification[]; + qualification?: PractitionerQualification[]|undefined; /** * Person may have multiple ways to be contacted with different uses or applicable periods. May need to have options for contacting the person urgently and to help with identification. These typically will have home numbers, or mobile numbers that are not role specific. */ - telecom?: ContactPoint[]; + telecom?: ContactPoint[]|undefined; } /** * Code Values for the Practitioner.gender field @@ -22878,23 +22878,23 @@ export interface PractitionerRoleAvailableTime extends BackboneElement { /** * Is this always available? (hence times are irrelevant) e.g. 24 hour service. */ - allDay?: boolean; - _allDay?: Element; + allDay?: boolean|undefined; + _allDay?: Element|undefined; /** * The timezone is expected to be for where this HealthcareService is provided at. */ - availableEndTime?: string; - _availableEndTime?: Element; + availableEndTime?: string|undefined; + _availableEndTime?: Element|undefined; /** * The timezone is expected to be for where this HealthcareService is provided at. */ - availableStartTime?: string; - _availableStartTime?: Element; + availableStartTime?: string|undefined; + _availableStartTime?: Element|undefined; /** * Indicates which days of the week are available between the start and end Times. */ - daysOfWeek?: PractitionerRoleAvailableTimeDaysOfWeekCodes[]; - _daysOfWeek?: Element[]; + daysOfWeek?: PractitionerRoleAvailableTimeDaysOfWeekCodes[]|undefined; + _daysOfWeek?: Element[]|undefined; } /** * Code Values for the PractitionerRole.availableTime.daysOfWeek field @@ -22916,11 +22916,11 @@ export interface PractitionerRoleNotAvailable extends BackboneElement { * The reason that can be presented to the user as to why this time is not available. */ description: string; - _description?: Element; + _description?: Element|undefined; /** * Service is not available (seasonally or for a public holiday) from this date. */ - during?: Period; + during?: Period|undefined; } /** * A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time. @@ -22931,61 +22931,61 @@ export interface PractitionerRole extends DomainResource { /** * If this value is false, you may refer to the period to see when the role was in active use. If there is no period specified, no inference can be made about when it was active. */ - active?: boolean; - _active?: Element; + active?: boolean|undefined; + _active?: Element|undefined; /** * A description of site availability exceptions, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as details in the available Times and not available Times. */ - availabilityExceptions?: string; - _availabilityExceptions?: Element; + availabilityExceptions?: string|undefined; + _availabilityExceptions?: Element|undefined; /** * More detailed availability information may be provided in associated Schedule/Slot resources. */ - availableTime?: PractitionerRoleAvailableTime[]; + availableTime?: PractitionerRoleAvailableTime[]|undefined; /** * A person may have more than one role. */ - code?: CodeableConcept[]; + code?: CodeableConcept[]|undefined; /** * Technical endpoints providing access to services operated for the practitioner with this role. */ - endpoint?: Reference[]; + endpoint?: Reference[]|undefined; /** * The list of healthcare services that this worker provides for this role's Organization/Location(s). */ - healthcareService?: Reference[]; + healthcareService?: Reference[]|undefined; /** * Business Identifiers that are specific to a role/location. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The location(s) at which this practitioner provides care. */ - location?: Reference[]; + location?: Reference[]|undefined; /** * The practitioner is not available or performing this role during this period of time due to the provided reason. */ - notAvailable?: PractitionerRoleNotAvailable[]; + notAvailable?: PractitionerRoleNotAvailable[]|undefined; /** * The organization where the Practitioner performs the roles associated. */ - organization?: Reference; + organization?: Reference|undefined; /** * The period during which the person is authorized to act as a practitioner in these role(s) for the organization. */ - period?: Period; + period?: Period|undefined; /** * Practitioner that is able to provide the defined services for the organization. */ - practitioner?: Reference; + practitioner?: Reference|undefined; /** * Specific specialty of the practitioner. */ - specialty?: CodeableConcept[]; + specialty?: CodeableConcept[]|undefined; /** * Contact details that are specific to the role/location/service. */ - telecom?: ContactPoint[]; + telecom?: ContactPoint[]|undefined; } /** * Limited to "real" people rather than equipment. @@ -22998,11 +22998,11 @@ export interface ProcedurePerformer extends BackboneElement { /** * Distinguishes the type of involvement of the performer in the procedure. For example, surgeon, anaesthetist, endoscopist. */ - function?: CodeableConcept; + function?: CodeableConcept|undefined; /** * The organization the device or practitioner was acting on behalf of. */ - onBehalfOf?: Reference; + onBehalfOf?: Reference|undefined; } /** * A device that is implanted, removed or otherwise manipulated (calibration, battery replacement, fitting a prosthesis, attaching a wound-vac, etc.) as a focal portion of the Procedure. @@ -23011,7 +23011,7 @@ export interface ProcedureFocalDevice extends BackboneElement { /** * The kind of change that happened to the device during the procedure. */ - action?: CodeableConcept; + action?: CodeableConcept|undefined; /** * The device that was manipulated (changed) during the procedure. */ @@ -23026,126 +23026,126 @@ export interface Procedure extends DomainResource { /** * Individual who is making the procedure statement. */ - asserter?: Reference; + asserter?: Reference|undefined; /** * A reference to a resource that contains details of the request for this procedure. */ - basedOn?: Reference[]; + basedOn?: Reference[]|undefined; /** * If the use case requires attributes from the BodySite resource (e.g. to identify and track separately) then use the standard extension [procedure-targetbodystructure](extension-procedure-targetbodystructure.html). */ - bodySite?: CodeableConcept[]; + bodySite?: CodeableConcept[]|undefined; /** * A code that classifies the procedure for searching, sorting and display purposes (e.g. "Surgical Procedure"). */ - category?: CodeableConcept; + category?: CodeableConcept|undefined; /** * The specific procedure that is performed. Use text if the exact nature of the procedure cannot be coded (e.g. "Laparoscopic Appendectomy"). */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * If complications are only expressed by the narrative text, they can be captured using the CodeableConcept.text. */ - complication?: CodeableConcept[]; + complication?: CodeableConcept[]|undefined; /** * Any complications that occurred during the procedure, or in the immediate post-performance period. */ - complicationDetail?: Reference[]; + complicationDetail?: Reference[]|undefined; /** * This will typically be the encounter the event occurred within, but some activities may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * A device that is implanted, removed or otherwise manipulated (calibration, battery replacement, fitting a prosthesis, attaching a wound-vac, etc.) as a focal portion of the Procedure. */ - focalDevice?: ProcedureFocalDevice[]; + focalDevice?: ProcedureFocalDevice[]|undefined; /** * If the procedure required specific follow up - e.g. removal of sutures. The follow up may be represented as a simple note or could potentially be more complex, in which case the CarePlan resource can be used. */ - followUp?: CodeableConcept[]; + followUp?: CodeableConcept[]|undefined; /** * This is a business identifier, not a resource identifier (see [discussion](resource.html#identifiers)). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and Person resource instances might share the same social insurance number. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The URL pointing to a FHIR-defined protocol, guideline, order set or other definition that is adhered to in whole or in part by this Procedure. */ - instantiatesCanonical?: string[]; - _instantiatesCanonical?: Element[]; + instantiatesCanonical?: string[]|undefined; + _instantiatesCanonical?: Element[]|undefined; /** * This might be an HTML page, PDF, etc. or could just be a non-resolvable URI identifier. */ - instantiatesUri?: string[]; - _instantiatesUri?: Element[]; + instantiatesUri?: string[]|undefined; + _instantiatesUri?: Element[]|undefined; /** * The location where the procedure actually happened. E.g. a newborn at home, a tracheostomy at a restaurant. */ - location?: Reference; + location?: Reference|undefined; /** * Any other notes and comments about the procedure. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * If outcome contains narrative text only, it can be captured using the CodeableConcept.text. */ - outcome?: CodeableConcept; + outcome?: CodeableConcept|undefined; /** * The MedicationAdministration resource has a partOf reference to Procedure, but this is not a circular reference. For example, the anesthesia MedicationAdministration is part of the surgical Procedure (MedicationAdministration.partOf = Procedure). For example, the procedure to insert the IV port for an IV medication administration is part of the medication administration (Procedure.partOf = MedicationAdministration). */ - partOf?: Reference[]; + partOf?: Reference[]|undefined; /** * Age is generally used when the patient reports an age at which the procedure was performed. Range is generally used when the patient reports an age range when the procedure was performed, such as sometime between 20-25 years old. dateTime supports a range of precision due to some procedures being reported as past procedures that might not have millisecond precision while other procedures performed and documented during the encounter might have more precise UTC timestamps with timezone. */ - performedDateTime?: string; - _performedDateTime?: Element; + performedDateTime?: string|undefined; + _performedDateTime?: Element|undefined; /** * Age is generally used when the patient reports an age at which the procedure was performed. Range is generally used when the patient reports an age range when the procedure was performed, such as sometime between 20-25 years old. dateTime supports a range of precision due to some procedures being reported as past procedures that might not have millisecond precision while other procedures performed and documented during the encounter might have more precise UTC timestamps with timezone. */ - performedPeriod?: Period; + performedPeriod?: Period|undefined; /** * Age is generally used when the patient reports an age at which the procedure was performed. Range is generally used when the patient reports an age range when the procedure was performed, such as sometime between 20-25 years old. dateTime supports a range of precision due to some procedures being reported as past procedures that might not have millisecond precision while other procedures performed and documented during the encounter might have more precise UTC timestamps with timezone. */ - performedString?: string; - _performedString?: Element; + performedString?: string|undefined; + _performedString?: Element|undefined; /** * Age is generally used when the patient reports an age at which the procedure was performed. Range is generally used when the patient reports an age range when the procedure was performed, such as sometime between 20-25 years old. dateTime supports a range of precision due to some procedures being reported as past procedures that might not have millisecond precision while other procedures performed and documented during the encounter might have more precise UTC timestamps with timezone. */ - performedAge?: Age; + performedAge?: Age|undefined; /** * Age is generally used when the patient reports an age at which the procedure was performed. Range is generally used when the patient reports an age range when the procedure was performed, such as sometime between 20-25 years old. dateTime supports a range of precision due to some procedures being reported as past procedures that might not have millisecond precision while other procedures performed and documented during the encounter might have more precise UTC timestamps with timezone. */ - performedRange?: Range; + performedRange?: Range|undefined; /** * Limited to "real" people rather than equipment. */ - performer?: ProcedurePerformer[]; + performer?: ProcedurePerformer[]|undefined; /** * Use Procedure.reasonCode when a code sufficiently describes the reason. Use Procedure.reasonReference when referencing a resource, which allows more information to be conveyed, such as onset date. Procedure.reasonCode and Procedure.reasonReference are not meant to be duplicative. For a single reason, either Procedure.reasonCode or Procedure.reasonReference can be used. Procedure.reasonCode may be a summary code, or Procedure.reasonReference may be used to reference a very precise definition of the reason using Condition | Observation | Procedure | DiagnosticReport | DocumentReference. Both Procedure.reasonCode and Procedure.reasonReference can be used if they are describing different reasons for the procedure. */ - reasonCode?: CodeableConcept[]; + reasonCode?: CodeableConcept[]|undefined; /** * It is possible for a procedure to be a reason (such as C-Section) for another procedure (such as an epidural). Other examples include endoscopy for dilatation and biopsy (a combination of diagnostic and therapeutic use). * Use Procedure.reasonCode when a code sufficiently describes the reason. Use Procedure.reasonReference when referencing a resource, which allows more information to be conveyed, such as onset date. Procedure.reasonCode and Procedure.reasonReference are not meant to be duplicative. For a single reason, either Procedure.reasonCode or Procedure.reasonReference can be used. Procedure.reasonCode may be a summary code, or Procedure.reasonReference may be used to reference a very precise definition of the reason using Condition | Observation | Procedure | DiagnosticReport | DocumentReference. Both Procedure.reasonCode and Procedure.reasonReference can be used if they are describing different reasons for the procedure. */ - reasonReference?: Reference[]; + reasonReference?: Reference[]|undefined; /** * Individual who recorded the record and takes responsibility for its content. */ - recorder?: Reference; + recorder?: Reference|undefined; /** * There could potentially be multiple reports - e.g. if this was a procedure which took multiple biopsies resulting in a number of anatomical pathology reports. */ - report?: Reference[]; + report?: Reference[]|undefined; /** * The "unknown" code is not to be used to convey other statuses. The "unknown" code should be used when one of the statuses applies, but the authoring system doesn't know the current state of the procedure. * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: ProcedureStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * This is generally only used for "exception" statuses such as "not-done", "suspended" or "aborted". The reason for performing the event at all is captured in reasonCode, not here. */ - statusReason?: CodeableConcept; + statusReason?: CodeableConcept|undefined; /** * The person, animal or group on which the procedure was performed. */ @@ -23153,11 +23153,11 @@ export interface Procedure extends DomainResource { /** * For devices actually implanted or removed, use Procedure.device. */ - usedCode?: CodeableConcept[]; + usedCode?: CodeableConcept[]|undefined; /** * For devices actually implanted or removed, use Procedure.device. */ - usedReference?: Reference[]; + usedReference?: Reference[]|undefined; } /** * Code Values for the Procedure.status field @@ -23179,15 +23179,15 @@ export interface ProvenanceAgent extends BackboneElement { /** * onBehalfOfIdentity should be used when the agent is not a Resource type. */ - onBehalfOf?: Reference; + onBehalfOf?: Reference|undefined; /** * For example: doctor, nurse, clerk, etc. */ - role?: CodeableConcept[]; + role?: CodeableConcept[]|undefined; /** * For example: author, performer, enterer, attester, etc. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; /** * whoIdentity should be used when the agent is not a Resource type. */ @@ -23200,12 +23200,12 @@ export interface ProvenanceEntity extends BackboneElement { /** * A usecase where one Provenance.entity.agent is used where the Entity that was used in the creation/updating of the Target, is not in the context of the same custodianship as the Target, and thus the meaning of Provenance.entity.agent is to say that the entity referenced is managed elsewhere and that this Agent provided access to it. This would be similar to where the Entity being referenced is managed outside FHIR, such as through HL7 v2, v3, or XDS. This might be where the Entity being referenced is managed in another FHIR resource server. Thus it explains the Provenance of that Entity's use in the context of this Provenance activity. */ - agent?: ProvenanceAgent[]; + agent?: ProvenanceAgent[]|undefined; /** * How the entity was used during the activity. */ role: ProvenanceEntityRoleCodes; - _role?: Element; + _role?: Element|undefined; /** * whatIdentity should be used for entities that are not a Resource type. */ @@ -23230,7 +23230,7 @@ export interface Provenance extends DomainResource { /** * An activity is something that occurs over a period of time and acts upon or with entities; it may include consuming, processing, transforming, modifying, relocating, using, or generating entities. */ - activity?: CodeableConcept; + activity?: CodeableConcept|undefined; /** * Several agents may be associated (i.e. has some responsibility for an activity) with an activity and vice-versa. */ @@ -23238,38 +23238,38 @@ export interface Provenance extends DomainResource { /** * An entity used in this activity. */ - entity?: ProvenanceEntity[]; + entity?: ProvenanceEntity[]|undefined; /** * Where the activity occurred, if relevant. */ - location?: Reference; + location?: Reference|undefined; /** * The period can be a little arbitrary; where possible, the time should correspond to human assessment of the activity time. */ - occurredPeriod?: Period; + occurredPeriod?: Period|undefined; /** * The period can be a little arbitrary; where possible, the time should correspond to human assessment of the activity time. */ - occurredDateTime?: string; - _occurredDateTime?: Element; + occurredDateTime?: string|undefined; + _occurredDateTime?: Element|undefined; /** * For example: Where an OAuth token authorizes, the unique identifier from the OAuth token is placed into the policy element Where a policy engine (e.g. XACML) holds policy logic, the unique policy identifier is placed into the policy element. */ - policy?: string[]; - _policy?: Element[]; + policy?: string[]|undefined; + _policy?: Element[]|undefined; /** * The reason that the activity was taking place. */ - reason?: CodeableConcept[]; + reason?: CodeableConcept[]|undefined; /** * This can be a little different from the time stamp on the resource if there is a delay between recording the event and updating the provenance and target resource. */ recorded: string; - _recorded?: Element; + _recorded?: Element|undefined; /** * A digital signature on the target Reference(s). The signer should match a Provenance.agent. The purpose of the signature is indicated. */ - signature?: Signature[]; + signature?: Signature[]|undefined; /** * Target references are usually version specific, but might not be, if a version has not been assigned or if the provenance information is part of the set of resources being maintained (i.e. a document). When using the RESTful API, the identity of the resource might not be known (especially not the version specific one); the client may either submit the resource first, and then the provenance, or it may submit both using a single transaction. See the notes on transaction for further discussion. */ @@ -23282,58 +23282,58 @@ export interface QuestionnaireItemEnableWhen extends BackboneElement { /** * A value that the referenced question is tested using the specified operator in order for the item to be enabled. */ - answerBoolean?: boolean; - _answerBoolean?: Element; + answerBoolean?: boolean|undefined; + _answerBoolean?: Element|undefined; /** * A value that the referenced question is tested using the specified operator in order for the item to be enabled. */ - answerDecimal?: number; + answerDecimal?: number|undefined; /** * A value that the referenced question is tested using the specified operator in order for the item to be enabled. */ - answerInteger?: number; + answerInteger?: number|undefined; /** * A value that the referenced question is tested using the specified operator in order for the item to be enabled. */ - answerDate?: string; - _answerDate?: Element; + answerDate?: string|undefined; + _answerDate?: Element|undefined; /** * A value that the referenced question is tested using the specified operator in order for the item to be enabled. */ - answerDateTime?: string; - _answerDateTime?: Element; + answerDateTime?: string|undefined; + _answerDateTime?: Element|undefined; /** * A value that the referenced question is tested using the specified operator in order for the item to be enabled. */ - answerTime?: string; - _answerTime?: Element; + answerTime?: string|undefined; + _answerTime?: Element|undefined; /** * A value that the referenced question is tested using the specified operator in order for the item to be enabled. */ - answerString?: string; - _answerString?: Element; + answerString?: string|undefined; + _answerString?: Element|undefined; /** * A value that the referenced question is tested using the specified operator in order for the item to be enabled. */ - answerCoding?: Coding; + answerCoding?: Coding|undefined; /** * A value that the referenced question is tested using the specified operator in order for the item to be enabled. */ - answerQuantity?: Quantity; + answerQuantity?: Quantity|undefined; /** * A value that the referenced question is tested using the specified operator in order for the item to be enabled. */ - answerReference?: Reference; + answerReference?: Reference|undefined; /** * Specifies the criteria by which the question is enabled. */ operator: QuestionnaireItemEnableWhenOperatorCodes; - _operator?: Element; + _operator?: Element|undefined; /** * If multiple question occurrences are present for the same question (same linkId), then this refers to the nearest question occurrence reachable by tracing first the "ancestor" axis and then the "preceding" axis and then the "following" axis. */ question: string; - _question?: Element; + _question?: Element|undefined; } /** * Code Values for the Questionnaire.item.enableWhen.operator field @@ -23354,35 +23354,35 @@ export interface QuestionnaireItemAnswerOption extends BackboneElement { /** * Use this instead of initial[v] if answerValueSet is present. */ - initialSelected?: boolean; - _initialSelected?: Element; + initialSelected?: boolean|undefined; + _initialSelected?: Element|undefined; /** * The data type of the value must agree with the item.type. */ - valueInteger?: number; + valueInteger?: number|undefined; /** * The data type of the value must agree with the item.type. */ - valueDate?: string; - _valueDate?: Element; + valueDate?: string|undefined; + _valueDate?: Element|undefined; /** * The data type of the value must agree with the item.type. */ - valueTime?: string; - _valueTime?: Element; + valueTime?: string|undefined; + _valueTime?: Element|undefined; /** * The data type of the value must agree with the item.type. */ - valueString?: string; - _valueString?: Element; + valueString?: string|undefined; + _valueString?: Element|undefined; /** * The data type of the value must agree with the item.type. */ - valueCoding?: Coding; + valueCoding?: Coding|undefined; /** * The data type of the value must agree with the item.type. */ - valueReference?: Reference; + valueReference?: Reference|undefined; } /** * The user is allowed to change the value and override the default (unless marked as read-only). If the user doesn't change the value, then this initial value will be persisted when the QuestionnaireResponse is initially created. Note that initial values can influence results. The data type of initial[x] must agree with the item.type, and only repeating items can have more then one initial value. @@ -23391,57 +23391,57 @@ export interface QuestionnaireItemInitial extends BackboneElement { /** * The type of the initial value must be consistent with the type of the item. */ - valueBoolean?: boolean; - _valueBoolean?: Element; + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; /** * The type of the initial value must be consistent with the type of the item. */ - valueDecimal?: number; + valueDecimal?: number|undefined; /** * The type of the initial value must be consistent with the type of the item. */ - valueInteger?: number; + valueInteger?: number|undefined; /** * The type of the initial value must be consistent with the type of the item. */ - valueDate?: string; - _valueDate?: Element; + valueDate?: string|undefined; + _valueDate?: Element|undefined; /** * The type of the initial value must be consistent with the type of the item. */ - valueDateTime?: string; - _valueDateTime?: Element; + valueDateTime?: string|undefined; + _valueDateTime?: Element|undefined; /** * The type of the initial value must be consistent with the type of the item. */ - valueTime?: string; - _valueTime?: Element; + valueTime?: string|undefined; + _valueTime?: Element|undefined; /** * The type of the initial value must be consistent with the type of the item. */ - valueString?: string; - _valueString?: Element; + valueString?: string|undefined; + _valueString?: Element|undefined; /** * The type of the initial value must be consistent with the type of the item. */ - valueUri?: string; - _valueUri?: Element; + valueUri?: string|undefined; + _valueUri?: Element|undefined; /** * The type of the initial value must be consistent with the type of the item. */ - valueAttachment?: Attachment; + valueAttachment?: Attachment|undefined; /** * The type of the initial value must be consistent with the type of the item. */ - valueCoding?: Coding; + valueCoding?: Coding|undefined; /** * The type of the initial value must be consistent with the type of the item. */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; /** * The type of the initial value must be consistent with the type of the item. */ - valueReference?: Reference; + valueReference?: Reference|undefined; } /** * The content of the questionnaire is constructed from an ordered, hierarchical collection of items. @@ -23450,79 +23450,79 @@ export interface QuestionnaireItem extends BackboneElement { /** * This element can be used when the value set machinery of answerValueSet is deemed too cumbersome or when there's a need to capture possible answers that are not codes. */ - answerOption?: QuestionnaireItemAnswerOption[]; + answerOption?: QuestionnaireItemAnswerOption[]|undefined; /** * LOINC defines many useful value sets for questionnaire responses. See [LOINC Answer Lists](loinc.html#alist). The value may come from the ElementDefinition referred to by .definition. */ - answerValueSet?: string; - _answerValueSet?: Element; + answerValueSet?: string|undefined; + _answerValueSet?: Element|undefined; /** * The value may come from the ElementDefinition referred to by .definition. */ - code?: Coding[]; + code?: Coding[]|undefined; /** * The uri refers to an ElementDefinition in a [StructureDefinition](structuredefinition.html#) and always starts with the [canonical URL](references.html#canonical) for the target resource. When referring to a StructureDefinition, a fragment identifier is used to specify the element definition by its id [Element.id](element-definitions.html#Element.id). E.g. http://hl7.org/fhir/StructureDefinition/Observation#Observation.value[x]. In the absence of a fragment identifier, the first/root element definition in the target is the matching element definition. */ - definition?: string; - _definition?: Element; + definition?: string|undefined; + _definition?: Element|undefined; /** * This element must be specified if more than one enableWhen value is provided. */ - enableBehavior?: QuestionnaireItemEnableBehaviorCodes; - _enableBehavior?: Element; + enableBehavior?: QuestionnaireItemEnableBehaviorCodes|undefined; + _enableBehavior?: Element|undefined; /** * If multiple repetitions of this extension are present, the item should be enabled when the condition for *any* of the repetitions is true. I.e. treat "enableWhen"s as being joined by an "or" clause. This element is a modifier because if enableWhen is present for an item, "required" is ignored unless one of the enableWhen conditions is met. When an item is disabled, all of its descendants are disabled, regardless of what their own enableWhen logic might evaluate to. */ - enableWhen?: QuestionnaireItemEnableWhen[]; + enableWhen?: QuestionnaireItemEnableWhen[]|undefined; /** * The user is allowed to change the value and override the default (unless marked as read-only). If the user doesn't change the value, then this initial value will be persisted when the QuestionnaireResponse is initially created. Note that initial values can influence results. The data type of initial[x] must agree with the item.type, and only repeating items can have more then one initial value. */ - initial?: QuestionnaireItemInitial[]; + initial?: QuestionnaireItemInitial[]|undefined; /** * There is no specified limit to the depth of nesting. However, Questionnaire authors are encouraged to consider the impact on the user and user interface of overly deep nesting. */ - item?: QuestionnaireItem[]; + item?: QuestionnaireItem[]|undefined; /** * This ''can'' be a meaningful identifier (e.g. a LOINC code) but is not intended to have any meaning. GUIDs or sequential numbers are appropriate here. */ linkId: string; - _linkId?: Element; + _linkId?: Element|undefined; /** * For base64binary, reflects the number of characters representing the encoded data, not the number of bytes of the binary data. The value may come from the ElementDefinition referred to by .definition. */ - maxLength?: number; + maxLength?: number|undefined; /** * These are generally unique within a questionnaire, though this is not guaranteed. Some questionnaires may have multiple questions with the same label with logic to control which gets exposed. Typically, these won't be used for "display" items, though such use is not prohibited. Systems SHOULD NOT generate their own prefixes if prefixes are defined for any items within a Questionnaire. */ - prefix?: string; - _prefix?: Element; + prefix?: string|undefined; + _prefix?: Element|undefined; /** * The value of readOnly elements can be established by asserting extensions for defaultValues, linkages that support pre-population and/or extensions that support calculation based on other answers. */ - readOnly?: boolean; - _readOnly?: Element; + readOnly?: boolean|undefined; + _readOnly?: Element|undefined; /** * If a question is marked as repeats=true, then multiple answers can be provided for the question in the corresponding QuestionnaireResponse. When rendering the questionnaire, it is up to the rendering software whether to render the question text for each answer repetition (i.e. "repeat the question") or to simply allow entry/selection of multiple answers for the question (repeat the answers). Which is most appropriate visually may depend on the type of answer as well as whether there are nested items. * The resulting QuestionnaireResponse will be populated the same way regardless of rendering - one 'question' item with multiple answer values. * The value may come from the ElementDefinition referred to by .definition. */ - repeats?: boolean; - _repeats?: Element; + repeats?: boolean|undefined; + _repeats?: Element|undefined; /** * Questionnaire.item.required only has meaning for elements that are conditionally enabled with enableWhen if the condition evaluates to true. If an item that contains other items is marked as required, that does not automatically make the contained elements required (though required groups must contain at least one child element). The value may come from the ElementDefinition referred to by .definition. */ - required?: boolean; - _required?: Element; + required?: boolean|undefined; + _required?: Element|undefined; /** * When using this element to represent the name of a section, use group type item and also make sure to limit the text element to a short string suitable for display as a section heading. Group item instructions should be included as a display type item within the group. */ - text?: string; - _text?: Element; + text?: string|undefined; + _text?: Element|undefined; /** * Additional constraints on the type of answer can be conveyed by extensions. The value may come from the ElementDefinition referred to by .definition. */ type: QuestionnaireItemTypeCodes; - _type?: Element; + _type?: Element|undefined; } /** * Code Values for the Questionnaire.item.enableBehavior field @@ -23562,106 +23562,106 @@ export interface Questionnaire extends DomainResource { /** * The 'date' element may be more recent than the approval date because of minor changes or editorial corrections. */ - approvalDate?: string; - _approvalDate?: Element; + approvalDate?: string|undefined; + _approvalDate?: Element|undefined; /** * An identifier for this question or group of questions in a particular terminology such as LOINC. */ - code?: Coding[]; + code?: Coding[]|undefined; /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * A copyright statement relating to the questionnaire and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the questionnaire. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the questionnaire. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * The URL of a Questionnaire that this Questionnaire is based on. */ - derivedFrom?: string[]; - _derivedFrom?: Element[]; + derivedFrom?: string[]|undefined; + _derivedFrom?: Element[]|undefined; /** * This description can be used to capture details such as why the questionnaire was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the questionnaire as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the questionnaire is presumed to be the predominant language in the place the questionnaire was created). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * The effective period for a questionnaire determines when the content is applicable for usage and is independent of publication and review dates. For example, a measure intended to be used for the year 2016 might be published in 2015. */ - effectivePeriod?: Period; + effectivePeriod?: Period|undefined; /** * Allows filtering of questionnaires that are appropriate for use versus not. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this questionnaire outside of FHIR, where it is not possible to use the logical URI. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The content of the questionnaire is constructed from an ordered, hierarchical collection of items. */ - item?: QuestionnaireItem[]; + item?: QuestionnaireItem[]|undefined; /** * It may be possible for the questionnaire to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * If specified, this date follows the original approval date. */ - lastReviewDate?: string; - _lastReviewDate?: Element; + lastReviewDate?: string|undefined; + _lastReviewDate?: Element|undefined; /** * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Usually an organization but may be an individual. The publisher (or steward) of the questionnaire is the organization or individual primarily responsible for the maintenance and upkeep of the questionnaire. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the questionnaire. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * This element does not describe the usage of the questionnaire. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this questionnaire. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * Allows filtering of questionnaires that are appropriate for use versus not. */ status: QuestionnaireStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * If none are specified, then the subject is unlimited. */ - subjectType?: string[]; - _subjectType?: Element[]; + subjectType?: string[]|undefined; + _subjectType?: Element[]|undefined; /** * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * The name of the referenced questionnaire can be conveyed using the http://hl7.org/fhir/StructureDefinition/display extension. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different questionnaire instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the questionnaire with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the Questionnaire.status field @@ -23679,61 +23679,61 @@ export interface QuestionnaireResponseItemAnswer extends BackboneElement { /** * Nested groups and/or questions found within this particular answer. */ - item?: QuestionnaireResponseItem[]; + item?: QuestionnaireResponseItem[]|undefined; /** * More complex structures (Attachment, Resource and Quantity) will typically be limited to electronic forms that can expose an appropriate user interface to capture the components and enforce the constraints of a complex data type. Additional complex types can be introduced through extensions. Must match the datatype specified by Questionnaire.item.type in the corresponding Questionnaire. */ - valueBoolean?: boolean; - _valueBoolean?: Element; + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; /** * More complex structures (Attachment, Resource and Quantity) will typically be limited to electronic forms that can expose an appropriate user interface to capture the components and enforce the constraints of a complex data type. Additional complex types can be introduced through extensions. Must match the datatype specified by Questionnaire.item.type in the corresponding Questionnaire. */ - valueDecimal?: number; + valueDecimal?: number|undefined; /** * More complex structures (Attachment, Resource and Quantity) will typically be limited to electronic forms that can expose an appropriate user interface to capture the components and enforce the constraints of a complex data type. Additional complex types can be introduced through extensions. Must match the datatype specified by Questionnaire.item.type in the corresponding Questionnaire. */ - valueInteger?: number; + valueInteger?: number|undefined; /** * More complex structures (Attachment, Resource and Quantity) will typically be limited to electronic forms that can expose an appropriate user interface to capture the components and enforce the constraints of a complex data type. Additional complex types can be introduced through extensions. Must match the datatype specified by Questionnaire.item.type in the corresponding Questionnaire. */ - valueDate?: string; - _valueDate?: Element; + valueDate?: string|undefined; + _valueDate?: Element|undefined; /** * More complex structures (Attachment, Resource and Quantity) will typically be limited to electronic forms that can expose an appropriate user interface to capture the components and enforce the constraints of a complex data type. Additional complex types can be introduced through extensions. Must match the datatype specified by Questionnaire.item.type in the corresponding Questionnaire. */ - valueDateTime?: string; - _valueDateTime?: Element; + valueDateTime?: string|undefined; + _valueDateTime?: Element|undefined; /** * More complex structures (Attachment, Resource and Quantity) will typically be limited to electronic forms that can expose an appropriate user interface to capture the components and enforce the constraints of a complex data type. Additional complex types can be introduced through extensions. Must match the datatype specified by Questionnaire.item.type in the corresponding Questionnaire. */ - valueTime?: string; - _valueTime?: Element; + valueTime?: string|undefined; + _valueTime?: Element|undefined; /** * More complex structures (Attachment, Resource and Quantity) will typically be limited to electronic forms that can expose an appropriate user interface to capture the components and enforce the constraints of a complex data type. Additional complex types can be introduced through extensions. Must match the datatype specified by Questionnaire.item.type in the corresponding Questionnaire. */ - valueString?: string; - _valueString?: Element; + valueString?: string|undefined; + _valueString?: Element|undefined; /** * More complex structures (Attachment, Resource and Quantity) will typically be limited to electronic forms that can expose an appropriate user interface to capture the components and enforce the constraints of a complex data type. Additional complex types can be introduced through extensions. Must match the datatype specified by Questionnaire.item.type in the corresponding Questionnaire. */ - valueUri?: string; - _valueUri?: Element; + valueUri?: string|undefined; + _valueUri?: Element|undefined; /** * More complex structures (Attachment, Resource and Quantity) will typically be limited to electronic forms that can expose an appropriate user interface to capture the components and enforce the constraints of a complex data type. Additional complex types can be introduced through extensions. Must match the datatype specified by Questionnaire.item.type in the corresponding Questionnaire. */ - valueAttachment?: Attachment; + valueAttachment?: Attachment|undefined; /** * More complex structures (Attachment, Resource and Quantity) will typically be limited to electronic forms that can expose an appropriate user interface to capture the components and enforce the constraints of a complex data type. Additional complex types can be introduced through extensions. Must match the datatype specified by Questionnaire.item.type in the corresponding Questionnaire. */ - valueCoding?: Coding; + valueCoding?: Coding|undefined; /** * More complex structures (Attachment, Resource and Quantity) will typically be limited to electronic forms that can expose an appropriate user interface to capture the components and enforce the constraints of a complex data type. Additional complex types can be introduced through extensions. Must match the datatype specified by Questionnaire.item.type in the corresponding Questionnaire. */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; /** * More complex structures (Attachment, Resource and Quantity) will typically be limited to electronic forms that can expose an appropriate user interface to capture the components and enforce the constraints of a complex data type. Additional complex types can be introduced through extensions. Must match the datatype specified by Questionnaire.item.type in the corresponding Questionnaire. */ - valueReference?: Reference; + valueReference?: Reference|undefined; } /** * Groups cannot have answers and therefore must nest directly within item. When dealing with questions, nesting must occur within each answer because some questions may have multiple answers (and the nesting occurs for each answer). @@ -23742,27 +23742,27 @@ export interface QuestionnaireResponseItem extends BackboneElement { /** * The value is nested because we cannot have a repeating structure that has variable type. */ - answer?: QuestionnaireResponseItemAnswer[]; + answer?: QuestionnaireResponseItemAnswer[]|undefined; /** * The ElementDefinition must be in a [StructureDefinition](structuredefinition.html#), and must have a fragment identifier that identifies the specific data element by its id (Element.id). E.g. http://hl7.org/fhir/StructureDefinition/Observation#Observation.value[x]. * There is no need for this element if the item pointed to by the linkId has a definition listed. */ - definition?: string; - _definition?: Element; + definition?: string|undefined; + _definition?: Element|undefined; /** * Questions or sub-groups nested beneath a question or group. */ - item?: QuestionnaireResponseItem[]; + item?: QuestionnaireResponseItem[]|undefined; /** * The item from the Questionnaire that corresponds to this item in the QuestionnaireResponse resource. */ linkId: string; - _linkId?: Element; + _linkId?: Element|undefined; /** * Text that is displayed above the contents of the group or as the text of the question being answered. */ - text?: string; - _text?: Element; + text?: string|undefined; + _text?: Element|undefined; } /** * A structured set of questions and their answers. The questions are ordered and grouped into coherent subsets, corresponding to the structure of the grouping of the questionnaire being responded to. @@ -23773,51 +23773,51 @@ export interface QuestionnaireResponse extends DomainResource { /** * Mapping a subject's answers to multiple choice options and determining what to put in the textual answer is a matter of interpretation. Authoring by device would indicate that some portion of the questionnaire had been auto-populated. */ - author?: Reference; + author?: Reference|undefined; /** * May be different from the lastUpdateTime of the resource itself, because that reflects when the data was known to the server, not when the data was captured. * This element is optional to allow for systems that might not know the value, however it SHOULD be populated if possible. */ - authored?: string; - _authored?: Element; + authored?: string|undefined; + _authored?: Element|undefined; /** * The order, proposal or plan that is fulfilled in whole or in part by this QuestionnaireResponse. For example, a ServiceRequest seeking an intake assessment or a decision support recommendation to assess for post-partum depression. */ - basedOn?: Reference[]; + basedOn?: Reference[]|undefined; /** * This will typically be the encounter the event occurred within, but some activities may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter. A questionnaire that was initiated during an encounter but not fully completed during the encounter would still generally be associated with the encounter. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * A business identifier assigned to a particular completed (or partially completed) questionnaire. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * Groups cannot have answers and therefore must nest directly within item. When dealing with questions, nesting must occur within each answer because some questions may have multiple answers (and the nesting occurs for each answer). */ - item?: QuestionnaireResponseItem[]; + item?: QuestionnaireResponseItem[]|undefined; /** * Composition of questionnaire responses will be handled by the parent questionnaire having answers that reference the child questionnaire. For relationships to referrals, and other types of requests, use basedOn. */ - partOf?: Reference[]; + partOf?: Reference[]|undefined; /** * If a QuestionnaireResponse references a Questionnaire, then the QuestionnaireResponse structure must be consistent with the Questionnaire (i.e. questions must be organized into the same groups, nested questions must still be nested, etc.). */ - questionnaire?: string; - _questionnaire?: Element; + questionnaire?: string|undefined; + _questionnaire?: Element|undefined; /** * If not specified, no inference can be made about who provided the data. */ - source?: Reference; + source?: Reference|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: QuestionnaireResponseStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * If the Questionnaire declared a subjectType, the resource pointed to by this element must be an instance of one of the listed types. */ - subject?: Reference; + subject?: Reference|undefined; } /** * Code Values for the QuestionnaireResponse.status field @@ -23840,8 +23840,8 @@ export interface RelatedPersonCommunication extends BackboneElement { /** * This language is specifically identified for communicating healthcare information. */ - preferred?: boolean; - _preferred?: Element; + preferred?: boolean|undefined; + _preferred?: Element|undefined; } /** * Information about a person that is involved in the care for a patient, but who is not the target of healthcare, nor has a formal responsibility in the care process. @@ -23852,34 +23852,34 @@ export interface RelatedPerson extends DomainResource { /** * This element is labeled as a modifier because it may be used to mark that the resource was created in error. */ - active?: boolean; - _active?: Element; + active?: boolean|undefined; + _active?: Element|undefined; /** * Address where the related person can be contacted or visited. */ - address?: Address[]; + address?: Address[]|undefined; /** * The date on which the related person was born. */ - birthDate?: string; - _birthDate?: Element; + birthDate?: string|undefined; + _birthDate?: Element|undefined; /** * If no language is specified, this *implies* that the default local language is spoken. If you need to convey proficiency for multiple modes, then you need multiple RelatedPerson.Communication associations. If the RelatedPerson does not speak the default local language, then the Interpreter Required Standard can be used to explicitly declare that an interpreter is required. */ - communication?: RelatedPersonCommunication[]; + communication?: RelatedPersonCommunication[]|undefined; /** * Administrative Gender - the gender that the person is considered to have for administration and record keeping purposes. */ - gender?: RelatedPersonGenderCodes; - _gender?: Element; + gender?: RelatedPersonGenderCodes|undefined; + _gender?: Element|undefined; /** * Identifier for a person within a particular scope. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * A name associated with the person. */ - name?: HumanName[]; + name?: HumanName[]|undefined; /** * The patient this person is related to. */ @@ -23887,19 +23887,19 @@ export interface RelatedPerson extends DomainResource { /** * The period of time during which this relationship is or was active. If there are no dates defined, then the interval is unknown. */ - period?: Period; + period?: Period|undefined; /** * Image of the person. */ - photo?: Attachment[]; + photo?: Attachment[]|undefined; /** * The nature of the relationship between a patient and the related person. */ - relationship?: CodeableConcept[]; + relationship?: CodeableConcept[]|undefined; /** * Person may have multiple ways to be contacted with different uses or applicable periods. May need to have options for contacting the person urgently, and also to help with identification. */ - telecom?: ContactPoint[]; + telecom?: ContactPoint[]|undefined; } /** * Code Values for the RelatedPerson.gender field @@ -23917,12 +23917,12 @@ export interface RequestGroupActionCondition extends BackboneElement { /** * The expression may be inlined, or may be a reference to a named expression within a logic library referenced by the library element. */ - expression?: Expression; + expression?: Expression|undefined; /** * Applicability criteria are used to determine immediate applicability when a plan definition is applied to a given context. Start and stop criteria are carried through application and used to describe enter/exit criteria for an action. */ kind: RequestGroupActionConditionKindCodes; - _kind?: Element; + _kind?: Element|undefined; } /** * Code Values for the RequestGroup.action.condition.kind field @@ -23940,20 +23940,20 @@ export interface RequestGroupActionRelatedAction extends BackboneElement { * The element id of the action this is related to. */ actionId: string; - _actionId?: Element; + _actionId?: Element|undefined; /** * A duration or range of durations to apply to the relationship. For example, 30-60 minutes before. */ - offsetDuration?: Duration; + offsetDuration?: Duration|undefined; /** * A duration or range of durations to apply to the relationship. For example, 30-60 minutes before. */ - offsetRange?: Range; + offsetRange?: Range|undefined; /** * The relationship of this action to the related action. */ relationship: RequestGroupActionRelatedActionRelationshipCodes; - _relationship?: Element; + _relationship?: Element|undefined; } /** * Code Values for the RequestGroup.action.relatedAction.relationship field @@ -23976,110 +23976,110 @@ export interface RequestGroupAction extends BackboneElement { /** * Sub actions. */ - action?: RequestGroupAction[]; + action?: RequestGroupAction[]|undefined; /** * Defines whether the action can be selected multiple times. */ - cardinalityBehavior?: RequestGroupActionCardinalityBehaviorCodes; - _cardinalityBehavior?: Element; + cardinalityBehavior?: RequestGroupActionCardinalityBehaviorCodes|undefined; + _cardinalityBehavior?: Element|undefined; /** * A code that provides meaning for the action or action group. For example, a section may have a LOINC code for a section of a documentation template. */ - code?: CodeableConcept[]; + code?: CodeableConcept[]|undefined; /** * When multiple conditions of the same kind are present, the effects are combined using AND semantics, so the overall condition is true only if all of the conditions are true. */ - condition?: RequestGroupActionCondition[]; + condition?: RequestGroupActionCondition[]|undefined; /** * A short description of the action used to provide a summary to display to the user. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Didactic or other informational resources associated with the action that can be provided to the CDS recipient. Information resources can include inline text commentary and links to web resources. */ - documentation?: RelatedArtifact[]; + documentation?: RelatedArtifact[]|undefined; /** * Defines the grouping behavior for the action and its children. */ - groupingBehavior?: RequestGroupActionGroupingBehaviorCodes; - _groupingBehavior?: Element; + groupingBehavior?: RequestGroupActionGroupingBehaviorCodes|undefined; + _groupingBehavior?: Element|undefined; /** * The participant that should perform or be responsible for this action. */ - participant?: Reference[]; + participant?: Reference[]|undefined; /** * Defines whether the action should usually be preselected. */ - precheckBehavior?: RequestGroupActionPrecheckBehaviorCodes; - _precheckBehavior?: Element; + precheckBehavior?: RequestGroupActionPrecheckBehaviorCodes|undefined; + _precheckBehavior?: Element|undefined; /** * A user-visible prefix for the action. */ - prefix?: string; - _prefix?: Element; + prefix?: string|undefined; + _prefix?: Element|undefined; /** * Indicates how quickly the action should be addressed with respect to other actions. */ - priority?: RequestGroupActionPriorityCodes; - _priority?: Element; + priority?: RequestGroupActionPriorityCodes|undefined; + _priority?: Element|undefined; /** * A relationship to another action such as "before" or "30-60 minutes after start of". */ - relatedAction?: RequestGroupActionRelatedAction[]; + relatedAction?: RequestGroupActionRelatedAction[]|undefined; /** * Defines expectations around whether an action is required. */ - requiredBehavior?: RequestGroupActionRequiredBehaviorCodes; - _requiredBehavior?: Element; + requiredBehavior?: RequestGroupActionRequiredBehaviorCodes|undefined; + _requiredBehavior?: Element|undefined; /** * The target resource SHALL be a [Request](request.html) resource with a Request.intent set to "option". */ - resource?: Reference; + resource?: Reference|undefined; /** * Defines the selection behavior for the action and its children. */ - selectionBehavior?: RequestGroupActionSelectionBehaviorCodes; - _selectionBehavior?: Element; + selectionBehavior?: RequestGroupActionSelectionBehaviorCodes|undefined; + _selectionBehavior?: Element|undefined; /** * A text equivalent of the action to be performed. This provides a human-interpretable description of the action when the definition is consumed by a system that might not be capable of interpreting it dynamically. */ - textEquivalent?: string; - _textEquivalent?: Element; + textEquivalent?: string|undefined; + _textEquivalent?: Element|undefined; /** * An optional value describing when the action should be performed. */ - timingDateTime?: string; - _timingDateTime?: Element; + timingDateTime?: string|undefined; + _timingDateTime?: Element|undefined; /** * An optional value describing when the action should be performed. */ - timingAge?: Age; + timingAge?: Age|undefined; /** * An optional value describing when the action should be performed. */ - timingPeriod?: Period; + timingPeriod?: Period|undefined; /** * An optional value describing when the action should be performed. */ - timingDuration?: Duration; + timingDuration?: Duration|undefined; /** * An optional value describing when the action should be performed. */ - timingRange?: Range; + timingRange?: Range|undefined; /** * An optional value describing when the action should be performed. */ - timingTiming?: Timing; + timingTiming?: Timing|undefined; /** * The title of the action displayed to a user. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * The type of action to perform (create, update, remove). */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Code Values for the RequestGroup.action.cardinalityBehavior field @@ -24140,81 +24140,81 @@ export interface RequestGroup extends DomainResource { /** * The actions, if any, produced by the evaluation of the artifact. */ - action?: RequestGroupAction[]; + action?: RequestGroupAction[]|undefined; /** * Provides a reference to the author of the request group. */ - author?: Reference; + author?: Reference|undefined; /** * Indicates when the request group was created. */ - authoredOn?: string; - _authoredOn?: Element; + authoredOn?: string|undefined; + _authoredOn?: Element|undefined; /** * A plan, proposal or order that is fulfilled in whole or in part by this request. */ - basedOn?: Reference[]; + basedOn?: Reference[]|undefined; /** * This element can be used to provide a code that captures the meaning of the request group as a whole, as opposed to the code of the action element, which captures the meaning of the individual actions within the request group. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * Describes the context of the request group, if any. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * Requests are linked either by a "basedOn" relationship (i.e. one request is fulfilling another) or by having a common requisition. Requests that are part of the same requisition are generally treated independently from the perspective of changing their state or maintaining them after initial creation. */ - groupIdentifier?: Identifier; + groupIdentifier?: Identifier|undefined; /** * Allows a service to provide a unique, business identifier for the request. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * A canonical URL referencing a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this request. */ - instantiatesCanonical?: string[]; - _instantiatesCanonical?: Element[]; + instantiatesCanonical?: string[]|undefined; + _instantiatesCanonical?: Element[]|undefined; /** * A URL referencing an externally defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this request. */ - instantiatesUri?: string[]; - _instantiatesUri?: Element[]; + instantiatesUri?: string[]|undefined; + _instantiatesUri?: Element[]|undefined; /** * Indicates the level of authority/intentionality associated with the request and where the request fits into the workflow chain. */ intent: RequestGroupIntentCodes; - _intent?: Element; + _intent?: Element|undefined; /** * Provides a mechanism to communicate additional information about the response. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * Indicates how quickly the request should be addressed with respect to other requests. */ - priority?: RequestGroupPriorityCodes; - _priority?: Element; + priority?: RequestGroupPriorityCodes|undefined; + _priority?: Element|undefined; /** * Describes the reason for the request group in coded or textual form. */ - reasonCode?: CodeableConcept[]; + reasonCode?: CodeableConcept[]|undefined; /** * Indicates another resource whose existence justifies this request group. */ - reasonReference?: Reference[]; + reasonReference?: Reference[]|undefined; /** * The replacement could be because the initial request was immediately rejected (due to an issue) or because the previous request was completed, but the need for the action described by the request remains ongoing. */ - replaces?: Reference[]; + replaces?: Reference[]|undefined; /** * The current state of the request. For request groups, the status reflects the status of all the requests in the group. */ status: RequestGroupStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * The subject for which the request group was created. */ - subject?: Reference; + subject?: Reference|undefined; } /** * Code Values for the RequestGroup.intent field @@ -24260,88 +24260,88 @@ export interface ResearchDefinition extends DomainResource { /** * The 'date' element may be more recent than the approval date because of minor changes or editorial corrections. */ - approvalDate?: string; - _approvalDate?: Element; + approvalDate?: string|undefined; + _approvalDate?: Element|undefined; /** * An individiual or organization primarily involved in the creation and maintenance of the content. */ - author?: ContactDetail[]; + author?: ContactDetail[]|undefined; /** * A human-readable string to clarify or explain concepts about the resource. */ - comment?: string[]; - _comment?: Element[]; + comment?: string[]|undefined; + _comment?: Element[]|undefined; /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * A copyright statement relating to the research definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the research definition. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the research definition. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * This description can be used to capture details such as why the research definition was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the research definition as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the research definition is presumed to be the predominant language in the place the research definition was created). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * An individual or organization primarily responsible for internal coherence of the content. */ - editor?: ContactDetail[]; + editor?: ContactDetail[]|undefined; /** * The effective period for a research definition determines when the content is applicable for usage and is independent of publication and review dates. For example, a measure intended to be used for the year 2016 might be published in 2015. */ - effectivePeriod?: Period; + effectivePeriod?: Period|undefined; /** * An individual or organization responsible for officially endorsing the content for use in some setting. */ - endorser?: ContactDetail[]; + endorser?: ContactDetail[]|undefined; /** * Allows filtering of research definitions that are appropriate for use versus not. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * A reference to a ResearchElementDefinition resource that defines the exposure for the research. */ - exposure?: Reference; + exposure?: Reference|undefined; /** * A reference to a ResearchElementDefinition resource that defines the exposureAlternative for the research. */ - exposureAlternative?: Reference; + exposureAlternative?: Reference|undefined; /** * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this research definition outside of FHIR, where it is not possible to use the logical URI. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * It may be possible for the research definition to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * If specified, this date follows the original approval date. */ - lastReviewDate?: string; - _lastReviewDate?: Element; + lastReviewDate?: string|undefined; + _lastReviewDate?: Element|undefined; /** * A reference to a Library resource containing the formal logic used by the ResearchDefinition. */ - library?: string[]; - _library?: Element[]; + library?: string[]|undefined; + _library?: Element[]|undefined; /** * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * A reference to a ResearchElementDefinition resomece that defines the outcome for the research. */ - outcome?: Reference; + outcome?: Reference|undefined; /** * A reference to a ResearchElementDefinition resource that defines the population for the research. */ @@ -24349,74 +24349,74 @@ export interface ResearchDefinition extends DomainResource { /** * Usually an organization but may be an individual. The publisher (or steward) of the research definition is the organization or individual primarily responsible for the maintenance and upkeep of the research definition. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the research definition. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * This element does not describe the usage of the research definition. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this research definition. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * Each related artifact is either an attachment, or a reference to another resource, but not both. */ - relatedArtifact?: RelatedArtifact[]; + relatedArtifact?: RelatedArtifact[]|undefined; /** * An individual or organization primarily responsible for review of some aspect of the content. */ - reviewer?: ContactDetail[]; + reviewer?: ContactDetail[]|undefined; /** * The short title provides an alternate title for use in informal descriptive contexts where the full, formal title is not necessary. */ - shortTitle?: string; - _shortTitle?: Element; + shortTitle?: string|undefined; + _shortTitle?: Element|undefined; /** * Allows filtering of research definitions that are appropriate for use versus not. */ status: ResearchDefinitionStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * The subject of the ResearchDefinition is critical in interpreting the criteria definitions, as the logic in the ResearchDefinitions is evaluated with respect to a particular subject. This corresponds roughly to the notion of a Compartment in that it limits what content is available based on its relationship to the subject. In CQL, this corresponds to the context declaration. */ - subjectCodeableConcept?: CodeableConcept; + subjectCodeableConcept?: CodeableConcept|undefined; /** * The subject of the ResearchDefinition is critical in interpreting the criteria definitions, as the logic in the ResearchDefinitions is evaluated with respect to a particular subject. This corresponds roughly to the notion of a Compartment in that it limits what content is available based on its relationship to the subject. In CQL, this corresponds to the context declaration. */ - subjectReference?: Reference; + subjectReference?: Reference|undefined; /** * An explanatory or alternate title for the ResearchDefinition giving additional information about its content. */ - subtitle?: string; - _subtitle?: Element; + subtitle?: string|undefined; + _subtitle?: Element|undefined; /** * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Descriptive topics related to the content of the ResearchDefinition. Topics provide a high-level categorization grouping types of ResearchDefinitions that can be useful for filtering and searching. */ - topic?: CodeableConcept[]; + topic?: CodeableConcept[]|undefined; /** * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * A detailed description, from a clinical perspective, of how the ResearchDefinition is used. */ - usage?: string; - _usage?: Element; + usage?: string|undefined; + _usage?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different research definition instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the research definition with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the ResearchDefinition.status field @@ -24434,95 +24434,95 @@ export interface ResearchElementDefinitionCharacteristic extends BackboneElement /** * Define members of the research element using Codes (such as condition, medication, or observation), Expressions ( using an expression language such as FHIRPath or CQL) or DataRequirements (such as Diabetes diagnosis onset in the last year). */ - definitionCodeableConcept?: CodeableConcept; + definitionCodeableConcept?: CodeableConcept|undefined; /** * Define members of the research element using Codes (such as condition, medication, or observation), Expressions ( using an expression language such as FHIRPath or CQL) or DataRequirements (such as Diabetes diagnosis onset in the last year). */ - definitionCanonical?: string; - _definitionCanonical?: Element; + definitionCanonical?: string|undefined; + _definitionCanonical?: Element|undefined; /** * Define members of the research element using Codes (such as condition, medication, or observation), Expressions ( using an expression language such as FHIRPath or CQL) or DataRequirements (such as Diabetes diagnosis onset in the last year). */ - definitionExpression?: Expression; + definitionExpression?: Expression|undefined; /** * Define members of the research element using Codes (such as condition, medication, or observation), Expressions ( using an expression language such as FHIRPath or CQL) or DataRequirements (such as Diabetes diagnosis onset in the last year). */ - definitionDataRequirement?: DataRequirement; + definitionDataRequirement?: DataRequirement|undefined; /** * When true, members with this characteristic are excluded from the element. */ - exclude?: boolean; - _exclude?: Element; + exclude?: boolean|undefined; + _exclude?: Element|undefined; /** * Indicates what effective period the study covers. */ - participantEffectiveDateTime?: string; - _participantEffectiveDateTime?: Element; + participantEffectiveDateTime?: string|undefined; + _participantEffectiveDateTime?: Element|undefined; /** * Indicates what effective period the study covers. */ - participantEffectivePeriod?: Period; + participantEffectivePeriod?: Period|undefined; /** * Indicates what effective period the study covers. */ - participantEffectiveDuration?: Duration; + participantEffectiveDuration?: Duration|undefined; /** * Indicates what effective period the study covers. */ - participantEffectiveTiming?: Timing; + participantEffectiveTiming?: Timing|undefined; /** * A narrative description of the time period the study covers. */ - participantEffectiveDescription?: string; - _participantEffectiveDescription?: Element; + participantEffectiveDescription?: string|undefined; + _participantEffectiveDescription?: Element|undefined; /** * Indicates how elements are aggregated within the study effective period. */ - participantEffectiveGroupMeasure?: ResearchElementDefinitionCharacteristicParticipantEffectiveGroupMeasureCodes; - _participantEffectiveGroupMeasure?: Element; + participantEffectiveGroupMeasure?: ResearchElementDefinitionCharacteristicParticipantEffectiveGroupMeasureCodes|undefined; + _participantEffectiveGroupMeasure?: Element|undefined; /** * Indicates duration from the participant's study entry. */ - participantEffectiveTimeFromStart?: Duration; + participantEffectiveTimeFromStart?: Duration|undefined; /** * Indicates what effective period the study covers. */ - studyEffectiveDateTime?: string; - _studyEffectiveDateTime?: Element; + studyEffectiveDateTime?: string|undefined; + _studyEffectiveDateTime?: Element|undefined; /** * Indicates what effective period the study covers. */ - studyEffectivePeriod?: Period; + studyEffectivePeriod?: Period|undefined; /** * Indicates what effective period the study covers. */ - studyEffectiveDuration?: Duration; + studyEffectiveDuration?: Duration|undefined; /** * Indicates what effective period the study covers. */ - studyEffectiveTiming?: Timing; + studyEffectiveTiming?: Timing|undefined; /** * A narrative description of the time period the study covers. */ - studyEffectiveDescription?: string; - _studyEffectiveDescription?: Element; + studyEffectiveDescription?: string|undefined; + _studyEffectiveDescription?: Element|undefined; /** * Indicates how elements are aggregated within the study effective period. */ - studyEffectiveGroupMeasure?: ResearchElementDefinitionCharacteristicStudyEffectiveGroupMeasureCodes; - _studyEffectiveGroupMeasure?: Element; + studyEffectiveGroupMeasure?: ResearchElementDefinitionCharacteristicStudyEffectiveGroupMeasureCodes|undefined; + _studyEffectiveGroupMeasure?: Element|undefined; /** * Indicates duration from the study initiation. */ - studyEffectiveTimeFromStart?: Duration; + studyEffectiveTimeFromStart?: Duration|undefined; /** * Specifies the UCUM unit for the outcome. */ - unitOfMeasure?: CodeableConcept; + unitOfMeasure?: CodeableConcept|undefined; /** * Use UsageContext to define the members of the population, such as Age Ranges, Genders, Settings. */ - usageContext?: UsageContext[]; + usageContext?: UsageContext[]|undefined; } /** * Code Values for the ResearchElementDefinition.characteristic.participantEffectiveGroupMeasure field @@ -24555,12 +24555,12 @@ export interface ResearchElementDefinition extends DomainResource { /** * The 'date' element may be more recent than the approval date because of minor changes or editorial corrections. */ - approvalDate?: string; - _approvalDate?: Element; + approvalDate?: string|undefined; + _approvalDate?: Element|undefined; /** * An individiual or organization primarily involved in the creation and maintenance of the content. */ - author?: ContactDetail[]; + author?: ContactDetail[]|undefined; /** * Characteristics can be defined flexibly to accommodate different use cases for membership criteria, ranging from simple codes, all the way to using an expression language to express the criteria. */ @@ -24568,148 +24568,148 @@ export interface ResearchElementDefinition extends DomainResource { /** * A human-readable string to clarify or explain concepts about the resource. */ - comment?: string[]; - _comment?: Element[]; + comment?: string[]|undefined; + _comment?: Element[]|undefined; /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * A copyright statement relating to the research element definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the research element definition. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the research element definition. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * This description can be used to capture details such as why the research element definition was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the research element definition as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the research element definition is presumed to be the predominant language in the place the research element definition was created). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * An individual or organization primarily responsible for internal coherence of the content. */ - editor?: ContactDetail[]; + editor?: ContactDetail[]|undefined; /** * The effective period for a research element definition determines when the content is applicable for usage and is independent of publication and review dates. For example, a measure intended to be used for the year 2016 might be published in 2015. */ - effectivePeriod?: Period; + effectivePeriod?: Period|undefined; /** * An individual or organization responsible for officially endorsing the content for use in some setting. */ - endorser?: ContactDetail[]; + endorser?: ContactDetail[]|undefined; /** * Allows filtering of research element definitions that are appropriate for use versus not. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this research element definition outside of FHIR, where it is not possible to use the logical URI. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * It may be possible for the research element definition to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * If specified, this date follows the original approval date. */ - lastReviewDate?: string; - _lastReviewDate?: Element; + lastReviewDate?: string|undefined; + _lastReviewDate?: Element|undefined; /** * A reference to a Library resource containing the formal logic used by the ResearchElementDefinition. */ - library?: string[]; - _library?: Element[]; + library?: string[]|undefined; + _library?: Element[]|undefined; /** * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Usually an organization but may be an individual. The publisher (or steward) of the research element definition is the organization or individual primarily responsible for the maintenance and upkeep of the research element definition. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the research element definition. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * This element does not describe the usage of the research element definition. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this research element definition. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * Each related artifact is either an attachment, or a reference to another resource, but not both. */ - relatedArtifact?: RelatedArtifact[]; + relatedArtifact?: RelatedArtifact[]|undefined; /** * An individual or organization primarily responsible for review of some aspect of the content. */ - reviewer?: ContactDetail[]; + reviewer?: ContactDetail[]|undefined; /** * The short title provides an alternate title for use in informal descriptive contexts where the full, formal title is not necessary. */ - shortTitle?: string; - _shortTitle?: Element; + shortTitle?: string|undefined; + _shortTitle?: Element|undefined; /** * Allows filtering of research element definitions that are appropriate for use versus not. */ status: ResearchElementDefinitionStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * The subject of the ResearchElementDefinition is critical in interpreting the criteria definitions, as the logic in the ResearchElementDefinitions is evaluated with respect to a particular subject. This corresponds roughly to the notion of a Compartment in that it limits what content is available based on its relationship to the subject. In CQL, this corresponds to the context declaration. */ - subjectCodeableConcept?: CodeableConcept; + subjectCodeableConcept?: CodeableConcept|undefined; /** * The subject of the ResearchElementDefinition is critical in interpreting the criteria definitions, as the logic in the ResearchElementDefinitions is evaluated with respect to a particular subject. This corresponds roughly to the notion of a Compartment in that it limits what content is available based on its relationship to the subject. In CQL, this corresponds to the context declaration. */ - subjectReference?: Reference; + subjectReference?: Reference|undefined; /** * An explanatory or alternate title for the ResearchElementDefinition giving additional information about its content. */ - subtitle?: string; - _subtitle?: Element; + subtitle?: string|undefined; + _subtitle?: Element|undefined; /** * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Descriptive topics related to the content of the ResearchElementDefinition. Topics provide a high-level categorization grouping types of ResearchElementDefinitions that can be useful for filtering and searching. */ - topic?: CodeableConcept[]; + topic?: CodeableConcept[]|undefined; /** * The type of research element, a population, an exposure, or an outcome. */ type: ResearchElementDefinitionTypeCodes; - _type?: Element; + _type?: Element|undefined; /** * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * A detailed description, from a clinical perspective, of how the ResearchElementDefinition is used. */ - usage?: string; - _usage?: Element; + usage?: string|undefined; + _usage?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * The type of the outcome (e.g. Dichotomous, Continuous, or Descriptive). */ - variableType?: ResearchElementDefinitionVariableTypeCodes; - _variableType?: Element; + variableType?: ResearchElementDefinitionVariableTypeCodes|undefined; + _variableType?: Element|undefined; /** * There may be different research element definition instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the research element definition with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the ResearchElementDefinition.status field @@ -24743,17 +24743,17 @@ export interface ResearchStudyArm extends BackboneElement { /** * A succinct description of the path through the study that would be followed by a subject adhering to this arm. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Unique, human-readable label for this arm of the study. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * Categorization of study arm, e.g. experimental, active comparator, placebo comparater. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * A goal that the study is aiming to achieve in terms of a scientific question to be answered by the analysis of data collected during the study. @@ -24762,12 +24762,12 @@ export interface ResearchStudyObjective extends BackboneElement { /** * Unique, human-readable label for this objective of the study. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * The kind of study objective. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * A process where a researcher or organization plans and then executes a series of steps intended to increase the field of healthcare-related knowledge. This includes studies of safety, efficacy, comparative effectiveness and other information about medications, devices, therapies and other interventional and investigative techniques. A ResearchStudy involves the gathering of information about human or animal subjects. @@ -24778,102 +24778,102 @@ export interface ResearchStudy extends DomainResource { /** * Describes an expected sequence of events for one of the participants of a study. E.g. Exposure to drug A, wash-out, exposure to drug B, wash-out, follow-up. */ - arm?: ResearchStudyArm[]; + arm?: ResearchStudyArm[]|undefined; /** * Codes categorizing the type of study such as investigational vs. observational, type of blinding, type of randomization, safety vs. efficacy, etc. */ - category?: CodeableConcept[]; + category?: CodeableConcept[]|undefined; /** * The condition that is the focus of the study. For example, In a study to examine risk factors for Lupus, might have as an inclusion criterion "healthy volunteer", but the target condition code would be a Lupus SNOMED code. */ - condition?: CodeableConcept[]; + condition?: CodeableConcept[]|undefined; /** * Contact details to assist a user in learning more about or engaging with the study. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * A full description of how the study is being conducted. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * The Group referenced should not generally enumerate specific subjects. Subjects will be linked to the study using the ResearchSubject resource. */ - enrollment?: Reference[]; + enrollment?: Reference[]|undefined; /** * The medication(s), food(s), therapy(ies), device(s) or other concerns or interventions that the study is seeking to gain more information about. */ - focus?: CodeableConcept[]; + focus?: CodeableConcept[]|undefined; /** * Identifiers assigned to this research study by the sponsor or other systems. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Key terms to aid in searching for or filtering the study. */ - keyword?: CodeableConcept[]; + keyword?: CodeableConcept[]|undefined; /** * Indicates a country, state or other region where the study is taking place. */ - location?: CodeableConcept[]; + location?: CodeableConcept[]|undefined; /** * Comments made about the study by the performer, subject or other participants. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * A goal that the study is aiming to achieve in terms of a scientific question to be answered by the analysis of data collected during the study. */ - objective?: ResearchStudyObjective[]; + objective?: ResearchStudyObjective[]|undefined; /** * A larger research study of which this particular study is a component or step. */ - partOf?: Reference[]; + partOf?: Reference[]|undefined; /** * Identifies the start date and the expected (or actual, depending on status) end date for the study. */ - period?: Period; + period?: Period|undefined; /** * The stage in the progression of a therapy from initial experimental use in humans in clinical trials to post-market evaluation. */ - phase?: CodeableConcept; + phase?: CodeableConcept|undefined; /** * The type of study based upon the intent of the study's activities. A classification of the intent of the study. */ - primaryPurposeType?: CodeableConcept; + primaryPurposeType?: CodeableConcept|undefined; /** * A researcher in a study who oversees multiple aspects of the study, such as concept development, protocol writing, protocol submission for IRB approval, participant recruitment, informed consent, data collection, analysis, interpretation and presentation. */ - principalInvestigator?: Reference; + principalInvestigator?: Reference|undefined; /** * The set of steps expected to be performed as part of the execution of the study. */ - protocol?: Reference[]; + protocol?: Reference[]|undefined; /** * A description and/or code explaining the premature termination of the study. */ - reasonStopped?: CodeableConcept; + reasonStopped?: CodeableConcept|undefined; /** * Citations, references and other related documents. */ - relatedArtifact?: RelatedArtifact[]; + relatedArtifact?: RelatedArtifact[]|undefined; /** * A facility in which study activities are conducted. */ - site?: Reference[]; + site?: Reference[]|undefined; /** * An organization that initiates the investigation and is legally responsible for the study. */ - sponsor?: Reference; + sponsor?: Reference|undefined; /** * The current state of the study. */ status: ResearchStudyStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * A short, descriptive user-friendly label for the study. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; } /** * Code Values for the ResearchStudy.status field @@ -24900,21 +24900,21 @@ export interface ResearchSubject extends DomainResource { /** * The name of the arm in the study the subject actually followed as part of this study. */ - actualArm?: string; - _actualArm?: Element; + actualArm?: string|undefined; + _actualArm?: Element|undefined; /** * The name of the arm in the study the subject is expected to follow as part of this study. */ - assignedArm?: string; - _assignedArm?: Element; + assignedArm?: string|undefined; + _assignedArm?: Element|undefined; /** * A record of the patient's informed agreement to participate in the study. */ - consent?: Reference; + consent?: Reference|undefined; /** * Identifiers assigned to this research subject for a study. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The record of the person or animal who is involved in the study. */ @@ -24922,12 +24922,12 @@ export interface ResearchSubject extends DomainResource { /** * The dates the subject began and ended their participation in the study. */ - period?: Period; + period?: Period|undefined; /** * The current state of the subject. */ status: ResearchSubjectStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Reference to the study the subject is participating in. */ @@ -24960,22 +24960,22 @@ export interface Resource { /** * The only time that a resource does not have an id is when it is being submitted to the server using a create operation. */ - id?: string; - _id?: Element; + id?: string|undefined; + _id?: Element|undefined; /** * Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc. */ - implicitRules?: string; - _implicitRules?: Element; + implicitRules?: string|undefined; + _implicitRules?: Element|undefined; /** * Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute). */ - language?: string; - _language?: Element; + language?: string|undefined; + _language?: Element|undefined; /** * The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource. */ - meta?: Meta; + meta?: Meta|undefined; } /** * Multiple repetitions can be used to identify the same type of outcome in different timeframes as well as different types of outcomes. @@ -24984,36 +24984,36 @@ export interface RiskAssessmentPrediction extends BackboneElement { /** * One of the potential outcomes for the patient (e.g. remission, death, a particular condition). */ - outcome?: CodeableConcept; + outcome?: CodeableConcept|undefined; /** * If range is used, it represents the lower and upper bounds of certainty; e.g. 40-60% Decimal values are expressed as percentages as well (max = 100). */ - probabilityDecimal?: number; + probabilityDecimal?: number|undefined; /** * If range is used, it represents the lower and upper bounds of certainty; e.g. 40-60% Decimal values are expressed as percentages as well (max = 100). */ - probabilityRange?: Range; + probabilityRange?: Range|undefined; /** * Indicates how likely the outcome is (in the specified timeframe), expressed as a qualitative value (e.g. low, medium, or high). */ - qualitativeRisk?: CodeableConcept; + qualitativeRisk?: CodeableConcept|undefined; /** * Additional information explaining the basis for the prediction. */ - rationale?: string; - _rationale?: Element; + rationale?: string|undefined; + _rationale?: Element|undefined; /** * Indicates the risk for this particular subject (with their specific characteristics) divided by the risk of the population in general. (Numbers greater than 1 = higher risk than the population, numbers less than 1 = lower risk.). */ - relativeRisk?: number; + relativeRisk?: number|undefined; /** * If not specified, the risk applies "over the subject's lifespan". */ - whenPeriod?: Period; + whenPeriod?: Period|undefined; /** * If not specified, the risk applies "over the subject's lifespan". */ - whenRange?: Range; + whenRange?: Range|undefined; } /** * An assessment of the likely outcome(s) for a patient or other subject as well as the likelihood of each outcome. @@ -25024,74 +25024,74 @@ export interface RiskAssessment extends DomainResource { /** * A reference to the request that is fulfilled by this risk assessment. */ - basedOn?: Reference; + basedOn?: Reference|undefined; /** * Indicates the source data considered as part of the assessment (for example, FamilyHistory, Observations, Procedures, Conditions, etc.). */ - basis?: Reference[]; + basis?: Reference[]|undefined; /** * The type of the risk assessment performed. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * For assessments or prognosis specific to a particular condition, indicates the condition being assessed. */ - condition?: Reference; + condition?: Reference|undefined; /** * The encounter where the assessment was performed. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * Business identifier assigned to the risk assessment. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The algorithm, process or mechanism used to evaluate the risk. */ - method?: CodeableConcept; + method?: CodeableConcept|undefined; /** * A description of the steps that might be taken to reduce the identified risk(s). */ - mitigation?: string; - _mitigation?: Element; + mitigation?: string|undefined; + _mitigation?: Element|undefined; /** * Additional comments about the risk assessment. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * The date (and possibly time) the risk assessment was performed. */ - occurrenceDateTime?: string; - _occurrenceDateTime?: Element; + occurrenceDateTime?: string|undefined; + _occurrenceDateTime?: Element|undefined; /** * The date (and possibly time) the risk assessment was performed. */ - occurrencePeriod?: Period; + occurrencePeriod?: Period|undefined; /** * A reference to a resource that this risk assessment is part of, such as a Procedure. */ - parent?: Reference; + parent?: Reference|undefined; /** * The provider or software application that performed the assessment. */ - performer?: Reference; + performer?: Reference|undefined; /** * Multiple repetitions can be used to identify the same type of outcome in different timeframes as well as different types of outcomes. */ - prediction?: RiskAssessmentPrediction[]; + prediction?: RiskAssessmentPrediction[]|undefined; /** * The reason the risk assessment was performed. */ - reasonCode?: CodeableConcept[]; + reasonCode?: CodeableConcept[]|undefined; /** * Resources supporting the reason the risk assessment was performed. */ - reasonReference?: Reference[]; + reasonReference?: Reference[]|undefined; /** * The status of the RiskAssessment, using the same statuses as an Observation. */ status: RiskAssessmentStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * The patient or group the risk assessment applies to. */ @@ -25117,16 +25117,16 @@ export interface RiskEvidenceSynthesisSampleSize extends BackboneElement { /** * Human-readable summary of sample size. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Number of participants included in this evidence synthesis. */ - numberOfParticipants?: number; + numberOfParticipants?: number|undefined; /** * Number of studies included in this evidence synthesis. */ - numberOfStudies?: number; + numberOfStudies?: number|undefined; } /** * A description of the precision of the estimate for the effect. @@ -25135,19 +25135,19 @@ export interface RiskEvidenceSynthesisRiskEstimatePrecisionEstimate extends Back /** * Lower bound of confidence interval. */ - from?: number; + from?: number|undefined; /** * Use 95 for a 95% confidence interval. */ - level?: number; + level?: number|undefined; /** * Upper bound of confidence interval. */ - to?: number; + to?: number|undefined; /** * Examples include confidence interval and interquartile range. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * The estimated risk of the outcome. @@ -25156,32 +25156,32 @@ export interface RiskEvidenceSynthesisRiskEstimate extends BackboneElement { /** * The sample size for the group that was measured for this risk estimate. */ - denominatorCount?: number; + denominatorCount?: number|undefined; /** * Human-readable summary of risk estimate. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * The number of group members with the outcome of interest. */ - numeratorCount?: number; + numeratorCount?: number|undefined; /** * A description of the precision of the estimate for the effect. */ - precisionEstimate?: RiskEvidenceSynthesisRiskEstimatePrecisionEstimate[]; + precisionEstimate?: RiskEvidenceSynthesisRiskEstimatePrecisionEstimate[]|undefined; /** * Examples include proportion and mean. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; /** * Specifies the UCUM unit for the outcome. */ - unitOfMeasure?: CodeableConcept; + unitOfMeasure?: CodeableConcept|undefined; /** * The point estimate of the risk estimate. */ - value?: number; + value?: number|undefined; } /** * A description of a component of the overall certainty. @@ -25190,15 +25190,15 @@ export interface RiskEvidenceSynthesisCertaintyCertaintySubcomponent extends Bac /** * A human-readable string to clarify or explain concepts about the resource. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * A rating of a subcomponent of rating certainty. */ - rating?: CodeableConcept[]; + rating?: CodeableConcept[]|undefined; /** * Type of subcomponent of certainty rating. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * A description of the certainty of the risk estimate. @@ -25207,15 +25207,15 @@ export interface RiskEvidenceSynthesisCertainty extends BackboneElement { /** * A description of a component of the overall certainty. */ - certaintySubcomponent?: RiskEvidenceSynthesisCertaintyCertaintySubcomponent[]; + certaintySubcomponent?: RiskEvidenceSynthesisCertaintyCertaintySubcomponent[]|undefined; /** * A human-readable string to clarify or explain concepts about the resource. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * A rating of the certainty of the effect estimate. */ - rating?: CodeableConcept[]; + rating?: CodeableConcept[]|undefined; } /** * The RiskEvidenceSynthesis resource describes the likelihood of an outcome in a population plus exposure state where the risk estimate is derived from a combination of research studies. @@ -25226,73 +25226,73 @@ export interface RiskEvidenceSynthesis extends DomainResource { /** * The 'date' element may be more recent than the approval date because of minor changes or editorial corrections. */ - approvalDate?: string; - _approvalDate?: Element; + approvalDate?: string|undefined; + _approvalDate?: Element|undefined; /** * An individiual or organization primarily involved in the creation and maintenance of the content. */ - author?: ContactDetail[]; + author?: ContactDetail[]|undefined; /** * A description of the certainty of the risk estimate. */ - certainty?: RiskEvidenceSynthesisCertainty[]; + certainty?: RiskEvidenceSynthesisCertainty[]|undefined; /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * A copyright statement relating to the risk evidence synthesis and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the risk evidence synthesis. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the risk evidence synthesis. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * This description can be used to capture details such as why the risk evidence synthesis was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the risk evidence synthesis as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the risk evidence synthesis is presumed to be the predominant language in the place the risk evidence synthesis was created). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * An individual or organization primarily responsible for internal coherence of the content. */ - editor?: ContactDetail[]; + editor?: ContactDetail[]|undefined; /** * The effective period for a risk evidence synthesis determines when the content is applicable for usage and is independent of publication and review dates. For example, a measure intended to be used for the year 2016 might be published in 2015. */ - effectivePeriod?: Period; + effectivePeriod?: Period|undefined; /** * An individual or organization responsible for officially endorsing the content for use in some setting. */ - endorser?: ContactDetail[]; + endorser?: ContactDetail[]|undefined; /** * A reference to a EvidenceVariable resource that defines the exposure for the research. */ - exposure?: Reference; + exposure?: Reference|undefined; /** * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this risk evidence synthesis outside of FHIR, where it is not possible to use the logical URI. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * It may be possible for the risk evidence synthesis to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * If specified, this date follows the original approval date. */ - lastReviewDate?: string; - _lastReviewDate?: Element; + lastReviewDate?: string|undefined; + _lastReviewDate?: Element|undefined; /** * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * A human-readable string to clarify or explain concepts about the resource. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * A reference to a EvidenceVariable resomece that defines the outcome for the research. */ @@ -25304,62 +25304,62 @@ export interface RiskEvidenceSynthesis extends DomainResource { /** * Usually an organization but may be an individual. The publisher (or steward) of the risk evidence synthesis is the organization or individual primarily responsible for the maintenance and upkeep of the risk evidence synthesis. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the risk evidence synthesis. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * Each related artifact is either an attachment, or a reference to another resource, but not both. */ - relatedArtifact?: RelatedArtifact[]; + relatedArtifact?: RelatedArtifact[]|undefined; /** * An individual or organization primarily responsible for review of some aspect of the content. */ - reviewer?: ContactDetail[]; + reviewer?: ContactDetail[]|undefined; /** * The estimated risk of the outcome. */ - riskEstimate?: RiskEvidenceSynthesisRiskEstimate; + riskEstimate?: RiskEvidenceSynthesisRiskEstimate|undefined; /** * A description of the size of the sample involved in the synthesis. */ - sampleSize?: RiskEvidenceSynthesisSampleSize; + sampleSize?: RiskEvidenceSynthesisSampleSize|undefined; /** * Allows filtering of risk evidence synthesiss that are appropriate for use versus not. */ status: RiskEvidenceSynthesisStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Type of study eg randomized trial. */ - studyType?: CodeableConcept; + studyType?: CodeableConcept|undefined; /** * Type of synthesis eg meta-analysis. */ - synthesisType?: CodeableConcept; + synthesisType?: CodeableConcept|undefined; /** * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Descriptive topics related to the content of the RiskEvidenceSynthesis. Topics provide a high-level categorization grouping types of EffectEvidenceSynthesiss that can be useful for filtering and searching. */ - topic?: CodeableConcept[]; + topic?: CodeableConcept[]|undefined; /** * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different risk evidence synthesis instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the risk evidence synthesis with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the RiskEvidenceSynthesis.status field @@ -25379,8 +25379,8 @@ export interface Schedule extends DomainResource { /** * This element is labeled as a modifier because it may be used to mark that the resource was created in error. */ - active?: boolean; - _active?: Element; + active?: boolean|undefined; + _active?: Element|undefined; /** * The capacity to support multiple referenced resource types should be used in cases where the specific resources themselves cannot be scheduled without the other, and thus only make sense to the system exposing them as a group. Common examples of this are where the combination of a practitioner and a room (Location) are always required by a system. */ @@ -25388,28 +25388,28 @@ export interface Schedule extends DomainResource { /** * Comments on the availability to describe any extended information. Such as custom constraints on the slots that may be associated. */ - comment?: string; - _comment?: Element; + comment?: string|undefined; + _comment?: Element|undefined; /** * External Ids for this item. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The period of time that the slots that reference this Schedule resource cover (even if none exist). These cover the amount of time that an organization's planning horizon; the interval for which they are currently accepting appointments. This does not define a "template" for planning outside these dates. */ - planningHorizon?: Period; + planningHorizon?: Period|undefined; /** * A broad categorization of the service that is to be performed during this appointment. */ - serviceCategory?: CodeableConcept[]; + serviceCategory?: CodeableConcept[]|undefined; /** * The specific service that is to be performed during this appointment. */ - serviceType?: CodeableConcept[]; + serviceType?: CodeableConcept[]|undefined; /** * The specialty of a practitioner that would be required to perform the service requested in this appointment. */ - specialty?: CodeableConcept[]; + specialty?: CodeableConcept[]|undefined; } /** * Used to define the parts of a composite search parameter. @@ -25419,12 +25419,12 @@ export interface SearchParameterComponent extends BackboneElement { * The definition of the search parameter that describes this part. */ definition: string; - _definition?: Element; + _definition?: Element|undefined; /** * This expression overrides the expression in the definition and extracts the index values from the outcome of the composite expression. */ expression: string; - _expression?: Element; + _expression?: Element|undefined; } /** * A search parameter that defines a named search item that can be used to search/filter on a resource. @@ -25436,130 +25436,130 @@ export interface SearchParameter extends DomainResource { * A search parameter must always apply to at least one resource type. When search parameters apply to more than one resource type, they can be used against any of the listed resource types, or in a cross-type search (see [Cross Resource Search](http.html#xres-search)). */ base: string[]; - _base?: Element[]; + _base?: Element[]|undefined; /** * Systems are not required to list all the chain names they support, but if they don't list them, clients might not know to use them. */ - chain?: string[]; - _chain?: Element[]; + chain?: string[]|undefined; + _chain?: Element[]|undefined; /** * For maximum compatibility, use only lowercase ASCII characters. */ code: string; - _code?: Element; + _code?: Element|undefined; /** * If no comparators are listed, clients should not expect servers to support any comparators. */ - comparator?: SearchParameterComparatorCodes[]; - _comparator?: Element[]; + comparator?: SearchParameterComparatorCodes[]|undefined; + _comparator?: Element[]|undefined; /** * Used to define the parts of a composite search parameter. */ - component?: SearchParameterComponent[]; + component?: SearchParameterComponent[]|undefined; /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the search parameter. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * The intent of this is that a server can designate that it provides support for a search parameter defined in the specification itself (e.g. [`value-quantity`](http://hl7.org/fhir/SearchParameter/Observation-value-quantity), but detail how it is supported by the server. */ - derivedFrom?: string; - _derivedFrom?: Element; + derivedFrom?: string|undefined; + _derivedFrom?: Element|undefined; /** * This description can be used to capture details such as why the search parameter was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the search parameter as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the search parameter is presumed to be the predominant language in the place the search parameter was created). */ description: string; - _description?: Element; + _description?: Element|undefined; /** * Allows filtering of search parameters that are appropriate for use versus not. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * Note that the elements returned by the expression are sometimes complex elements where logic is required to determine quite how to handle them; e.g. CodeableConcepts may contain text and/or multiple codings, where the codings themselves contain a code and a system. For composite search parameters, the outcome of the expression must a collection of base elements from which the composites are derived. */ - expression?: string; - _expression?: Element; + expression?: string|undefined; + _expression?: Element|undefined; /** * It may be possible for the search parameter to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * A modifier supported for the search parameter. */ - modifier?: SearchParameterModifierCodes[]; - _modifier?: Element[]; + modifier?: SearchParameterModifierCodes[]|undefined; + _modifier?: Element[]|undefined; /** * Whether multiple parameters are allowed - e.g. more than one parameter with the same name. The search matches if all the parameters match. */ - multipleAnd?: boolean; - _multipleAnd?: Element; + multipleAnd?: boolean|undefined; + _multipleAnd?: Element|undefined; /** * Whether multiple values are allowed for each time the parameter exists. Values are separated by commas, and the parameter matches if any of the values match. */ - multipleOr?: boolean; - _multipleOr?: Element; + multipleOr?: boolean|undefined; + _multipleOr?: Element|undefined; /** * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * Usually an organization but may be an individual. The publisher (or steward) of the search parameter is the organization or individual primarily responsible for the maintenance and upkeep of the search parameter. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the search parameter. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * This element does not describe the usage of the search parameter. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this search parameter. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * Allows filtering of search parameters that are appropriate for use versus not. */ status: SearchParameterStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Types of resource (if a resource is referenced). */ - target?: string[]; - _target?: Element[]; + target?: string[]|undefined; + _target?: Element[]|undefined; /** * The type of value that a search parameter may contain, and how the content is interpreted. */ type: SearchParameterTypeCodes; - _type?: Element; + _type?: Element|undefined; /** * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. */ url: string; - _url?: Element; + _url?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different search parameter instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the search parameter with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; /** * Note that the elements returned by the XPath are sometimes complex elements where logic is required to determine quite how to handle them; e.g. CodeableConcepts may contain text and/or multiple codings, where the codings themselves contain a code and a system. */ - xpath?: string; - _xpath?: Element; + xpath?: string|undefined; + _xpath?: Element|undefined; /** * How the search parameter relates to the set of elements returned by evaluating the xpath query. */ - xpathUsage?: SearchParameterXpathUsageCodes; - _xpathUsage?: Element; + xpathUsage?: SearchParameterXpathUsageCodes|undefined; + _xpathUsage?: Element|undefined; } /** * Code Values for the SearchParameter.comparator field @@ -25634,159 +25634,159 @@ export interface ServiceRequest extends DomainResource { /** * If a CodeableConcept is present, it indicates the pre-condition for performing the service. For example "pain", "on flare-up", etc. */ - asNeededBoolean?: boolean; - _asNeededBoolean?: Element; + asNeededBoolean?: boolean|undefined; + _asNeededBoolean?: Element|undefined; /** * If a CodeableConcept is present, it indicates the pre-condition for performing the service. For example "pain", "on flare-up", etc. */ - asNeededCodeableConcept?: CodeableConcept; + asNeededCodeableConcept?: CodeableConcept|undefined; /** * When the request transitioned to being actionable. */ - authoredOn?: string; - _authoredOn?: Element; + authoredOn?: string|undefined; + _authoredOn?: Element|undefined; /** * Plan/proposal/order fulfilled by this request. */ - basedOn?: Reference[]; + basedOn?: Reference[]|undefined; /** * Only used if not implicit in the code found in ServiceRequest.code. If the use case requires BodySite to be handled as a separate resource instead of an inline coded element (e.g. to identify and track separately) then use the standard extension [procedure-targetBodyStructure](extension-procedure-targetbodystructure.html). */ - bodySite?: CodeableConcept[]; + bodySite?: CodeableConcept[]|undefined; /** * There may be multiple axis of categorization depending on the context or use case for retrieving or displaying the resource. The level of granularity is defined by the category concepts in the value set. */ - category?: CodeableConcept[]; + category?: CodeableConcept[]|undefined; /** * Many laboratory and radiology procedure codes embed the specimen/organ system in the test order name, for example, serum or serum/plasma glucose, or a chest x-ray. The specimen might not be recorded separately from the test code. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * In general, only the code and timeframe will be present, though occasional additional qualifiers such as body site or even performer could be included to narrow the scope of the prohibition. If the ServiceRequest.code and ServiceRequest.doNotPerform both contain negation, that will reinforce prohibition and should not have a double negative interpretation. */ - doNotPerform?: boolean; - _doNotPerform?: Element; + doNotPerform?: boolean|undefined; + _doNotPerform?: Element|undefined; /** * An encounter that provides additional information about the healthcare context in which this request is made. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * The identifier.type element is used to distinguish between the identifiers assigned by the orderer (known as the 'Placer' in HL7 v2) and the producer of the observations in response to the order (known as the 'Filler' in HL7 v2). For further discussion and examples see the resource notes section below. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Note: This is a business identifier, not a resource identifier (see [discussion](resource.html#identifiers)). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and a Person resource instance might share the same social insurance number. */ - instantiatesCanonical?: string[]; - _instantiatesCanonical?: Element[]; + instantiatesCanonical?: string[]|undefined; + _instantiatesCanonical?: Element[]|undefined; /** * This might be an HTML page, PDF, etc. or could just be a non-resolvable URI identifier. */ - instantiatesUri?: string[]; - _instantiatesUri?: Element[]; + instantiatesUri?: string[]|undefined; + _instantiatesUri?: Element[]|undefined; /** * Insurance plans, coverage extensions, pre-authorizations and/or pre-determinations that may be needed for delivering the requested service. */ - insurance?: Reference[]; + insurance?: Reference[]|undefined; /** * This element is labeled as a modifier because the intent alters when and how the resource is actually applicable. */ intent: ServiceRequestIntentCodes; - _intent?: Element; + _intent?: Element|undefined; /** * The preferred location(s) where the procedure should actually happen in coded or free text form. E.g. at home or nursing day care center. */ - locationCode?: CodeableConcept[]; + locationCode?: CodeableConcept[]|undefined; /** * A reference to the the preferred location(s) where the procedure should actually happen. E.g. at home or nursing day care center. */ - locationReference?: Reference[]; + locationReference?: Reference[]|undefined; /** * Any other notes and comments made about the service request. For example, internal billing notes. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * The date/time at which the requested service should occur. */ - occurrenceDateTime?: string; - _occurrenceDateTime?: Element; + occurrenceDateTime?: string|undefined; + _occurrenceDateTime?: Element|undefined; /** * The date/time at which the requested service should occur. */ - occurrencePeriod?: Period; + occurrencePeriod?: Period|undefined; /** * The date/time at which the requested service should occur. */ - occurrenceTiming?: Timing; + occurrenceTiming?: Timing|undefined; /** * For information from the medical record intended to support the delivery of the requested services, use the `supportingInformation` element. */ - orderDetail?: CodeableConcept[]; + orderDetail?: CodeableConcept[]|undefined; /** * Instructions in terms that are understood by the patient or consumer. */ - patientInstruction?: string; - _patientInstruction?: Element; + patientInstruction?: string|undefined; + _patientInstruction?: Element|undefined; /** * If multiple performers are present, it is interpreted as a list of *alternative* performers without any preference regardless of order. If order of preference is needed use the [request-performerOrder extension](extension-request-performerorder.html). Use CareTeam to represent a group of performers (for example, Practitioner A *and* Practitioner B). */ - performer?: Reference[]; + performer?: Reference[]|undefined; /** * This is a role, not a participation type. In other words, does not describe the task but describes the capacity. For example, “compounding pharmacy”, “psychiatrist” or “internal referral”. */ - performerType?: CodeableConcept; + performerType?: CodeableConcept|undefined; /** * Indicates how quickly the ServiceRequest should be addressed with respect to other requests. */ - priority?: ServiceRequestPriorityCodes; - _priority?: Element; + priority?: ServiceRequestPriorityCodes|undefined; + _priority?: Element|undefined; /** * An amount of service being requested which can be a quantity ( for example $1,500 home modification), a ratio ( for example, 20 half day visits per month), or a range (2.0 to 1.8 Gy per fraction). */ - quantityQuantity?: Quantity; + quantityQuantity?: Quantity|undefined; /** * An amount of service being requested which can be a quantity ( for example $1,500 home modification), a ratio ( for example, 20 half day visits per month), or a range (2.0 to 1.8 Gy per fraction). */ - quantityRatio?: Ratio; + quantityRatio?: Ratio|undefined; /** * An amount of service being requested which can be a quantity ( for example $1,500 home modification), a ratio ( for example, 20 half day visits per month), or a range (2.0 to 1.8 Gy per fraction). */ - quantityRange?: Range; + quantityRange?: Range|undefined; /** * This element represents why the referral is being made and may be used to decide how the service will be performed, or even if it will be performed at all. Use `CodeableConcept.text` element if the data is free (uncoded) text as shown in the [CT Scan example](servicerequest-example-di.html). */ - reasonCode?: CodeableConcept[]; + reasonCode?: CodeableConcept[]|undefined; /** * This element represents why the referral is being made and may be used to decide how the service will be performed, or even if it will be performed at all. To be as specific as possible, a reference to *Observation* or *Condition* should be used if available. Otherwise when referencing *DiagnosticReport* it should contain a finding in `DiagnosticReport.conclusion` and/or `DiagnosticReport.conclusionCode`. When using a reference to *DocumentReference*, the target document should contain clear findings language providing the relevant reason for this service request. Use the CodeableConcept text element in `ServiceRequest.reasonCode` if the data is free (uncoded) text as shown in the [CT Scan example](servicerequest-example-di.html). */ - reasonReference?: Reference[]; + reasonReference?: Reference[]|undefined; /** * This might not include provenances for all versions of the request – only those deemed “relevant” or important. * This SHALL NOT include the Provenance associated with this current version of the resource. (If that provenance is deemed to be a “relevant” change, it will need to be added as part of a later update. Until then, it can be queried directly as the Provenance that points to this version using _revinclude * All Provenances should have some historical version of this Request as their subject. */ - relevantHistory?: Reference[]; + relevantHistory?: Reference[]|undefined; /** * The request takes the place of the referenced completed or terminated request(s). */ - replaces?: Reference[]; + replaces?: Reference[]|undefined; /** * This not the dispatcher, but rather who is the authorizer. This element is not intended to handle delegation which would generally be managed through the Provenance resource. */ - requester?: Reference; + requester?: Reference|undefined; /** * Requests are linked either by a "basedOn" relationship (i.e. one request is fulfilling another) or by having a common requisition. Requests that are part of the same requisition are generally treated independently from the perspective of changing their state or maintaining them after initial creation. */ - requisition?: Identifier; + requisition?: Identifier|undefined; /** * Many diagnostic procedures need a specimen, but the request itself is not actually about the specimen. This element is for when the diagnostic is requested on already existing specimens and the request points to the specimen it applies to. Conversely, if the request is entered first with an unknown specimen, then the [Specimen](specimen.html) resource points to the ServiceRequest. */ - specimen?: Reference[]; + specimen?: Reference[]|undefined; /** * The status is generally fully in the control of the requester - they determine whether the order is draft or active and, after it has been activated, competed, cancelled or suspended. States relating to the activities of the performer are reflected on either the corresponding event (see [Event Pattern](event.html) for general discussion) or using the [Task](task.html) resource. */ status: ServiceRequestStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * On whom or what the service is to be performed. This is usually a human patient, but can also be requested on animals, groups of humans or animals, devices such as dialysis machines, or even locations (typically for environmental scans). */ @@ -25794,7 +25794,7 @@ export interface ServiceRequest extends DomainResource { /** * To represent information about how the services are to be delivered use the `instructions` element. */ - supportingInfo?: Reference[]; + supportingInfo?: Reference[]|undefined; } /** * Code Values for the ServiceRequest.intent field @@ -25840,26 +25840,26 @@ export interface Slot extends DomainResource { /** * The style of appointment or patient that may be booked in the slot (not service type). */ - appointmentType?: CodeableConcept; + appointmentType?: CodeableConcept|undefined; /** * Comments on the slot to describe any extended information. Such as custom constraints on the slot. */ - comment?: string; - _comment?: Element; + comment?: string|undefined; + _comment?: Element|undefined; /** * Date/Time that the slot is to conclude. */ end: string; - _end?: Element; + _end?: Element|undefined; /** * External Ids for this item. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * This slot has already been overbooked, appointments are unlikely to be accepted for this time. */ - overbooked?: boolean; - _overbooked?: Element; + overbooked?: boolean|undefined; + _overbooked?: Element|undefined; /** * The schedule resource that this slot defines an interval of status information. */ @@ -25867,25 +25867,25 @@ export interface Slot extends DomainResource { /** * A broad categorization of the service that is to be performed during this appointment. */ - serviceCategory?: CodeableConcept[]; + serviceCategory?: CodeableConcept[]|undefined; /** * The type of appointments that can be booked into this slot (ideally this would be an identifiable service - which is at a location, rather than the location itself). If provided then this overrides the value provided on the availability resource. */ - serviceType?: CodeableConcept[]; + serviceType?: CodeableConcept[]|undefined; /** * The specialty of a practitioner that would be required to perform the service requested in this appointment. */ - specialty?: CodeableConcept[]; + specialty?: CodeableConcept[]|undefined; /** * Date/Time that the slot is to begin. */ start: string; - _start?: Element; + _start?: Element|undefined; /** * busy | free | busy-unavailable | busy-tentative | entered-in-error. */ status: SlotStatusCodes; - _status?: Element; + _status?: Element|undefined; } /** * Code Values for the Slot.status field @@ -25904,40 +25904,40 @@ export interface SpecimenCollection extends BackboneElement { /** * If the use case requires BodySite to be handled as a separate resource instead of an inline coded element (e.g. to identify and track separately) then use the standard extension [bodySite](extension-bodysite.html). */ - bodySite?: CodeableConcept; + bodySite?: CodeableConcept|undefined; /** * Time when specimen was collected from subject - the physiologically relevant time. */ - collectedDateTime?: string; - _collectedDateTime?: Element; + collectedDateTime?: string|undefined; + _collectedDateTime?: Element|undefined; /** * Time when specimen was collected from subject - the physiologically relevant time. */ - collectedPeriod?: Period; + collectedPeriod?: Period|undefined; /** * Person who collected the specimen. */ - collector?: Reference; + collector?: Reference|undefined; /** * The span of time over which the collection of a specimen occurred. */ - duration?: Duration; + duration?: Duration|undefined; /** * Representing fasting status using this element is preferred to representing it with an observation using a 'pre-coordinated code' such as LOINC 2005-7 (Calcium [Moles/​time] in 2 hour Urine --12 hours fasting), or using a component observation ` such as `Observation.component code` = LOINC 49541-6 (Fasting status - Reported). */ - fastingStatusCodeableConcept?: CodeableConcept; + fastingStatusCodeableConcept?: CodeableConcept|undefined; /** * Representing fasting status using this element is preferred to representing it with an observation using a 'pre-coordinated code' such as LOINC 2005-7 (Calcium [Moles/​time] in 2 hour Urine --12 hours fasting), or using a component observation ` such as `Observation.component code` = LOINC 49541-6 (Fasting status - Reported). */ - fastingStatusDuration?: Duration; + fastingStatusDuration?: Duration|undefined; /** * A coded value specifying the technique that is used to perform the procedure. */ - method?: CodeableConcept; + method?: CodeableConcept|undefined; /** * The quantity of specimen collected; for instance the volume of a blood sample, or the physical measurement of an anatomic pathology sample. */ - quantity?: Quantity; + quantity?: Quantity|undefined; } /** * Details concerning processing and processing steps for the specimen. @@ -25946,25 +25946,25 @@ export interface SpecimenProcessing extends BackboneElement { /** * Material used in the processing step. */ - additive?: Reference[]; + additive?: Reference[]|undefined; /** * Textual description of procedure. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * A coded value specifying the procedure used to process the specimen. */ - procedure?: CodeableConcept; + procedure?: CodeableConcept|undefined; /** * A record of the time or period when the specimen processing occurred. For example the time of sample fixation or the period of time the sample was in formalin. */ - timeDateTime?: string; - _timeDateTime?: Element; + timeDateTime?: string|undefined; + _timeDateTime?: Element|undefined; /** * A record of the time or period when the specimen processing occurred. For example the time of sample fixation or the period of time the sample was in formalin. */ - timePeriod?: Period; + timePeriod?: Period|undefined; } /** * The container holding the specimen. The recursive nature of containers; i.e. blood in tube in tray in rack is not addressed here. @@ -25973,32 +25973,32 @@ export interface SpecimenContainer extends BackboneElement { /** * Introduced substance to preserve, maintain or enhance the specimen. Examples: Formalin, Citrate, EDTA. */ - additiveCodeableConcept?: CodeableConcept; + additiveCodeableConcept?: CodeableConcept|undefined; /** * Introduced substance to preserve, maintain or enhance the specimen. Examples: Formalin, Citrate, EDTA. */ - additiveReference?: Reference; + additiveReference?: Reference|undefined; /** * The capacity (volume or other measure) the container may contain. */ - capacity?: Quantity; + capacity?: Quantity|undefined; /** * Textual description of the container. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Id for container. There may be multiple; a manufacturer's bar code, lab assigned identifier, etc. The container ID may differ from the specimen id in some circumstances. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The quantity of specimen in the container; may be volume, dimensions, or other appropriate measurements, depending on the specimen type. */ - specimenQuantity?: Quantity; + specimenQuantity?: Quantity|undefined; /** * The type of container associated with the specimen (e.g. slide, aliquot, etc.). */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * A sample to be used for analysis. @@ -26009,57 +26009,57 @@ export interface Specimen extends DomainResource { /** * The identifier assigned by the lab when accessioning specimen(s). This is not necessarily the same as the specimen identifier, depending on local lab procedures. */ - accessionIdentifier?: Identifier; + accessionIdentifier?: Identifier|undefined; /** * Details concerning the specimen collection. */ - collection?: SpecimenCollection; + collection?: SpecimenCollection|undefined; /** * Specimen condition is an observation made about the specimen. It's a point-in-time assessment. It can be used to assess its quality or appropriateness for a specific test. */ - condition?: CodeableConcept[]; + condition?: CodeableConcept[]|undefined; /** * The container holding the specimen. The recursive nature of containers; i.e. blood in tube in tray in rack is not addressed here. */ - container?: SpecimenContainer[]; + container?: SpecimenContainer[]|undefined; /** * Id for specimen. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * To communicate any details or issues about the specimen or during the specimen collection. (for example: broken vial, sent with patient, frozen). */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * The parent specimen could be the source from which the current specimen is derived by some processing step (e.g. an aliquot or isolate or extracted nucleic acids from clinical samples) or one of many specimens that were combined to create a pooled sample. */ - parent?: Reference[]; + parent?: Reference[]|undefined; /** * Details concerning processing and processing steps for the specimen. */ - processing?: SpecimenProcessing[]; + processing?: SpecimenProcessing[]|undefined; /** * Time when specimen was received for processing or testing. */ - receivedTime?: string; - _receivedTime?: Element; + receivedTime?: string|undefined; + _receivedTime?: Element|undefined; /** * The request may be explicit or implied such with a ServiceRequest that requires a blood draw. */ - request?: Reference[]; + request?: Reference[]|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ - status?: SpecimenStatusCodes; - _status?: Element; + status?: SpecimenStatusCodes|undefined; + _status?: Element|undefined; /** * Where the specimen came from. This may be from patient(s), from a location (e.g., the source of an environmental sample), or a sampling of a substance or a device. */ - subject?: Reference; + subject?: Reference|undefined; /** * The type can change the way that a specimen is handled and drives what kind of analyses can properly be performed on the specimen. It is frequently used in diagnostic work flow decision making systems. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Code Values for the Specimen.status field @@ -26077,11 +26077,11 @@ export interface SpecimenDefinitionTypeTestedContainerAdditive extends BackboneE /** * Substance introduced in the kind of container to preserve, maintain or enhance the specimen. Examples: Formalin, Citrate, EDTA. */ - additiveCodeableConcept?: CodeableConcept; + additiveCodeableConcept?: CodeableConcept|undefined; /** * Substance introduced in the kind of container to preserve, maintain or enhance the specimen. Examples: Formalin, Citrate, EDTA. */ - additiveReference?: Reference; + additiveReference?: Reference|undefined; } /** * The specimen's container. @@ -26090,42 +26090,42 @@ export interface SpecimenDefinitionTypeTestedContainer extends BackboneElement { /** * Substance introduced in the kind of container to preserve, maintain or enhance the specimen. Examples: Formalin, Citrate, EDTA. */ - additive?: SpecimenDefinitionTypeTestedContainerAdditive[]; + additive?: SpecimenDefinitionTypeTestedContainerAdditive[]|undefined; /** * Color of container cap. */ - cap?: CodeableConcept; + cap?: CodeableConcept|undefined; /** * The capacity (volume or other measure) of this kind of container. */ - capacity?: Quantity; + capacity?: Quantity|undefined; /** * The textual description of the kind of container. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * The type of material of the container. */ - material?: CodeableConcept; + material?: CodeableConcept|undefined; /** * The minimum volume to be conditioned in the container. */ - minimumVolumeQuantity?: Quantity; + minimumVolumeQuantity?: Quantity|undefined; /** * The minimum volume to be conditioned in the container. */ - minimumVolumeString?: string; - _minimumVolumeString?: Element; + minimumVolumeString?: string|undefined; + _minimumVolumeString?: Element|undefined; /** * Special processing that should be applied to the container for this kind of specimen. */ - preparation?: string; - _preparation?: Element; + preparation?: string|undefined; + _preparation?: Element|undefined; /** * The type of container used to contain this kind of specimen. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Set of instructions for preservation/transport of the specimen at a defined temperature interval, prior the testing process. @@ -26134,20 +26134,20 @@ export interface SpecimenDefinitionTypeTestedHandling extends BackboneElement { /** * Additional textual instructions for the preservation or transport of the specimen. For instance, 'Protect from light exposure'. */ - instruction?: string; - _instruction?: Element; + instruction?: string|undefined; + _instruction?: Element|undefined; /** * The maximum time interval of preservation of the specimen with these conditions. */ - maxDuration?: Duration; + maxDuration?: Duration|undefined; /** * It qualifies the interval of temperature, which characterizes an occurrence of handling. Conditions that are not related to temperature may be handled in the instruction element. */ - temperatureQualifier?: CodeableConcept; + temperatureQualifier?: CodeableConcept|undefined; /** * The temperature interval for this set of handling instructions. */ - temperatureRange?: Range; + temperatureRange?: Range|undefined; } /** * Specimen conditioned in a container as expected by the testing laboratory. @@ -26156,38 +26156,38 @@ export interface SpecimenDefinitionTypeTested extends BackboneElement { /** * The specimen's container. */ - container?: SpecimenDefinitionTypeTestedContainer; + container?: SpecimenDefinitionTypeTestedContainer|undefined; /** * Set of instructions for preservation/transport of the specimen at a defined temperature interval, prior the testing process. */ - handling?: SpecimenDefinitionTypeTestedHandling[]; + handling?: SpecimenDefinitionTypeTestedHandling[]|undefined; /** * Primary of secondary specimen. */ - isDerived?: boolean; - _isDerived?: Element; + isDerived?: boolean|undefined; + _isDerived?: Element|undefined; /** * The preference for this type of conditioned specimen. */ preference: SpecimenDefinitionTypeTestedPreferenceCodes; - _preference?: Element; + _preference?: Element|undefined; /** * Criterion for rejection of the specimen in its container by the laboratory. */ - rejectionCriterion?: CodeableConcept[]; + rejectionCriterion?: CodeableConcept[]|undefined; /** * Requirements for delivery and special handling of this kind of conditioned specimen. */ - requirement?: string; - _requirement?: Element; + requirement?: string|undefined; + _requirement?: Element|undefined; /** * The usual time that a specimen of this kind is retained after the ordered tests are completed, for the purpose of additional testing. */ - retentionTime?: Duration; + retentionTime?: Duration|undefined; /** * The kind of specimen conditioned for testing expected by lab. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Code Values for the SpecimenDefinition.typeTested.preference field @@ -26205,28 +26205,28 @@ export interface SpecimenDefinition extends DomainResource { /** * The action to be performed for collecting the specimen. */ - collection?: CodeableConcept[]; + collection?: CodeableConcept[]|undefined; /** * A business identifier associated with the kind of specimen. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * Preparation of the patient for specimen collection. */ - patientPreparation?: CodeableConcept[]; + patientPreparation?: CodeableConcept[]|undefined; /** * Time aspect of specimen collection (duration or offset). */ - timeAspect?: string; - _timeAspect?: Element; + timeAspect?: string|undefined; + _timeAspect?: Element|undefined; /** * The kind of material to be collected. */ - typeCollected?: CodeableConcept; + typeCollected?: CodeableConcept|undefined; /** * Specimen conditioned in a container as expected by the testing laboratory. */ - typeTested?: SpecimenDefinitionTypeTested[]; + typeTested?: SpecimenDefinitionTypeTested[]|undefined; } /** * An external specification that the content is mapped to. @@ -26235,23 +26235,23 @@ export interface StructureDefinitionMapping extends BackboneElement { /** * Comments about this mapping, including version notes, issues, scope limitations, and other important notes for usage. */ - comment?: string; - _comment?: Element; + comment?: string|undefined; + _comment?: Element|undefined; /** * The specification is described once, with general comments, and then specific mappings are made that reference this declaration. */ identity: string; - _identity?: Element; + _identity?: Element|undefined; /** * A name for the specification that is being mapped to. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * A formal identity for the specification being mapped to helps with identifying maps consistently. */ - uri?: string; - _uri?: Element; + uri?: string|undefined; + _uri?: Element|undefined; } /** * Identifies the types of resource or data type elements to which the extension can be applied. @@ -26261,12 +26261,12 @@ export interface StructureDefinitionContext extends BackboneElement { * An expression that defines where an extension can be used in resources. */ expression: string; - _expression?: Element; + _expression?: Element|undefined; /** * Defines how to interpret the expression that defines what the context of the extension is. */ type: StructureDefinitionContextTypeCodes; - _type?: Element; + _type?: Element|undefined; } /** * Code Values for the StructureDefinition.context.type field @@ -26304,80 +26304,80 @@ export interface StructureDefinition extends DomainResource { * Abstract Resources cannot be instantiated - a concrete sub-type must be used. Abstract datatypes and extensions cannot be used in an instance. For logical models, the exact implication of "abstract" will rest with the author, depending how the logical model is used. Flagging a constraint structure as abstract conveys design intent but makes no difference to how the structure definition is handled. Note that inline declared elements that are given the type "Element" in the StructureDefinition, but have children described, are anonymous concrete types that specialize Element. */ abstract: boolean; - _abstract?: Element; + _abstract?: Element|undefined; /** * If differential constraints are specified in this structure, they are applied to the base in a "differential" fashion. If there is no base, then the differential constraints cannot be provided (snapshot only). Differential structures are useful for the editing perspective, and snapshot structures are suitable for operational use. The FHIR Project provides a number of tools/services to populate snapshots from differential constraints. Logical Models have a base of "Element" or another logical model. */ - baseDefinition?: string; - _baseDefinition?: Element; + baseDefinition?: string|undefined; + _baseDefinition?: Element|undefined; /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * Identifies the types of resource or data type elements to which the extension can be applied. */ - context?: StructureDefinitionContext[]; + context?: StructureDefinitionContext[]|undefined; /** * The rules are only evaluated when the extension is present. When evaluating the invariant, the FHIRPath focus is the element that holds the extension, and %extension refers to the extension itself. */ - contextInvariant?: string[]; - _contextInvariant?: Element[]; + contextInvariant?: string[]|undefined; + _contextInvariant?: Element[]|undefined; /** * A copyright statement relating to the structure definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the structure definition. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the structure definition. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * If the definition is a specialization, then it adds new elements in the differential, and the snapshot includes the inherited elements. If the definition is a constraint, then it cannot define new elements, it can only make new rules about existing content (see [Profiling Resources](profiling.html#resources)). */ - derivation?: StructureDefinitionDerivationCodes; - _derivation?: Element; + derivation?: StructureDefinitionDerivationCodes|undefined; + _derivation?: Element|undefined; /** * This description can be used to capture details such as why the structure definition was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the structure definition as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the structure definition is presumed to be the predominant language in the place the structure definition was created). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * A differential view is expressed relative to the base StructureDefinition - a statement of differences that it applies. */ - differential?: StructureDefinitionDifferential; + differential?: StructureDefinitionDifferential|undefined; /** * Allows filtering of structure definitions that are appropriate for use versus not. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * A StructureDefinition does not need to specify the target it applies to as StructureDefinitions will often be valid across multiple versions of FHIR. FHIR tooling can determine whether a StructureDefinition is consistent with a particular StructureDefinition if desired. */ - fhirVersion?: string; - _fhirVersion?: Element; + fhirVersion?: string|undefined; + _fhirVersion?: Element|undefined; /** * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this structure definition outside of FHIR, where it is not possible to use the logical URI. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * It may be possible for the structure definition to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * A set of key words or terms from external terminologies that may be used to assist with indexing and searching of templates nby describing the use of this structure definition, or the content it describes. */ - keyword?: Coding[]; + keyword?: Coding[]|undefined; /** * Defines the kind of structure that this definition is describing. */ kind: StructureDefinitionKindCodes; - _kind?: Element; + _kind?: Element|undefined; /** * An external specification that the content is mapped to. */ - mapping?: StructureDefinitionMapping[]; + mapping?: StructureDefinitionMapping[]|undefined; /** * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly.Some Examples: * * O2SatObservation @@ -26386,53 +26386,53 @@ export interface StructureDefinition extends DomainResource { * * AcmeAdmissionRecordOld. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * Usually an organization but may be an individual. The publisher (or steward) of the structure definition is the organization or individual primarily responsible for the maintenance and upkeep of the structure definition. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the structure definition. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * This element does not describe the usage of the structure definition. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this structure definition. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * A snapshot view is expressed in a standalone form that can be used and interpreted without considering the base StructureDefinition. */ - snapshot?: StructureDefinitionSnapshot; + snapshot?: StructureDefinitionSnapshot|undefined; /** * Allows filtering of structure definitions that are appropriate for use versus not. */ status: StructureDefinitionStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc.Applications don't have to use this name but can always fall back to it. The title also corresponds to the label for the root element. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Note that in the case of constraints, the type could be determined by chasing through the baseDefinition references until a concrete structure (derivation = specialization) is reached, or by looking at the path of the first element in the snapshot - if present - but providing the type directly makes for simpler tooling and indexing. * The type must match the elements defined in the differential and the snapshot. For all FHIR defined types, the path name of the element will start with the type name. For logical models, where the type is a URL, the type name SHOULD start with the tail of the type URL where required. */ type: string; - _type?: Element; + _type?: Element|undefined; /** * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. */ url: string; - _url?: Element; + _url?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different structure definition instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the structure definition with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the StructureDefinition.derivation field @@ -26466,23 +26466,23 @@ export interface StructureMapStructure extends BackboneElement { /** * This is needed if both types have the same name (e.g. version conversion). */ - alias?: string; - _alias?: Element; + alias?: string|undefined; + _alias?: Element|undefined; /** * Documentation that describes how the structure is used in the mapping. */ - documentation?: string; - _documentation?: Element; + documentation?: string|undefined; + _documentation?: Element|undefined; /** * How the referenced structure is used in this mapping. */ mode: StructureMapStructureModeCodes; - _mode?: Element; + _mode?: Element|undefined; /** * The canonical reference to the structure. */ url: string; - _url?: Element; + _url?: Element|undefined; } /** * Code Values for the StructureMap.structure.mode field @@ -26500,23 +26500,23 @@ export interface StructureMapGroupInput extends BackboneElement { /** * Documentation for this instance of data. */ - documentation?: string; - _documentation?: Element; + documentation?: string|undefined; + _documentation?: Element|undefined; /** * Mode for this instance of data. */ mode: StructureMapGroupInputModeCodes; - _mode?: Element; + _mode?: Element|undefined; /** * Name for this instance of data. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * Type for this instance of data. */ - type?: string; - _type?: Element; + type?: string|undefined; + _type?: Element|undefined; } /** * Code Values for the StructureMap.group.input.mode field @@ -26532,267 +26532,267 @@ export interface StructureMapGroupRuleSource extends BackboneElement { /** * FHIRPath expression - must be true or the mapping engine throws an error instead of completing. */ - check?: string; - _check?: Element; + check?: string|undefined; + _check?: Element|undefined; /** * FHIRPath expression - must be true or the rule does not apply. */ - condition?: string; - _condition?: Element; + condition?: string|undefined; + _condition?: Element|undefined; /** * Type or variable this rule applies to. */ context: string; - _context?: Element; + _context?: Element|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueBase64Binary?: string; - _defaultValueBase64Binary?: Element; + defaultValueBase64Binary?: string|undefined; + _defaultValueBase64Binary?: Element|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueBoolean?: boolean; - _defaultValueBoolean?: Element; + defaultValueBoolean?: boolean|undefined; + _defaultValueBoolean?: Element|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueCanonical?: string; - _defaultValueCanonical?: Element; + defaultValueCanonical?: string|undefined; + _defaultValueCanonical?: Element|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueCode?: string; - _defaultValueCode?: Element; + defaultValueCode?: string|undefined; + _defaultValueCode?: Element|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueDate?: string; - _defaultValueDate?: Element; + defaultValueDate?: string|undefined; + _defaultValueDate?: Element|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueDateTime?: string; - _defaultValueDateTime?: Element; + defaultValueDateTime?: string|undefined; + _defaultValueDateTime?: Element|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueDecimal?: number; + defaultValueDecimal?: number|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueId?: string; - _defaultValueId?: Element; + defaultValueId?: string|undefined; + _defaultValueId?: Element|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueInstant?: string; - _defaultValueInstant?: Element; + defaultValueInstant?: string|undefined; + _defaultValueInstant?: Element|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueInteger?: number; + defaultValueInteger?: number|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueMarkdown?: string; - _defaultValueMarkdown?: Element; + defaultValueMarkdown?: string|undefined; + _defaultValueMarkdown?: Element|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueOid?: string; - _defaultValueOid?: Element; + defaultValueOid?: string|undefined; + _defaultValueOid?: Element|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValuePositiveInt?: number; + defaultValuePositiveInt?: number|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueString?: string; - _defaultValueString?: Element; + defaultValueString?: string|undefined; + _defaultValueString?: Element|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueTime?: string; - _defaultValueTime?: Element; + defaultValueTime?: string|undefined; + _defaultValueTime?: Element|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueUnsignedInt?: number; + defaultValueUnsignedInt?: number|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueUri?: string; - _defaultValueUri?: Element; + defaultValueUri?: string|undefined; + _defaultValueUri?: Element|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueUrl?: string; - _defaultValueUrl?: Element; + defaultValueUrl?: string|undefined; + _defaultValueUrl?: Element|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueUuid?: string; - _defaultValueUuid?: Element; + defaultValueUuid?: string|undefined; + _defaultValueUuid?: Element|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueAddress?: Address; + defaultValueAddress?: Address|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueAge?: Age; + defaultValueAge?: Age|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueAnnotation?: Annotation; + defaultValueAnnotation?: Annotation|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueAttachment?: Attachment; + defaultValueAttachment?: Attachment|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueCodeableConcept?: CodeableConcept; + defaultValueCodeableConcept?: CodeableConcept|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueCoding?: Coding; + defaultValueCoding?: Coding|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueContactPoint?: ContactPoint; + defaultValueContactPoint?: ContactPoint|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueCount?: Count; + defaultValueCount?: Count|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueDistance?: Distance; + defaultValueDistance?: Distance|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueDuration?: Duration; + defaultValueDuration?: Duration|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueHumanName?: HumanName; + defaultValueHumanName?: HumanName|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueIdentifier?: Identifier; + defaultValueIdentifier?: Identifier|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueMoney?: Money; + defaultValueMoney?: Money|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValuePeriod?: Period; + defaultValuePeriod?: Period|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueQuantity?: Quantity; + defaultValueQuantity?: Quantity|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueRange?: Range; + defaultValueRange?: Range|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueRatio?: Ratio; + defaultValueRatio?: Ratio|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueReference?: Reference; + defaultValueReference?: Reference|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueSampledData?: SampledData; + defaultValueSampledData?: SampledData|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueSignature?: Signature; + defaultValueSignature?: Signature|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueTiming?: Timing; + defaultValueTiming?: Timing|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueContactDetail?: ContactDetail; + defaultValueContactDetail?: ContactDetail|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueContributor?: Contributor; + defaultValueContributor?: Contributor|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueDataRequirement?: DataRequirement; + defaultValueDataRequirement?: DataRequirement|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueExpression?: Expression; + defaultValueExpression?: Expression|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueParameterDefinition?: ParameterDefinition; + defaultValueParameterDefinition?: ParameterDefinition|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueRelatedArtifact?: RelatedArtifact; + defaultValueRelatedArtifact?: RelatedArtifact|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueTriggerDefinition?: TriggerDefinition; + defaultValueTriggerDefinition?: TriggerDefinition|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueUsageContext?: UsageContext; + defaultValueUsageContext?: UsageContext|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueDosage?: Dosage; + defaultValueDosage?: Dosage|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueMeta?: Meta; + defaultValueMeta?: Meta|undefined; /** * Optional field for this source. */ - element?: string; - _element?: Element; + element?: string|undefined; + _element?: Element|undefined; /** * How to handle the list mode for this element. */ - listMode?: StructureMapGroupRuleSourceListModeCodes; - _listMode?: Element; + listMode?: StructureMapGroupRuleSourceListModeCodes|undefined; + _listMode?: Element|undefined; /** * This is typically used for recording that something Is not transformed to the target for some reason. */ - logMessage?: string; - _logMessage?: Element; + logMessage?: string|undefined; + _logMessage?: Element|undefined; /** * Specified maximum cardinality for the element - a number or a "*". This is optional; if present, it acts an implicit check on the input content (* just serves as documentation; it's the default value). */ - max?: string; - _max?: Element; + max?: string|undefined; + _max?: Element|undefined; /** * Specified minimum cardinality for the element. This is optional; if present, it acts an implicit check on the input content. */ - min?: number; + min?: number|undefined; /** * Specified type for the element. This works as a condition on the mapping - use for polymorphic elements. */ - type?: string; - _type?: Element; + type?: string|undefined; + _type?: Element|undefined; /** * Named context for field, if a field is specified. */ - variable?: string; - _variable?: Element; + variable?: string|undefined; + _variable?: Element|undefined; } /** * Code Values for the StructureMap.group.rule.source.listMode field @@ -26811,26 +26811,26 @@ export interface StructureMapGroupRuleTargetParameter extends BackboneElement { /** * Parameter value - variable or literal. */ - valueId?: string; - _valueId?: Element; + valueId?: string|undefined; + _valueId?: Element|undefined; /** * Parameter value - variable or literal. */ - valueString?: string; - _valueString?: Element; + valueString?: string|undefined; + _valueString?: Element|undefined; /** * Parameter value - variable or literal. */ - valueBoolean?: boolean; - _valueBoolean?: Element; + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; /** * Parameter value - variable or literal. */ - valueInteger?: number; + valueInteger?: number|undefined; /** * Parameter value - variable or literal. */ - valueDecimal?: number; + valueDecimal?: number|undefined; } /** * Content to create because of this mapping rule. @@ -26839,42 +26839,42 @@ export interface StructureMapGroupRuleTarget extends BackboneElement { /** * Type or variable this rule applies to. */ - context?: string; - _context?: Element; + context?: string|undefined; + _context?: Element|undefined; /** * How to interpret the context. */ - contextType?: StructureMapGroupRuleTargetContextTypeCodes; - _contextType?: Element; + contextType?: StructureMapGroupRuleTargetContextTypeCodes|undefined; + _contextType?: Element|undefined; /** * Field to create in the context. */ - element?: string; - _element?: Element; + element?: string|undefined; + _element?: Element|undefined; /** * If field is a list, how to manage the list. */ - listMode?: StructureMapGroupRuleTargetListModeCodes[]; - _listMode?: Element[]; + listMode?: StructureMapGroupRuleTargetListModeCodes[]|undefined; + _listMode?: Element[]|undefined; /** * Internal rule reference for shared list items. */ - listRuleId?: string; - _listRuleId?: Element; + listRuleId?: string|undefined; + _listRuleId?: Element|undefined; /** * Parameters to the transform. */ - parameter?: StructureMapGroupRuleTargetParameter[]; + parameter?: StructureMapGroupRuleTargetParameter[]|undefined; /** * How the data is copied / created. */ - transform?: StructureMapGroupRuleTargetTransformCodes; - _transform?: Element; + transform?: StructureMapGroupRuleTargetTransformCodes|undefined; + _transform?: Element|undefined; /** * Named context for field, if desired, and a field is specified. */ - variable?: string; - _variable?: Element; + variable?: string|undefined; + _variable?: Element|undefined; } /** * Code Values for the StructureMap.group.rule.target.contextType field @@ -26922,12 +26922,12 @@ export interface StructureMapGroupRuleDependent extends BackboneElement { * Name of a rule or group to apply. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * Variable to pass to the rule or group. */ variable: string[]; - _variable?: Element[]; + _variable?: Element[]|undefined; } /** * Transform Rule from source to target. @@ -26936,21 +26936,21 @@ export interface StructureMapGroupRule extends BackboneElement { /** * Which other rules to apply in the context of this rule. */ - dependent?: StructureMapGroupRuleDependent[]; + dependent?: StructureMapGroupRuleDependent[]|undefined; /** * Documentation for this instance of data. */ - documentation?: string; - _documentation?: Element; + documentation?: string|undefined; + _documentation?: Element|undefined; /** * Name of the rule for internal references. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * Rules contained in this rule. */ - rule?: StructureMapGroupRule[]; + rule?: StructureMapGroupRule[]|undefined; /** * Source inputs to the mapping. */ @@ -26958,7 +26958,7 @@ export interface StructureMapGroupRule extends BackboneElement { /** * Content to create because of this mapping rule. */ - target?: StructureMapGroupRuleTarget[]; + target?: StructureMapGroupRuleTarget[]|undefined; } /** * Organizes the mapping into manageable chunks for human review/ease of maintenance. @@ -26967,13 +26967,13 @@ export interface StructureMapGroup extends BackboneElement { /** * Additional supporting documentation that explains the purpose of the group and the types of mappings within it. */ - documentation?: string; - _documentation?: Element; + documentation?: string|undefined; + _documentation?: Element|undefined; /** * Another group that this group adds rules to. */ - extends?: string; - _extends?: Element; + extends?: string|undefined; + _extends?: Element|undefined; /** * If no inputs are named, then the entry mappings are type based. */ @@ -26982,7 +26982,7 @@ export interface StructureMapGroup extends BackboneElement { * A unique name for the group for the convenience of human readers. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * Transform Rule from source to target. */ @@ -26991,7 +26991,7 @@ export interface StructureMapGroup extends BackboneElement { * Not applicable if the underlying model is untyped. There can only be one default mapping for any particular type combination. */ typeMode: StructureMapGroupTypeModeCodes; - _typeMode?: Element; + _typeMode?: Element|undefined; } /** * Code Values for the StructureMap.group.typeMode field @@ -27010,27 +27010,27 @@ export interface StructureMap extends DomainResource { /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * A copyright statement relating to the structure map and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the structure map. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the structure map. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * This description can be used to capture details such as why the structure map was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the structure map as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the structure map is presumed to be the predominant language in the place the structure map was created). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Allows filtering of structure maps that are appropriate for use versus not. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * Organizes the mapping into manageable chunks for human review/ease of maintenance. */ @@ -27038,61 +27038,61 @@ export interface StructureMap extends DomainResource { /** * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this structure map outside of FHIR, where it is not possible to use the logical URI. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Other maps used by this map (canonical URLs). */ - import?: string[]; - _import?: Element[]; + import?: string[]|undefined; + _import?: Element[]|undefined; /** * It may be possible for the structure map to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * Usually an organization but may be an individual. The publisher (or steward) of the structure map is the organization or individual primarily responsible for the maintenance and upkeep of the structure map. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the structure map. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * This element does not describe the usage of the structure map. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this structure map. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * Allows filtering of structure maps that are appropriate for use versus not. */ status: StructureMapStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * It is not necessary for a structure map to identify any dependent structures, though not listing them may restrict its usefulness. */ - structure?: StructureMapStructure[]; + structure?: StructureMapStructure[]|undefined; /** * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. */ url: string; - _url?: Element; + _url?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different structure map instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the structure map with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the StructureMap.status field @@ -27110,23 +27110,23 @@ export interface SubscriptionChannel extends BackboneElement { /** * For rest-hook, and websocket, the end-point must be an http: or https: URL; for email, a mailto: url, for sms, a tel: url, and for message the endpoint can be in any form of url the server understands (usually, http: or mllp:). The URI is allowed to be relative; in which case, it is relative to the server end-point (since there may be more than one, clients should avoid using relative URIs). */ - endpoint?: string; - _endpoint?: Element; + endpoint?: string|undefined; + _endpoint?: Element|undefined; /** * Exactly what these mean depend on the channel type. They can convey additional information to the recipient and/or meet security requirements; for example, support of multiple headers in the outgoing notifications for rest-hook type subscriptions. */ - header?: string[]; - _header?: Element[]; + header?: string[]|undefined; + _header?: Element[]|undefined; /** * Sending the payload has obvious security implications. The server is responsible for ensuring that the content is appropriately secured. */ - payload?: string; - _payload?: Element; + payload?: string|undefined; + _payload?: Element|undefined; /** * The type of channel to send notifications on. */ type: SubscriptionChannelTypeCodes; - _type?: Element; + _type?: Element|undefined; } /** * Code Values for the Subscription.channel.type field @@ -27151,33 +27151,33 @@ export interface Subscription extends DomainResource { /** * Contact details for a human to contact about the subscription. The primary use of this for system administrator troubleshooting. */ - contact?: ContactPoint[]; + contact?: ContactPoint[]|undefined; /** * The rules are search criteria (without the [base] part). Like Bundle.entry.request.url, it has no leading "/". */ criteria: string; - _criteria?: Element; + _criteria?: Element|undefined; /** * The server is permitted to deviate from this time but should observe it. */ - end?: string; - _end?: Element; + end?: string|undefined; + _end?: Element|undefined; /** * A record of the last error that occurred when the server processed a notification. */ - error?: string; - _error?: Element; + error?: string|undefined; + _error?: Element|undefined; /** * A description of why this subscription is defined. */ reason: string; - _reason?: Element; + _reason?: Element|undefined; /** * A client can only submit subscription resources in the requested or off state. Only the server can move a subscription from requested to active, and then to error. Either the server or the client can turn a subscription off. * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: SubscriptionStatusCodes; - _status?: Element; + _status?: Element|undefined; } /** * Code Values for the Subscription.status field @@ -27195,16 +27195,16 @@ export interface SubstanceInstance extends BackboneElement { /** * When the substance is no longer valid to use. For some substances, a single arbitrary date is used for expiry. */ - expiry?: string; - _expiry?: Element; + expiry?: string|undefined; + _expiry?: Element|undefined; /** * Identifier associated with the package/container (usually a label affixed directly). */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * The amount of the substance. */ - quantity?: Quantity; + quantity?: Quantity|undefined; } /** * A substance can be composed of other substances. @@ -27213,15 +27213,15 @@ export interface SubstanceIngredient extends BackboneElement { /** * The amount of the ingredient in the substance - a concentration ratio. */ - quantity?: Ratio; + quantity?: Ratio|undefined; /** * Another substance that is a component of this substance. */ - substanceCodeableConcept?: CodeableConcept; + substanceCodeableConcept?: CodeableConcept|undefined; /** * Another substance that is a component of this substance. */ - substanceReference?: Reference; + substanceReference?: Reference|undefined; } /** * A homogeneous material with a definite composition. @@ -27232,7 +27232,7 @@ export interface Substance extends DomainResource { /** * The level of granularity is defined by the category concepts in the value set. More fine-grained filtering can be performed using the metadata and/or terminology hierarchy in Substance.code. */ - category?: CodeableConcept[]; + category?: CodeableConcept[]|undefined; /** * This could be a reference to an externally defined code. It could also be a locally assigned code (e.g. a formulary), optionally with translations to the standard drug codes. */ @@ -27240,25 +27240,25 @@ export interface Substance extends DomainResource { /** * A description of the substance - its appearance, handling requirements, and other usage notes. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * This identifier is associated with the kind of substance in contrast to the Substance.instance.identifier which is associated with the package/container. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * A substance can be composed of other substances. */ - ingredient?: SubstanceIngredient[]; + ingredient?: SubstanceIngredient[]|undefined; /** * Substance may be used to describe a kind of substance, or a specific package/container of the substance: an instance. */ - instance?: SubstanceInstance[]; + instance?: SubstanceInstance[]|undefined; /** * A code to indicate if the substance is actively used. */ - status?: SubstanceStatusCodes; - _status?: Element; + status?: SubstanceStatusCodes|undefined; + _status?: Element|undefined; } /** * Code Values for the Substance.status field @@ -27275,22 +27275,22 @@ export interface SubstanceNucleicAcidSubunitLinkage extends BackboneElement { /** * The entity that links the sugar residues together should also be captured for nearly all naturally occurring nucleic acid the linkage is a phosphate group. For many synthetic oligonucleotides phosphorothioate linkages are often seen. Linkage connectivity is assumed to be 3’-5’. If the linkage is either 3’-3’ or 5’-5’ this should be specified. */ - connectivity?: string; - _connectivity?: Element; + connectivity?: string|undefined; + _connectivity?: Element|undefined; /** * Each linkage will be registered as a fragment and have an ID. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * Each linkage will be registered as a fragment and have at least one name. A single name shall be assigned to each linkage. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Residues shall be captured as described in 5.3.6.8.3. */ - residueSite?: string; - _residueSite?: Element; + residueSite?: string|undefined; + _residueSite?: Element|undefined; } /** * 5.3.6.8.1 Sugar ID (Mandatory). @@ -27299,17 +27299,17 @@ export interface SubstanceNucleicAcidSubunitSugar extends BackboneElement { /** * The Substance ID of the sugar or sugar-like component that make up the nucleotide. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * The name of the sugar or sugar-like component that make up the nucleotide. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * The residues that contain a given sugar will be captured. The order of given residues will be captured in the 5‘-3‘direction consistent with the base sequences listed above. */ - residueSite?: string; - _residueSite?: Element; + residueSite?: string|undefined; + _residueSite?: Element|undefined; } /** * Subunits are listed in order of decreasing length; sequences of the same length will be ordered by molecular weight; subunits that have identical sequences will be repeated multiple times. @@ -27318,36 +27318,36 @@ export interface SubstanceNucleicAcidSubunit extends BackboneElement { /** * The nucleotide present at the 5’ terminal shall be specified based on a controlled vocabulary. Since the sequence is represented from the 5' to the 3' end, the 5’ prime nucleotide is the letter at the first position in the sequence. A separate representation would be redundant. */ - fivePrime?: CodeableConcept; + fivePrime?: CodeableConcept|undefined; /** * The length of the sequence shall be captured. */ - length?: number; + length?: number|undefined; /** * The linkages between sugar residues will also be captured. */ - linkage?: SubstanceNucleicAcidSubunitLinkage[]; + linkage?: SubstanceNucleicAcidSubunitLinkage[]|undefined; /** * Actual nucleotide sequence notation from 5' to 3' end using standard single letter codes. In addition to the base sequence, sugar and type of phosphate or non-phosphate linkage should also be captured. */ - sequence?: string; - _sequence?: Element; + sequence?: string|undefined; + _sequence?: Element|undefined; /** * (TBC). */ - sequenceAttachment?: Attachment; + sequenceAttachment?: Attachment|undefined; /** * Index of linear sequences of nucleic acids in order of decreasing length. Sequences of the same length will be ordered by molecular weight. Subunits that have identical sequences will be repeated and have sequential subscripts. */ - subunit?: number; + subunit?: number|undefined; /** * 5.3.6.8.1 Sugar ID (Mandatory). */ - sugar?: SubstanceNucleicAcidSubunitSugar[]; + sugar?: SubstanceNucleicAcidSubunitSugar[]|undefined; /** * The nucleotide present at the 3’ terminal shall be specified based on a controlled vocabulary. Since the sequence is represented from the 5' to the 3' end, the 5’ prime nucleotide is the letter at the last position in the sequence. A separate representation would be redundant. */ - threePrime?: CodeableConcept; + threePrime?: CodeableConcept|undefined; } /** * Nucleic acids are defined by three distinct elements: the base, sugar and linkage. Individual substance/moiety IDs will be created for each of these elements. The nucleotide sequence will be always entered in the 5’-3’ direction. @@ -27358,24 +27358,24 @@ export interface SubstanceNucleicAcid extends DomainResource { /** * The area of hybridisation shall be described if applicable for double stranded RNA or DNA. The number associated with the subunit followed by the number associated to the residue shall be specified in increasing order. The underscore “” shall be used as separator as follows: “Subunitnumber Residue”. */ - areaOfHybridisation?: string; - _areaOfHybridisation?: Element; + areaOfHybridisation?: string|undefined; + _areaOfHybridisation?: Element|undefined; /** * The number of linear sequences of nucleotides linked through phosphodiester bonds shall be described. Subunits would be strands of nucleic acids that are tightly associated typically through Watson-Crick base pairing. NOTE: If not specified in the reference source, the assumption is that there is 1 subunit. */ - numberOfSubunits?: number; + numberOfSubunits?: number|undefined; /** * (TBC). */ - oligoNucleotideType?: CodeableConcept; + oligoNucleotideType?: CodeableConcept|undefined; /** * The type of the sequence shall be specified based on a controlled vocabulary. */ - sequenceType?: CodeableConcept; + sequenceType?: CodeableConcept|undefined; /** * Subunits are listed in order of decreasing length; sequences of the same length will be ordered by molecular weight; subunits that have identical sequences will be repeated multiple times. */ - subunit?: SubstanceNucleicAcidSubunit[]; + subunit?: SubstanceNucleicAcidSubunit[]|undefined; } /** * Todo. @@ -27384,20 +27384,20 @@ export interface SubstancePolymerMonomerSetStartingMaterial extends BackboneElem /** * Todo. */ - amount?: SubstanceAmount; + amount?: SubstanceAmount|undefined; /** * Todo. */ - isDefining?: boolean; - _isDefining?: Element; + isDefining?: boolean|undefined; + _isDefining?: Element|undefined; /** * Todo. */ - material?: CodeableConcept; + material?: CodeableConcept|undefined; /** * Todo. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Todo. @@ -27406,11 +27406,11 @@ export interface SubstancePolymerMonomerSet extends BackboneElement { /** * Todo. */ - ratioType?: CodeableConcept; + ratioType?: CodeableConcept|undefined; /** * Todo. */ - startingMaterial?: SubstancePolymerMonomerSetStartingMaterial[]; + startingMaterial?: SubstancePolymerMonomerSetStartingMaterial[]|undefined; } /** * Todo. @@ -27419,11 +27419,11 @@ export interface SubstancePolymerRepeatRepeatUnitDegreeOfPolymerisation extends /** * Todo. */ - amount?: SubstanceAmount; + amount?: SubstanceAmount|undefined; /** * Todo. */ - degree?: CodeableConcept; + degree?: CodeableConcept|undefined; } /** * Todo. @@ -27432,16 +27432,16 @@ export interface SubstancePolymerRepeatRepeatUnitStructuralRepresentation extend /** * Todo. */ - attachment?: Attachment; + attachment?: Attachment|undefined; /** * Todo. */ - representation?: string; - _representation?: Element; + representation?: string|undefined; + _representation?: Element|undefined; /** * Todo. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Todo. @@ -27450,24 +27450,24 @@ export interface SubstancePolymerRepeatRepeatUnit extends BackboneElement { /** * Todo. */ - amount?: SubstanceAmount; + amount?: SubstanceAmount|undefined; /** * Todo. */ - degreeOfPolymerisation?: SubstancePolymerRepeatRepeatUnitDegreeOfPolymerisation[]; + degreeOfPolymerisation?: SubstancePolymerRepeatRepeatUnitDegreeOfPolymerisation[]|undefined; /** * Todo. */ - orientationOfPolymerisation?: CodeableConcept; + orientationOfPolymerisation?: CodeableConcept|undefined; /** * Todo. */ - repeatUnit?: string; - _repeatUnit?: Element; + repeatUnit?: string|undefined; + _repeatUnit?: Element|undefined; /** * Todo. */ - structuralRepresentation?: SubstancePolymerRepeatRepeatUnitStructuralRepresentation[]; + structuralRepresentation?: SubstancePolymerRepeatRepeatUnitStructuralRepresentation[]|undefined; } /** * Todo. @@ -27476,20 +27476,20 @@ export interface SubstancePolymerRepeat extends BackboneElement { /** * Todo. */ - averageMolecularFormula?: string; - _averageMolecularFormula?: Element; + averageMolecularFormula?: string|undefined; + _averageMolecularFormula?: Element|undefined; /** * Todo. */ - numberOfUnits?: number; + numberOfUnits?: number|undefined; /** * Todo. */ - repeatUnit?: SubstancePolymerRepeatRepeatUnit[]; + repeatUnit?: SubstancePolymerRepeatRepeatUnit[]|undefined; /** * Todo. */ - repeatUnitAmountType?: CodeableConcept; + repeatUnitAmountType?: CodeableConcept|undefined; } /** * Todo. @@ -27500,28 +27500,28 @@ export interface SubstancePolymer extends DomainResource { /** * Todo. */ - class?: CodeableConcept; + class?: CodeableConcept|undefined; /** * Todo. */ - copolymerConnectivity?: CodeableConcept[]; + copolymerConnectivity?: CodeableConcept[]|undefined; /** * Todo. */ - geometry?: CodeableConcept; + geometry?: CodeableConcept|undefined; /** * Todo. */ - modification?: string[]; - _modification?: Element[]; + modification?: string[]|undefined; + _modification?: Element[]|undefined; /** * Todo. */ - monomerSet?: SubstancePolymerMonomerSet[]; + monomerSet?: SubstancePolymerMonomerSet[]|undefined; /** * Todo. */ - repeat?: SubstancePolymerRepeat[]; + repeat?: SubstancePolymerRepeat[]|undefined; } /** * This subclause refers to the description of each subunit constituting the SubstanceProtein. A subunit is a linear sequence of amino acids linked through peptide bonds. The Subunit information shall be provided when the finished SubstanceProtein is a complex of multiple sequences; subunits are not used to delineate domains within a single sequence. Subunits are listed in order of decreasing length; sequences of the same length will be ordered by decreasing molecular weight; subunits that have identical sequences will be repeated multiple times. @@ -27530,38 +27530,38 @@ export interface SubstanceProteinSubunit extends BackboneElement { /** * The modification at the C-terminal shall be specified. */ - cTerminalModification?: string; - _cTerminalModification?: Element; + cTerminalModification?: string|undefined; + _cTerminalModification?: Element|undefined; /** * Unique identifier for molecular fragment modification based on the ISO 11238 Substance ID. */ - cTerminalModificationId?: Identifier; + cTerminalModificationId?: Identifier|undefined; /** * Length of linear sequences of amino acids contained in the subunit. */ - length?: number; + length?: number|undefined; /** * The name of the fragment modified at the N-terminal of the SubstanceProtein shall be specified. */ - nTerminalModification?: string; - _nTerminalModification?: Element; + nTerminalModification?: string|undefined; + _nTerminalModification?: Element|undefined; /** * Unique identifier for molecular fragment modification based on the ISO 11238 Substance ID. */ - nTerminalModificationId?: Identifier; + nTerminalModificationId?: Identifier|undefined; /** * The sequence information shall be provided enumerating the amino acids from N- to C-terminal end using standard single-letter amino acid codes. Uppercase shall be used for L-amino acids and lowercase for D-amino acids. Transcribed SubstanceProteins will always be described using the translated sequence; for synthetic peptide containing amino acids that are not represented with a single letter code an X should be used within the sequence. The modified amino acids will be distinguished by their position in the sequence. */ - sequence?: string; - _sequence?: Element; + sequence?: string|undefined; + _sequence?: Element|undefined; /** * The sequence information shall be provided enumerating the amino acids from N- to C-terminal end using standard single-letter amino acid codes. Uppercase shall be used for L-amino acids and lowercase for D-amino acids. Transcribed SubstanceProteins will always be described using the translated sequence; for synthetic peptide containing amino acids that are not represented with a single letter code an X should be used within the sequence. The modified amino acids will be distinguished by their position in the sequence. */ - sequenceAttachment?: Attachment; + sequenceAttachment?: Attachment|undefined; /** * Index of primary sequences of amino acids linked through peptide bonds in order of decreasing length. Sequences of the same length will be ordered by molecular weight. Subunits that have identical sequences will be repeated and have sequential subscripts. */ - subunit?: number; + subunit?: number|undefined; } /** * A SubstanceProtein is defined as a single unit of a linear amino acid sequence, or a combination of subunits that are either covalently linked or have a defined invariant stoichiometric relationship. This includes all synthetic, recombinant and purified SubstanceProteins of defined sequence, whether the use is therapeutic or prophylactic. This set of elements will be used to describe albumins, coagulation factors, cytokines, growth factors, peptide/SubstanceProtein hormones, enzymes, toxins, toxoids, recombinant vaccines, and immunomodulators. @@ -27572,20 +27572,20 @@ export interface SubstanceProtein extends DomainResource { /** * The disulphide bond between two cysteine residues either on the same subunit or on two different subunits shall be described. The position of the disulfide bonds in the SubstanceProtein shall be listed in increasing order of subunit number and position within subunit followed by the abbreviation of the amino acids involved. The disulfide linkage positions shall actually contain the amino acid Cysteine at the respective positions. */ - disulfideLinkage?: string[]; - _disulfideLinkage?: Element[]; + disulfideLinkage?: string[]|undefined; + _disulfideLinkage?: Element[]|undefined; /** * Number of linear sequences of amino acids linked through peptide bonds. The number of subunits constituting the SubstanceProtein shall be described. It is possible that the number of subunits can be variable. */ - numberOfSubunits?: number; + numberOfSubunits?: number|undefined; /** * The SubstanceProtein descriptive elements will only be used when a complete or partial amino acid sequence is available or derivable from a nucleic acid sequence. */ - sequenceType?: CodeableConcept; + sequenceType?: CodeableConcept|undefined; /** * This subclause refers to the description of each subunit constituting the SubstanceProtein. A subunit is a linear sequence of amino acids linked through peptide bonds. The Subunit information shall be provided when the finished SubstanceProtein is a complex of multiple sequences; subunits are not used to delineate domains within a single sequence. Subunits are listed in order of decreasing length; sequences of the same length will be ordered by decreasing molecular weight; subunits that have identical sequences will be repeated multiple times. */ - subunit?: SubstanceProteinSubunit[]; + subunit?: SubstanceProteinSubunit[]|undefined; } /** * Todo. @@ -27594,15 +27594,15 @@ export interface SubstanceReferenceInformationGene extends BackboneElement { /** * Todo. */ - gene?: CodeableConcept; + gene?: CodeableConcept|undefined; /** * Todo. */ - geneSequenceOrigin?: CodeableConcept; + geneSequenceOrigin?: CodeableConcept|undefined; /** * Todo. */ - source?: Reference[]; + source?: Reference[]|undefined; } /** * Todo. @@ -27611,15 +27611,15 @@ export interface SubstanceReferenceInformationGeneElement extends BackboneElemen /** * Todo. */ - element?: Identifier; + element?: Identifier|undefined; /** * Todo. */ - source?: Reference[]; + source?: Reference[]|undefined; /** * Todo. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Todo. @@ -27628,19 +27628,19 @@ export interface SubstanceReferenceInformationClassification extends BackboneEle /** * Todo. */ - classification?: CodeableConcept; + classification?: CodeableConcept|undefined; /** * Todo. */ - domain?: CodeableConcept; + domain?: CodeableConcept|undefined; /** * Todo. */ - source?: Reference[]; + source?: Reference[]|undefined; /** * Todo. */ - subtype?: CodeableConcept[]; + subtype?: CodeableConcept[]|undefined; } /** * Todo. @@ -27649,44 +27649,44 @@ export interface SubstanceReferenceInformationTarget extends BackboneElement { /** * Todo. */ - amountQuantity?: Quantity; + amountQuantity?: Quantity|undefined; /** * Todo. */ - amountRange?: Range; + amountRange?: Range|undefined; /** * Todo. */ - amountString?: string; - _amountString?: Element; + amountString?: string|undefined; + _amountString?: Element|undefined; /** * Todo. */ - amountType?: CodeableConcept; + amountType?: CodeableConcept|undefined; /** * Todo. */ - interaction?: CodeableConcept; + interaction?: CodeableConcept|undefined; /** * Todo. */ - organism?: CodeableConcept; + organism?: CodeableConcept|undefined; /** * Todo. */ - organismType?: CodeableConcept; + organismType?: CodeableConcept|undefined; /** * Todo. */ - source?: Reference[]; + source?: Reference[]|undefined; /** * Todo. */ - target?: Identifier; + target?: Identifier|undefined; /** * Todo. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Todo. @@ -27697,24 +27697,24 @@ export interface SubstanceReferenceInformation extends DomainResource { /** * Todo. */ - classification?: SubstanceReferenceInformationClassification[]; + classification?: SubstanceReferenceInformationClassification[]|undefined; /** * Todo. */ - comment?: string; - _comment?: Element; + comment?: string|undefined; + _comment?: Element|undefined; /** * Todo. */ - gene?: SubstanceReferenceInformationGene[]; + gene?: SubstanceReferenceInformationGene[]|undefined; /** * Todo. */ - geneElement?: SubstanceReferenceInformationGeneElement[]; + geneElement?: SubstanceReferenceInformationGeneElement[]|undefined; /** * Todo. */ - target?: SubstanceReferenceInformationTarget[]; + target?: SubstanceReferenceInformationTarget[]|undefined; } /** * Many complex materials are fractions of parts of plants, animals, or minerals. Fraction elements are often necessary to define both Substances and Specified Group 1 Substances. For substances derived from Plants, fraction information will be captured at the Substance information level ( . Oils, Juices and Exudates). Additional information for Extracts, such as extraction solvent composition, will be captured at the Specified Substance Group 1 information level. For plasma-derived products fraction information will be captured at the Substance and the Specified Substance Group 1 levels. @@ -27723,12 +27723,12 @@ export interface SubstanceSourceMaterialFractionDescription extends BackboneElem /** * This element is capturing information about the fraction of a plant part, or human plasma for fractionation. */ - fraction?: string; - _fraction?: Element; + fraction?: string|undefined; + _fraction?: Element|undefined; /** * The specific type of the material constituting the component. For Herbal preparations the particulars of the extracts (liquid/dry) is described in Specified Substance Group 1. */ - materialType?: CodeableConcept; + materialType?: CodeableConcept|undefined; } /** * 4.9.13.6.1 Author type (Conditional). @@ -27737,12 +27737,12 @@ export interface SubstanceSourceMaterialOrganismAuthor extends BackboneElement { /** * The author of an organism species shall be specified. The author year of an organism shall also be specified when applicable; refers to the year in which the first author(s) published the infraspecific plant/animal name (of any rank). */ - authorDescription?: string; - _authorDescription?: Element; + authorDescription?: string|undefined; + _authorDescription?: Element|undefined; /** * The type of author of an organism species shall be specified. The parenthetical author of an organism species refers to the first author who published the plant/animal name (of any rank). The primary author of an organism species refers to the first author(s), who validly published the plant/animal name. */ - authorType?: CodeableConcept; + authorType?: CodeableConcept|undefined; } /** * 4.9.13.8.1 Hybrid species maternal organism ID (Optional). @@ -27751,27 +27751,27 @@ export interface SubstanceSourceMaterialOrganismHybrid extends BackboneElement { /** * The hybrid type of an organism shall be specified. */ - hybridType?: CodeableConcept; + hybridType?: CodeableConcept|undefined; /** * The identifier of the maternal species constituting the hybrid organism shall be specified based on a controlled vocabulary. For plants, the parents aren’t always known, and it is unlikely that it will be known which is maternal and which is paternal. */ - maternalOrganismId?: string; - _maternalOrganismId?: Element; + maternalOrganismId?: string|undefined; + _maternalOrganismId?: Element|undefined; /** * The name of the maternal species constituting the hybrid organism shall be specified. For plants, the parents aren’t always known, and it is unlikely that it will be known which is maternal and which is paternal. */ - maternalOrganismName?: string; - _maternalOrganismName?: Element; + maternalOrganismName?: string|undefined; + _maternalOrganismName?: Element|undefined; /** * The identifier of the paternal species constituting the hybrid organism shall be specified based on a controlled vocabulary. */ - paternalOrganismId?: string; - _paternalOrganismId?: Element; + paternalOrganismId?: string|undefined; + _paternalOrganismId?: Element|undefined; /** * The name of the paternal species constituting the hybrid organism shall be specified. */ - paternalOrganismName?: string; - _paternalOrganismName?: Element; + paternalOrganismName?: string|undefined; + _paternalOrganismName?: Element|undefined; } /** * 4.9.13.7.1 Kingdom (Conditional). @@ -27780,19 +27780,19 @@ export interface SubstanceSourceMaterialOrganismOrganismGeneral extends Backbone /** * The class of an organism shall be specified. */ - class?: CodeableConcept; + class?: CodeableConcept|undefined; /** * The kingdom of an organism shall be specified. */ - kingdom?: CodeableConcept; + kingdom?: CodeableConcept|undefined; /** * The order of an organism shall be specified,. */ - order?: CodeableConcept; + order?: CodeableConcept|undefined; /** * The phylum of an organism shall be specified. */ - phylum?: CodeableConcept; + phylum?: CodeableConcept|undefined; } /** * This subclause describes the organism which the substance is derived from. For vaccines, the parent organism shall be specified based on these subclause elements. As an example, full taxonomy will be described for the Substance Name: ., Leaf. @@ -27801,36 +27801,36 @@ export interface SubstanceSourceMaterialOrganism extends BackboneElement { /** * 4.9.13.6.1 Author type (Conditional). */ - author?: SubstanceSourceMaterialOrganismAuthor[]; + author?: SubstanceSourceMaterialOrganismAuthor[]|undefined; /** * The family of an organism shall be specified. */ - family?: CodeableConcept; + family?: CodeableConcept|undefined; /** * The genus of an organism shall be specified; refers to the Latin epithet of the genus element of the plant/animal scientific name; it is present in names for genera, species and infraspecies. */ - genus?: CodeableConcept; + genus?: CodeableConcept|undefined; /** * 4.9.13.8.1 Hybrid species maternal organism ID (Optional). */ - hybrid?: SubstanceSourceMaterialOrganismHybrid; + hybrid?: SubstanceSourceMaterialOrganismHybrid|undefined; /** * The intraspecific description of an organism shall be specified based on a controlled vocabulary. For Influenza Vaccine, the intraspecific description shall contain the syntax of the antigen in line with the WHO convention. */ - intraspecificDescription?: string; - _intraspecificDescription?: Element; + intraspecificDescription?: string|undefined; + _intraspecificDescription?: Element|undefined; /** * The Intraspecific type of an organism shall be specified. */ - intraspecificType?: CodeableConcept; + intraspecificType?: CodeableConcept|undefined; /** * 4.9.13.7.1 Kingdom (Conditional). */ - organismGeneral?: SubstanceSourceMaterialOrganismOrganismGeneral; + organismGeneral?: SubstanceSourceMaterialOrganismOrganismGeneral|undefined; /** * The species of an organism shall be specified; refers to the Latin epithet of the species of the plant/animal; it is present in names for species and infraspecies. */ - species?: CodeableConcept; + species?: CodeableConcept|undefined; } /** * To do. @@ -27839,11 +27839,11 @@ export interface SubstanceSourceMaterialPartDescription extends BackboneElement /** * Entity of anatomical origin of source material within an organism. */ - part?: CodeableConcept; + part?: CodeableConcept|undefined; /** * The detailed anatomic location when the part can be extracted from different anatomical locations of the organism. Multiple alternative locations may apply. */ - partLocation?: CodeableConcept; + partLocation?: CodeableConcept|undefined; } /** * Source material shall capture information on the taxonomic and anatomical origins as well as the fraction of a material that can result in or can be modified to form a substance. This set of data elements shall be used to define polymer substances isolated from biological matrices. Taxonomic and anatomical origins shall be described using a controlled vocabulary as required. This information is captured for naturally derived polymers ( . starch) and structurally diverse substances. For Organisms belonging to the Kingdom Plantae the Substance level defines the fresh material of a single species or infraspecies, the Herbal Drug and the Herbal preparation. For Herbal preparations, the fraction information will be captured at the Substance information level and additional information for herbal extracts will be captured at the Specified Substance Group 1 information level. See for further explanation the Substance Class: Structurally Diverse and the herbal annex. @@ -27854,58 +27854,58 @@ export interface SubstanceSourceMaterial extends DomainResource { /** * The country where the plant material is harvested or the countries where the plasma is sourced from as laid down in accordance with the Plasma Master File. For “Plasma-derived substances” the attribute country of origin provides information about the countries used for the manufacturing of the Cryopoor plama or Crioprecipitate. */ - countryOfOrigin?: CodeableConcept[]; + countryOfOrigin?: CodeableConcept[]|undefined; /** * Stage of life for animals, plants, insects and microorganisms. This information shall be provided only when the substance is significantly different in these stages (e.g. foetal bovine serum). */ - developmentStage?: CodeableConcept; + developmentStage?: CodeableConcept|undefined; /** * Many complex materials are fractions of parts of plants, animals, or minerals. Fraction elements are often necessary to define both Substances and Specified Group 1 Substances. For substances derived from Plants, fraction information will be captured at the Substance information level ( . Oils, Juices and Exudates). Additional information for Extracts, such as extraction solvent composition, will be captured at the Specified Substance Group 1 information level. For plasma-derived products fraction information will be captured at the Substance and the Specified Substance Group 1 levels. */ - fractionDescription?: SubstanceSourceMaterialFractionDescription[]; + fractionDescription?: SubstanceSourceMaterialFractionDescription[]|undefined; /** * The place/region where the plant is harvested or the places/regions where the animal source material has its habitat. */ - geographicalLocation?: string[]; - _geographicalLocation?: Element[]; + geographicalLocation?: string[]|undefined; + _geographicalLocation?: Element[]|undefined; /** * This subclause describes the organism which the substance is derived from. For vaccines, the parent organism shall be specified based on these subclause elements. As an example, full taxonomy will be described for the Substance Name: ., Leaf. */ - organism?: SubstanceSourceMaterialOrganism; + organism?: SubstanceSourceMaterialOrganism|undefined; /** * The unique identifier associated with the source material parent organism shall be specified. */ - organismId?: Identifier; + organismId?: Identifier|undefined; /** * The organism accepted Scientific name shall be provided based on the organism taxonomy. */ - organismName?: string; - _organismName?: Element; + organismName?: string|undefined; + _organismName?: Element|undefined; /** * The parent of the herbal drug Ginkgo biloba, Leaf is the substance ID of the substance (fresh) of Ginkgo biloba L. or Ginkgo biloba L. (Whole plant). */ - parentSubstanceId?: Identifier[]; + parentSubstanceId?: Identifier[]|undefined; /** * The parent substance of the Herbal Drug, or Herbal preparation. */ - parentSubstanceName?: string[]; - _parentSubstanceName?: Element[]; + parentSubstanceName?: string[]|undefined; + _parentSubstanceName?: Element[]|undefined; /** * To do. */ - partDescription?: SubstanceSourceMaterialPartDescription[]; + partDescription?: SubstanceSourceMaterialPartDescription[]|undefined; /** * General high level classification of the source material specific to the origin of the material. */ - sourceMaterialClass?: CodeableConcept; + sourceMaterialClass?: CodeableConcept|undefined; /** * The state of the source material when extracted. */ - sourceMaterialState?: CodeableConcept; + sourceMaterialState?: CodeableConcept|undefined; /** * The type of the source material shall be specified based on a controlled vocabulary. For vaccines, this subclause refers to the class of infectious agent. */ - sourceMaterialType?: CodeableConcept; + sourceMaterialType?: CodeableConcept|undefined; } /** * Moiety, for structural modifications. @@ -27914,38 +27914,38 @@ export interface SubstanceSpecificationMoiety extends BackboneElement { /** * Quantitative value for this moiety. */ - amountQuantity?: Quantity; + amountQuantity?: Quantity|undefined; /** * Quantitative value for this moiety. */ - amountString?: string; - _amountString?: Element; + amountString?: string|undefined; + _amountString?: Element|undefined; /** * Identifier by which this moiety substance is known. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * Molecular formula. */ - molecularFormula?: string; - _molecularFormula?: Element; + molecularFormula?: string|undefined; + _molecularFormula?: Element|undefined; /** * Textual name for this moiety substance. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Optical activity type. */ - opticalActivity?: CodeableConcept; + opticalActivity?: CodeableConcept|undefined; /** * Role that the moiety is playing. */ - role?: CodeableConcept; + role?: CodeableConcept|undefined; /** * Stereochemistry type. */ - stereochemistry?: CodeableConcept; + stereochemistry?: CodeableConcept|undefined; } /** * General specifications for this substance, including how it is related to other substances. @@ -27954,33 +27954,33 @@ export interface SubstanceSpecificationProperty extends BackboneElement { /** * Quantitative value for this property. */ - amountQuantity?: Quantity; + amountQuantity?: Quantity|undefined; /** * Quantitative value for this property. */ - amountString?: string; - _amountString?: Element; + amountString?: string|undefined; + _amountString?: Element|undefined; /** * A category for this property, e.g. Physical, Chemical, Enzymatic. */ - category?: CodeableConcept; + category?: CodeableConcept|undefined; /** * Property type e.g. viscosity, pH, isoelectric point. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * A substance upon which a defining property depends (e.g. for solubility: in water, in alcohol). */ - definingSubstanceReference?: Reference; + definingSubstanceReference?: Reference|undefined; /** * A substance upon which a defining property depends (e.g. for solubility: in water, in alcohol). */ - definingSubstanceCodeableConcept?: CodeableConcept; + definingSubstanceCodeableConcept?: CodeableConcept|undefined; /** * Parameters that were used in the measurement of a property (e.g. for viscosity: measured at 20C with a pH of 7.1). */ - parameters?: string; - _parameters?: Element; + parameters?: string|undefined; + _parameters?: Element|undefined; } /** * The molecular weight or weight range (for proteins, polymers or nucleic acids). @@ -27989,15 +27989,15 @@ export interface SubstanceSpecificationStructureIsotopeMolecularWeight extends B /** * Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field. */ - amount?: Quantity; + amount?: Quantity|undefined; /** * The method by which the molecular weight was determined. */ - method?: CodeableConcept; + method?: CodeableConcept|undefined; /** * Type of molecular weight such as exact, average (also known as. number average), weight average. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Applicable for single substances that contain a radionuclide or a non-natural isotopic ratio. @@ -28006,23 +28006,23 @@ export interface SubstanceSpecificationStructureIsotope extends BackboneElement /** * Half life - for a non-natural nuclide. */ - halfLife?: Quantity; + halfLife?: Quantity|undefined; /** * Substance identifier for each non-natural or radioisotope. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * The molecular weight or weight range (for proteins, polymers or nucleic acids). */ - molecularWeight?: SubstanceSpecificationStructureIsotopeMolecularWeight; + molecularWeight?: SubstanceSpecificationStructureIsotopeMolecularWeight|undefined; /** * Substance name for each non-natural or radioisotope. */ - name?: CodeableConcept; + name?: CodeableConcept|undefined; /** * The type of isotopic substitution present in a single substance. */ - substitution?: CodeableConcept; + substitution?: CodeableConcept|undefined; } /** * Molecular structural representation. @@ -28031,16 +28031,16 @@ export interface SubstanceSpecificationStructureRepresentation extends BackboneE /** * An attached file with the structural representation. */ - attachment?: Attachment; + attachment?: Attachment|undefined; /** * The structural representation as text string in a format e.g. InChI, SMILES, MOLFILE, CDX. */ - representation?: string; - _representation?: Element; + representation?: string|undefined; + _representation?: Element|undefined; /** * The type of structure (e.g. Full, Partial, Representative). */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Structural information. @@ -28049,37 +28049,37 @@ export interface SubstanceSpecificationStructure extends BackboneElement { /** * Applicable for single substances that contain a radionuclide or a non-natural isotopic ratio. */ - isotope?: SubstanceSpecificationStructureIsotope[]; + isotope?: SubstanceSpecificationStructureIsotope[]|undefined; /** * Molecular formula. */ - molecularFormula?: string; - _molecularFormula?: Element; + molecularFormula?: string|undefined; + _molecularFormula?: Element|undefined; /** * Specified per moiety according to the Hill system, i.e. first C, then H, then alphabetical, each moiety separated by a dot. */ - molecularFormulaByMoiety?: string; - _molecularFormulaByMoiety?: Element; + molecularFormulaByMoiety?: string|undefined; + _molecularFormulaByMoiety?: Element|undefined; /** * The molecular weight or weight range (for proteins, polymers or nucleic acids). */ - molecularWeight?: SubstanceSpecificationStructureIsotopeMolecularWeight; + molecularWeight?: SubstanceSpecificationStructureIsotopeMolecularWeight|undefined; /** * Optical activity type. */ - opticalActivity?: CodeableConcept; + opticalActivity?: CodeableConcept|undefined; /** * Molecular structural representation. */ - representation?: SubstanceSpecificationStructureRepresentation[]; + representation?: SubstanceSpecificationStructureRepresentation[]|undefined; /** * Supporting literature. */ - source?: Reference[]; + source?: Reference[]|undefined; /** * Stereochemistry type. */ - stereochemistry?: CodeableConcept; + stereochemistry?: CodeableConcept|undefined; } /** * Codes associated with the substance. @@ -28088,25 +28088,25 @@ export interface SubstanceSpecificationCode extends BackboneElement { /** * The specific code. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * Any comment can be provided in this field, if necessary. */ - comment?: string; - _comment?: Element; + comment?: string|undefined; + _comment?: Element|undefined; /** * Supporting literature. */ - source?: Reference[]; + source?: Reference[]|undefined; /** * Status of the code assignment. */ - status?: CodeableConcept; + status?: CodeableConcept|undefined; /** * The date at which the code status is changed as part of the terminology maintenance. */ - statusDate?: string; - _statusDate?: Element; + statusDate?: string|undefined; + _statusDate?: Element|undefined; } /** * Details of the official nature of this name. @@ -28115,16 +28115,16 @@ export interface SubstanceSpecificationNameOfficial extends BackboneElement { /** * Which authority uses this official name. */ - authority?: CodeableConcept; + authority?: CodeableConcept|undefined; /** * Date of official name change. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * The status of the official name. */ - status?: CodeableConcept; + status?: CodeableConcept|undefined; } /** * Names applicable to this substance. @@ -28133,49 +28133,49 @@ export interface SubstanceSpecificationName extends BackboneElement { /** * The use context of this name for example if there is a different name a drug active ingredient as opposed to a food colour additive. */ - domain?: CodeableConcept[]; + domain?: CodeableConcept[]|undefined; /** * The jurisdiction where this name applies. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * Language of the name. */ - language?: CodeableConcept[]; + language?: CodeableConcept[]|undefined; /** * The actual name. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * Details of the official nature of this name. */ - official?: SubstanceSpecificationNameOfficial[]; + official?: SubstanceSpecificationNameOfficial[]|undefined; /** * If this is the preferred name for this substance. */ - preferred?: boolean; - _preferred?: Element; + preferred?: boolean|undefined; + _preferred?: Element|undefined; /** * Supporting literature. */ - source?: Reference[]; + source?: Reference[]|undefined; /** * The status of the name. */ - status?: CodeableConcept; + status?: CodeableConcept|undefined; /** * A synonym of this name. */ - synonym?: SubstanceSpecificationName[]; + synonym?: SubstanceSpecificationName[]|undefined; /** * A translation for this name. */ - translation?: SubstanceSpecificationName[]; + translation?: SubstanceSpecificationName[]|undefined; /** * Name type. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * A link between this substance and another, with details of the relationship. @@ -28184,49 +28184,49 @@ export interface SubstanceSpecificationRelationship extends BackboneElement { /** * A numeric factor for the relationship, for instance to express that the salt of a substance has some percentage of the active substance in relation to some other. */ - amountQuantity?: Quantity; + amountQuantity?: Quantity|undefined; /** * A numeric factor for the relationship, for instance to express that the salt of a substance has some percentage of the active substance in relation to some other. */ - amountRange?: Range; + amountRange?: Range|undefined; /** * A numeric factor for the relationship, for instance to express that the salt of a substance has some percentage of the active substance in relation to some other. */ - amountRatio?: Ratio; + amountRatio?: Ratio|undefined; /** * A numeric factor for the relationship, for instance to express that the salt of a substance has some percentage of the active substance in relation to some other. */ - amountString?: string; - _amountString?: Element; + amountString?: string|undefined; + _amountString?: Element|undefined; /** * For use when the numeric. */ - amountRatioLowLimit?: Ratio; + amountRatioLowLimit?: Ratio|undefined; /** * An operator for the amount, for example "average", "approximately", "less than". */ - amountType?: CodeableConcept; + amountType?: CodeableConcept|undefined; /** * For example where an enzyme strongly bonds with a particular substance, this is a defining relationship for that enzyme, out of several possible substance relationships. */ - isDefining?: boolean; - _isDefining?: Element; + isDefining?: boolean|undefined; + _isDefining?: Element|undefined; /** * For example "salt to parent", "active moiety", "starting material". */ - relationship?: CodeableConcept; + relationship?: CodeableConcept|undefined; /** * Supporting literature. */ - source?: Reference[]; + source?: Reference[]|undefined; /** * A pointer to another substance, as a resource or just a representational code. */ - substanceReference?: Reference; + substanceReference?: Reference|undefined; /** * A pointer to another substance, as a resource or just a representational code. */ - substanceCodeableConcept?: CodeableConcept; + substanceCodeableConcept?: CodeableConcept|undefined; } /** * The detailed description of a substance, typically at a level beyond what is used for prescribing. @@ -28237,81 +28237,81 @@ export interface SubstanceSpecification extends DomainResource { /** * Codes associated with the substance. */ - code?: SubstanceSpecificationCode[]; + code?: SubstanceSpecificationCode[]|undefined; /** * Textual comment about this record of a substance. */ - comment?: string; - _comment?: Element; + comment?: string|undefined; + _comment?: Element|undefined; /** * Textual description of the substance. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * If the substance applies to only human or veterinary use. */ - domain?: CodeableConcept; + domain?: CodeableConcept|undefined; /** * Identifier by which this substance is known. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * Moiety, for structural modifications. */ - moiety?: SubstanceSpecificationMoiety[]; + moiety?: SubstanceSpecificationMoiety[]|undefined; /** * The molecular weight or weight range (for proteins, polymers or nucleic acids). */ - molecularWeight?: SubstanceSpecificationStructureIsotopeMolecularWeight[]; + molecularWeight?: SubstanceSpecificationStructureIsotopeMolecularWeight[]|undefined; /** * Names applicable to this substance. */ - name?: SubstanceSpecificationName[]; + name?: SubstanceSpecificationName[]|undefined; /** * Data items specific to nucleic acids. */ - nucleicAcid?: Reference; + nucleicAcid?: Reference|undefined; /** * Data items specific to polymers. */ - polymer?: Reference; + polymer?: Reference|undefined; /** * General specifications for this substance, including how it is related to other substances. */ - property?: SubstanceSpecificationProperty[]; + property?: SubstanceSpecificationProperty[]|undefined; /** * Data items specific to proteins. */ - protein?: Reference; + protein?: Reference|undefined; /** * General information detailing this substance. */ - referenceInformation?: Reference; + referenceInformation?: Reference|undefined; /** * A link between this substance and another, with details of the relationship. */ - relationship?: SubstanceSpecificationRelationship[]; + relationship?: SubstanceSpecificationRelationship[]|undefined; /** * Supporting literature. */ - source?: Reference[]; + source?: Reference[]|undefined; /** * Material or taxonomic/anatomical source for the substance. */ - sourceMaterial?: Reference; + sourceMaterial?: Reference|undefined; /** * Status of substance within the catalogue e.g. approved. */ - status?: CodeableConcept; + status?: CodeableConcept|undefined; /** * Structural information. */ - structure?: SubstanceSpecificationStructure; + structure?: SubstanceSpecificationStructure|undefined; /** * High level categorization, e.g. polymer or nucleic acid. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * The item that is being delivered or has been supplied. @@ -28320,15 +28320,15 @@ export interface SupplyDeliverySuppliedItem extends BackboneElement { /** * Identifies the medication, substance or device being dispensed. This is either a link to a resource representing the details of the item or a code that identifies the item from a known list. */ - itemCodeableConcept?: CodeableConcept; + itemCodeableConcept?: CodeableConcept|undefined; /** * Identifies the medication, substance or device being dispensed. This is either a link to a resource representing the details of the item or a code that identifies the item from a known list. */ - itemReference?: Reference; + itemReference?: Reference|undefined; /** * The amount of supply that has been dispensed. Includes unit of measure. */ - quantity?: Quantity; + quantity?: Quantity|undefined; } /** * Record of delivery of what is supplied. @@ -28339,58 +28339,58 @@ export interface SupplyDelivery extends DomainResource { /** * A plan, proposal or order that is fulfilled in whole or in part by this event. */ - basedOn?: Reference[]; + basedOn?: Reference[]|undefined; /** * Identification of the facility/location where the Supply was shipped to, as part of the dispense event. */ - destination?: Reference; + destination?: Reference|undefined; /** * This identifier is typically assigned by the dispenser, and may be used to reference the delivery when exchanging information about it with other systems. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * [The list of types may be constrained as appropriate for the type of event]. */ - occurrenceDateTime?: string; - _occurrenceDateTime?: Element; + occurrenceDateTime?: string|undefined; + _occurrenceDateTime?: Element|undefined; /** * [The list of types may be constrained as appropriate for the type of event]. */ - occurrencePeriod?: Period; + occurrencePeriod?: Period|undefined; /** * [The list of types may be constrained as appropriate for the type of event]. */ - occurrenceTiming?: Timing; + occurrenceTiming?: Timing|undefined; /** * Not to be used to link an event to an Encounter - use Event.context for that. * [The allowed reference resources may be adjusted as appropriate for the event resource]. */ - partOf?: Reference[]; + partOf?: Reference[]|undefined; /** * A link to a resource representing the person whom the delivered item is for. */ - patient?: Reference; + patient?: Reference|undefined; /** * Identifies the person who picked up the Supply. */ - receiver?: Reference[]; + receiver?: Reference[]|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ - status?: SupplyDeliveryStatusCodes; - _status?: Element; + status?: SupplyDeliveryStatusCodes|undefined; + _status?: Element|undefined; /** * The item that is being delivered or has been supplied. */ - suppliedItem?: SupplyDeliverySuppliedItem; + suppliedItem?: SupplyDeliverySuppliedItem|undefined; /** * The individual responsible for dispensing the medication, supplier or device. */ - supplier?: Reference; + supplier?: Reference|undefined; /** * Indicates the type of dispensing event that is performed. Examples include: Trial Fill, Completion of Trial, Partial Fill, Emergency Fill, Samples, etc. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Code Values for the SupplyDelivery.status field @@ -28408,24 +28408,24 @@ export interface SupplyRequestParameter extends BackboneElement { /** * A code or string that identifies the device detail being asserted. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * Range means device should have a value that falls somewhere within the specified range. */ - valueCodeableConcept?: CodeableConcept; + valueCodeableConcept?: CodeableConcept|undefined; /** * Range means device should have a value that falls somewhere within the specified range. */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; /** * Range means device should have a value that falls somewhere within the specified range. */ - valueRange?: Range; + valueRange?: Range|undefined; /** * Range means device should have a value that falls somewhere within the specified range. */ - valueBoolean?: boolean; - _valueBoolean?: Element; + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; } /** * A record of a request for a medication, substance or device used in the healthcare setting. @@ -28436,54 +28436,54 @@ export interface SupplyRequest extends DomainResource { /** * When the request was made. */ - authoredOn?: string; - _authoredOn?: Element; + authoredOn?: string|undefined; + _authoredOn?: Element|undefined; /** * Category of supply, e.g. central, non-stock, etc. This is used to support work flows associated with the supply process. */ - category?: CodeableConcept; + category?: CodeableConcept|undefined; /** * Where the supply is expected to come from. */ - deliverFrom?: Reference; + deliverFrom?: Reference|undefined; /** * Where the supply is destined to go. */ - deliverTo?: Reference; + deliverTo?: Reference|undefined; /** * The identifier.type element is used to distinguish between the identifiers assigned by the requester/placer and the performer/filler. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Note that there's a difference between a prescription - an instruction to take a medication, along with a (sometimes) implicit supply, and an explicit request to supply, with no explicit instructions. */ - itemCodeableConcept?: CodeableConcept; + itemCodeableConcept?: CodeableConcept|undefined; /** * Note that there's a difference between a prescription - an instruction to take a medication, along with a (sometimes) implicit supply, and an explicit request to supply, with no explicit instructions. */ - itemReference?: Reference; + itemReference?: Reference|undefined; /** * When the request should be fulfilled. */ - occurrenceDateTime?: string; - _occurrenceDateTime?: Element; + occurrenceDateTime?: string|undefined; + _occurrenceDateTime?: Element|undefined; /** * When the request should be fulfilled. */ - occurrencePeriod?: Period; + occurrencePeriod?: Period|undefined; /** * When the request should be fulfilled. */ - occurrenceTiming?: Timing; + occurrenceTiming?: Timing|undefined; /** * Specific parameters for the ordered item. For example, the size of the indicated item. */ - parameter?: SupplyRequestParameter[]; + parameter?: SupplyRequestParameter[]|undefined; /** * Indicates how quickly this SupplyRequest should be addressed with respect to other requests. */ - priority?: SupplyRequestPriorityCodes; - _priority?: Element; + priority?: SupplyRequestPriorityCodes|undefined; + _priority?: Element|undefined; /** * The amount that is being ordered of the indicated item. */ @@ -28491,24 +28491,24 @@ export interface SupplyRequest extends DomainResource { /** * The reason why the supply item was requested. */ - reasonCode?: CodeableConcept[]; + reasonCode?: CodeableConcept[]|undefined; /** * The reason why the supply item was requested. */ - reasonReference?: Reference[]; + reasonReference?: Reference[]|undefined; /** * The device, practitioner, etc. who initiated the request. */ - requester?: Reference; + requester?: Reference|undefined; /** * Status of the supply request. */ - status?: SupplyRequestStatusCodes; - _status?: Element; + status?: SupplyRequestStatusCodes|undefined; + _status?: Element|undefined; /** * Who is intended to fulfill the request. */ - supplier?: Reference[]; + supplier?: Reference[]|undefined; } /** * Code Values for the SupplyRequest.priority field @@ -28538,15 +28538,15 @@ export interface TaskRestriction extends BackboneElement { /** * Note that period.high is the due date representing the time by which the task should be completed. */ - period?: Period; + period?: Period|undefined; /** * For requests that are targeted to more than on potential recipient/target, for whom is fulfillment sought? */ - recipient?: Reference[]; + recipient?: Reference[]|undefined; /** * Indicates the number of times the requested action should occur. */ - repetitions?: number; + repetitions?: number|undefined; } /** * Additional information that may be needed in the execution of the task. @@ -28559,218 +28559,218 @@ export interface TaskInput extends BackboneElement { /** * The value of the input parameter as a basic type. */ - valueBase64Binary?: string; - _valueBase64Binary?: Element; + valueBase64Binary?: string|undefined; + _valueBase64Binary?: Element|undefined; /** * The value of the input parameter as a basic type. */ - valueBoolean?: boolean; - _valueBoolean?: Element; + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; /** * The value of the input parameter as a basic type. */ - valueCanonical?: string; - _valueCanonical?: Element; + valueCanonical?: string|undefined; + _valueCanonical?: Element|undefined; /** * The value of the input parameter as a basic type. */ - valueCode?: string; - _valueCode?: Element; + valueCode?: string|undefined; + _valueCode?: Element|undefined; /** * The value of the input parameter as a basic type. */ - valueDate?: string; - _valueDate?: Element; + valueDate?: string|undefined; + _valueDate?: Element|undefined; /** * The value of the input parameter as a basic type. */ - valueDateTime?: string; - _valueDateTime?: Element; + valueDateTime?: string|undefined; + _valueDateTime?: Element|undefined; /** * The value of the input parameter as a basic type. */ - valueDecimal?: number; + valueDecimal?: number|undefined; /** * The value of the input parameter as a basic type. */ - valueId?: string; - _valueId?: Element; + valueId?: string|undefined; + _valueId?: Element|undefined; /** * The value of the input parameter as a basic type. */ - valueInstant?: string; - _valueInstant?: Element; + valueInstant?: string|undefined; + _valueInstant?: Element|undefined; /** * The value of the input parameter as a basic type. */ - valueInteger?: number; + valueInteger?: number|undefined; /** * The value of the input parameter as a basic type. */ - valueMarkdown?: string; - _valueMarkdown?: Element; + valueMarkdown?: string|undefined; + _valueMarkdown?: Element|undefined; /** * The value of the input parameter as a basic type. */ - valueOid?: string; - _valueOid?: Element; + valueOid?: string|undefined; + _valueOid?: Element|undefined; /** * The value of the input parameter as a basic type. */ - valuePositiveInt?: number; + valuePositiveInt?: number|undefined; /** * The value of the input parameter as a basic type. */ - valueString?: string; - _valueString?: Element; + valueString?: string|undefined; + _valueString?: Element|undefined; /** * The value of the input parameter as a basic type. */ - valueTime?: string; - _valueTime?: Element; + valueTime?: string|undefined; + _valueTime?: Element|undefined; /** * The value of the input parameter as a basic type. */ - valueUnsignedInt?: number; + valueUnsignedInt?: number|undefined; /** * The value of the input parameter as a basic type. */ - valueUri?: string; - _valueUri?: Element; + valueUri?: string|undefined; + _valueUri?: Element|undefined; /** * The value of the input parameter as a basic type. */ - valueUrl?: string; - _valueUrl?: Element; + valueUrl?: string|undefined; + _valueUrl?: Element|undefined; /** * The value of the input parameter as a basic type. */ - valueUuid?: string; - _valueUuid?: Element; + valueUuid?: string|undefined; + _valueUuid?: Element|undefined; /** * The value of the input parameter as a basic type. */ - valueAddress?: Address; + valueAddress?: Address|undefined; /** * The value of the input parameter as a basic type. */ - valueAge?: Age; + valueAge?: Age|undefined; /** * The value of the input parameter as a basic type. */ - valueAnnotation?: Annotation; + valueAnnotation?: Annotation|undefined; /** * The value of the input parameter as a basic type. */ - valueAttachment?: Attachment; + valueAttachment?: Attachment|undefined; /** * The value of the input parameter as a basic type. */ - valueCodeableConcept?: CodeableConcept; + valueCodeableConcept?: CodeableConcept|undefined; /** * The value of the input parameter as a basic type. */ - valueCoding?: Coding; + valueCoding?: Coding|undefined; /** * The value of the input parameter as a basic type. */ - valueContactPoint?: ContactPoint; + valueContactPoint?: ContactPoint|undefined; /** * The value of the input parameter as a basic type. */ - valueCount?: Count; + valueCount?: Count|undefined; /** * The value of the input parameter as a basic type. */ - valueDistance?: Distance; + valueDistance?: Distance|undefined; /** * The value of the input parameter as a basic type. */ - valueDuration?: Duration; + valueDuration?: Duration|undefined; /** * The value of the input parameter as a basic type. */ - valueHumanName?: HumanName; + valueHumanName?: HumanName|undefined; /** * The value of the input parameter as a basic type. */ - valueIdentifier?: Identifier; + valueIdentifier?: Identifier|undefined; /** * The value of the input parameter as a basic type. */ - valueMoney?: Money; + valueMoney?: Money|undefined; /** * The value of the input parameter as a basic type. */ - valuePeriod?: Period; + valuePeriod?: Period|undefined; /** * The value of the input parameter as a basic type. */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; /** * The value of the input parameter as a basic type. */ - valueRange?: Range; + valueRange?: Range|undefined; /** * The value of the input parameter as a basic type. */ - valueRatio?: Ratio; + valueRatio?: Ratio|undefined; /** * The value of the input parameter as a basic type. */ - valueReference?: Reference; + valueReference?: Reference|undefined; /** * The value of the input parameter as a basic type. */ - valueSampledData?: SampledData; + valueSampledData?: SampledData|undefined; /** * The value of the input parameter as a basic type. */ - valueSignature?: Signature; + valueSignature?: Signature|undefined; /** * The value of the input parameter as a basic type. */ - valueTiming?: Timing; + valueTiming?: Timing|undefined; /** * The value of the input parameter as a basic type. */ - valueContactDetail?: ContactDetail; + valueContactDetail?: ContactDetail|undefined; /** * The value of the input parameter as a basic type. */ - valueContributor?: Contributor; + valueContributor?: Contributor|undefined; /** * The value of the input parameter as a basic type. */ - valueDataRequirement?: DataRequirement; + valueDataRequirement?: DataRequirement|undefined; /** * The value of the input parameter as a basic type. */ - valueExpression?: Expression; + valueExpression?: Expression|undefined; /** * The value of the input parameter as a basic type. */ - valueParameterDefinition?: ParameterDefinition; + valueParameterDefinition?: ParameterDefinition|undefined; /** * The value of the input parameter as a basic type. */ - valueRelatedArtifact?: RelatedArtifact; + valueRelatedArtifact?: RelatedArtifact|undefined; /** * The value of the input parameter as a basic type. */ - valueTriggerDefinition?: TriggerDefinition; + valueTriggerDefinition?: TriggerDefinition|undefined; /** * The value of the input parameter as a basic type. */ - valueUsageContext?: UsageContext; + valueUsageContext?: UsageContext|undefined; /** * The value of the input parameter as a basic type. */ - valueDosage?: Dosage; + valueDosage?: Dosage|undefined; /** * The value of the input parameter as a basic type. */ - valueMeta?: Meta; + valueMeta?: Meta|undefined; } /** * Outputs produced by the Task. @@ -28783,218 +28783,218 @@ export interface TaskOutput extends BackboneElement { /** * The value of the Output parameter as a basic type. */ - valueBase64Binary?: string; - _valueBase64Binary?: Element; + valueBase64Binary?: string|undefined; + _valueBase64Binary?: Element|undefined; /** * The value of the Output parameter as a basic type. */ - valueBoolean?: boolean; - _valueBoolean?: Element; + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; /** * The value of the Output parameter as a basic type. */ - valueCanonical?: string; - _valueCanonical?: Element; + valueCanonical?: string|undefined; + _valueCanonical?: Element|undefined; /** * The value of the Output parameter as a basic type. */ - valueCode?: string; - _valueCode?: Element; + valueCode?: string|undefined; + _valueCode?: Element|undefined; /** * The value of the Output parameter as a basic type. */ - valueDate?: string; - _valueDate?: Element; + valueDate?: string|undefined; + _valueDate?: Element|undefined; /** * The value of the Output parameter as a basic type. */ - valueDateTime?: string; - _valueDateTime?: Element; + valueDateTime?: string|undefined; + _valueDateTime?: Element|undefined; /** * The value of the Output parameter as a basic type. */ - valueDecimal?: number; + valueDecimal?: number|undefined; /** * The value of the Output parameter as a basic type. */ - valueId?: string; - _valueId?: Element; + valueId?: string|undefined; + _valueId?: Element|undefined; /** * The value of the Output parameter as a basic type. */ - valueInstant?: string; - _valueInstant?: Element; + valueInstant?: string|undefined; + _valueInstant?: Element|undefined; /** * The value of the Output parameter as a basic type. */ - valueInteger?: number; + valueInteger?: number|undefined; /** * The value of the Output parameter as a basic type. */ - valueMarkdown?: string; - _valueMarkdown?: Element; + valueMarkdown?: string|undefined; + _valueMarkdown?: Element|undefined; /** * The value of the Output parameter as a basic type. */ - valueOid?: string; - _valueOid?: Element; + valueOid?: string|undefined; + _valueOid?: Element|undefined; /** * The value of the Output parameter as a basic type. */ - valuePositiveInt?: number; + valuePositiveInt?: number|undefined; /** * The value of the Output parameter as a basic type. */ - valueString?: string; - _valueString?: Element; + valueString?: string|undefined; + _valueString?: Element|undefined; /** * The value of the Output parameter as a basic type. */ - valueTime?: string; - _valueTime?: Element; + valueTime?: string|undefined; + _valueTime?: Element|undefined; /** * The value of the Output parameter as a basic type. */ - valueUnsignedInt?: number; + valueUnsignedInt?: number|undefined; /** * The value of the Output parameter as a basic type. */ - valueUri?: string; - _valueUri?: Element; + valueUri?: string|undefined; + _valueUri?: Element|undefined; /** * The value of the Output parameter as a basic type. */ - valueUrl?: string; - _valueUrl?: Element; + valueUrl?: string|undefined; + _valueUrl?: Element|undefined; /** * The value of the Output parameter as a basic type. */ - valueUuid?: string; - _valueUuid?: Element; + valueUuid?: string|undefined; + _valueUuid?: Element|undefined; /** * The value of the Output parameter as a basic type. */ - valueAddress?: Address; + valueAddress?: Address|undefined; /** * The value of the Output parameter as a basic type. */ - valueAge?: Age; + valueAge?: Age|undefined; /** * The value of the Output parameter as a basic type. */ - valueAnnotation?: Annotation; + valueAnnotation?: Annotation|undefined; /** * The value of the Output parameter as a basic type. */ - valueAttachment?: Attachment; + valueAttachment?: Attachment|undefined; /** * The value of the Output parameter as a basic type. */ - valueCodeableConcept?: CodeableConcept; + valueCodeableConcept?: CodeableConcept|undefined; /** * The value of the Output parameter as a basic type. */ - valueCoding?: Coding; + valueCoding?: Coding|undefined; /** * The value of the Output parameter as a basic type. */ - valueContactPoint?: ContactPoint; + valueContactPoint?: ContactPoint|undefined; /** * The value of the Output parameter as a basic type. */ - valueCount?: Count; + valueCount?: Count|undefined; /** * The value of the Output parameter as a basic type. */ - valueDistance?: Distance; + valueDistance?: Distance|undefined; /** * The value of the Output parameter as a basic type. */ - valueDuration?: Duration; + valueDuration?: Duration|undefined; /** * The value of the Output parameter as a basic type. */ - valueHumanName?: HumanName; + valueHumanName?: HumanName|undefined; /** * The value of the Output parameter as a basic type. */ - valueIdentifier?: Identifier; + valueIdentifier?: Identifier|undefined; /** * The value of the Output parameter as a basic type. */ - valueMoney?: Money; + valueMoney?: Money|undefined; /** * The value of the Output parameter as a basic type. */ - valuePeriod?: Period; + valuePeriod?: Period|undefined; /** * The value of the Output parameter as a basic type. */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; /** * The value of the Output parameter as a basic type. */ - valueRange?: Range; + valueRange?: Range|undefined; /** * The value of the Output parameter as a basic type. */ - valueRatio?: Ratio; + valueRatio?: Ratio|undefined; /** * The value of the Output parameter as a basic type. */ - valueReference?: Reference; + valueReference?: Reference|undefined; /** * The value of the Output parameter as a basic type. */ - valueSampledData?: SampledData; + valueSampledData?: SampledData|undefined; /** * The value of the Output parameter as a basic type. */ - valueSignature?: Signature; + valueSignature?: Signature|undefined; /** * The value of the Output parameter as a basic type. */ - valueTiming?: Timing; + valueTiming?: Timing|undefined; /** * The value of the Output parameter as a basic type. */ - valueContactDetail?: ContactDetail; + valueContactDetail?: ContactDetail|undefined; /** * The value of the Output parameter as a basic type. */ - valueContributor?: Contributor; + valueContributor?: Contributor|undefined; /** * The value of the Output parameter as a basic type. */ - valueDataRequirement?: DataRequirement; + valueDataRequirement?: DataRequirement|undefined; /** * The value of the Output parameter as a basic type. */ - valueExpression?: Expression; + valueExpression?: Expression|undefined; /** * The value of the Output parameter as a basic type. */ - valueParameterDefinition?: ParameterDefinition; + valueParameterDefinition?: ParameterDefinition|undefined; /** * The value of the Output parameter as a basic type. */ - valueRelatedArtifact?: RelatedArtifact; + valueRelatedArtifact?: RelatedArtifact|undefined; /** * The value of the Output parameter as a basic type. */ - valueTriggerDefinition?: TriggerDefinition; + valueTriggerDefinition?: TriggerDefinition|undefined; /** * The value of the Output parameter as a basic type. */ - valueUsageContext?: UsageContext; + valueUsageContext?: UsageContext|undefined; /** * The value of the Output parameter as a basic type. */ - valueDosage?: Dosage; + valueDosage?: Dosage|undefined; /** * The value of the Output parameter as a basic type. */ - valueMeta?: Meta; + valueMeta?: Meta|undefined; } /** * A task to be performed. @@ -29005,136 +29005,136 @@ export interface Task extends DomainResource { /** * The date and time this task was created. */ - authoredOn?: string; - _authoredOn?: Element; + authoredOn?: string|undefined; + _authoredOn?: Element|undefined; /** * BasedOn refers to a higher-level authorization that triggered the creation of the task. It references a "request" resource such as a ServiceRequest, MedicationRequest, ServiceRequest, CarePlan, etc. which is distinct from the "request" resource the task is seeking to fulfill. This latter resource is referenced by FocusOn. For example, based on a ServiceRequest (= BasedOn), a task is created to fulfill a procedureRequest ( = FocusOn ) to collect a specimen from a patient. */ - basedOn?: Reference[]; + basedOn?: Reference[]|undefined; /** * Contains business-specific nuances of the business state. */ - businessStatus?: CodeableConcept; + businessStatus?: CodeableConcept|undefined; /** * The title (eg "My Tasks", "Outstanding Tasks for Patient X") should go into the code. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * A free-text description of what is to be performed. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * The healthcare event (e.g. a patient and healthcare provider interaction) during which this task was created. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * Identifies the time action was first taken against the task (start) and/or the time final action was taken against the task prior to marking it as completed (end). */ - executionPeriod?: Period; + executionPeriod?: Period|undefined; /** * If multiple resources need to be manipulated, use sub-tasks. (This ensures that status can be tracked independently for each referenced resource.). */ - focus?: Reference; + focus?: Reference|undefined; /** * The entity who benefits from the performance of the service specified in the task (e.g., the patient). */ - for?: Reference; + for?: Reference|undefined; /** * An identifier that links together multiple tasks and other requests that were created in the same context. */ - groupIdentifier?: Identifier; + groupIdentifier?: Identifier|undefined; /** * The business identifier for this task. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Additional information that may be needed in the execution of the task. */ - input?: TaskInput[]; + input?: TaskInput[]|undefined; /** * The URL pointing to a *FHIR*-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this Task. */ - instantiatesCanonical?: string; - _instantiatesCanonical?: Element; + instantiatesCanonical?: string|undefined; + _instantiatesCanonical?: Element|undefined; /** * The URL pointing to an *externally* maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this Task. */ - instantiatesUri?: string; - _instantiatesUri?: Element; + instantiatesUri?: string|undefined; + _instantiatesUri?: Element|undefined; /** * Insurance plans, coverage extensions, pre-authorizations and/or pre-determinations that may be relevant to the Task. */ - insurance?: Reference[]; + insurance?: Reference[]|undefined; /** * This element is immutable. Proposed tasks, planned tasks, etc. must be distinct instances. * In most cases, Tasks will have an intent of "order". */ intent: TaskIntentCodes; - _intent?: Element; + _intent?: Element|undefined; /** * The date and time of last modification to this task. */ - lastModified?: string; - _lastModified?: Element; + lastModified?: string|undefined; + _lastModified?: Element|undefined; /** * Principal physical location where the this task is performed. */ - location?: Reference; + location?: Reference|undefined; /** * Free-text information captured about the task as it progresses. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * Outputs produced by the Task. */ - output?: TaskOutput[]; + output?: TaskOutput[]|undefined; /** * Tasks may be created with an owner not yet identified. */ - owner?: Reference; + owner?: Reference|undefined; /** * This should usually be 0..1. */ - partOf?: Reference[]; + partOf?: Reference[]|undefined; /** * The kind of participant that should perform the task. */ - performerType?: CodeableConcept[]; + performerType?: CodeableConcept[]|undefined; /** * Indicates how quickly the Task should be addressed with respect to other requests. */ - priority?: TaskPriorityCodes; - _priority?: Element; + priority?: TaskPriorityCodes|undefined; + _priority?: Element|undefined; /** * This should only be included if there is no focus or if it differs from the reason indicated on the focus. */ - reasonCode?: CodeableConcept; + reasonCode?: CodeableConcept|undefined; /** * Tasks might be justified based on an Observation, a Condition, a past or planned procedure, etc. This should only be included if there is no focus or if it differs from the reason indicated on the focus. Use the CodeableConcept text element in `Task.reasonCode` if the data is free (uncoded) text. */ - reasonReference?: Reference; + reasonReference?: Reference|undefined; /** * This element does not point to the Provenance associated with the *current* version of the resource - as it would be created after this version existed. The Provenance for the current version can be retrieved with a _revinclude. */ - relevantHistory?: Reference[]; + relevantHistory?: Reference[]|undefined; /** * The creator of the task. */ - requester?: Reference; + requester?: Reference|undefined; /** * If the Task.focus is a request resource and the task is seeking fulfillment (i.e. is asking for the request to be actioned), this element identifies any limitations on what parts of the referenced request should be actioned. */ - restriction?: TaskRestriction; + restriction?: TaskRestriction|undefined; /** * The current status of the task. */ status: TaskStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * This applies to the current status. Look at the history of the task to see reasons for past statuses. */ - statusReason?: CodeableConcept; + statusReason?: CodeableConcept|undefined; } /** * Code Values for the Task.intent field @@ -29184,12 +29184,12 @@ export interface TerminologyCapabilitiesSoftware extends BackboneElement { * Name the software is known by. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * If possible, a version should be specified, as statements are likely to be different for different versions of software. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Identifies a specific implementation instance that is described by the terminology capability statement - i.e. a particular installation, rather than the capabilities of a software program. @@ -29199,12 +29199,12 @@ export interface TerminologyCapabilitiesImplementation extends BackboneElement { * Information about the specific installation that this terminology capability statement relates to. */ description: string; - _description?: Element; + _description?: Element|undefined; /** * An absolute base URL for the implementation. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; } /** * Filter Properties supported. @@ -29214,12 +29214,12 @@ export interface TerminologyCapabilitiesCodeSystemVersionFilter extends Backbone * Code of the property supported. */ code: string; - _code?: Element; + _code?: Element|undefined; /** * Operations supported for the property. */ op: string[]; - _op?: Element[]; + _op?: Element[]|undefined; } /** * Language translations might not be available for all codes. @@ -29228,32 +29228,32 @@ export interface TerminologyCapabilitiesCodeSystemVersion extends BackboneElemen /** * For version-less code systems, there should be a single version with no identifier. */ - code?: string; - _code?: Element; + code?: string|undefined; + _code?: Element|undefined; /** * If the compositional grammar defined by the code system is supported. */ - compositional?: boolean; - _compositional?: Element; + compositional?: boolean|undefined; + _compositional?: Element|undefined; /** * Filter Properties supported. */ - filter?: TerminologyCapabilitiesCodeSystemVersionFilter[]; + filter?: TerminologyCapabilitiesCodeSystemVersionFilter[]|undefined; /** * If this is the default version for this code system. */ - isDefault?: boolean; - _isDefault?: Element; + isDefault?: boolean|undefined; + _isDefault?: Element|undefined; /** * Language Displays supported. */ - language?: string[]; - _language?: Element[]; + language?: string[]|undefined; + _language?: Element[]|undefined; /** * Properties supported for $lookup. */ - property?: string[]; - _property?: Element[]; + property?: string[]|undefined; + _property?: Element[]|undefined; } /** * The code system - identified by its system URL - may also be declared explicitly as a Code System Resource at /CodeSystem, but it might not be. @@ -29262,17 +29262,17 @@ export interface TerminologyCapabilitiesCodeSystem extends BackboneElement { /** * True if subsumption is supported for this version of the code system. */ - subsumption?: boolean; - _subsumption?: Element; + subsumption?: boolean|undefined; + _subsumption?: Element|undefined; /** * URI for the Code System. */ - uri?: string; - _uri?: Element; + uri?: string|undefined; + _uri?: Element|undefined; /** * Language translations might not be available for all codes. */ - version?: TerminologyCapabilitiesCodeSystemVersion[]; + version?: TerminologyCapabilitiesCodeSystemVersion[]|undefined; } /** * Supported expansion parameter. @@ -29281,13 +29281,13 @@ export interface TerminologyCapabilitiesExpansionParameter extends BackboneEleme /** * Description of support for parameter. */ - documentation?: string; - _documentation?: Element; + documentation?: string|undefined; + _documentation?: Element|undefined; /** * Expansion Parameter name. */ name: string; - _name?: Element; + _name?: Element|undefined; } /** * Information about the [ValueSet/$expand](valueset-operation-expand.html) operation. @@ -29296,27 +29296,27 @@ export interface TerminologyCapabilitiesExpansion extends BackboneElement { /** * Whether the server can return nested value sets. */ - hierarchical?: boolean; - _hierarchical?: Element; + hierarchical?: boolean|undefined; + _hierarchical?: Element|undefined; /** * Allow request for incomplete expansions? */ - incomplete?: boolean; - _incomplete?: Element; + incomplete?: boolean|undefined; + _incomplete?: Element|undefined; /** * Whether the server supports paging on expansion. */ - paging?: boolean; - _paging?: Element; + paging?: boolean|undefined; + _paging?: Element|undefined; /** * Supported expansion parameter. */ - parameter?: TerminologyCapabilitiesExpansionParameter[]; + parameter?: TerminologyCapabilitiesExpansionParameter[]|undefined; /** * This documentation should cover things like case sensitivity, use of punctuation if not ignored, what wild cards are supported (if any), whether text is starts with or contains, and whether word order matters. */ - textFilter?: string; - _textFilter?: Element; + textFilter?: string|undefined; + _textFilter?: Element|undefined; } /** * Information about the [ValueSet/$validate-code](valueset-operation-validate-code.html) operation. @@ -29326,7 +29326,7 @@ export interface TerminologyCapabilitiesValidateCode extends BackboneElement { * Whether translations are validated. */ translations: boolean; - _translations?: Element; + _translations?: Element|undefined; } /** * Information about the [ConceptMap/$translate](conceptmap-operation-translate.html) operation. @@ -29336,7 +29336,7 @@ export interface TerminologyCapabilitiesTranslation extends BackboneElement { * Whether the client must identify the map. */ needsMap: boolean; - _needsMap?: Element; + _needsMap?: Element|undefined; } /** * Whether the $closure operation is supported. @@ -29345,8 +29345,8 @@ export interface TerminologyCapabilitiesClosure extends BackboneElement { /** * If cross-system closure is supported. */ - translation?: boolean; - _translation?: Element; + translation?: boolean|undefined; + _translation?: Element|undefined; } /** * A TerminologyCapabilities resource documents a set of capabilities (behaviors) of a FHIR Terminology Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation. @@ -29357,115 +29357,115 @@ export interface TerminologyCapabilities extends DomainResource { /** * Whether the $closure operation is supported. */ - closure?: TerminologyCapabilitiesClosure; + closure?: TerminologyCapabilitiesClosure|undefined; /** * See notes on the [ValueSet](valueset.html#) resource. */ - codeSearch?: TerminologyCapabilitiesCodeSearchCodes; - _codeSearch?: Element; + codeSearch?: TerminologyCapabilitiesCodeSearchCodes|undefined; + _codeSearch?: Element|undefined; /** * The code system - identified by its system URL - may also be declared explicitly as a Code System Resource at /CodeSystem, but it might not be. */ - codeSystem?: TerminologyCapabilitiesCodeSystem[]; + codeSystem?: TerminologyCapabilitiesCodeSystem[]|undefined; /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * A copyright statement relating to the terminology capabilities and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the terminology capabilities. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the terminology capabilities. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ date: string; - _date?: Element; + _date?: Element|undefined; /** * This description can be used to capture details such as why the terminology capabilities was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the terminology capabilities as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the terminology capabilities is presumed to be the predominant language in the place the terminology capabilities was created).This does not need to be populated if the description is adequately implied by the software or implementation details. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Information about the [ValueSet/$expand](valueset-operation-expand.html) operation. */ - expansion?: TerminologyCapabilitiesExpansion; + expansion?: TerminologyCapabilitiesExpansion|undefined; /** * Allows filtering of terminology capabilitiess that are appropriate for use versus not. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * Identifies a specific implementation instance that is described by the terminology capability statement - i.e. a particular installation, rather than the capabilities of a software program. */ - implementation?: TerminologyCapabilitiesImplementation; + implementation?: TerminologyCapabilitiesImplementation|undefined; /** * It may be possible for the terminology capabilities to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * The way that this statement is intended to be used, to describe an actual running instance of software, a particular product (kind, not instance of software) or a class of implementation (e.g. a desired purchase). */ kind: TerminologyCapabilitiesKindCodes; - _kind?: Element; + _kind?: Element|undefined; /** * Whether the server supports lockedDate. */ - lockedDate?: boolean; - _lockedDate?: Element; + lockedDate?: boolean|undefined; + _lockedDate?: Element|undefined; /** * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Usually an organization but may be an individual. The publisher (or steward) of the terminology capabilities is the organization or individual primarily responsible for the maintenance and upkeep of the terminology capabilities. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the terminology capabilities. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * This element does not describe the usage of the terminology capabilities. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this terminology capabilities. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * Software that is covered by this terminology capability statement. It is used when the statement describes the capabilities of a particular software version, independent of an installation. */ - software?: TerminologyCapabilitiesSoftware; + software?: TerminologyCapabilitiesSoftware|undefined; /** * Allows filtering of terminology capabilitiess that are appropriate for use versus not.This is not intended for use with actual capability statements, but where capability statements are used to describe possible or desired systems. */ status: TerminologyCapabilitiesStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Information about the [ConceptMap/$translate](conceptmap-operation-translate.html) operation. */ - translation?: TerminologyCapabilitiesTranslation; + translation?: TerminologyCapabilitiesTranslation|undefined; /** * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * Information about the [ValueSet/$validate-code](valueset-operation-validate-code.html) operation. */ - validateCode?: TerminologyCapabilitiesValidateCode; + validateCode?: TerminologyCapabilitiesValidateCode|undefined; /** * There may be different terminology capabilities instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the terminology capabilities with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the TerminologyCapabilities.codeSearch field @@ -29498,18 +29498,18 @@ export interface TestReportParticipant extends BackboneElement { /** * The display name of the participant. */ - display?: string; - _display?: Element; + display?: string|undefined; + _display?: Element|undefined; /** * The type of participant. */ type: TestReportParticipantTypeCodes; - _type?: Element; + _type?: Element|undefined; /** * The uri of the participant. An absolute URL is preferred. */ uri: string; - _uri?: Element; + _uri?: Element|undefined; } /** * Code Values for the TestReport.participant.type field @@ -29526,18 +29526,18 @@ export interface TestReportSetupActionOperation extends BackboneElement { /** * A link to further details on the result. */ - detail?: string; - _detail?: Element; + detail?: string|undefined; + _detail?: Element|undefined; /** * An explanatory message associated with the result. */ - message?: string; - _message?: Element; + message?: string|undefined; + _message?: Element|undefined; /** * The result of this operation. */ result: TestReportSetupActionOperationResultCodes; - _result?: Element; + _result?: Element|undefined; } /** * Code Values for the TestReport.setup.action.operation.result field @@ -29556,18 +29556,18 @@ export interface TestReportSetupActionAssert extends BackboneElement { /** * A link to further details on the result. */ - detail?: string; - _detail?: Element; + detail?: string|undefined; + _detail?: Element|undefined; /** * An explanatory message associated with the result. */ - message?: string; - _message?: Element; + message?: string|undefined; + _message?: Element|undefined; /** * The result of this assertion. */ result: TestReportSetupActionAssertResultCodes; - _result?: Element; + _result?: Element|undefined; } /** * Code Values for the TestReport.setup.action.assert.result field @@ -29586,11 +29586,11 @@ export interface TestReportSetupAction extends BackboneElement { /** * The results of the assertion performed on the previous operations. */ - assert?: TestReportSetupActionAssert; + assert?: TestReportSetupActionAssert|undefined; /** * The operation performed. */ - operation?: TestReportSetupActionOperation; + operation?: TestReportSetupActionOperation|undefined; } /** * The results of the series of required setup operations before the tests were executed. @@ -29608,11 +29608,11 @@ export interface TestReportTestAction extends BackboneElement { /** * The results of the assertion performed on the previous operations. */ - assert?: TestReportSetupActionAssert; + assert?: TestReportSetupActionAssert|undefined; /** * An operation would involve a REST request to a server. */ - operation?: TestReportSetupActionOperation; + operation?: TestReportSetupActionOperation|undefined; } /** * A test executed from the test script. @@ -29625,13 +29625,13 @@ export interface TestReportTest extends BackboneElement { /** * A short description of the test used by test engines for tracking and reporting purposes. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * The name of this test used for tracking/logging purposes by test engines. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; } /** * An action should contain either an operation or an assertion but not both. It can contain any number of variables. @@ -29660,53 +29660,53 @@ export interface TestReport extends DomainResource { /** * Identifier for the TestScript assigned for external purposes outside the context of FHIR. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * Additional specific dates may be added as extensions. */ - issued?: string; - _issued?: Element; + issued?: string|undefined; + _issued?: Element|undefined; /** * Not expected to be globally unique. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * A participant in the test execution, either the execution engine, a client, or a server. */ - participant?: TestReportParticipant[]; + participant?: TestReportParticipant[]|undefined; /** * The pass and fail result represents a completed test script execution. The pending result represents a test script execution that has not yet started or is currently in progress. */ result: TestReportResultCodes; - _result?: Element; + _result?: Element|undefined; /** * The final score (percentage of tests passed) resulting from the execution of the TestScript. */ - score?: number; + score?: number|undefined; /** * The results of the series of required setup operations before the tests were executed. */ - setup?: TestReportSetup; + setup?: TestReportSetup|undefined; /** * The status represents where the execution is currently within the test script execution life cycle. * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: TestReportStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * The results of the series of operations required to clean up after all the tests were executed (successfully or otherwise). */ - teardown?: TestReportTeardown; + teardown?: TestReportTeardown|undefined; /** * A test executed from the test script. */ - test?: TestReportTest[]; + test?: TestReportTest[]|undefined; /** * Usually an organization, but may be an individual. This item SHOULD be populated unless the information is available from context. */ - tester?: string; - _tester?: Element; + tester?: string|undefined; + _tester?: Element|undefined; /** * Ideally this is an absolute URL that is used to identify the version-specific TestScript that was executed, matching the `TestScript.url`. */ @@ -29767,13 +29767,13 @@ export interface TestScriptMetadataLink extends BackboneElement { /** * Short description of the link. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * URL to a particular requirement or feature within the FHIR specification. */ url: string; - _url?: Element; + _url?: Element|undefined; } /** * When the metadata capabilities section is defined at TestScript.metadata or at TestScript.setup.metadata, and the server's conformance statement does not contain the elements defined in the minimal conformance statement, then all the tests in the TestScript are skipped. When the metadata capabilities section is defined at TestScript.test.metadata and the server's conformance statement does not contain the elements defined in the minimal conformance statement, then only that test is skipped. The "metadata.capabilities.required" and "metadata.capabilities.validated" elements only indicate whether the capabilities are the primary focus of the test script or not. They do not impact the skipping logic. Capabilities whose "metadata.capabilities.validated" flag is true are the primary focus of the test script. @@ -29783,35 +29783,35 @@ export interface TestScriptMetadataCapability extends BackboneElement { * The conformance statement of the server has to contain at a minimum the contents of the reference pointed to by this element. */ capabilities: string; - _capabilities?: Element; + _capabilities?: Element|undefined; /** * Description of the capabilities that this test script is requiring the server to support. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Which server these requirements apply to. */ - destination?: number; + destination?: number|undefined; /** * Links to the FHIR specification that describes this interaction and the resources involved in more detail. */ - link?: string[]; - _link?: Element[]; + link?: string[]|undefined; + _link?: Element[]|undefined; /** * Which origin server these requirements apply to. */ - origin?: number[]; + origin?: number[]|undefined; /** * Whether or not the test execution will require the given capabilities of the server in order for this test script to execute. */ required: boolean; - _required?: Element; + _required?: Element|undefined; /** * Whether or not the test execution will validate the given capabilities of the server in order for this test script to execute. */ validated: boolean; - _validated?: Element; + _validated?: Element|undefined; } /** * The required capability must exist and are assumed to function correctly on the FHIR server being tested. @@ -29824,7 +29824,7 @@ export interface TestScriptMetadata extends BackboneElement { /** * A link to the FHIR specification that this test is covering. */ - link?: TestScriptMetadataLink[]; + link?: TestScriptMetadataLink[]|undefined; } /** * Fixture in the test script - by reference (uri). All fixtures are required for the test script to execute. @@ -29834,16 +29834,16 @@ export interface TestScriptFixture extends BackboneElement { * Whether or not to implicitly create the fixture during setup. If true, the fixture is automatically created on each server being tested during setup, therefore no create operation is required for this fixture in the TestScript.setup section. */ autocreate: boolean; - _autocreate?: Element; + _autocreate?: Element|undefined; /** * Whether or not to implicitly delete the fixture during teardown. If true, the fixture is automatically deleted on each server being tested during teardown, therefore no delete operation is required for this fixture in the TestScript.teardown section. */ autodelete: boolean; - _autodelete?: Element; + _autodelete?: Element|undefined; /** * See http://build.fhir.org/resourcelist.html for complete list of resource types. */ - resource?: Reference; + resource?: Reference|undefined; } /** * Variables would be set based either on XPath/JSONPath expressions against fixtures (static and response), or headerField evaluations against response headers. If variable evaluates to nodelist or anything other than a primitive value, then test engine would report an error. Variables would be used to perform clean replacements in "operation.params", "operation.requestHeader.value", and "operation.url" element values during operation calls and in "assert.value" during assertion evaluations. This limits the places that test engines would need to look for placeholders "${}". Variables are scoped to the whole script. They are NOT evaluated at declaration. They are evaluated by test engine when used for substitutions in "operation.params", "operation.requestHeader.value", and "operation.url" element values during operation calls and in "assert.value" during assertion evaluations. See example testscript-search.xml. @@ -29852,43 +29852,43 @@ export interface TestScriptVariable extends BackboneElement { /** * The purpose of this element is to allow for a pre-defined value that can be used as a default or as an override value. Test engines can optionally use this as a placeholder for user-defined execution time values. */ - defaultValue?: string; - _defaultValue?: Element; + defaultValue?: string|undefined; + _defaultValue?: Element|undefined; /** * A free text natural language description of the variable and its purpose. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * If headerField is defined, then the variable will be evaluated against the headers that sourceId is pointing to. If expression or path is defined, then the variable will be evaluated against the fixture body that sourceId is pointing to. It is an error to define any combination of expression, headerField and path. */ - expression?: string; - _expression?: Element; + expression?: string|undefined; + _expression?: Element|undefined; /** * If headerField is defined, then the variable will be evaluated against the headers that sourceId is pointing to. If path is defined, then the variable will be evaluated against the fixture body that sourceId is pointing to. It is an error to define both headerField and path. */ - headerField?: string; - _headerField?: Element; + headerField?: string|undefined; + _headerField?: Element|undefined; /** * Displayable text string with hint help information to the user when entering a default value. */ - hint?: string; - _hint?: Element; + hint?: string|undefined; + _hint?: Element|undefined; /** * Placeholders would contain the variable name wrapped in ${} in "operation.params", "operation.requestHeader.value", and "operation.url" elements. These placeholders would need to be replaced by the variable value before the operation is executed. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * If headerField is defined, then the variable will be evaluated against the headers that sourceId is pointing to. If expression or path is defined, then the variable will be evaluated against the fixture body that sourceId is pointing to. It is an error to define any combination of expression, headerField and path. */ - path?: string; - _path?: Element; + path?: string|undefined; + _path?: Element|undefined; /** * This can be a statically defined fixture (at the top of the TestScript) or a dynamically set fixture created by responseId of the `action.operation` element. */ - sourceId?: string; - _sourceId?: Element; + sourceId?: string|undefined; + _sourceId?: Element|undefined; } /** * This gives control to test-script writers to set headers explicitly based on test requirements. It will allow for testing using: - "If-Modified-Since" and "If-None-Match" headers. See http://build.fhir.org/http.html#2.1.0.5.1 - "If-Match" header. See http://build.fhir.org/http.html#2.1.0.11 - Conditional Create using "If-None-Exist". See http://build.fhir.org/http.html#2.1.0.13.1 - Invalid "Content-Type" header for negative testing. - etc. @@ -29898,12 +29898,12 @@ export interface TestScriptSetupActionOperationRequestHeader extends BackboneEle * If header element is specified, then field is required. */ field: string; - _field?: Element; + _field?: Element|undefined; /** * If header element is specified, then value is required. No conversions will be done by the test engine e.g. "xml" to "application/fhir+xml". The values will be set in HTTP headers "as-is". Test engines do have to look for placeholders (${}) and replace the variable placeholders with the variable values at runtime before sending the request. */ value: string; - _value?: Element; + _value?: Element|undefined; } /** * The operation to perform. @@ -29912,84 +29912,84 @@ export interface TestScriptSetupActionOperation extends BackboneElement { /** * If this is specified, then test engine shall set the 'Accept' header to the corresponding value. If you'd like to explicitly set the 'Accept' to some other value then use the 'requestHeader' element. */ - accept?: string; - _accept?: Element; + accept?: string|undefined; + _accept?: Element|undefined; /** * If this is specified, then test engine shall set the 'Content-Type' header to the corresponding value. If you'd like to explicitly set the 'Content-Type' to some other value then use the 'requestHeader' element. */ - contentType?: string; - _contentType?: Element; + contentType?: string|undefined; + _contentType?: Element|undefined; /** * This has no impact on the verification itself. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * If multiple TestScript.destination elements are defined and operation.destination is undefined, test engine will report an error as it cannot determine what destination to use for the exchange. */ - destination?: number; + destination?: number|undefined; /** * Whether or not to implicitly send the request url in encoded format. The default is true to match the standard RESTful client behavior. Set to false when communicating with a server that does not support encoded url paths. */ encodeRequestUrl: boolean; - _encodeRequestUrl?: Element; + _encodeRequestUrl?: Element|undefined; /** * This has no impact on the verification itself. */ - label?: string; - _label?: Element; + label?: string|undefined; + _label?: Element|undefined; /** * The primary purpose of the explicit HTTP method is support of HTTP POST method invocation of the FHIR search. Other uses will include support of negative testing. */ - method?: TestScriptSetupActionOperationMethodCodes; - _method?: Element; + method?: TestScriptSetupActionOperationMethodCodes|undefined; + _method?: Element|undefined; /** * If absent, test engine will send the message. When present, test engine will not send the request message but will wait for the request message to be sent from this origin server. */ - origin?: number; + origin?: number|undefined; /** * If "url" element is specified, then "targetId", "params", and "resource" elements will be ignored as "url" element will have everything needed for constructing the request url. If "params" element is specified, then "targetId" element is ignored. For FHIR operations that require a resource (e.g. "read" and "vread" operations), the "resource" element must be specified when "params" element is specified. If "url" and "params" elements are absent, then the request url will be constructed from "targetId" fixture if present. For "read" operation, the resource and id values will be extracted from "targetId" fixture and used to construct the url. For "vread" and "history" operations, the versionId value will also be used. Test engines would append whatever is specified for "params" to the URL after the resource type without tampering with the string (beyond encoding the URL for HTTP). The "params" element does not correspond exactly to "search parameters". Nor is it the "path". It corresponds to the part of the URL that comes after the [type] (when "resource" element is specified); e.g. It corresponds to "/[id]/_history/[vid] {?_format=[mime-type]}" in the following operation: GET [base]/[type]/[id]/_history/[vid] {?_format=[mime-type]} Test engines do have to look for placeholders (${}) and replace the variable placeholders with the variable values at runtime before sending the request. */ - params?: string; - _params?: Element; + params?: string|undefined; + _params?: Element|undefined; /** * This gives control to test-script writers to set headers explicitly based on test requirements. It will allow for testing using: - "If-Modified-Since" and "If-None-Match" headers. See http://build.fhir.org/http.html#2.1.0.5.1 - "If-Match" header. See http://build.fhir.org/http.html#2.1.0.11 - Conditional Create using "If-None-Exist". See http://build.fhir.org/http.html#2.1.0.13.1 - Invalid "Content-Type" header for negative testing. - etc. */ - requestHeader?: TestScriptSetupActionOperationRequestHeader[]; + requestHeader?: TestScriptSetupActionOperationRequestHeader[]|undefined; /** * If a requestId is supplied, then the resulting request (both headers and body) is mapped to the fixture ID (which may be entirely new and previously undeclared) designated by "requestId". If requestId is not specified, it is the test engine's responsibility to store the request and use it as the requestId in subsequent assertions when assertion path and/or headerField is specified, direction is equal to request, and the requestId in not specified. */ - requestId?: string; - _requestId?: Element; + requestId?: string|undefined; + _requestId?: Element|undefined; /** * If "url" element is specified, then "targetId", "params", and "resource" elements will be ignored as "url" element will have everything needed for constructing the request url. If "params" element is specified, then "targetId" element is ignored. For FHIR operations that require a resource (e.g. "read" and "vread" operations), the "resource" element must be specified when "params" element is specified. If "url" and "params" elements are absent, then the request url will be constructed from "targetId" fixture if present. For "read" operation, the resource and id values will be extracted from "targetId" fixture and used to construct the url. For "vread" and "history" operations, the versionId value will also be used. */ - resource?: string; - _resource?: Element; + resource?: string|undefined; + _resource?: Element|undefined; /** * If a responseId is supplied, and the server responds, then the resulting response (both headers and body) is mapped to the fixture ID (which may be entirely new and previously undeclared) designated by "responseId". If responseId is not specified, it is the test engine's responsibility to store the response and use it as the responseId in subsequent assertions when assertion path and/or headerField is specified and the responseId is not specified. */ - responseId?: string; - _responseId?: Element; + responseId?: string|undefined; + _responseId?: Element|undefined; /** * The id of the fixture used as the body of a PUT or POST request. */ - sourceId?: string; - _sourceId?: Element; + sourceId?: string|undefined; + _sourceId?: Element|undefined; /** * If "url" element is specified, then "targetId", "params", and "resource" elements will be ignored as "url" element will have everything needed for constructing the request url. If "params" element is specified, then "targetId" element is ignored. For FHIR operations that require a resource (e.g. "read" and "vread" operations), the "resource" element must be specified when "params" element is specified. If "url" and "params" elements are absent, then the request url will be constructed from "targetId" fixture if present. For "read" operation, the resource and id values will be extracted from "targetId" fixture and used to construct the url. For "vread" and "history" operations, the versionId value will also be used. */ - targetId?: string; - _targetId?: Element; + targetId?: string|undefined; + _targetId?: Element|undefined; /** * See http://build.fhir.org/http.html for list of server interactions. */ - type?: Coding; + type?: Coding|undefined; /** * Used to set the request URL explicitly. If "url" element is defined, then "targetId", "resource", and "params" elements will be ignored. Test engines would use whatever is specified in "url" without tampering with the string (beyond encoding the URL for HTTP). Test engines do have to look for placeholders (${}) and replace the variable placeholders with the variable values at runtime before sending the request. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; } /** * Code Values for the TestScript.setup.action.operation.method field @@ -30010,113 +30010,113 @@ export interface TestScriptSetupActionAssert extends BackboneElement { /** * Thefhirpath expression to be evaluated against the expected fixture to compare to. Ignored if "assert.value" is used. The evaluation will be done before the assertion is evaluated. */ - compareToSourceExpression?: string; - _compareToSourceExpression?: Element; + compareToSourceExpression?: string|undefined; + _compareToSourceExpression?: Element|undefined; /** * Id of the source fixture used as the contents to be evaluated by either the "source/expression" or "sourceId/path" definition. */ - compareToSourceId?: string; - _compareToSourceId?: Element; + compareToSourceId?: string|undefined; + _compareToSourceId?: Element|undefined; /** * The XPath or JSONPath expression to be evaluated against the expected fixture to compare to. Ignored if "assert.value" is used. The evaluation will be done before the assertion is evaluated. */ - compareToSourcePath?: string; - _compareToSourcePath?: Element; + compareToSourcePath?: string|undefined; + _compareToSourcePath?: Element|undefined; /** * If this is specified, then test engine shall confirm that the content-type of the last operation's headers is set to this value. If "assert.sourceId" element is specified, then the evaluation will be done against the headers mapped to that sourceId (and not the last operation's headers). If you'd like to have more control over the string, then use 'assert.headerField' instead. */ - contentType?: string; - _contentType?: Element; + contentType?: string|undefined; + _contentType?: Element|undefined; /** * This has no impact on the verification itself. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * If the direction is specified as "response" (the default), then the processing of this assert is against the received response message. If the direction is specified as "request", then the processing of this assert is against the sent request message. */ - direction?: TestScriptSetupActionAssertDirectionCodes; - _direction?: Element; + direction?: TestScriptSetupActionAssertDirectionCodes|undefined; + _direction?: Element|undefined; /** * If both "expression" and a "fixtureId" are specified, then the expression will be evaluated against the request or response body mapped to the fixtureId. If "expression" is specified and a "fixtureId" is not, then the expression will be evaluated against the response body of the last operation. Test engines are to store the request and response body and headers of the last operation at all times for subsequent assertions. */ - expression?: string; - _expression?: Element; + expression?: string|undefined; + _expression?: Element|undefined; /** * If "headerField" is specified then "value" must be specified. If "sourceId" is not specified, then "headerField" will be evaluated against the last operation's response headers. Test engines are to keep track of the last operation's response body and response headers. */ - headerField?: string; - _headerField?: Element; + headerField?: string|undefined; + _headerField?: Element|undefined; /** * This has no impact on the verification itself. */ - label?: string; - _label?: Element; + label?: string|undefined; + _label?: Element|undefined; /** * Asserts that the response contains all the element/content in another fixture pointed to by minimumId. This can be a statically defined fixture or one that is dynamically set via responseId. */ - minimumId?: string; - _minimumId?: Element; + minimumId?: string|undefined; + _minimumId?: Element|undefined; /** * Asserts that the Bundle contains first, last, and next links. */ - navigationLinks?: boolean; - _navigationLinks?: Element; + navigationLinks?: boolean|undefined; + _navigationLinks?: Element|undefined; /** * Operators are useful especially for negative testing. If operator is not specified, then the "equals" operator is assumed; e.g. ``` ```. */ - operator?: TestScriptSetupActionAssertOperatorCodes; - _operator?: Element; + operator?: TestScriptSetupActionAssertOperatorCodes|undefined; + _operator?: Element|undefined; /** * If both "path" and a "fixtureId" are specified, then the path will be evaluated against the request or response body mapped to the fixtureId. If "path" is specified and a "fixtureId" is not, then the path will be evaluated against the response body of the last operation. Test engines are to store the request and response body and headers of the last operation at all times for subsequent assertions. */ - path?: string; - _path?: Element; + path?: string|undefined; + _path?: Element|undefined; /** * If "requestMethod" is specified then it will be used in place of "value". The "requestMethod" will evaluate against the last operation's request HTTP operation. */ - requestMethod?: TestScriptSetupActionAssertRequestMethodCodes; - _requestMethod?: Element; + requestMethod?: TestScriptSetupActionAssertRequestMethodCodes|undefined; + _requestMethod?: Element|undefined; /** * If "requestURL" is specified then it will be used in place of "value". The "requestURL" will evaluate against the last operation's full request URL path string. */ - requestURL?: string; - _requestURL?: Element; + requestURL?: string|undefined; + _requestURL?: Element|undefined; /** * This will be expected resource type in response body e.g. in read, vread, search, etc. See http://build.fhir.org/resourcelist.html for complete list of resource types; e.g. . */ - resource?: string; - _resource?: Element; + resource?: string|undefined; + _resource?: Element|undefined; /** * This is a shorter way of achieving similar verifications via "assert.responseCode". If you need more control, then use "assert.responseCode" e.g. . */ - response?: TestScriptSetupActionAssertResponseCodes; - _response?: Element; + response?: TestScriptSetupActionAssertResponseCodes|undefined; + _response?: Element|undefined; /** * To be used with "operator" attribute value. Asserts that the response code equals this value if "operator" is not specified. If the operator is "in" or "notIn" then the responseCode would be a comma-separated list of values e.g. "200,201". Otherwise, it's expected to be a numeric value. If "fixture" is not specified, then the "responseBodyId" value of the last operation is assumed. */ - responseCode?: string; - _responseCode?: Element; + responseCode?: string|undefined; + _responseCode?: Element|undefined; /** * This can be a statically defined fixture (at the top of the testscript) or a dynamically set fixture created by responseId of the action.operation element. */ - sourceId?: string; - _sourceId?: Element; + sourceId?: string|undefined; + _sourceId?: Element|undefined; /** * The ID of a Profile fixture. Asserts that the response is valid according to the Profile specified by validateProfileId. */ - validateProfileId?: string; - _validateProfileId?: Element; + validateProfileId?: string|undefined; + _validateProfileId?: Element|undefined; /** * The string-representation of a number, string, or boolean that is expected. Test engines do have to look for placeholders (${}) and replace the variable placeholders with the variable values at runtime before comparing this value to the actual value. */ - value?: string; - _value?: Element; + value?: string|undefined; + _value?: Element|undefined; /** * If this element is specified and it is true, then assertion failures can be logged by test engine but should not stop the test script execution from proceeding. There are likely cases where the spec is not clear on what should happen. If the spec says something is optional (maybe a response header for example), but a server doesn’t do it, we could choose to issue a warning. */ warningOnly: boolean; - _warningOnly?: Element; + _warningOnly?: Element|undefined; } /** * Code Values for the TestScript.setup.action.assert.direction field @@ -30177,11 +30177,11 @@ export interface TestScriptSetupAction extends BackboneElement { /** * In order to evaluate an assertion, the request, response, and results of the most recently executed operation must always be maintained by the test engine. */ - assert?: TestScriptSetupActionAssert; + assert?: TestScriptSetupActionAssert|undefined; /** * The operation to perform. */ - operation?: TestScriptSetupActionOperation; + operation?: TestScriptSetupActionOperation|undefined; } /** * A series of required setup operations before tests are executed. @@ -30199,11 +30199,11 @@ export interface TestScriptTestAction extends BackboneElement { /** * In order to evaluate an assertion, the request, response, and results of the most recently executed operation must always be maintained by the test engine. */ - assert?: TestScriptSetupActionAssert; + assert?: TestScriptSetupActionAssert|undefined; /** * An operation would involve a REST request to a server. */ - operation?: TestScriptSetupActionOperation; + operation?: TestScriptSetupActionOperation|undefined; } /** * A test in this script. @@ -30216,13 +30216,13 @@ export interface TestScriptTest extends BackboneElement { /** * A short description of the test used by test engines for tracking and reporting purposes. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * The name of this test used for tracking/logging purposes by test engines. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; } /** * An action should contain either an operation or an assertion but not both. It can contain any number of variables. @@ -30251,112 +30251,112 @@ export interface TestScript extends DomainResource { /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * A copyright statement relating to the test script and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the test script. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the test script. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * This description can be used to capture details such as why the test script was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the test script as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the test script is presumed to be the predominant language in the place the test script was created). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * The purpose of this element is to define the profile of a destination element used elsewhere in the script. Test engines could then use the destination-profile mapping to offer a filtered list of test systems that can serve as the receiver for the interaction. */ - destination?: TestScriptDestination[]; + destination?: TestScriptDestination[]|undefined; /** * Allows filtering of test scripts that are appropriate for use versus not. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * Fixture in the test script - by reference (uri). All fixtures are required for the test script to execute. */ - fixture?: TestScriptFixture[]; + fixture?: TestScriptFixture[]|undefined; /** * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this test script outside of FHIR, where it is not possible to use the logical URI. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * It may be possible for the test script to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * The required capability must exist and are assumed to function correctly on the FHIR server being tested. */ - metadata?: TestScriptMetadata; + metadata?: TestScriptMetadata|undefined; /** * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * The purpose of this element is to define the profile of an origin element used elsewhere in the script. Test engines could then use the origin-profile mapping to offer a filtered list of test systems that can serve as the sender for the interaction. */ - origin?: TestScriptOrigin[]; + origin?: TestScriptOrigin[]|undefined; /** * See http://build.fhir.org/resourcelist.html for complete list of resource types. */ - profile?: Reference[]; + profile?: Reference[]|undefined; /** * Usually an organization but may be an individual. The publisher (or steward) of the test script is the organization or individual primarily responsible for the maintenance and upkeep of the test script. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the test script. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * This element does not describe the usage of the test script. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this test script. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * A series of required setup operations before tests are executed. */ - setup?: TestScriptSetup; + setup?: TestScriptSetup|undefined; /** * Allows filtering of test scripts that are appropriate for use versus not. */ status: TestScriptStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * A series of operations required to clean up after all the tests are executed (successfully or otherwise). */ - teardown?: TestScriptTeardown; + teardown?: TestScriptTeardown|undefined; /** * A test in this script. */ - test?: TestScriptTest[]; + test?: TestScriptTest[]|undefined; /** * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. */ url: string; - _url?: Element; + _url?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * Variables would be set based either on XPath/JSONPath expressions against fixtures (static and response), or headerField evaluations against response headers. If variable evaluates to nodelist or anything other than a primitive value, then test engine would report an error. Variables would be used to perform clean replacements in "operation.params", "operation.requestHeader.value", and "operation.url" element values during operation calls and in "assert.value" during assertion evaluations. This limits the places that test engines would need to look for placeholders "${}". Variables are scoped to the whole script. They are NOT evaluated at declaration. They are evaluated by test engine when used for substitutions in "operation.params", "operation.requestHeader.value", and "operation.url" element values during operation calls and in "assert.value" during assertion evaluations. See example testscript-search.xml. */ - variable?: TestScriptVariable[]; + variable?: TestScriptVariable[]|undefined; /** * There may be different test script instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the test script with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the TestScript.status field @@ -30374,17 +30374,17 @@ export interface ValueSetComposeIncludeConceptDesignation extends BackboneElemen /** * In the absence of a language, the resource language applies. */ - language?: string; - _language?: Element; + language?: string|undefined; + _language?: Element|undefined; /** * If no use is provided, the designation can be assumed to be suitable for general display to a human user. */ - use?: Coding; + use?: Coding|undefined; /** * The text value for this designation. */ value: string; - _value?: Element; + _value?: Element|undefined; } /** * The list of concepts is considered ordered, though the order might not have any particular significance. Typically, the order of an expansion follows that defined in the compose element. @@ -30394,16 +30394,16 @@ export interface ValueSetComposeIncludeConcept extends BackboneElement { * Expressions are allowed if defined by the underlying code system. */ code: string; - _code?: Element; + _code?: Element|undefined; /** * Concepts have both a ```display``` and an array of ```designation```. The display is equivalent to a special designation with an implied ```designation.use``` of "primary code" and a language equal to the [Resource Language](resource.html#language). */ - designation?: ValueSetComposeIncludeConceptDesignation[]; + designation?: ValueSetComposeIncludeConceptDesignation[]|undefined; /** * The value set resource allows for an alternative display to be specified for when this concept is used in this particular value set. See notes in the value set narrative about the correct use of this element. */ - display?: string; - _display?: Element; + display?: string|undefined; + _display?: Element|undefined; } /** * Selecting codes by specifying filters based on properties is only possible where the underlying code system defines appropriate properties. Note that in some cases, the underlying code system defines the logical concepts but not the literal codes for the concepts. In such cases, the literal definitions may be provided by a third party. @@ -30413,17 +30413,17 @@ export interface ValueSetComposeIncludeFilter extends BackboneElement { * In case filter.property represents a property of the system, the operation applies to the selected property. In case filter.property represents a filter of the system, the operation SHALL match one of the CodeSystem.filter.operator values. */ op: ValueSetComposeIncludeFilterOpCodes; - _op?: Element; + _op?: Element|undefined; /** * A code that identifies a property or a filter defined in the code system. */ property: string; - _property?: Element; + _property?: Element|undefined; /** * Use regex matching with care - full regex matching on every SNOMED CT term is prohibitive, for example. */ value: string; - _value?: Element; + _value?: Element|undefined; } /** * Code Values for the ValueSet.compose.include.filter.op field @@ -30446,26 +30446,26 @@ export interface ValueSetComposeInclude extends BackboneElement { /** * The list of concepts is considered ordered, though the order might not have any particular significance. Typically, the order of an expansion follows that defined in the compose element. */ - concept?: ValueSetComposeIncludeConcept[]; + concept?: ValueSetComposeIncludeConcept[]|undefined; /** * Selecting codes by specifying filters based on properties is only possible where the underlying code system defines appropriate properties. Note that in some cases, the underlying code system defines the logical concepts but not the literal codes for the concepts. In such cases, the literal definitions may be provided by a third party. */ - filter?: ValueSetComposeIncludeFilter[]; + filter?: ValueSetComposeIncludeFilter[]|undefined; /** * If there are no codes or filters, the entire code system is included. Note that the set of codes that are included may contain abstract codes. See ''Coding.system'' for further documentation about the correct value for the system element. */ - system?: string; - _system?: Element; + system?: string|undefined; + _system?: Element|undefined; /** * The value set URI is either a logical reference to a defined value set such as a [SNOMED CT reference set](snomedct.html#implicit), or a direct reference to a value set definition using ValueSet.url. The reference might not refer to an actual FHIR ValueSet resource; in this case, whatever is referred to is an implicit definition of a value set that needs to be clear about how versions are resolved. */ - valueSet?: string[]; - _valueSet?: Element[]; + valueSet?: string[]|undefined; + _valueSet?: Element[]|undefined; /** * This is used when selecting the descendants of a concept - they may change between versions. If no version is specified, then the exact contents of the value set might not be known until a context of use binds it to a particular version. The special value '*' means all versions; It is at server discretion regarding expansions and which versions must be supported. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * A set of criteria that define the contents of the value set by including or excluding codes selected from the specified code system(s) that the value set draws from. This is also known as the Content Logical Definition (CLD). @@ -30474,13 +30474,13 @@ export interface ValueSetCompose extends BackboneElement { /** * Usually this is used to selectively exclude codes that were included by subsumption in the inclusions. Any display names specified for the codes are ignored. */ - exclude?: ValueSetComposeInclude[]; + exclude?: ValueSetComposeInclude[]|undefined; /** * Note that in the FHIR terminology framework, "deprecated" does not mean inactive, but in some code systems, e.g. LOINC, "deprecated" does mean inactive. Code systems should define what codes are considered to be inactive. If this is not clearly defined (including in the FHIR code system resource), then all codes are assumed to be active. * The Value Set Definition specification defines an ActiveOnly element, which is the reverse of this element e.g. (ValueSet.compose.inactive=FALSE) is the same as (VSD.ActiveOnly=TRUE). */ - inactive?: boolean; - _inactive?: Element; + inactive?: boolean|undefined; + _inactive?: Element|undefined; /** * All the conditions in an include must be true. If a system is listed, all the codes from the system are listed. If one or more filters are listed, all of the filters must apply. If one or more value sets are listed, the codes must be in all the value sets. E.g. each include is 'include all the codes that meet all these conditions'. */ @@ -30488,8 +30488,8 @@ export interface ValueSetCompose extends BackboneElement { /** * With a defined lockedDate the value set is considered "Locked". Otherwise, the value set may have different expansions as underlying code systems and/or value sets evolve. The interpretation of lockedDate is often dependent on the context - e.g. a SNOMED CT derived value set with a lockedDate will have a different expansion in USA than in UK. If a value set specifies a version for include and exclude statements, and also specifies a locked date, the specified versions need to be available that date, or the value set will not be usable. */ - lockedDate?: string; - _lockedDate?: Element; + lockedDate?: string|undefined; + _lockedDate?: Element|undefined; } /** * The server decides which parameters to include here, but at a minimum, the list SHOULD include all of the parameters that affect the $expand operation. If the expansion will be persisted all of these parameters SHALL be included. If the codeSystem on the server has a specified version then this version SHALL be provided as a parameter in the expansion (note that not all code systems have a version). @@ -30499,40 +30499,40 @@ export interface ValueSetExpansionParameter extends BackboneElement { * The names are assigned at the discretion of the server. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * The value of the parameter. */ - valueString?: string; - _valueString?: Element; + valueString?: string|undefined; + _valueString?: Element|undefined; /** * The value of the parameter. */ - valueBoolean?: boolean; - _valueBoolean?: Element; + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; /** * The value of the parameter. */ - valueInteger?: number; + valueInteger?: number|undefined; /** * The value of the parameter. */ - valueDecimal?: number; + valueDecimal?: number|undefined; /** * The value of the parameter. */ - valueUri?: string; - _valueUri?: Element; + valueUri?: string|undefined; + _valueUri?: Element|undefined; /** * The value of the parameter. */ - valueCode?: string; - _valueCode?: Element; + valueCode?: string|undefined; + _valueCode?: Element|undefined; /** * The value of the parameter. */ - valueDateTime?: string; - _valueDateTime?: Element; + valueDateTime?: string|undefined; + _valueDateTime?: Element|undefined; } /** * The codes that are contained in the value set expansion. @@ -30541,41 +30541,41 @@ export interface ValueSetExpansionContains extends BackboneElement { /** * This should not be understood to exclude its use for searching (e.g. by subsumption testing). The client should know whether it is appropriate for the user to select an abstract code or not. */ - abstract?: boolean; - _abstract?: Element; + abstract?: boolean|undefined; + _abstract?: Element|undefined; /** * The code for this item in the expansion hierarchy. If this code is missing the entry in the hierarchy is a place holder (abstract) and does not represent a valid code in the value set. */ - code?: string; - _code?: Element; + code?: string|undefined; + _code?: Element|undefined; /** * If the expansion uses this element, there is no implication about the logical relationship between them, and the structure cannot be used for logical inferencing. The structure exists to provide navigational assistance for helping human users to locate codes in the expansion. */ - contains?: ValueSetExpansionContains[]; + contains?: ValueSetExpansionContains[]|undefined; /** * The designations provided must be based on the value set and code system definitions. */ - designation?: ValueSetComposeIncludeConceptDesignation[]; + designation?: ValueSetComposeIncludeConceptDesignation[]|undefined; /** * The recommended display for this item in the expansion. */ - display?: string; - _display?: Element; + display?: string|undefined; + _display?: Element|undefined; /** * This should only have a value if the concept is inactive. */ - inactive?: boolean; - _inactive?: Element; + inactive?: boolean|undefined; + _inactive?: Element|undefined; /** * An absolute URI which is the code system in which the code for this item in the expansion is defined. */ - system?: string; - _system?: Element; + system?: string|undefined; + _system?: Element|undefined; /** * The exact value of the version string is specified by the system from which the code is derived. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Expansion is performed to produce a collection of codes that are ready to use for data entry or validation. Value set expansions are always considered to be stateless - they are a record of the set of codes in the value set at a point in time under a given set of conditions, and are not subject to ongoing maintenance. @@ -30585,29 +30585,29 @@ export interface ValueSetExpansion extends BackboneElement { /** * The codes that are contained in the value set expansion. */ - contains?: ValueSetExpansionContains[]; + contains?: ValueSetExpansionContains[]|undefined; /** * Typically, this uri is a UUID (e.g. urn:uuid:8230ff20-c97a-4167-a59d-dc2cb9df16dd). */ - identifier?: string; - _identifier?: Element; + identifier?: string|undefined; + _identifier?: Element|undefined; /** * Paging only applies to flat expansions. If a filter is applied, the count is the number of concepts that matched the filter, not the number of concepts in an unfiltered view of the expansion. */ - offset?: number; + offset?: number|undefined; /** * The server decides which parameters to include here, but at a minimum, the list SHOULD include all of the parameters that affect the $expand operation. If the expansion will be persisted all of these parameters SHALL be included. If the codeSystem on the server has a specified version then this version SHALL be provided as a parameter in the expansion (note that not all code systems have a version). */ - parameter?: ValueSetExpansionParameter[]; + parameter?: ValueSetExpansionParameter[]|undefined; /** * This SHOULD be a fully populated instant, but in some circumstances, value sets are expanded by hand, and the expansion is published without that precision. */ timestamp: string; - _timestamp?: Element; + _timestamp?: Element|undefined; /** * Paging only applies to flat expansions. */ - total?: number; + total?: number|undefined; } /** * A ValueSet resource instance specifies a set of codes drawn from one or more code systems, intended for use in a particular context. Value sets link between [CodeSystem](codesystem.html) definitions and their use in [coded elements](terminologies.html). @@ -30618,90 +30618,90 @@ export interface ValueSet extends DomainResource { /** * A set of criteria that define the contents of the value set by including or excluding codes selected from the specified code system(s) that the value set draws from. This is also known as the Content Logical Definition (CLD). */ - compose?: ValueSetCompose; + compose?: ValueSetCompose|undefined; /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * nullFrequently, the copyright differs between the value set and the codes that are included. The copyright statement should clearly differentiate between these when required. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the value set. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * This description can be used to capture details such as why the value set was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the value set as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the value set is presumed to be the predominant language in the place the value set was created).The description is not intended to describe the semantics of the Value Set - there are no intrinsic semantics separate from the codes contained in its expansion. The description should capture its intended use, which is needed for ensuring integrity for its use in models across future changes. A description should be provided unless the value set is a contained resource (e.g. an anonymous value set in a profile). Most registries will require a description. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Expansion is performed to produce a collection of codes that are ready to use for data entry or validation. Value set expansions are always considered to be stateless - they are a record of the set of codes in the value set at a point in time under a given set of conditions, and are not subject to ongoing maintenance. * Expansion.parameter is a simplified list of parameters - a subset of the features of the [Parameters](parameters.html) resource. */ - expansion?: ValueSetExpansion; + expansion?: ValueSetExpansion|undefined; /** * Allows filtering of value sets that are appropriate for use versus not. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this value set outside of FHIR, where it is not possible to use the logical URI. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Normally immutability is set to 'false', which is the default assumption if it is not populated. Note that the implication is that if this is set to 'true', there may be only one ValueSet version for this definition. Immutability tends to be set to 'true' in one of two cases: - Where the value set, by the nature of its usage, cannot change. For example "All specializations of ACT in ActClassCode" - Where there's no safe way to express the "Purpose" such that someone else could safely make changes to the value set definition. Source workflow control must guarantee that the same URI always yields the same definition. */ - immutable?: boolean; - _immutable?: Element; + immutable?: boolean|undefined; + _immutable?: Element|undefined; /** * It may be possible for the value set to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly.A name should be provided unless the value set is a contained resource (e.g. an anonymous value set in a profile). Most registries will require a name. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Usually an organization but may be an individual. The publisher (or steward) of the value set is the organization or individual primarily responsible for the maintenance and upkeep of the value set. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the value set. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * This element does not describe the usage of the value set. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this value set. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * Allows filtering of value sets that are appropriate for use versus not.See also the [valueset-workflowStatus](extension-valueset-workflowstatus.html) extension for additional status information related to the editorial process. */ status: ValueSetStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different value set instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the value set with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the ValueSet.status field @@ -30719,32 +30719,32 @@ export interface VerificationResultPrimarySource extends BackboneElement { /** * Ability of the primary source to push updates/alerts (yes; no; undetermined). */ - canPushUpdates?: CodeableConcept; + canPushUpdates?: CodeableConcept|undefined; /** * Method for communicating with the primary source (manual; API; Push). */ - communicationMethod?: CodeableConcept[]; + communicationMethod?: CodeableConcept[]|undefined; /** * Type of alerts/updates the primary source can send (specific requested changes; any changes; as defined by source). */ - pushTypeAvailable?: CodeableConcept[]; + pushTypeAvailable?: CodeableConcept[]|undefined; /** * Type of primary source (License Board; Primary Education; Continuing Education; Postal Service; Relationship owner; Registration Authority; legal source; issuing source; authoritative source). */ - type?: CodeableConcept[]; + type?: CodeableConcept[]|undefined; /** * When the target was validated against the primary source. */ - validationDate?: string; - _validationDate?: Element; + validationDate?: string|undefined; + _validationDate?: Element|undefined; /** * Status of the validation of the target against the primary source (successful; failed; unknown). */ - validationStatus?: CodeableConcept; + validationStatus?: CodeableConcept|undefined; /** * Reference to the primary source. */ - who?: Reference; + who?: Reference|undefined; } /** * Information about the entity attesting to information. @@ -30753,38 +30753,38 @@ export interface VerificationResultAttestation extends BackboneElement { /** * The method by which attested information was submitted/retrieved (manual; API; Push). */ - communicationMethod?: CodeableConcept; + communicationMethod?: CodeableConcept|undefined; /** * The date the information was attested to. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * When the who is asserting on behalf of another (organization or individual). */ - onBehalfOf?: Reference; + onBehalfOf?: Reference|undefined; /** * A digital identity certificate associated with the proxy entity submitting attested information on behalf of the attestation source. */ - proxyIdentityCertificate?: string; - _proxyIdentityCertificate?: Element; + proxyIdentityCertificate?: string|undefined; + _proxyIdentityCertificate?: Element|undefined; /** * Signed assertion by the proxy entity indicating that they have the right to submit attested information on behalf of the attestation source. */ - proxySignature?: Signature; + proxySignature?: Signature|undefined; /** * A digital identity certificate associated with the attestation source. */ - sourceIdentityCertificate?: string; - _sourceIdentityCertificate?: Element; + sourceIdentityCertificate?: string|undefined; + _sourceIdentityCertificate?: Element|undefined; /** * Signed assertion by the attestation source that they have attested to the information. */ - sourceSignature?: Signature; + sourceSignature?: Signature|undefined; /** * The individual or organization attesting to information. */ - who?: Reference; + who?: Reference|undefined; } /** * Information about the entity validating information. @@ -30793,12 +30793,12 @@ export interface VerificationResultValidator extends BackboneElement { /** * Signed assertion by the validator that they have validated the information. */ - attestationSignature?: Signature; + attestationSignature?: Signature|undefined; /** * A digital identity certificate associated with the validator. */ - identityCertificate?: string; - _identityCertificate?: Element; + identityCertificate?: string|undefined; + _identityCertificate?: Element|undefined; /** * Reference to the organization validating information. */ @@ -30813,64 +30813,64 @@ export interface VerificationResult extends DomainResource { /** * Information about the entity attesting to information. */ - attestation?: VerificationResultAttestation; + attestation?: VerificationResultAttestation|undefined; /** * The result if validation fails (fatal; warning; record only; none). */ - failureAction?: CodeableConcept; + failureAction?: CodeableConcept|undefined; /** * Frequency of revalidation. */ - frequency?: Timing; + frequency?: Timing|undefined; /** * The date/time validation was last completed (including failed validations). */ - lastPerformed?: string; - _lastPerformed?: Element; + lastPerformed?: string|undefined; + _lastPerformed?: Element|undefined; /** * The frequency with which the target must be validated (none; initial; periodic). */ - need?: CodeableConcept; + need?: CodeableConcept|undefined; /** * The date when target is next validated, if appropriate. */ - nextScheduled?: string; - _nextScheduled?: Element; + nextScheduled?: string|undefined; + _nextScheduled?: Element|undefined; /** * Information about the primary source(s) involved in validation. */ - primarySource?: VerificationResultPrimarySource[]; + primarySource?: VerificationResultPrimarySource[]|undefined; /** * The validation status of the target (attested; validated; in process; requires revalidation; validation failed; revalidation failed). */ status: VerificationResultStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * When the validation status was updated. */ - statusDate?: string; - _statusDate?: Element; + statusDate?: string|undefined; + _statusDate?: Element|undefined; /** * A resource that was validated. */ - target?: Reference[]; + target?: Reference[]|undefined; /** * The fhirpath location(s) within the resource that was validated. */ - targetLocation?: string[]; - _targetLocation?: Element[]; + targetLocation?: string[]|undefined; + _targetLocation?: Element[]|undefined; /** * The primary process by which the target is validated (edit check; value set; primary source; multiple sources; standalone; in context). */ - validationProcess?: CodeableConcept[]; + validationProcess?: CodeableConcept[]|undefined; /** * What the target is validated against (nothing; primary source; multiple sources). */ - validationType?: CodeableConcept; + validationType?: CodeableConcept|undefined; /** * Information about the entity validating information. */ - validator?: VerificationResultValidator[]; + validator?: VerificationResultValidator[]|undefined; } /** * Code Values for the VerificationResult.status field @@ -30895,7 +30895,7 @@ export interface VisionPrescriptionLensSpecificationPrism extends BackboneElemen * The relative base, or reference lens edge, for the prism. */ base: VisionPrescriptionLensSpecificationPrismBaseCodes; - _base?: Element; + _base?: Element|undefined; } /** * Code Values for the VisionPrescription.lensSpecification.prism.base field @@ -30913,54 +30913,54 @@ export interface VisionPrescriptionLensSpecification extends BackboneElement { /** * Power adjustment for multifocal lenses measured in dioptres (0.25 units). */ - add?: number; + add?: number|undefined; /** * The limits are +180 and -180 degrees. */ - axis?: number; + axis?: number|undefined; /** * Back curvature measured in millimetres. */ - backCurve?: number; + backCurve?: number|undefined; /** * Brand recommendations or restrictions. */ - brand?: string; - _brand?: Element; + brand?: string|undefined; + _brand?: Element|undefined; /** * Special color or pattern. */ - color?: string; - _color?: Element; + color?: string|undefined; + _color?: Element|undefined; /** * Power adjustment for astigmatism measured in dioptres (0.25 units). */ - cylinder?: number; + cylinder?: number|undefined; /** * Contact lens diameter measured in millimetres. */ - diameter?: number; + diameter?: number|undefined; /** * The recommended maximum wear period for the lens. */ - duration?: Quantity; + duration?: Quantity|undefined; /** * May also appear as OD (oculus dexter) for the right eye and OS (oculus siniter) for the left eye. */ eye: VisionPrescriptionLensSpecificationEyeCodes; - _eye?: Element; + _eye?: Element|undefined; /** * Notes for special requirements such as coatings and lens materials. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * Contact lens power measured in dioptres (0.25 units). */ - power?: number; + power?: number|undefined; /** * Allows for adjustment on two axis. */ - prism?: VisionPrescriptionLensSpecificationPrism[]; + prism?: VisionPrescriptionLensSpecificationPrism[]|undefined; /** * Identifies the type of vision correction product which is required for the patient. */ @@ -30969,7 +30969,7 @@ export interface VisionPrescriptionLensSpecification extends BackboneElement { * The value is negative for near-sighted and positive for far sighted. * Often insurance will not cover a lens with power between +75 and -75. */ - sphere?: number; + sphere?: number|undefined; } /** * Code Values for the VisionPrescription.lensSpecification.eye field @@ -30988,20 +30988,20 @@ export interface VisionPrescription extends DomainResource { * The date this resource was created. */ created: string; - _created?: Element; + _created?: Element|undefined; /** * Jurisdictions determine the valid lifetime of a prescription. Typically vision prescriptions are valid for two years from the date written. */ dateWritten: string; - _dateWritten?: Element; + _dateWritten?: Element|undefined; /** * A reference to a resource that identifies the particular occurrence of contact between patient and health care provider during which the prescription was issued. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * A unique identifier assigned to this vision prescription. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Contain the details of the individual lens specifications and serves as the authorization for the fullfillment by certified professionals. */ @@ -31018,7 +31018,7 @@ export interface VisionPrescription extends DomainResource { * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: VisionPrescriptionStatusCodes; - _status?: Element; + _status?: Element|undefined; } /** * Code Values for the VisionPrescription.status field @@ -407432,3 +407432,153 @@ export type FhirResource = |ValueSet |VerificationResult |VisionPrescription; +/** + * String enum/union covering all known resource types. + */ +export type FhirResourceType = + 'Account' + | 'ActivityDefinition' + | 'AdverseEvent' + | 'AllergyIntolerance' + | 'Appointment' + | 'AppointmentResponse' + | 'AuditEvent' + | 'Basic' + | 'Binary' + | 'BiologicallyDerivedProduct' + | 'BodyStructure' + | 'Bundle' + | 'CapabilityStatement' + | 'CarePlan' + | 'CareTeam' + | 'CatalogEntry' + | 'ChargeItem' + | 'ChargeItemDefinition' + | 'Claim' + | 'ClaimResponse' + | 'ClinicalImpression' + | 'CodeSystem' + | 'Communication' + | 'CommunicationRequest' + | 'CompartmentDefinition' + | 'Composition' + | 'ConceptMap' + | 'Condition' + | 'Consent' + | 'Contract' + | 'Coverage' + | 'CoverageEligibilityRequest' + | 'CoverageEligibilityResponse' + | 'DetectedIssue' + | 'Device' + | 'DeviceDefinition' + | 'DeviceMetric' + | 'DeviceRequest' + | 'DeviceUseStatement' + | 'DiagnosticReport' + | 'DocumentManifest' + | 'DocumentReference' + | 'EffectEvidenceSynthesis' + | 'Encounter' + | 'Endpoint' + | 'EnrollmentRequest' + | 'EnrollmentResponse' + | 'EpisodeOfCare' + | 'EventDefinition' + | 'Evidence' + | 'EvidenceVariable' + | 'ExampleScenario' + | 'ExplanationOfBenefit' + | 'FamilyMemberHistory' + | 'Flag' + | 'Goal' + | 'GraphDefinition' + | 'Group' + | 'GuidanceResponse' + | 'HealthcareService' + | 'ImagingStudy' + | 'Immunization' + | 'ImmunizationEvaluation' + | 'ImmunizationRecommendation' + | 'ImplementationGuide' + | 'InsurancePlan' + | 'Invoice' + | 'Library' + | 'Linkage' + | 'List' + | 'Location' + | 'Measure' + | 'MeasureReport' + | 'Media' + | 'Medication' + | 'MedicationAdministration' + | 'MedicationDispense' + | 'MedicationKnowledge' + | 'MedicationRequest' + | 'MedicationStatement' + | 'MedicinalProduct' + | 'MedicinalProductAuthorization' + | 'MedicinalProductContraindication' + | 'MedicinalProductIndication' + | 'MedicinalProductIngredient' + | 'MedicinalProductInteraction' + | 'MedicinalProductManufactured' + | 'MedicinalProductPackaged' + | 'MedicinalProductPharmaceutical' + | 'MedicinalProductUndesirableEffect' + | 'MessageDefinition' + | 'MessageHeader' + | 'MolecularSequence' + | 'NamingSystem' + | 'NutritionOrder' + | 'Observation' + | 'ObservationDefinition' + | 'OperationDefinition' + | 'OperationOutcome' + | 'Organization' + | 'OrganizationAffiliation' + | 'Parameters' + | 'Patient' + | 'PaymentNotice' + | 'PaymentReconciliation' + | 'Person' + | 'PlanDefinition' + | 'Practitioner' + | 'PractitionerRole' + | 'Procedure' + | 'Provenance' + | 'Questionnaire' + | 'QuestionnaireResponse' + | 'RelatedPerson' + | 'RequestGroup' + | 'ResearchDefinition' + | 'ResearchElementDefinition' + | 'ResearchStudy' + | 'ResearchSubject' + | 'RiskAssessment' + | 'RiskEvidenceSynthesis' + | 'Schedule' + | 'SearchParameter' + | 'ServiceRequest' + | 'Slot' + | 'Specimen' + | 'SpecimenDefinition' + | 'StructureDefinition' + | 'StructureMap' + | 'Subscription' + | 'Substance' + | 'SubstanceNucleicAcid' + | 'SubstancePolymer' + | 'SubstanceProtein' + | 'SubstanceReferenceInformation' + | 'SubstanceSourceMaterial' + | 'SubstanceSpecification' + | 'SupplyDelivery' + | 'SupplyRequest' + | 'Task' + | 'TerminologyCapabilities' + | 'TestReport' + | 'TestScript' + | 'ValueSet' + | 'VerificationResult' + | 'VisionPrescription'; diff --git a/generated/TypeScript_R5.ts b/generated/TypeScript_R5.ts index d3e5ac263..7c2c76e89 100644 --- a/generated/TypeScript_R5.ts +++ b/generated/TypeScript_R5.ts @@ -12,52 +12,52 @@ export interface Address extends DataType { /** * The name of the city, town, suburb, village or other community or delivery center. */ - city?: string; - _city?: Element; + city?: string|undefined; + _city?: Element|undefined; /** * ISO 3166 2- or 3- letter codes MAY be used in place of a human readable country name. */ - country?: string; - _country?: Element; + country?: string|undefined; + _country?: Element|undefined; /** * District is sometimes known as county, but in some regions 'county' is used in place of city (municipality), so county name should be conveyed in city instead. */ - district?: string; - _district?: Element; + district?: string|undefined; + _district?: Element|undefined; /** * This component contains the house number, apartment number, street name, street direction, P.O. Box number, delivery hints, and similar address information. */ - line?: string[]; - _line?: Element[]; + line?: string[]|undefined; + _line?: Element[]|undefined; /** * Time period when address was/is in use. */ - period?: Period; + period?: Period|undefined; /** * A postal code designating a region defined by the postal service. */ - postalCode?: string; - _postalCode?: Element; + postalCode?: string|undefined; + _postalCode?: Element|undefined; /** * Sub-unit of a country with limited sovereignty in a federally organized country. A code may be used if codes are in common use (e.g. US 2 letter state codes). */ - state?: string; - _state?: Element; + state?: string|undefined; + _state?: Element|undefined; /** * Can provide both a text representation and parts. Applications updating an address SHALL ensure that when both text and parts are present, no content is included in the text that isn't found in a part. */ - text?: string; - _text?: Element; + text?: string|undefined; + _text?: Element|undefined; /** * The definition of Address states that "address is intended to describe postal addresses, not physical locations". However, many applications track whether an address has a dual purpose of being a location that can be visited as well as being a valid delivery destination, and Postal addresses are often used as proxies for physical locations (also see the [Location](location.html#) resource). */ - type?: AddressTypeCodes; - _type?: Element; + type?: AddressTypeCodes|undefined; + _type?: Element|undefined; /** * Applications can assume that an address is current unless it explicitly says that it is temporary or old. */ - use?: AddressUseCodes; - _use?: Element; + use?: AddressUseCodes|undefined; + _use?: Element|undefined; } /** * Code Values for the Address.type field @@ -89,22 +89,22 @@ export interface Annotation extends DataType { /** * Organization is used when there's no need for specific attribution as to who made the comment. */ - authorReference?: Reference; + authorReference?: Reference|undefined; /** * Organization is used when there's no need for specific attribution as to who made the comment. */ - authorString?: string; - _authorString?: Element; + authorString?: string|undefined; + _authorString?: Element|undefined; /** * The text of the annotation in markdown format. */ text: string; - _text?: Element; + _text?: Element|undefined; /** * Indicates when this particular annotation was made. */ - time?: string; - _time?: Element; + time?: string|undefined; + _time?: Element|undefined; } /** * For referring to data content defined in other formats. @@ -113,63 +113,63 @@ export interface Attachment extends DataType { /** * Identifies the type of the data in the attachment and allows a method to be chosen to interpret or render the data. Includes mime type parameters such as charset where appropriate. */ - contentType?: string; - _contentType?: Element; + contentType?: string|undefined; + _contentType?: Element|undefined; /** * The date that the attachment was first created. */ - creation?: string; - _creation?: Element; + creation?: string|undefined; + _creation?: Element|undefined; /** * The base64-encoded data SHALL be expressed in the same character set as the base resource XML or JSON. */ - data?: string; - _data?: Element; + data?: string|undefined; + _data?: Element|undefined; /** * The duration might differ from occurrencePeriod if recording was paused. */ - duration?: number; + duration?: number|undefined; /** * if the number of frames is not supplied, the value may be unknown. Applications should not assume that there is only one frame unless it is explicitly stated. */ - frames?: number; + frames?: number|undefined; /** * The hash is calculated on the data prior to base64 encoding, if the data is based64 encoded. The hash is not intended to support digital signatures. Where protection against malicious threats a digital signature should be considered, see [Provenance.signature](provenance-definitions.html#Provenance.signature) for mechanism to protect a resource with a digital signature. */ - hash?: string; - _hash?: Element; + hash?: string|undefined; + _hash?: Element|undefined; /** * Height of the image in pixels (photo/video). */ - height?: number; + height?: number|undefined; /** * The human language of the content. The value can be any valid value according to BCP 47. */ - language?: string; - _language?: Element; + language?: string|undefined; + _language?: Element|undefined; /** * The number of pages when printed. */ - pages?: number; + pages?: number|undefined; /** * The number of bytes is redundant if the data is provided as a base64binary, but is useful if the data is provided as a url reference. */ - size?: string; - _size?: Element; + size?: string|undefined; + _size?: Element|undefined; /** * May sometimes be derived from the source filename. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * If both data and url are provided, the url SHALL point to the same content as the data contains. Urls may be relative references or may reference transient locations such as a wrapping envelope using cid: though this has ramifications for using signatures. Relative URLs are interpreted relative to the service url, like a resource reference, rather than relative to the resource itself. If a URL is provided, it SHALL resolve to actual data. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * Width of the image in pixels (photo/video). */ - width?: number; + width?: number|undefined; } /** * Base definition for all elements that are defined inside a resource - but not those in a data type. @@ -178,7 +178,7 @@ export interface BackboneElement extends Element { /** * There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. */ - modifierExtension?: Extension[]; + modifierExtension?: Extension[]|undefined; } /** * Base definition for the few data types that are allowed to carry modifier extensions. @@ -187,7 +187,7 @@ export interface BackboneType extends DataType { /** * There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. */ - modifierExtension?: Extension[]; + modifierExtension?: Extension[]|undefined; } /** * Base definition for all types defined in FHIR type system. @@ -201,12 +201,12 @@ export interface CodeableConcept extends DataType { /** * Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true. */ - coding?: Coding[]; + coding?: Coding[]|undefined; /** * Very often the text is the same as a displayName of one of the codings. */ - text?: string; - _text?: Element; + text?: string|undefined; + _text?: Element|undefined; } /** * A reference to a resource (by instance), or instead, a reference to a cencept defined in a terminology or ontology (by class). @@ -215,11 +215,11 @@ export interface CodeableReference extends DataType { /** * A reference to a concept - e.g. the information is identified by it's general classto the degree of precision found in the terminology. */ - concept?: CodeableConcept; + concept?: CodeableConcept|undefined; /** * A reference to a resource the provides exact details about the information being referenced. */ - reference?: Reference; + reference?: Reference|undefined; } /** * A reference to a code defined by a terminology system. @@ -228,28 +228,28 @@ export interface Coding extends DataType { /** * A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination). */ - code?: string; - _code?: Element; + code?: string|undefined; + _code?: Element|undefined; /** * A representation of the meaning of the code in the system, following the rules of the system. */ - display?: string; - _display?: Element; + display?: string|undefined; + _display?: Element|undefined; /** * The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should reference to some definition that establishes the system clearly and unambiguously. */ - system?: string; - _system?: Element; + system?: string|undefined; + _system?: Element|undefined; /** * Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely. */ - userSelected?: boolean; - _userSelected?: Element; + userSelected?: boolean|undefined; + _userSelected?: Element|undefined; /** * Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Specifies contact information for a person or organization. @@ -258,12 +258,12 @@ export interface ContactDetail extends DataType { /** * If there is no named individual, the telecom information is for the organization as a whole. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * The contact details for the individual (if a name was provided) or the organization. */ - telecom?: ContactPoint[]; + telecom?: ContactPoint[]|undefined; } /** * Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc. @@ -272,26 +272,26 @@ export interface ContactPoint extends DataType { /** * Time period when the contact point was/is in use. */ - period?: Period; + period?: Period|undefined; /** * Note that rank does not necessarily follow the order in which the contacts are represented in the instance. */ - rank?: number; + rank?: number|undefined; /** * Telecommunications form for contact point - what communications system is required to make use of the contact. */ - system?: ContactPointSystemCodes; - _system?: Element; + system?: ContactPointSystemCodes|undefined; + _system?: Element|undefined; /** * Applications can assume that a contact is current unless it explicitly says that it is temporary or old. */ - use?: ContactPointUseCodes; - _use?: Element; + use?: ContactPointUseCodes|undefined; + _use?: Element|undefined; /** * Additional text data such as phone extension numbers, or notes about use of the contact are sometimes included in the value. */ - value?: string; - _value?: Element; + value?: string|undefined; + _value?: Element|undefined; } /** * Code Values for the ContactPoint.system field @@ -322,17 +322,17 @@ export interface Contributor extends DataType { /** * Contact details to assist a user in finding and communicating with the contributor. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * The name of the individual or organization responsible for the contribution. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * The type of contributor. */ type: ContributorTypeCodes; - _type?: Element; + _type?: Element|undefined; } /** * Code Values for the Contributor.type field @@ -355,22 +355,22 @@ export interface DataRequirementCodeFilter extends Element { /** * The codes for the code filter. If values are given, the filter will return only those data items for which the code-valued attribute specified by the path has a value that is one of the specified codes. If codes are specified in addition to a value set, the filter returns items matching a code in the value set or one of the specified codes. */ - code?: Coding[]; + code?: Coding[]|undefined; /** * The path attribute contains a [Simple FHIRPath Subset](fhirpath.html#simple) that allows path traversal, but not calculation. */ - path?: string; - _path?: Element; + path?: string|undefined; + _path?: Element|undefined; /** * A token parameter that refers to a search parameter defined on the specified type of the DataRequirement, and which searches on elements of type code, Coding, or CodeableConcept. */ - searchParam?: string; - _searchParam?: Element; + searchParam?: string|undefined; + _searchParam?: Element|undefined; /** * The valueset for the code filter. The valueSet and code elements are additive. If valueSet is specified, the filter will return only those data items for which the value of the code-valued element specified in the path is a member of the specified valueset. */ - valueSet?: string; - _valueSet?: Element; + valueSet?: string|undefined; + _valueSet?: Element|undefined; } /** * Date filters specify additional constraints on the data in terms of the applicable date range for specific elements. Each date filter specifies an additional constraint on the data, i.e. date filters are AND'ed, not OR'ed. @@ -379,26 +379,26 @@ export interface DataRequirementDateFilter extends Element { /** * The path attribute contains a [Simple FHIR Subset](fhirpath.html#simple) that allows path traversal, but not calculation. */ - path?: string; - _path?: Element; + path?: string|undefined; + _path?: Element|undefined; /** * A date parameter that refers to a search parameter defined on the specified type of the DataRequirement, and which searches on elements of type date, dateTime, Period, Schedule, or Timing. */ - searchParam?: string; - _searchParam?: Element; + searchParam?: string|undefined; + _searchParam?: Element|undefined; /** * The value of the filter. If period is specified, the filter will return only those data items that fall within the bounds determined by the Period, inclusive of the period boundaries. If dateTime is specified, the filter will return only those data items that are equal to the specified dateTime. If a Duration is specified, the filter will return only those data items that fall within Duration before now. */ - valueDateTime?: string; - _valueDateTime?: Element; + valueDateTime?: string|undefined; + _valueDateTime?: Element|undefined; /** * The value of the filter. If period is specified, the filter will return only those data items that fall within the bounds determined by the Period, inclusive of the period boundaries. If dateTime is specified, the filter will return only those data items that are equal to the specified dateTime. If a Duration is specified, the filter will return only those data items that fall within Duration before now. */ - valuePeriod?: Period; + valuePeriod?: Period|undefined; /** * The value of the filter. If period is specified, the filter will return only those data items that fall within the bounds determined by the Period, inclusive of the period boundaries. If dateTime is specified, the filter will return only those data items that are equal to the specified dateTime. If a Duration is specified, the filter will return only those data items that fall within Duration before now. */ - valueDuration?: Duration; + valueDuration?: Duration|undefined; } /** * This element can be used in combination with the sort element to specify quota requirements such as "the most recent 5" or "the highest 5". When multiple sorts are specified, they are applied in the order they appear in the resource. @@ -408,12 +408,12 @@ export interface DataRequirementSort extends Element { * The direction of the sort, ascending or descending. */ direction: DataRequirementSortDirectionCodes; - _direction?: Element; + _direction?: Element|undefined; /** * The attribute of the sort. The specified path must be resolvable from the type of the required data. The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements. Note that the index must be an integer constant. */ path: string; - _path?: Element; + _path?: Element|undefined; } /** * Code Values for the DataRequirement.sort.direction field @@ -429,43 +429,43 @@ export interface DataRequirement extends DataType { /** * Code filters specify additional constraints on the data, specifying the value set of interest for a particular element of the data. Each code filter defines an additional constraint on the data, i.e. code filters are AND'ed, not OR'ed. */ - codeFilter?: DataRequirementCodeFilter[]; + codeFilter?: DataRequirementCodeFilter[]|undefined; /** * Date filters specify additional constraints on the data in terms of the applicable date range for specific elements. Each date filter specifies an additional constraint on the data, i.e. date filters are AND'ed, not OR'ed. */ - dateFilter?: DataRequirementDateFilter[]; + dateFilter?: DataRequirementDateFilter[]|undefined; /** * This element can be used in combination with the sort element to specify quota requirements such as "the most recent 5" or "the highest 5". */ - limit?: number; + limit?: number|undefined; /** * Indicates that specific elements of the type are referenced by the knowledge module and must be supported by the consumer in order to obtain an effective evaluation. This does not mean that a value is required for this element, only that the consuming system must understand the element and be able to provide values for it if they are available. * The value of mustSupport SHALL be a FHIRPath resolveable on the type of the DataRequirement. The path SHALL consist only of identifiers, constant indexers, and .resolve() (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details). */ - mustSupport?: string[]; - _mustSupport?: Element[]; + mustSupport?: string[]|undefined; + _mustSupport?: Element[]|undefined; /** * The profile of the required data, specified as the uri of the profile definition. */ - profile?: string[]; - _profile?: Element[]; + profile?: string[]|undefined; + _profile?: Element[]|undefined; /** * This element can be used in combination with the sort element to specify quota requirements such as "the most recent 5" or "the highest 5". When multiple sorts are specified, they are applied in the order they appear in the resource. */ - sort?: DataRequirementSort[]; + sort?: DataRequirementSort[]|undefined; /** * The subject of a data requirement is critical, as the data being specified is determined with respect to a particular subject. This corresponds roughly to the notion of a Compartment in that it limits what data is available based on its relationship to the subject. In CQL, this corresponds to the context declaration. */ - subjectCodeableConcept?: CodeableConcept; + subjectCodeableConcept?: CodeableConcept|undefined; /** * The subject of a data requirement is critical, as the data being specified is determined with respect to a particular subject. This corresponds roughly to the notion of a Compartment in that it limits what data is available based on its relationship to the subject. In CQL, this corresponds to the context declaration. */ - subjectReference?: Reference; + subjectReference?: Reference|undefined; /** * The type of the required data, specified as the type name of a resource. For profiles, this value is set to the type of the base resource of the profile. */ type: string; - _type?: Element; + _type?: Element|undefined; } /** * The base class for all re-useable types defined as part of the FHIR Specification. @@ -484,30 +484,30 @@ export interface DosageDoseAndRate extends Element { /** * Note that this specifies the quantity of the specified medication, not the quantity for each active ingredient(s). Each ingredient amount can be communicated in the Medication resource. For example, if one wants to communicate that a tablet was 375 mg, where the dose was one tablet, you can use the Medication resource to document that the tablet was comprised of 375 mg of drug XYZ. Alternatively if the dose was 375 mg, then you may only need to use the Medication resource to indicate this was a tablet. If the example were an IV such as dopamine and you wanted to communicate that 400mg of dopamine was mixed in 500 ml of some IV solution, then this would all be communicated in the Medication resource. If the administration is not intended to be instantaneous (rate is present or timing has a duration), this can be specified to convey the total amount to be administered over the period of time as indicated by the schedule e.g. 500 ml in dose, with timing used to convey that this should be done over 4 hours. */ - doseRange?: Range; + doseRange?: Range|undefined; /** * Note that this specifies the quantity of the specified medication, not the quantity for each active ingredient(s). Each ingredient amount can be communicated in the Medication resource. For example, if one wants to communicate that a tablet was 375 mg, where the dose was one tablet, you can use the Medication resource to document that the tablet was comprised of 375 mg of drug XYZ. Alternatively if the dose was 375 mg, then you may only need to use the Medication resource to indicate this was a tablet. If the example were an IV such as dopamine and you wanted to communicate that 400mg of dopamine was mixed in 500 ml of some IV solution, then this would all be communicated in the Medication resource. If the administration is not intended to be instantaneous (rate is present or timing has a duration), this can be specified to convey the total amount to be administered over the period of time as indicated by the schedule e.g. 500 ml in dose, with timing used to convey that this should be done over 4 hours. */ - doseQuantity?: Quantity; + doseQuantity?: Quantity|undefined; /** * It is possible to supply both a rate and a doseQuantity to provide full details about how the medication is to be administered and supplied. If the rate is intended to change over time, depending on local rules/regulations, each change should be captured as a new version of the MedicationRequest with an updated rate, or captured with a new MedicationRequest with the new rate. * It is possible to specify a rate over time (for example, 100 ml/hour) using either the rateRatio and rateQuantity. The rateQuantity approach requires systems to have the capability to parse UCUM grammer where ml/hour is included rather than a specific ratio where the time is specified as the denominator. Where a rate such as 500ml over 2 hours is specified, the use of rateRatio may be more semantically correct than specifying using a rateQuantity of 250 mg/hour. */ - rateRatio?: Ratio; + rateRatio?: Ratio|undefined; /** * It is possible to supply both a rate and a doseQuantity to provide full details about how the medication is to be administered and supplied. If the rate is intended to change over time, depending on local rules/regulations, each change should be captured as a new version of the MedicationRequest with an updated rate, or captured with a new MedicationRequest with the new rate. * It is possible to specify a rate over time (for example, 100 ml/hour) using either the rateRatio and rateQuantity. The rateQuantity approach requires systems to have the capability to parse UCUM grammer where ml/hour is included rather than a specific ratio where the time is specified as the denominator. Where a rate such as 500ml over 2 hours is specified, the use of rateRatio may be more semantically correct than specifying using a rateQuantity of 250 mg/hour. */ - rateRange?: Range; + rateRange?: Range|undefined; /** * It is possible to supply both a rate and a doseQuantity to provide full details about how the medication is to be administered and supplied. If the rate is intended to change over time, depending on local rules/regulations, each change should be captured as a new version of the MedicationRequest with an updated rate, or captured with a new MedicationRequest with the new rate. * It is possible to specify a rate over time (for example, 100 ml/hour) using either the rateRatio and rateQuantity. The rateQuantity approach requires systems to have the capability to parse UCUM grammer where ml/hour is included rather than a specific ratio where the time is specified as the denominator. Where a rate such as 500ml over 2 hours is specified, the use of rateRatio may be more semantically correct than specifying using a rateQuantity of 250 mg/hour. */ - rateQuantity?: Quantity; + rateQuantity?: Quantity|undefined; /** * The kind of dose or rate specified, for example, ordered or calculated. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Indicates how the medication is/was taken or should be taken by the patient. @@ -516,62 +516,62 @@ export interface Dosage extends BackboneType { /** * Information about administration or preparation of the medication (e.g. "infuse as rapidly as possibly via intraperitoneal port" or "immediately following drug x") should be populated in dosage.text. */ - additionalInstruction?: CodeableConcept[]; + additionalInstruction?: CodeableConcept[]|undefined; /** * Can express "as needed" without a reason by setting the Boolean = True. In this case the CodeableConcept is not populated. Or you can express "as needed" with a reason by including the CodeableConcept. In this case the Boolean is assumed to be True. If you set the Boolean to False, then the dose is given according to the schedule and is not "prn" or "as needed". */ - asNeededBoolean?: boolean; - _asNeededBoolean?: Element; + asNeededBoolean?: boolean|undefined; + _asNeededBoolean?: Element|undefined; /** * Can express "as needed" without a reason by setting the Boolean = True. In this case the CodeableConcept is not populated. Or you can express "as needed" with a reason by including the CodeableConcept. In this case the Boolean is assumed to be True. If you set the Boolean to False, then the dose is given according to the schedule and is not "prn" or "as needed". */ - asNeededCodeableConcept?: CodeableConcept; + asNeededCodeableConcept?: CodeableConcept|undefined; /** * The amount of medication administered. */ - doseAndRate?: DosageDoseAndRate[]; + doseAndRate?: DosageDoseAndRate[]|undefined; /** * This is intended for use as an adjunct to the dosage when there is an upper cap. For example, a body surface area related dose with a maximum amount, such as 1.5 mg/m2 (maximum 2 mg) IV over 5 – 10 minutes would have doseQuantity of 1.5 mg/m2 and maxDosePerAdministration of 2 mg. */ - maxDosePerAdministration?: Quantity; + maxDosePerAdministration?: Quantity|undefined; /** * Upper limit on medication per lifetime of the patient. */ - maxDosePerLifetime?: Quantity; + maxDosePerLifetime?: Quantity|undefined; /** * This is intended for use as an adjunct to the dosage when there is an upper cap. For example "2 tablets every 4 hours to a maximum of 8/day". */ - maxDosePerPeriod?: Ratio; + maxDosePerPeriod?: Ratio|undefined; /** * Terminologies used often pre-coordinate this term with the route and or form of administration. */ - method?: CodeableConcept; + method?: CodeableConcept|undefined; /** * Instructions in terms that are understood by the patient or consumer. */ - patientInstruction?: string; - _patientInstruction?: Element; + patientInstruction?: string|undefined; + _patientInstruction?: Element|undefined; /** * How drug should enter body. */ - route?: CodeableConcept; + route?: CodeableConcept|undefined; /** * Indicates the order in which the dosage instructions should be applied or interpreted. */ - sequence?: number; + sequence?: number|undefined; /** * If the use case requires attributes from the BodySite resource (e.g. to identify and track separately) then use the standard extension [bodySite](extension-bodysite.html). May be a summary code, or a reference to a very precise definition of the location, or both. */ - site?: CodeableConcept; + site?: CodeableConcept|undefined; /** * Free text dosage instructions e.g. SIG. */ - text?: string; - _text?: Element; + text?: string|undefined; + _text?: Element|undefined; /** * This attribute might not always be populated while the Dosage.text is expected to be populated. If both are populated, then the Dosage.text should reflect the content of the Dosage.timing. */ - timing?: Timing; + timing?: Timing|undefined; } /** * A length of time. @@ -585,12 +585,12 @@ export interface Element { /** * There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. */ - extension?: Extension[]; + extension?: Extension[]|undefined; /** * Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. */ - id?: string; - _id?: Element; + id?: string|undefined; + _id?: Element|undefined; } /** * If there is no discriminator, the content is hard to process, so this should be avoided. @@ -600,12 +600,12 @@ export interface ElementDefinitionSlicingDiscriminator extends Element { * The only FHIRPath functions that are allowed are as(type), resolve(), and extension(url). */ path: string; - _path?: Element; + _path?: Element|undefined; /** * How the element value is interpreted when discrimination is evaluated. */ type: ElementDefinitionSlicingDiscriminatorTypeCodes; - _type?: Element; + _type?: Element|undefined; } /** * Code Values for the ElementDefinition.slicing.discriminator.type field @@ -624,22 +624,22 @@ export interface ElementDefinitionSlicing extends Element { /** * If it's really not possible to differentiate them, the design should be re-evaluated to make the content usable. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * If there is no discriminator, the content is hard to process, so this should be avoided. */ - discriminator?: ElementDefinitionSlicingDiscriminator[]; + discriminator?: ElementDefinitionSlicingDiscriminator[]|undefined; /** * Order should only be required when it is a pressing concern for presentation. Profile authors should consider making the order a feature of the rules about the narrative, not the rules about the data - requiring ordered data makes the profile much less re-usable. */ - ordered?: boolean; - _ordered?: Element; + ordered?: boolean|undefined; + _ordered?: Element|undefined; /** * Allowing additional elements makes for a much for flexible template - it's open for use in wider contexts, but also means that the content of the resource is not closed, and applications have to decide how to handle content not described by the profile. */ rules: ElementDefinitionSlicingRulesCodes; - _rules?: Element; + _rules?: Element|undefined; } /** * Code Values for the ElementDefinition.slicing.rules field @@ -657,7 +657,7 @@ export interface ElementDefinitionBase extends Element { * This is provided to code generation, since the serialization representation in JSON differs depending on whether the base element has max > 1. Also, some forms of code generation may differ. */ max: string; - _max?: Element; + _max?: Element|undefined; /** * This is provided for consistency with max, and may affect code generation of mandatory elements of the base resource are generated differently (some reference implementations have done this). */ @@ -666,7 +666,7 @@ export interface ElementDefinitionBase extends Element { * The Path that identifies the base element - this matches the ElementDefinition.path for that element. Across FHIR, there is only one base definition of any element - that is, an element definition on a [StructureDefinition](structuredefinition.html#) without a StructureDefinition.base. */ path: string; - _path?: Element; + _path?: Element|undefined; } /** * The Type of the element can be left blank in a differential constraint, in which case the type is inherited from the resource. Abstract types are not permitted to appear as a type when multiple types are listed. (I.e. Abstract types cannot be part of a choice). @@ -675,28 +675,28 @@ export interface ElementDefinitionType extends Element { /** * See [Aggregation Rules](elementdefinition.html#aggregation) for further clarification. */ - aggregation?: ElementDefinitionTypeAggregationCodes[]; - _aggregation?: Element[]; + aggregation?: ElementDefinitionTypeAggregationCodes[]|undefined; + _aggregation?: Element[]|undefined; /** * If the element is a reference to another resource, this element contains "Reference", and the targetProfile element defines what resources can be referenced. The targetProfile may be a reference to the general definition of a resource (e.g. http://hl7.org/fhir/StructureDefinition/Patient). */ code: string; - _code?: Element; + _code?: Element|undefined; /** * It is possible to profile backbone element (e.g. part of a resource), using the [profile-element](extension-elementdefinition-profile-element.html) extension. */ - profile?: string[]; - _profile?: Element[]; + profile?: string[]|undefined; + _profile?: Element[]|undefined; /** * Used when the type is "Reference" or "canonical", and identifies a profile structure or implementation Guide that applies to the target of the reference this element refers to. If any profiles are specified, then the content must conform to at least one of them. The URL can be a local reference - to a contained StructureDefinition, or a reference to another StructureDefinition or Implementation Guide by a canonical URL. When an implementation guide is specified, the target resource SHALL conform to at least one profile defined in the implementation guide. */ - targetProfile?: string[]; - _targetProfile?: Element[]; + targetProfile?: string[]|undefined; + _targetProfile?: Element[]|undefined; /** * The base specification never makes a rule as to which form is allowed, but implementation guides may do this. See [Aggregation Rules](elementdefinition.html#aggregation) for further clarification. */ - versioning?: ElementDefinitionTypeVersioningCodes; - _versioning?: Element; + versioning?: ElementDefinitionTypeVersioningCodes|undefined; + _versioning?: Element|undefined; } /** * Code Values for the ElementDefinition.type.aggregation field @@ -722,227 +722,227 @@ export interface ElementDefinitionExample extends Element { * Describes the purpose of this example amoung the set of examples. */ label: string; - _label?: Element; + _label?: Element|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueBase64Binary?: string; - _valueBase64Binary?: Element; + valueBase64Binary?: string|undefined; + _valueBase64Binary?: Element|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueBoolean?: boolean; - _valueBoolean?: Element; + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueCanonical?: string; - _valueCanonical?: Element; + valueCanonical?: string|undefined; + _valueCanonical?: Element|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueCode?: string; - _valueCode?: Element; + valueCode?: string|undefined; + _valueCode?: Element|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueDate?: string; - _valueDate?: Element; + valueDate?: string|undefined; + _valueDate?: Element|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueDateTime?: string; - _valueDateTime?: Element; + valueDateTime?: string|undefined; + _valueDateTime?: Element|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueDecimal?: number; + valueDecimal?: number|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueId?: string; - _valueId?: Element; + valueId?: string|undefined; + _valueId?: Element|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueInstant?: string; - _valueInstant?: Element; + valueInstant?: string|undefined; + _valueInstant?: Element|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueInteger?: number; + valueInteger?: number|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueInteger64?: string; - _valueInteger64?: Element; + valueInteger64?: string|undefined; + _valueInteger64?: Element|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueMarkdown?: string; - _valueMarkdown?: Element; + valueMarkdown?: string|undefined; + _valueMarkdown?: Element|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueOid?: string; - _valueOid?: Element; + valueOid?: string|undefined; + _valueOid?: Element|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valuePositiveInt?: number; + valuePositiveInt?: number|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueString?: string; - _valueString?: Element; + valueString?: string|undefined; + _valueString?: Element|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueTime?: string; - _valueTime?: Element; + valueTime?: string|undefined; + _valueTime?: Element|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueUnsignedInt?: number; + valueUnsignedInt?: number|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueUri?: string; - _valueUri?: Element; + valueUri?: string|undefined; + _valueUri?: Element|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueUrl?: string; - _valueUrl?: Element; + valueUrl?: string|undefined; + _valueUrl?: Element|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueUuid?: string; - _valueUuid?: Element; + valueUuid?: string|undefined; + _valueUuid?: Element|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueAddress?: Address; + valueAddress?: Address|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueAge?: Age; + valueAge?: Age|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueAnnotation?: Annotation; + valueAnnotation?: Annotation|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueAttachment?: Attachment; + valueAttachment?: Attachment|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueCodeableConcept?: CodeableConcept; + valueCodeableConcept?: CodeableConcept|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueCoding?: Coding; + valueCoding?: Coding|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueContactPoint?: ContactPoint; + valueContactPoint?: ContactPoint|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueCount?: Count; + valueCount?: Count|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueDistance?: Distance; + valueDistance?: Distance|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueDuration?: Duration; + valueDuration?: Duration|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueHumanName?: HumanName; + valueHumanName?: HumanName|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueIdentifier?: Identifier; + valueIdentifier?: Identifier|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueMoney?: Money; + valueMoney?: Money|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valuePeriod?: Period; + valuePeriod?: Period|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueRange?: Range; + valueRange?: Range|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueRatio?: Ratio; + valueRatio?: Ratio|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueReference?: Reference; + valueReference?: Reference|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueSampledData?: SampledData; + valueSampledData?: SampledData|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueSignature?: Signature; + valueSignature?: Signature|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueTiming?: Timing; + valueTiming?: Timing|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueContactDetail?: ContactDetail; + valueContactDetail?: ContactDetail|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueContributor?: Contributor; + valueContributor?: Contributor|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueDataRequirement?: DataRequirement; + valueDataRequirement?: DataRequirement|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueExpression?: Expression; + valueExpression?: Expression|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueParameterDefinition?: ParameterDefinition; + valueParameterDefinition?: ParameterDefinition|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueRelatedArtifact?: RelatedArtifact; + valueRelatedArtifact?: RelatedArtifact|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueTriggerDefinition?: TriggerDefinition; + valueTriggerDefinition?: TriggerDefinition|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueUsageContext?: UsageContext; + valueUsageContext?: UsageContext|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueDosage?: Dosage; + valueDosage?: Dosage|undefined; /** * The actual value for the element, which must be one of the types allowed for this element. */ - valueMeta?: Meta; + valueMeta?: Meta|undefined; } /** * Constraints should be declared on the "context" element - the lowest element in the hierarchy that is common to all nodes referenced by the constraint. @@ -951,38 +951,38 @@ export interface ElementDefinitionConstraint extends Element { /** * In the absense of an expression, the expression is likely not enforceable by validators, and might be missed by many systems. */ - expression?: string; - _expression?: Element; + expression?: string|undefined; + _expression?: Element|undefined; /** * Should be expressed in business terms as much as possible. */ human: string; - _human?: Element; + _human?: Element|undefined; /** * Allows identification of which elements have their cardinalities impacted by the constraint. Will not be referenced for constraints that do not affect cardinality. */ key: string; - _key?: Element; + _key?: Element|undefined; /** * To be used if the reason for the constraint might not be intuitive to all implementers. */ - requirements?: string; - _requirements?: Element; + requirements?: string|undefined; + _requirements?: Element|undefined; /** * This allows constraints to be asserted as "shall" (error) and "should" (warning). */ severity: ElementDefinitionConstraintSeverityCodes; - _severity?: Element; + _severity?: Element|undefined; /** * This is used when, e.g. rendering, where it is not useful to present inherited constraints when rendering the snapshot. */ - source?: string; - _source?: Element; + source?: string|undefined; + _source?: Element|undefined; /** * Elements SHALL use "f" as the namespace prefix for the FHIR namespace, and "x" for the xhtml namespace, and SHALL NOT use any other prefixes. Note: XPath is generally considered not useful because it does not apply to JSON and other formats and because of XSLT implementation issues, and may be removed in the future. */ - xpath?: string; - _xpath?: Element; + xpath?: string|undefined; + _xpath?: Element|undefined; } /** * Code Values for the ElementDefinition.constraint.severity field @@ -998,18 +998,18 @@ export interface ElementDefinitionBinding extends Element { /** * Describes the intended use of this particular set of codes. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * For further discussion, see [Using Terminologies](terminologies.html). */ strength: ElementDefinitionBindingStrengthCodes; - _strength?: Element; + _strength?: Element|undefined; /** * The reference may be version-specific or not (e.g. have a |[version] at the end of the canonical URL). */ - valueSet?: string; - _valueSet?: Element; + valueSet?: string|undefined; + _valueSet?: Element|undefined; } /** * Code Values for the ElementDefinition.binding.strength field @@ -1027,23 +1027,23 @@ export interface ElementDefinitionMapping extends Element { /** * Comments that provide information about the mapping or its use. */ - comment?: string; - _comment?: Element; + comment?: string|undefined; + _comment?: Element|undefined; /** * An internal reference to the definition of a mapping. */ identity: string; - _identity?: Element; + _identity?: Element|undefined; /** * If omitted, then there can be no expectation of computational interpretation of the mapping. */ - language?: string; - _language?: Element; + language?: string|undefined; + _language?: Element|undefined; /** * For most mappings, the syntax is undefined. Syntax will be provided for mappings to the RIM. Multiple mappings may be possible and may include constraints on other resource elements that identify when a particular mapping applies. */ map: string; - _map?: Element; + _map?: Element|undefined; } /** * Captures constraints on each element within the resource, profile, or extension. @@ -1052,939 +1052,939 @@ export interface ElementDefinition extends BackboneType { /** * Identifies additional names by which this element might also be known. */ - alias?: string[]; - _alias?: Element[]; + alias?: string[]|undefined; + _alias?: Element[]|undefined; /** * The base information does not carry any information that could not be determined from the path and related profiles, but making this determination requires both that the related profiles are available, and that the algorithm to determine them be available. For tooling simplicity, the base information must always be populated in element definitions in snap shots, even if it is the same. */ - base?: ElementDefinitionBase; + base?: ElementDefinitionBase|undefined; /** * For a CodeableConcept, when no codes are allowed - only text, use a binding of strength "required" with a description explaining that no coded values are allowed and what sort of information to put in the "text" element. */ - binding?: ElementDefinitionBinding; + binding?: ElementDefinitionBinding|undefined; /** * The concept SHALL be properly aligned with the data element definition and other constraints, as defined in the code system, including relationships, of any code listed here. Where multiple codes exist in a terminology that could correspond to the data element, the most granular code(s) should be selected, so long as they are not more restrictive than the data element itself. The mappings may be used to provide more or less granular or structured equivalences in the code system. */ - code?: Coding[]; + code?: Coding[]|undefined; /** * If it is possible to capture usage rules using constraints, that mechanism should be used in preference to this element. */ - comment?: string; - _comment?: Element; + comment?: string|undefined; + _comment?: Element|undefined; /** * A reference to an invariant that may make additional statements about the cardinality or value in the instance. */ - condition?: string[]; - _condition?: Element[]; + condition?: string[]|undefined; + _condition?: Element[]|undefined; /** * Constraints should be declared on the "context" element - the lowest element in the hierarchy that is common to all nodes referenced by the constraint. */ - constraint?: ElementDefinitionConstraint[]; + constraint?: ElementDefinitionConstraint[]|undefined; /** * ContentReferences can only be defined in specializations, not constrained types, and they cannot be changed and always reference the non-constrained definition. */ - contentReference?: string; - _contentReference?: Element; + contentReference?: string|undefined; + _contentReference?: Element|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueBase64Binary?: string; - _defaultValueBase64Binary?: Element; + defaultValueBase64Binary?: string|undefined; + _defaultValueBase64Binary?: Element|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueBoolean?: boolean; - _defaultValueBoolean?: Element; + defaultValueBoolean?: boolean|undefined; + _defaultValueBoolean?: Element|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueCanonical?: string; - _defaultValueCanonical?: Element; + defaultValueCanonical?: string|undefined; + _defaultValueCanonical?: Element|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueCode?: string; - _defaultValueCode?: Element; + defaultValueCode?: string|undefined; + _defaultValueCode?: Element|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueDate?: string; - _defaultValueDate?: Element; + defaultValueDate?: string|undefined; + _defaultValueDate?: Element|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueDateTime?: string; - _defaultValueDateTime?: Element; + defaultValueDateTime?: string|undefined; + _defaultValueDateTime?: Element|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueDecimal?: number; + defaultValueDecimal?: number|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueId?: string; - _defaultValueId?: Element; + defaultValueId?: string|undefined; + _defaultValueId?: Element|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueInstant?: string; - _defaultValueInstant?: Element; + defaultValueInstant?: string|undefined; + _defaultValueInstant?: Element|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueInteger?: number; + defaultValueInteger?: number|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueInteger64?: string; - _defaultValueInteger64?: Element; + defaultValueInteger64?: string|undefined; + _defaultValueInteger64?: Element|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueMarkdown?: string; - _defaultValueMarkdown?: Element; + defaultValueMarkdown?: string|undefined; + _defaultValueMarkdown?: Element|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueOid?: string; - _defaultValueOid?: Element; + defaultValueOid?: string|undefined; + _defaultValueOid?: Element|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValuePositiveInt?: number; + defaultValuePositiveInt?: number|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueString?: string; - _defaultValueString?: Element; + defaultValueString?: string|undefined; + _defaultValueString?: Element|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueTime?: string; - _defaultValueTime?: Element; + defaultValueTime?: string|undefined; + _defaultValueTime?: Element|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueUnsignedInt?: number; + defaultValueUnsignedInt?: number|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueUri?: string; - _defaultValueUri?: Element; + defaultValueUri?: string|undefined; + _defaultValueUri?: Element|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueUrl?: string; - _defaultValueUrl?: Element; + defaultValueUrl?: string|undefined; + _defaultValueUrl?: Element|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueUuid?: string; - _defaultValueUuid?: Element; + defaultValueUuid?: string|undefined; + _defaultValueUuid?: Element|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueAddress?: Address; + defaultValueAddress?: Address|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueAge?: Age; + defaultValueAge?: Age|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueAnnotation?: Annotation; + defaultValueAnnotation?: Annotation|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueAttachment?: Attachment; + defaultValueAttachment?: Attachment|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueCodeableConcept?: CodeableConcept; + defaultValueCodeableConcept?: CodeableConcept|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueCoding?: Coding; + defaultValueCoding?: Coding|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueContactPoint?: ContactPoint; + defaultValueContactPoint?: ContactPoint|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueCount?: Count; + defaultValueCount?: Count|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueDistance?: Distance; + defaultValueDistance?: Distance|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueDuration?: Duration; + defaultValueDuration?: Duration|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueHumanName?: HumanName; + defaultValueHumanName?: HumanName|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueIdentifier?: Identifier; + defaultValueIdentifier?: Identifier|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueMoney?: Money; + defaultValueMoney?: Money|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValuePeriod?: Period; + defaultValuePeriod?: Period|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueQuantity?: Quantity; + defaultValueQuantity?: Quantity|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueRange?: Range; + defaultValueRange?: Range|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueRatio?: Ratio; + defaultValueRatio?: Ratio|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueReference?: Reference; + defaultValueReference?: Reference|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueSampledData?: SampledData; + defaultValueSampledData?: SampledData|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueSignature?: Signature; + defaultValueSignature?: Signature|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueTiming?: Timing; + defaultValueTiming?: Timing|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueContactDetail?: ContactDetail; + defaultValueContactDetail?: ContactDetail|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueContributor?: Contributor; + defaultValueContributor?: Contributor|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueDataRequirement?: DataRequirement; + defaultValueDataRequirement?: DataRequirement|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueExpression?: Expression; + defaultValueExpression?: Expression|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueParameterDefinition?: ParameterDefinition; + defaultValueParameterDefinition?: ParameterDefinition|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueRelatedArtifact?: RelatedArtifact; + defaultValueRelatedArtifact?: RelatedArtifact|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueTriggerDefinition?: TriggerDefinition; + defaultValueTriggerDefinition?: TriggerDefinition|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueUsageContext?: UsageContext; + defaultValueUsageContext?: UsageContext|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueDosage?: Dosage; + defaultValueDosage?: Dosage|undefined; /** * Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. * No default values are ever defined in the FHIR specification, nor can they be defined in constraints ("profiles") on data types or resources. This element only exists so that default values may be defined in logical models. */ - defaultValueMeta?: Meta; + defaultValueMeta?: Meta|undefined; /** * It is easy for a different definition to change the meaning of an element and this can have nasty downstream consequences. Please be careful when providing definitions in a profile. */ - definition?: string; - _definition?: Element; + definition?: string|undefined; + _definition?: Element|undefined; /** * Examples will most commonly be present for data where it's not implicitly obvious from either the data type or value set what the values might be. (I.e. Example values for dates or quantities would generally be unnecessary.) If the example value is fully populated, the publication tool can generate an instance automatically. */ - example?: ElementDefinitionExample[]; + example?: ElementDefinitionExample[]|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedBase64Binary?: string; - _fixedBase64Binary?: Element; + fixedBase64Binary?: string|undefined; + _fixedBase64Binary?: Element|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedBoolean?: boolean; - _fixedBoolean?: Element; + fixedBoolean?: boolean|undefined; + _fixedBoolean?: Element|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedCanonical?: string; - _fixedCanonical?: Element; + fixedCanonical?: string|undefined; + _fixedCanonical?: Element|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedCode?: string; - _fixedCode?: Element; + fixedCode?: string|undefined; + _fixedCode?: Element|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedDate?: string; - _fixedDate?: Element; + fixedDate?: string|undefined; + _fixedDate?: Element|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedDateTime?: string; - _fixedDateTime?: Element; + fixedDateTime?: string|undefined; + _fixedDateTime?: Element|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedDecimal?: number; + fixedDecimal?: number|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedId?: string; - _fixedId?: Element; + fixedId?: string|undefined; + _fixedId?: Element|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedInstant?: string; - _fixedInstant?: Element; + fixedInstant?: string|undefined; + _fixedInstant?: Element|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedInteger?: number; + fixedInteger?: number|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedInteger64?: string; - _fixedInteger64?: Element; + fixedInteger64?: string|undefined; + _fixedInteger64?: Element|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedMarkdown?: string; - _fixedMarkdown?: Element; + fixedMarkdown?: string|undefined; + _fixedMarkdown?: Element|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedOid?: string; - _fixedOid?: Element; + fixedOid?: string|undefined; + _fixedOid?: Element|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedPositiveInt?: number; + fixedPositiveInt?: number|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedString?: string; - _fixedString?: Element; + fixedString?: string|undefined; + _fixedString?: Element|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedTime?: string; - _fixedTime?: Element; + fixedTime?: string|undefined; + _fixedTime?: Element|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedUnsignedInt?: number; + fixedUnsignedInt?: number|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedUri?: string; - _fixedUri?: Element; + fixedUri?: string|undefined; + _fixedUri?: Element|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedUrl?: string; - _fixedUrl?: Element; + fixedUrl?: string|undefined; + _fixedUrl?: Element|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedUuid?: string; - _fixedUuid?: Element; + fixedUuid?: string|undefined; + _fixedUuid?: Element|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedAddress?: Address; + fixedAddress?: Address|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedAge?: Age; + fixedAge?: Age|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedAnnotation?: Annotation; + fixedAnnotation?: Annotation|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedAttachment?: Attachment; + fixedAttachment?: Attachment|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedCodeableConcept?: CodeableConcept; + fixedCodeableConcept?: CodeableConcept|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedCoding?: Coding; + fixedCoding?: Coding|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedContactPoint?: ContactPoint; + fixedContactPoint?: ContactPoint|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedCount?: Count; + fixedCount?: Count|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedDistance?: Distance; + fixedDistance?: Distance|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedDuration?: Duration; + fixedDuration?: Duration|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedHumanName?: HumanName; + fixedHumanName?: HumanName|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedIdentifier?: Identifier; + fixedIdentifier?: Identifier|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedMoney?: Money; + fixedMoney?: Money|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedPeriod?: Period; + fixedPeriod?: Period|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedQuantity?: Quantity; + fixedQuantity?: Quantity|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedRange?: Range; + fixedRange?: Range|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedRatio?: Ratio; + fixedRatio?: Ratio|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedReference?: Reference; + fixedReference?: Reference|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedSampledData?: SampledData; + fixedSampledData?: SampledData|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedSignature?: Signature; + fixedSignature?: Signature|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedTiming?: Timing; + fixedTiming?: Timing|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedContactDetail?: ContactDetail; + fixedContactDetail?: ContactDetail|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedContributor?: Contributor; + fixedContributor?: Contributor|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedDataRequirement?: DataRequirement; + fixedDataRequirement?: DataRequirement|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedExpression?: Expression; + fixedExpression?: Expression|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedParameterDefinition?: ParameterDefinition; + fixedParameterDefinition?: ParameterDefinition|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedRelatedArtifact?: RelatedArtifact; + fixedRelatedArtifact?: RelatedArtifact|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedTriggerDefinition?: TriggerDefinition; + fixedTriggerDefinition?: TriggerDefinition|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedUsageContext?: UsageContext; + fixedUsageContext?: UsageContext|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedDosage?: Dosage; + fixedDosage?: Dosage|undefined; /** * This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display. */ - fixedMeta?: Meta; + fixedMeta?: Meta|undefined; /** * Only the definition of an element can set IsModifier true - either the specification itself or where an extension is originally defined. Once set, it cannot be changed in derived profiles. An element/extension that has isModifier=true SHOULD also have a minimum cardinality of 1, so that there is no lack of clarity about what to do if it is missing. If it can be missing, the definition SHALL make the meaning of a missing element clear. */ - isModifier?: boolean; - _isModifier?: Element; + isModifier?: boolean|undefined; + _isModifier?: Element|undefined; /** * Explains how that element affects the interpretation of the resource or element that contains it. */ - isModifierReason?: string; - _isModifierReason?: Element; + isModifierReason?: string|undefined; + _isModifierReason?: Element|undefined; /** * Some resources include a set of simple metadata, and some very large data. This element is used to reduce the quantity of data returned in searches. Note that servers may pre-cache summarized resources for optimal performance, so servers might not support per-profile use of the isSummary flag. When a request is made with _summary=true, serailisers only include elements marked as 'isSummary = true'. Other than Attachment.data, all data type properties are included in the summary form. In resource and data type definitions, if an element is at the root or has a parent that is 'mustSupport' and the minimum cardinality is 1 or the element is a modifier, it must be marked as isSummary=true. */ - isSummary?: boolean; - _isSummary?: Element; + isSummary?: boolean|undefined; + _isSummary?: Element|undefined; /** * See also the extension (http://hl7.org/fhir/StructureDefinition/elementdefinition-question)[extension-elementdefinition-question.html]. */ - label?: string; - _label?: Element; + label?: string|undefined; + _label?: Element|undefined; /** * Mappings are not necessarily specific enough for safe translation. */ - mapping?: ElementDefinitionMapping[]; + mapping?: ElementDefinitionMapping[]|undefined; /** * The maximum number of times this element is permitted to appear in the instance. */ - max?: string; - _max?: Element; + max?: string|undefined; + _max?: Element|undefined; /** * Receivers are not required to reject instances that exceed the maximum length. The full length could be stored. In some cases, data might be truncated, though truncation should be undertaken with care and an understanding of the consequences of doing so. If not specified, there is no conformance expectation for length support. */ - maxLength?: number; + maxLength?: number|undefined; /** * Except for date/date/instant, the type of the maxValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of maxValue[x] SHALL be either the same, or a [Duration](datatypes.html#Duration) which specifies a relative time limit to the current time. The duration value is positive, and is added to the current clock to determine the maximum allowable value. A maximum value for a Quantity is interpreted as an canonical maximum - e.g. you cannot provide 10g if the maximum value is 50mg. */ - maxValueDate?: string; - _maxValueDate?: Element; + maxValueDate?: string|undefined; + _maxValueDate?: Element|undefined; /** * Except for date/date/instant, the type of the maxValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of maxValue[x] SHALL be either the same, or a [Duration](datatypes.html#Duration) which specifies a relative time limit to the current time. The duration value is positive, and is added to the current clock to determine the maximum allowable value. A maximum value for a Quantity is interpreted as an canonical maximum - e.g. you cannot provide 10g if the maximum value is 50mg. */ - maxValueDateTime?: string; - _maxValueDateTime?: Element; + maxValueDateTime?: string|undefined; + _maxValueDateTime?: Element|undefined; /** * Except for date/date/instant, the type of the maxValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of maxValue[x] SHALL be either the same, or a [Duration](datatypes.html#Duration) which specifies a relative time limit to the current time. The duration value is positive, and is added to the current clock to determine the maximum allowable value. A maximum value for a Quantity is interpreted as an canonical maximum - e.g. you cannot provide 10g if the maximum value is 50mg. */ - maxValueInstant?: string; - _maxValueInstant?: Element; + maxValueInstant?: string|undefined; + _maxValueInstant?: Element|undefined; /** * Except for date/date/instant, the type of the maxValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of maxValue[x] SHALL be either the same, or a [Duration](datatypes.html#Duration) which specifies a relative time limit to the current time. The duration value is positive, and is added to the current clock to determine the maximum allowable value. A maximum value for a Quantity is interpreted as an canonical maximum - e.g. you cannot provide 10g if the maximum value is 50mg. */ - maxValueTime?: string; - _maxValueTime?: Element; + maxValueTime?: string|undefined; + _maxValueTime?: Element|undefined; /** * Except for date/date/instant, the type of the maxValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of maxValue[x] SHALL be either the same, or a [Duration](datatypes.html#Duration) which specifies a relative time limit to the current time. The duration value is positive, and is added to the current clock to determine the maximum allowable value. A maximum value for a Quantity is interpreted as an canonical maximum - e.g. you cannot provide 10g if the maximum value is 50mg. */ - maxValueDecimal?: number; + maxValueDecimal?: number|undefined; /** * Except for date/date/instant, the type of the maxValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of maxValue[x] SHALL be either the same, or a [Duration](datatypes.html#Duration) which specifies a relative time limit to the current time. The duration value is positive, and is added to the current clock to determine the maximum allowable value. A maximum value for a Quantity is interpreted as an canonical maximum - e.g. you cannot provide 10g if the maximum value is 50mg. */ - maxValueInteger?: number; + maxValueInteger?: number|undefined; /** * Except for date/date/instant, the type of the maxValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of maxValue[x] SHALL be either the same, or a [Duration](datatypes.html#Duration) which specifies a relative time limit to the current time. The duration value is positive, and is added to the current clock to determine the maximum allowable value. A maximum value for a Quantity is interpreted as an canonical maximum - e.g. you cannot provide 10g if the maximum value is 50mg. */ - maxValueInteger64?: string; - _maxValueInteger64?: Element; + maxValueInteger64?: string|undefined; + _maxValueInteger64?: Element|undefined; /** * Except for date/date/instant, the type of the maxValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of maxValue[x] SHALL be either the same, or a [Duration](datatypes.html#Duration) which specifies a relative time limit to the current time. The duration value is positive, and is added to the current clock to determine the maximum allowable value. A maximum value for a Quantity is interpreted as an canonical maximum - e.g. you cannot provide 10g if the maximum value is 50mg. */ - maxValuePositiveInt?: number; + maxValuePositiveInt?: number|undefined; /** * Except for date/date/instant, the type of the maxValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of maxValue[x] SHALL be either the same, or a [Duration](datatypes.html#Duration) which specifies a relative time limit to the current time. The duration value is positive, and is added to the current clock to determine the maximum allowable value. A maximum value for a Quantity is interpreted as an canonical maximum - e.g. you cannot provide 10g if the maximum value is 50mg. */ - maxValueUnsignedInt?: number; + maxValueUnsignedInt?: number|undefined; /** * Except for date/date/instant, the type of the maxValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of maxValue[x] SHALL be either the same, or a [Duration](datatypes.html#Duration) which specifies a relative time limit to the current time. The duration value is positive, and is added to the current clock to determine the maximum allowable value. A maximum value for a Quantity is interpreted as an canonical maximum - e.g. you cannot provide 10g if the maximum value is 50mg. */ - maxValueQuantity?: Quantity; + maxValueQuantity?: Quantity|undefined; /** * Implicit meanings for missing values can only be specified on a resource, data type, or extension definition, and never in a profile that applies to one of these. An implicit meaning for a missing value can never be changed, and specifying one has the consequence that constraining its use in profiles eliminates use cases as possibilities, not merely moving them out of scope. */ - meaningWhenMissing?: string; - _meaningWhenMissing?: Element; + meaningWhenMissing?: string|undefined; + _meaningWhenMissing?: Element|undefined; /** * The minimum number of times this element SHALL appear in the instance. */ - min?: number; + min?: number|undefined; /** * Except for date/date/instant, the type of the minValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of minValue[x] SHALL be either the same, or a [Duration](datatypes.html#Duration) which specifies a relative time limit to the current time. The duration value is positive, and is subtracted from the current clock to determine the minimum allowable value. A minimum value for a Quantity is interpreted as an canonical minimum - e.g. you cannot provide 100mg if the minimum value is 10g. */ - minValueDate?: string; - _minValueDate?: Element; + minValueDate?: string|undefined; + _minValueDate?: Element|undefined; /** * Except for date/date/instant, the type of the minValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of minValue[x] SHALL be either the same, or a [Duration](datatypes.html#Duration) which specifies a relative time limit to the current time. The duration value is positive, and is subtracted from the current clock to determine the minimum allowable value. A minimum value for a Quantity is interpreted as an canonical minimum - e.g. you cannot provide 100mg if the minimum value is 10g. */ - minValueDateTime?: string; - _minValueDateTime?: Element; + minValueDateTime?: string|undefined; + _minValueDateTime?: Element|undefined; /** * Except for date/date/instant, the type of the minValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of minValue[x] SHALL be either the same, or a [Duration](datatypes.html#Duration) which specifies a relative time limit to the current time. The duration value is positive, and is subtracted from the current clock to determine the minimum allowable value. A minimum value for a Quantity is interpreted as an canonical minimum - e.g. you cannot provide 100mg if the minimum value is 10g. */ - minValueInstant?: string; - _minValueInstant?: Element; + minValueInstant?: string|undefined; + _minValueInstant?: Element|undefined; /** * Except for date/date/instant, the type of the minValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of minValue[x] SHALL be either the same, or a [Duration](datatypes.html#Duration) which specifies a relative time limit to the current time. The duration value is positive, and is subtracted from the current clock to determine the minimum allowable value. A minimum value for a Quantity is interpreted as an canonical minimum - e.g. you cannot provide 100mg if the minimum value is 10g. */ - minValueTime?: string; - _minValueTime?: Element; + minValueTime?: string|undefined; + _minValueTime?: Element|undefined; /** * Except for date/date/instant, the type of the minValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of minValue[x] SHALL be either the same, or a [Duration](datatypes.html#Duration) which specifies a relative time limit to the current time. The duration value is positive, and is subtracted from the current clock to determine the minimum allowable value. A minimum value for a Quantity is interpreted as an canonical minimum - e.g. you cannot provide 100mg if the minimum value is 10g. */ - minValueDecimal?: number; + minValueDecimal?: number|undefined; /** * Except for date/date/instant, the type of the minValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of minValue[x] SHALL be either the same, or a [Duration](datatypes.html#Duration) which specifies a relative time limit to the current time. The duration value is positive, and is subtracted from the current clock to determine the minimum allowable value. A minimum value for a Quantity is interpreted as an canonical minimum - e.g. you cannot provide 100mg if the minimum value is 10g. */ - minValueInteger?: number; + minValueInteger?: number|undefined; /** * Except for date/date/instant, the type of the minValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of minValue[x] SHALL be either the same, or a [Duration](datatypes.html#Duration) which specifies a relative time limit to the current time. The duration value is positive, and is subtracted from the current clock to determine the minimum allowable value. A minimum value for a Quantity is interpreted as an canonical minimum - e.g. you cannot provide 100mg if the minimum value is 10g. */ - minValueInteger64?: string; - _minValueInteger64?: Element; + minValueInteger64?: string|undefined; + _minValueInteger64?: Element|undefined; /** * Except for date/date/instant, the type of the minValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of minValue[x] SHALL be either the same, or a [Duration](datatypes.html#Duration) which specifies a relative time limit to the current time. The duration value is positive, and is subtracted from the current clock to determine the minimum allowable value. A minimum value for a Quantity is interpreted as an canonical minimum - e.g. you cannot provide 100mg if the minimum value is 10g. */ - minValuePositiveInt?: number; + minValuePositiveInt?: number|undefined; /** * Except for date/date/instant, the type of the minValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of minValue[x] SHALL be either the same, or a [Duration](datatypes.html#Duration) which specifies a relative time limit to the current time. The duration value is positive, and is subtracted from the current clock to determine the minimum allowable value. A minimum value for a Quantity is interpreted as an canonical minimum - e.g. you cannot provide 100mg if the minimum value is 10g. */ - minValueUnsignedInt?: number; + minValueUnsignedInt?: number|undefined; /** * Except for date/date/instant, the type of the minValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of minValue[x] SHALL be either the same, or a [Duration](datatypes.html#Duration) which specifies a relative time limit to the current time. The duration value is positive, and is subtracted from the current clock to determine the minimum allowable value. A minimum value for a Quantity is interpreted as an canonical minimum - e.g. you cannot provide 100mg if the minimum value is 10g. */ - minValueQuantity?: Quantity; + minValueQuantity?: Quantity|undefined; /** * "Something useful" is context dependent and impossible to describe in the base FHIR specification. For this reason, tue mustSupport flag is never set to true by the FHIR specification itself - it is only set to true in profiles. A profile on a type can always make musSupport = true if it is false in the base type but cannot make mustSupport = false if it is true in the base type. This is done in [Resource Profiles](profiling.html#mustsupport), where the profile labels an element as mustSupport=true. When a profile does this, it SHALL also make clear exactly what kind of "support" is required, as this can mean many things. Note that an element that has the property IsModifier is not necessarily a "key" element (e.g. one of the important elements to make use of the resource), nor is it automatically mustSupport - however both of these things are more likely to be true for IsModifier elements than for other elements. */ - mustSupport?: boolean; - _mustSupport?: Element; + mustSupport?: boolean|undefined; + _mustSupport?: Element|undefined; /** * This element can only be asserted on repeating elements and can only be introduced when defining resources or data types. It can be further refined profiled elements but if absent in the base type, a profile cannot assert meaning. */ - orderMeaning?: string; - _orderMeaning?: Element; + orderMeaning?: string|undefined; + _orderMeaning?: Element|undefined; /** * 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; - _path?: Element; + _path?: Element|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternBase64Binary?: string; - _patternBase64Binary?: Element; + patternBase64Binary?: string|undefined; + _patternBase64Binary?: Element|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternBoolean?: boolean; - _patternBoolean?: Element; + patternBoolean?: boolean|undefined; + _patternBoolean?: Element|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternCanonical?: string; - _patternCanonical?: Element; + patternCanonical?: string|undefined; + _patternCanonical?: Element|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternCode?: string; - _patternCode?: Element; + patternCode?: string|undefined; + _patternCode?: Element|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternDate?: string; - _patternDate?: Element; + patternDate?: string|undefined; + _patternDate?: Element|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternDateTime?: string; - _patternDateTime?: Element; + patternDateTime?: string|undefined; + _patternDateTime?: Element|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternDecimal?: number; + patternDecimal?: number|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternId?: string; - _patternId?: Element; + patternId?: string|undefined; + _patternId?: Element|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternInstant?: string; - _patternInstant?: Element; + patternInstant?: string|undefined; + _patternInstant?: Element|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternInteger?: number; + patternInteger?: number|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternInteger64?: string; - _patternInteger64?: Element; + patternInteger64?: string|undefined; + _patternInteger64?: Element|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternMarkdown?: string; - _patternMarkdown?: Element; + patternMarkdown?: string|undefined; + _patternMarkdown?: Element|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternOid?: string; - _patternOid?: Element; + patternOid?: string|undefined; + _patternOid?: Element|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternPositiveInt?: number; + patternPositiveInt?: number|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternString?: string; - _patternString?: Element; + patternString?: string|undefined; + _patternString?: Element|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternTime?: string; - _patternTime?: Element; + patternTime?: string|undefined; + _patternTime?: Element|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternUnsignedInt?: number; + patternUnsignedInt?: number|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternUri?: string; - _patternUri?: Element; + patternUri?: string|undefined; + _patternUri?: Element|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternUrl?: string; - _patternUrl?: Element; + patternUrl?: string|undefined; + _patternUrl?: Element|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternUuid?: string; - _patternUuid?: Element; + patternUuid?: string|undefined; + _patternUuid?: Element|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternAddress?: Address; + patternAddress?: Address|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternAge?: Age; + patternAge?: Age|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternAnnotation?: Annotation; + patternAnnotation?: Annotation|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternAttachment?: Attachment; + patternAttachment?: Attachment|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternCodeableConcept?: CodeableConcept; + patternCodeableConcept?: CodeableConcept|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternCoding?: Coding; + patternCoding?: Coding|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternContactPoint?: ContactPoint; + patternContactPoint?: ContactPoint|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternCount?: Count; + patternCount?: Count|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternDistance?: Distance; + patternDistance?: Distance|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternDuration?: Duration; + patternDuration?: Duration|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternHumanName?: HumanName; + patternHumanName?: HumanName|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternIdentifier?: Identifier; + patternIdentifier?: Identifier|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternMoney?: Money; + patternMoney?: Money|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternPeriod?: Period; + patternPeriod?: Period|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternQuantity?: Quantity; + patternQuantity?: Quantity|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternRange?: Range; + patternRange?: Range|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternRatio?: Ratio; + patternRatio?: Ratio|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternReference?: Reference; + patternReference?: Reference|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternSampledData?: SampledData; + patternSampledData?: SampledData|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternSignature?: Signature; + patternSignature?: Signature|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternTiming?: Timing; + patternTiming?: Timing|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternContactDetail?: ContactDetail; + patternContactDetail?: ContactDetail|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternContributor?: Contributor; + patternContributor?: Contributor|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternDataRequirement?: DataRequirement; + patternDataRequirement?: DataRequirement|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternExpression?: Expression; + patternExpression?: Expression|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternParameterDefinition?: ParameterDefinition; + patternParameterDefinition?: ParameterDefinition|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternRelatedArtifact?: RelatedArtifact; + patternRelatedArtifact?: RelatedArtifact|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternTriggerDefinition?: TriggerDefinition; + patternTriggerDefinition?: TriggerDefinition|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternUsageContext?: UsageContext; + patternUsageContext?: UsageContext|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternDosage?: Dosage; + patternDosage?: Dosage|undefined; /** * Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]. */ - patternMeta?: Meta; + patternMeta?: Meta|undefined; /** * In resources, this is rarely used except for special cases where the representation deviates from the normal, and can only be done in the base standard (and profiles must reproduce what the base standard does). This element is used quite commonly in Logical models when the logical models represent a specific serialization format (e.g. CDA, v2 etc.). */ - representation?: ElementDefinitionRepresentationCodes[]; - _representation?: Element[]; + representation?: ElementDefinitionRepresentationCodes[]|undefined; + _representation?: Element[]|undefined; /** * This element does not describe the usage of the element (that's done in comments), rather it's for traceability of *why* the element is either needed or why the constraints exist as they do. This may be used to point to source materials or specifications that drove the structure of this data element. */ - requirements?: string; - _requirements?: Element; + requirements?: string|undefined; + _requirements?: Element|undefined; /** * It is easy for a different short definition to change the meaning of an element and this can have nasty downstream consequences. Please be careful when providing short definitions in a profile. */ - short?: string; - _short?: Element; + short?: string|undefined; + _short?: Element|undefined; /** * If set to true, an ancestor profile SHALL have a slicing definition with this name. If set to false, no ancestor profile is permitted to have a slicing definition with this name. */ - sliceIsConstraining?: boolean; - _sliceIsConstraining?: Element; + sliceIsConstraining?: boolean|undefined; + _sliceIsConstraining?: Element|undefined; /** * The name SHALL be unique within the structure within the context of the constrained resource element. (Though to avoid confusion, uniqueness across all elements is recommended.). */ - sliceName?: string; - _sliceName?: Element; + sliceName?: string|undefined; + _sliceName?: Element|undefined; /** * The first element in the sequence, the one that carries the slicing, is the definition that applies to all the slices. This is based on the unconstrained element, but can apply any constraints as appropriate. This may include the common constraints on the children of the element. */ - slicing?: ElementDefinitionSlicing; + slicing?: ElementDefinitionSlicing|undefined; /** * The Type of the element can be left blank in a differential constraint, in which case the type is inherited from the resource. Abstract types are not permitted to appear as a type when multiple types are listed. (I.e. Abstract types cannot be part of a choice). */ - type?: ElementDefinitionType[]; + type?: ElementDefinitionType[]|undefined; } /** * Code Values for the ElementDefinition.representation field @@ -2003,28 +2003,28 @@ export interface Expression extends DataType { /** * A brief, natural language description of the condition that effectively communicates the intended semantics. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * An expression in the specified language that returns a value. */ - expression?: string; - _expression?: Element; + expression?: string|undefined; + _expression?: Element|undefined; /** * The media type of the language for the expression. */ language: string; - _language?: Element; + _language?: Element|undefined; /** * A short name assigned to the expression to allow for multiple reuse of the expression in the context where it is defined. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * If both a reference and an expression is found, the reference SHALL point to the same expression. */ - reference?: string; - _reference?: Element; + reference?: string|undefined; + _reference?: Element|undefined; } /** * Code Values for the Expression.language field @@ -2043,227 +2043,227 @@ export interface Extension extends DataType { * The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. */ url: string; - _url?: Element; + _url?: Element|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueBase64Binary?: string; - _valueBase64Binary?: Element; + valueBase64Binary?: string|undefined; + _valueBase64Binary?: Element|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueBoolean?: boolean; - _valueBoolean?: Element; + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueCanonical?: string; - _valueCanonical?: Element; + valueCanonical?: string|undefined; + _valueCanonical?: Element|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueCode?: string; - _valueCode?: Element; + valueCode?: string|undefined; + _valueCode?: Element|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueDate?: string; - _valueDate?: Element; + valueDate?: string|undefined; + _valueDate?: Element|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueDateTime?: string; - _valueDateTime?: Element; + valueDateTime?: string|undefined; + _valueDateTime?: Element|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueDecimal?: number; + valueDecimal?: number|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueId?: string; - _valueId?: Element; + valueId?: string|undefined; + _valueId?: Element|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueInstant?: string; - _valueInstant?: Element; + valueInstant?: string|undefined; + _valueInstant?: Element|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueInteger?: number; + valueInteger?: number|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueInteger64?: string; - _valueInteger64?: Element; + valueInteger64?: string|undefined; + _valueInteger64?: Element|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueMarkdown?: string; - _valueMarkdown?: Element; + valueMarkdown?: string|undefined; + _valueMarkdown?: Element|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueOid?: string; - _valueOid?: Element; + valueOid?: string|undefined; + _valueOid?: Element|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valuePositiveInt?: number; + valuePositiveInt?: number|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueString?: string; - _valueString?: Element; + valueString?: string|undefined; + _valueString?: Element|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueTime?: string; - _valueTime?: Element; + valueTime?: string|undefined; + _valueTime?: Element|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueUnsignedInt?: number; + valueUnsignedInt?: number|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueUri?: string; - _valueUri?: Element; + valueUri?: string|undefined; + _valueUri?: Element|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueUrl?: string; - _valueUrl?: Element; + valueUrl?: string|undefined; + _valueUrl?: Element|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueUuid?: string; - _valueUuid?: Element; + valueUuid?: string|undefined; + _valueUuid?: Element|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueAddress?: Address; + valueAddress?: Address|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueAge?: Age; + valueAge?: Age|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueAnnotation?: Annotation; + valueAnnotation?: Annotation|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueAttachment?: Attachment; + valueAttachment?: Attachment|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueCodeableConcept?: CodeableConcept; + valueCodeableConcept?: CodeableConcept|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueCoding?: Coding; + valueCoding?: Coding|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueContactPoint?: ContactPoint; + valueContactPoint?: ContactPoint|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueCount?: Count; + valueCount?: Count|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueDistance?: Distance; + valueDistance?: Distance|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueDuration?: Duration; + valueDuration?: Duration|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueHumanName?: HumanName; + valueHumanName?: HumanName|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueIdentifier?: Identifier; + valueIdentifier?: Identifier|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueMoney?: Money; + valueMoney?: Money|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valuePeriod?: Period; + valuePeriod?: Period|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueRange?: Range; + valueRange?: Range|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueRatio?: Ratio; + valueRatio?: Ratio|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueReference?: Reference; + valueReference?: Reference|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueSampledData?: SampledData; + valueSampledData?: SampledData|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueSignature?: Signature; + valueSignature?: Signature|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueTiming?: Timing; + valueTiming?: Timing|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueContactDetail?: ContactDetail; + valueContactDetail?: ContactDetail|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueContributor?: Contributor; + valueContributor?: Contributor|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueDataRequirement?: DataRequirement; + valueDataRequirement?: DataRequirement|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueExpression?: Expression; + valueExpression?: Expression|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueParameterDefinition?: ParameterDefinition; + valueParameterDefinition?: ParameterDefinition|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueRelatedArtifact?: RelatedArtifact; + valueRelatedArtifact?: RelatedArtifact|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueTriggerDefinition?: TriggerDefinition; + valueTriggerDefinition?: TriggerDefinition|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueUsageContext?: UsageContext; + valueUsageContext?: UsageContext|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueDosage?: Dosage; + valueDosage?: Dosage|undefined; /** * Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). */ - valueMeta?: Meta; + valueMeta?: Meta|undefined; } /** * A human's name with the ability to identify parts and usage. @@ -2272,37 +2272,37 @@ export interface HumanName extends DataType { /** * Family Name may be decomposed into specific parts using extensions (de, nl, es related cultures). */ - family?: string; - _family?: Element; + family?: string|undefined; + _family?: Element|undefined; /** * If only initials are recorded, they may be used in place of the full name parts. Initials may be separated into multiple given names but often aren't due to paractical limitations. This element is not called "first name" since given names do not always come first. */ - given?: string[]; - _given?: Element[]; + given?: string[]|undefined; + _given?: Element[]|undefined; /** * Indicates the period of time when this name was valid for the named person. */ - period?: Period; + period?: Period|undefined; /** * Part of the name that is acquired as a title due to academic, legal, employment or nobility status, etc. and that appears at the start of the name. */ - prefix?: string[]; - _prefix?: Element[]; + prefix?: string[]|undefined; + _prefix?: Element[]|undefined; /** * Part of the name that is acquired as a title due to academic, legal, employment or nobility status, etc. and that appears at the end of the name. */ - suffix?: string[]; - _suffix?: Element[]; + suffix?: string[]|undefined; + _suffix?: Element[]|undefined; /** * Can provide both a text representation and parts. Applications updating a name SHALL ensure that when both text and parts are present, no content is included in the text that isn't found in a part. */ - text?: string; - _text?: Element; + text?: string|undefined; + _text?: Element|undefined; /** * Applications can assume that a name is current unless it explicitly says that it is temporary or old. */ - use?: HumanNameUseCodes; - _use?: Element; + use?: HumanNameUseCodes|undefined; + _use?: Element|undefined; } /** * Code Values for the HumanName.use field @@ -2323,30 +2323,30 @@ export interface Identifier extends DataType { /** * The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization. */ - assigner?: Reference; + assigner?: Reference|undefined; /** * Time period during which identifier is/was valid for use. */ - period?: Period; + period?: Period|undefined; /** * Identifier.system is always case sensitive. */ - system?: string; - _system?: Element; + system?: string|undefined; + _system?: Element|undefined; /** * This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage. Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; /** * Applications can assume that an identifier is permanent unless it explicitly says that it is temporary. */ - use?: IdentifierUseCodes; - _use?: Element; + use?: IdentifierUseCodes|undefined; + _use?: Element|undefined; /** * If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the [Rendered Value extension](extension-rendered-value.html). Identifier.value is to be treated as case sensitive unless knowledge of the Identifier.system allows the processer to be confident that non-case-sensitive processing is safe. */ - value?: string; - _value?: Element; + value?: string|undefined; + _value?: Element|undefined; } /** * Code Values for the Identifier.use field @@ -2365,20 +2365,20 @@ export interface MarketingStatus extends BackboneType { /** * The country in which the marketing authorisation has been granted shall be specified It should be specified using the ISO 3166 ‑ 1 alpha-2 code elements. */ - country?: CodeableConcept; + country?: CodeableConcept|undefined; /** * The date when the Medicinal Product is placed on the market by the Marketing Authorisation Holder (or where applicable, the manufacturer/distributor) in a country and/or jurisdiction shall be provided A complete date consisting of day, month and year shall be specified using the ISO 8601 date format NOTE “Placed on the market” refers to the release of the Medicinal Product into the distribution chain. */ - dateRange?: Period; + dateRange?: Period|undefined; /** * Where a Medicines Regulatory Agency has granted a marketing authorisation for which specific provisions within a jurisdiction apply, the jurisdiction can be specified using an appropriate controlled terminology The controlled term and the controlled term identifier shall be specified. */ - jurisdiction?: CodeableConcept; + jurisdiction?: CodeableConcept|undefined; /** * The date when the Medicinal Product is placed on the market by the Marketing Authorisation Holder (or where applicable, the manufacturer/distributor) in a country and/or jurisdiction shall be provided A complete date consisting of day, month and year shall be specified using the ISO 8601 date format NOTE “Placed on the market” refers to the release of the Medicinal Product into the distribution chain. */ - restoreDate?: string; - _restoreDate?: Element; + restoreDate?: string|undefined; + _restoreDate?: Element|undefined; /** * This attribute provides information on the status of the marketing of the medicinal product See ISO/TS 20443 for more information and examples. */ @@ -2391,32 +2391,32 @@ export interface Meta extends DataType { /** * This value is always populated except when the resource is first being created. The server / resource manager sets this value; what a client provides is irrelevant. This is equivalent to the HTTP Last-Modified and SHOULD have the same value on a [read](http.html#read) interaction. */ - lastUpdated?: string; - _lastUpdated?: Element; + lastUpdated?: string|undefined; + _lastUpdated?: Element|undefined; /** * It is up to the server and/or other infrastructure of policy to determine whether/how these claims are verified and/or updated over time. The list of profile URLs is a set. */ - profile?: string[]; - _profile?: Element[]; + profile?: string[]|undefined; + _profile?: Element[]|undefined; /** * The security labels can be updated without changing the stated version of the resource. The list of security labels is a set. Uniqueness is based the system/code, and version and display are ignored. */ - security?: Coding[]; + security?: Coding[]|undefined; /** * In the provenance resource, this corresponds to Provenance.entity.what[x]. The exact use of the source (and the implied Provenance.entity.role) is left to implementer discretion. Only one nominated source is allowed; for additional provenance details, a full Provenance resource should be used. * This element can be used to indicate where the current master source of a resource that has a canonical URL if the resource is no longer hosted at the canonical URL. */ - source?: string; - _source?: Element; + source?: string|undefined; + _source?: Element|undefined; /** * The tags can be updated without changing the stated version of the resource. The list of tags is a set. Uniqueness is based the system/code, and version and display are ignored. */ - tag?: Coding[]; + tag?: Coding[]|undefined; /** * The server assigns this value, and ignores what the client specifies, except in the case that the server is imposing version integrity on updates/deletes. */ - versionId?: string; - _versionId?: Element; + versionId?: string|undefined; + _versionId?: Element|undefined; } /** * An amount of economic utility in some recognized currency. @@ -2425,12 +2425,12 @@ export interface Money extends DataType { /** * ISO 4217 Currency Code. */ - currency?: string; - _currency?: Element; + currency?: string|undefined; + _currency?: Element|undefined; /** * Monetary values have their own rules for handling precision (refer to standard accounting text books). */ - value?: number; + value?: number|undefined; } /** * A human-readable summary of the resource conveying the essential clinical and business information for the resource. @@ -2440,12 +2440,12 @@ export interface Narrative extends DataType { * The contents of the html element are an XHTML fragment containing only the basic html formatting elements described in chapters 7-11 and 15 of the HTML 4.0 standard, elements (either name or href), images and internally contained stylesheets. The XHTML content SHALL NOT contain a head, a body, external stylesheet references, scripts, forms, base/link/xlink, frames, iframes and objects. */ div: string; - _div?: Element; + _div?: Element|undefined; /** * The status of the narrative - whether it's entirely generated (from just the defined data or the extensions too), or whether a human authored it and it may contain additional data. */ status: NarrativeStatusCodes; - _status?: Element; + _status?: Element|undefined; } /** * Code Values for the Narrative.status field @@ -2463,7 +2463,7 @@ export interface OrderedDistributionInterval extends Element { /** * Values and parameters for a single statistic related to the interval. */ - intervalStatistic?: Statistic[]; + intervalStatistic?: Statistic[]|undefined; /** * Relative order of interval. */ @@ -2476,12 +2476,12 @@ export interface OrderedDistribution extends BackboneType { /** * Bottom of first interval. */ - bottomOfFirstInterval?: Quantity; + bottomOfFirstInterval?: Quantity|undefined; /** * A description of the content and value of the statistic. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Interval. */ @@ -2489,7 +2489,7 @@ export interface OrderedDistribution extends BackboneType { /** * Footnotes and/or explanatory notes. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * Number of intervals in an array, eg 4 for quartiles. */ @@ -2497,7 +2497,7 @@ export interface OrderedDistribution extends BackboneType { /** * Singular value of the statistic at the upper bound of the interval. */ - topOfInterval?: Quantity; + topOfInterval?: Quantity|undefined; } /** * 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. @@ -2506,37 +2506,37 @@ export interface ParameterDefinition extends DataType { /** * A brief discussion of what the parameter is for and how it is used by the module. */ - documentation?: string; - _documentation?: Element; + documentation?: string|undefined; + _documentation?: Element|undefined; /** * The maximum number of times this element is permitted to appear in the request or response. */ - max?: string; - _max?: Element; + max?: string|undefined; + _max?: Element|undefined; /** * The minimum number of times this parameter SHALL appear in the request or response. */ - min?: number; + min?: number|undefined; /** * The name of the parameter used to allow access to the value of the parameter in evaluation contexts. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * If specified, this indicates a profile that the input data must conform to, or that the output data will conform to. */ - profile?: string; - _profile?: Element; + profile?: string|undefined; + _profile?: Element|undefined; /** * The type of the parameter. */ type: string; - _type?: Element; + _type?: Element|undefined; /** * Whether the parameter is input or output for the module. */ use: ParameterDefinitionUseCodes; - _use?: Element; + _use?: Element|undefined; } /** * Code Values for the ParameterDefinition.use field @@ -2552,13 +2552,13 @@ export interface Period extends DataType { /** * The high value includes any matching date/time. i.e. 2012-02-03T10:00:00 is in a period that has an end value of 2012-02-03. */ - end?: string; - _end?: Element; + end?: string|undefined; + _end?: Element|undefined; /** * If the low element is missing, the meaning is that the low boundary is not known. */ - start?: string; - _start?: Element; + start?: string|undefined; + _start?: Element|undefined; } /** * A populatioof people with some set of grouping criteria. @@ -2567,23 +2567,23 @@ export interface Population extends BackboneType { /** * The age of the specific population. */ - ageRange?: Range; + ageRange?: Range|undefined; /** * The age of the specific population. */ - ageCodeableConcept?: CodeableConcept; + ageCodeableConcept?: CodeableConcept|undefined; /** * The gender of the specific population. */ - gender?: CodeableConcept; + gender?: CodeableConcept|undefined; /** * The existing physiological conditions of the specific population to which this applies. */ - physiologicalCondition?: CodeableConcept; + physiologicalCondition?: CodeableConcept|undefined; /** * Race of the specific population. */ - race?: CodeableConcept; + race?: CodeableConcept|undefined; } /** * The base type for all re-useable types defined that have a simple property. @@ -2597,50 +2597,50 @@ export interface ProdCharacteristic extends BackboneType { /** * Where applicable, the color can be specified An appropriate controlled vocabulary shall be used The term and the term identifier shall be used. */ - color?: string[]; - _color?: Element[]; + color?: string[]|undefined; + _color?: Element[]|undefined; /** * Where applicable, the depth can be specified using a numerical value and its unit of measurement The unit of measurement shall be specified in accordance with ISO 11240 and the resulting terminology The symbol and the symbol identifier shall be used. */ - depth?: Quantity; + depth?: Quantity|undefined; /** * Where applicable, the external diameter can be specified using a numerical value and its unit of measurement The unit of measurement shall be specified in accordance with ISO 11240 and the resulting terminology The symbol and the symbol identifier shall be used. */ - externalDiameter?: Quantity; + externalDiameter?: Quantity|undefined; /** * Where applicable, the height can be specified using a numerical value and its unit of measurement The unit of measurement shall be specified in accordance with ISO 11240 and the resulting terminology The symbol and the symbol identifier shall be used. */ - height?: Quantity; + height?: Quantity|undefined; /** * Where applicable, the image can be provided The format of the image attachment shall be specified by regional implementations. */ - image?: Attachment[]; + image?: Attachment[]|undefined; /** * Where applicable, the imprint can be specified as text. */ - imprint?: string[]; - _imprint?: Element[]; + imprint?: string[]|undefined; + _imprint?: Element[]|undefined; /** * Where applicable, the nominal volume can be specified using a numerical value and its unit of measurement The unit of measurement shall be specified in accordance with ISO 11240 and the resulting terminology The symbol and the symbol identifier shall be used. */ - nominalVolume?: Quantity; + nominalVolume?: Quantity|undefined; /** * Where applicable, the scoring can be specified An appropriate controlled vocabulary shall be used The term and the term identifier shall be used. */ - scoring?: CodeableConcept; + scoring?: CodeableConcept|undefined; /** * Where applicable, the shape can be specified An appropriate controlled vocabulary shall be used The term and the term identifier shall be used. */ - shape?: string; - _shape?: Element; + shape?: string|undefined; + _shape?: Element|undefined; /** * Where applicable, the weight can be specified using a numerical value and its unit of measurement The unit of measurement shall be specified in accordance with ISO 11240 and the resulting terminology The symbol and the symbol identifier shall be used. */ - weight?: Quantity; + weight?: Quantity|undefined; /** * Where applicable, the width can be specified using a numerical value and its unit of measurement The unit of measurement shall be specified in accordance with ISO 11240 and the resulting terminology The symbol and the symbol identifier shall be used. */ - width?: Quantity; + width?: Quantity|undefined; } /** * The shelf-life and storage information for a medicinal product item or container can be described using this class. @@ -2649,20 +2649,20 @@ export interface ProductShelfLife extends BackboneType { /** * The shelf life time period can be specified using a numerical value for the period of time and its unit of time measurement The unit of measurement shall be specified in accordance with ISO 11240 and the resulting terminology The symbol and the symbol identifier shall be used. */ - periodQuantity?: Quantity; + periodQuantity?: Quantity|undefined; /** * The shelf life time period can be specified using a numerical value for the period of time and its unit of time measurement The unit of measurement shall be specified in accordance with ISO 11240 and the resulting terminology The symbol and the symbol identifier shall be used. */ - periodString?: string; - _periodString?: Element; + periodString?: string|undefined; + _periodString?: Element|undefined; /** * Special precautions for storage, if any, can be specified using an appropriate controlled vocabulary The controlled term and the controlled term identifier shall be specified. */ - specialPrecautionsForStorage?: CodeableConcept[]; + specialPrecautionsForStorage?: CodeableConcept[]|undefined; /** * This describes the shelf life, taking into account various scenarios such as shelf life of the packaged Medicinal Product itself, shelf life after transformation where necessary and shelf life after the first opening of a bottle, etc. The shelf life type shall be specified using an appropriate controlled vocabulary The controlled term and the controlled term identifier shall be specified. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * 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. @@ -2671,27 +2671,27 @@ export interface Quantity extends DataType { /** * The preferred system is UCUM, but SNOMED CT can also be used (for customary units) or ISO 4217 for currency. The context of use may additionally require a code from a particular system. */ - code?: string; - _code?: Element; + code?: string|undefined; + _code?: Element|undefined; /** * How the value should be understood and represented - whether the actual value is greater or less than the stated value due to measurement issues; e.g. if the comparator is "<" , then the real value is < stated value. */ - comparator?: QuantityComparatorCodes; - _comparator?: Element; + comparator?: QuantityComparatorCodes|undefined; + _comparator?: Element|undefined; /** * The identification of the system that provides the coded form of the unit. */ - system?: string; - _system?: Element; + system?: string|undefined; + _system?: Element|undefined; /** * A human-readable form of the unit. */ - unit?: string; - _unit?: Element; + unit?: string|undefined; + _unit?: Element|undefined; /** * The implicit precision in the value should always be honored. Monetary values have their own rules for handling precision (refer to standard accounting text books). */ - value?: number; + value?: number|undefined; } /** * Code Values for the Quantity.comparator field @@ -2710,11 +2710,11 @@ export interface Range extends DataType { /** * If the high element is missing, the high boundary is not known. */ - high?: Quantity; + high?: Quantity|undefined; /** * If the low element is missing, the low boundary is not known. */ - low?: Quantity; + low?: Quantity|undefined; } /** * A relationship of two Quantity values - expressed as a numerator and a denominator. @@ -2723,11 +2723,11 @@ export interface Ratio extends DataType { /** * The value of the denominator. */ - denominator?: Quantity; + denominator?: Quantity|undefined; /** * The value of the numerator. */ - numerator?: Quantity; + numerator?: Quantity|undefined; } /** * A range of ratios expressed as a low and high numerator and a denominator. @@ -2736,15 +2736,15 @@ export interface RatioRange extends DataType { /** * The value of the denominator. */ - denominator?: Quantity; + denominator?: Quantity|undefined; /** * If the high element is missing, the high boundary is not known. */ - highNumerator?: Quantity; + highNumerator?: Quantity|undefined; /** * If the low element is missing, the low boundary is not known. */ - lowNumerator?: Quantity; + lowNumerator?: Quantity|undefined; } /** * A reference from one resource to another. @@ -2753,25 +2753,25 @@ export interface Reference extends DataType { /** * This is generally not the same as the Resource.text of the referenced resource. The purpose is to identify what's being referenced, not to fully describe it. */ - display?: string; - _display?: Element; + display?: string|undefined; + _display?: Element|undefined; /** * When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy. * When both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference * Applications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it. * Reference is intended to point to a structure that can potentially be expressed as a FHIR resource, though there is no need for it to exist as an actual FHIR resource instance - except in as much as an application wishes to actual find the target of the reference. The content referred to be the identifier must meet the logical constraints implied by any limitations on what resource types are permitted for the reference. For example, it would not be legitimate to send the identifier for a drug prescription if the type were Reference(Observation|DiagnosticReport). One of the use-cases for Reference.identifier is the situation where no FHIR representation exists (where the type is Reference (Any). */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries. Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure "/[type]/[id]" then it should be assumed that the reference is to a FHIR RESTful server. */ - reference?: string; - _reference?: Element; + reference?: string|undefined; + _reference?: Element|undefined; /** * This element is used to indicate the type of the target of the reference. This may be used which ever of the other elements are populated (or not). In some cases, the type of the target may be determined by inspection of the reference (e.g. a RESTful URL) or by resolving the target of the reference; if both the type and a reference is provided, the reference SHALL resolve to a resource of the same type as that specified. */ - type?: string; - _type?: Element; + type?: string|undefined; + _type?: Element|undefined; } /** * Related artifacts such as additional documentation, justification, or bibliographic references. @@ -2780,37 +2780,37 @@ export interface RelatedArtifact extends DataType { /** * Additional structured information about citations should be captured as extensions. */ - citation?: string; - _citation?: Element; + citation?: string|undefined; + _citation?: Element|undefined; /** * A brief description of the document or knowledge resource being referenced, suitable for display to a consumer. */ - display?: string; - _display?: Element; + display?: string|undefined; + _display?: Element|undefined; /** * The document being referenced, represented as an attachment. This is exclusive with the resource element. */ - document?: Attachment; + document?: Attachment|undefined; /** * A short label that can be used to reference the citation from elsewhere in the containing artifact, such as a footnote index. */ - label?: string; - _label?: Element; + label?: string|undefined; + _label?: Element|undefined; /** * If the type is predecessor, this is a reference to the succeeding knowledge resource. If the type is successor, this is a reference to the prior knowledge resource. */ - resource?: string; - _resource?: Element; + resource?: string|undefined; + _resource?: Element|undefined; /** * The type of relationship to the related artifact. */ type: RelatedArtifactTypeCodes; - _type?: Element; + _type?: Element|undefined; /** * If a document or resource element is present, this element SHALL NOT be provided (use the url or reference in the Attachment or resource reference). */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; } /** * Code Values for the RelatedArtifact.type field @@ -2832,8 +2832,8 @@ export interface SampledData extends DataType { /** * Data may be missing if it is omitted for summarization purposes. In general, data is required for any actual use of a SampledData. */ - data?: string; - _data?: Element; + data?: string|undefined; + _data?: Element|undefined; /** * If there is more than one dimension, the code for the type of data will define the meaning of the dimensions (typically ECG data). */ @@ -2841,11 +2841,11 @@ export interface SampledData extends DataType { /** * A correction factor that is applied to the sampled data points before they are added to the origin. */ - factor?: number; + factor?: number|undefined; /** * The lower limit of detection of the measured points. This is needed if any of the data points have the value "L" (lower than detection limit). */ - lowerLimit?: number; + lowerLimit?: number|undefined; /** * The base quantity that a measured value of zero represents. In addition, this provides the units of the entire measurement series. */ @@ -2857,7 +2857,7 @@ export interface SampledData extends DataType { /** * The upper limit of detection of the measured points. This is needed if any of the data points have the value "U" (higher than detection limit). */ - upperLimit?: number; + upperLimit?: number|undefined; } /** * 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. @@ -2866,22 +2866,22 @@ export interface Signature extends DataType { /** * Where the signature type is an XML DigSig, the signed content is a FHIR Resource(s), the signature is of the XML form of the Resource(s) using XML-Signature (XMLDIG) "Detached Signature" form. */ - data?: string; - _data?: Element; + data?: string|undefined; + _data?: Element|undefined; /** * The party that can't sign. For example a child. */ - onBehalfOf?: Reference; + onBehalfOf?: Reference|undefined; /** * A mime type that indicates the technical format of the signature. Important mime types are application/signature+xml for X ML DigSig, application/jose for JWS, and image/* for a graphical image of a signature, etc. */ - sigFormat?: string; - _sigFormat?: Element; + sigFormat?: string|undefined; + _sigFormat?: Element|undefined; /** * "xml", "json" and "ttl" are allowed, which describe the simple encodings described in the specification (and imply appropriate bundle support). Otherwise, mime types are legal here. */ - targetFormat?: string; - _targetFormat?: Element; + targetFormat?: string|undefined; + _targetFormat?: Element|undefined; /** * Examples include attesting to: authorship, correct transcription, and witness of specific event. Also known as a "Commitment Type Indication". */ @@ -2890,7 +2890,7 @@ export interface Signature extends DataType { * This should agree with the information in the signature. */ when: string; - _when?: Element; + _when?: Element|undefined; /** * This should agree with the information in the signature. */ @@ -2903,24 +2903,24 @@ export interface StatisticSampleSize extends Element { /** * Human-readable summary of population sample size. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Number of participants with known results for measured variables. */ - knownDataCount?: number; + knownDataCount?: number|undefined; /** * Footnote or explanatory note about the sample size. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * A human-readable string to clarify or explain concepts about the sample size. */ - numberOfParticipants?: number; + numberOfParticipants?: number|undefined; /** * Number of participants in the population. */ - numberOfStudies?: number; + numberOfStudies?: number|undefined; } /** * A nested attribute estimate; which is the attribute estimate of an attribute estimate. @@ -2929,28 +2929,28 @@ export interface StatisticAttributeEstimateAttributeEstimate extends Element { /** * Human-readable summary of the estimate. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Use 95 for a 95% confidence interval. */ - level?: number; + level?: number|undefined; /** * Footnote or explanatory note about the estimate. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * Often the pvalue. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * Lower bound of confidence interval. */ - range?: Range; + range?: Range|undefined; /** * The type of attribute estimate, eg confidence interval or p value. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * A statistical attribute of the statistic such as a measure of heterogeneity. @@ -2959,32 +2959,32 @@ export interface StatisticAttributeEstimate extends Element { /** * A nested attribute estimate; which is the attribute estimate of an attribute estimate. */ - attributeEstimate?: StatisticAttributeEstimateAttributeEstimate[]; + attributeEstimate?: StatisticAttributeEstimateAttributeEstimate[]|undefined; /** * Human-readable summary of the estimate. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Use 95 for a 95% confidence interval. */ - level?: number; + level?: number|undefined; /** * Footnote or explanatory note about the estimate. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * Often the p value. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * Lower bound of confidence interval. */ - range?: Range; + range?: Range|undefined; /** * The type of attribute estimate, eg confidence interval or p value. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * A variable adjusted for in the adjusted analysis. @@ -2993,20 +2993,20 @@ export interface StatisticModelCharacteristicVariable extends Element { /** * How the variable is classified for use in adjusted analysis. */ - handling?: StatisticModelCharacteristicVariableHandlingCodes; - _handling?: Element; + handling?: StatisticModelCharacteristicVariableHandlingCodes|undefined; + _handling?: Element|undefined; /** * Description for grouping of ordinal or polychotomous variables. */ - valueCategory?: CodeableConcept[]; + valueCategory?: CodeableConcept[]|undefined; /** * Discrete value for grouping of ordinal or polychotomous variables. */ - valueQuantity?: Quantity[]; + valueQuantity?: Quantity[]|undefined; /** * Range of values for grouping of ordinal or polychotomous variables. */ - valueRange?: Range[]; + valueRange?: Range[]|undefined; /** * Description of the variable. */ @@ -3032,11 +3032,11 @@ export interface StatisticModelCharacteristic extends Element { /** * Further specification of the quantified value of the component of the method to generate the statistic. */ - value?: Quantity; + value?: Quantity|undefined; /** * A variable adjusted for in the adjusted analysis. */ - variable?: StatisticModelCharacteristicVariable[]; + variable?: StatisticModelCharacteristicVariable[]|undefined; } /** * A fact or piece of data from a study of a large quantity of numerical data. A mathematical or quantified characteristic of a group of observations. @@ -3045,44 +3045,44 @@ export interface Statistic extends BackboneType { /** * A statistical attribute of the statistic such as a measure of heterogeneity. */ - attributeEstimate?: StatisticAttributeEstimate[]; + attributeEstimate?: StatisticAttributeEstimate[]|undefined; /** * Simple strings can be used for descriptive purposes. Exact matching to EvidenceVariable.category.name for the Evidence.variableDefinition[variableRole=measuredVariable].observed=Reference(EvidenceVariable) could facilitate validation within datasets. */ - category?: CodeableConcept; + category?: CodeableConcept|undefined; /** * A description of the content value of the statistic. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * A component of the method to generate the statistic. */ - modelCharacteristic?: StatisticModelCharacteristic[]; + modelCharacteristic?: StatisticModelCharacteristic[]|undefined; /** * Footnotes and/or explanatory notes. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * When the number affected is the statistic, use Statistic.quantity and set Statistic.type.coding.code=C25463 and Statistic.type.coding.display=Count. When the statistic is a Proportion, use Statistic.numberAffected and enter an integer as the value. When the statistic is an Event Rate (where individual participants may have 2 or more events), use Statistic.numberAffected to record the number of participants with events rather than the total number of events. */ - numberAffected?: number; + numberAffected?: number|undefined; /** * When the number of events is the statistic, use Statistic.quantity and set Statistic.type.coding.code=C25463 and Statistic.type.coding.display=Count. When the statistic is an Event Rate (where individual participants may have 2 or more events), use Statistic.numberOfEvents to record the total number of events rather than the number of participants with events. */ - numberOfEvents?: number; + numberOfEvents?: number|undefined; /** * Statistic value. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * Number of samples in the statistic. */ - sampleSize?: StatisticSampleSize; + sampleSize?: StatisticSampleSize|undefined; /** * Type of statistic, eg relative risk. */ - statisticType?: CodeableConcept; + statisticType?: CodeableConcept|undefined; } /** * A set of rules that describe when the event is scheduled. @@ -3091,78 +3091,78 @@ export interface TimingRepeat extends Element { /** * Either a duration for the length of the timing schedule, a range of possible length, or outer bounds for start and/or end limits of the timing schedule. */ - boundsDuration?: Duration; + boundsDuration?: Duration|undefined; /** * Either a duration for the length of the timing schedule, a range of possible length, or outer bounds for start and/or end limits of the timing schedule. */ - boundsRange?: Range; + boundsRange?: Range|undefined; /** * Either a duration for the length of the timing schedule, a range of possible length, or outer bounds for start and/or end limits of the timing schedule. */ - boundsPeriod?: Period; + boundsPeriod?: Period|undefined; /** * If you have both bounds and count, then this should be understood as within the bounds period, until count times happens. */ - count?: number; + count?: number|undefined; /** * If present, indicates that the count is a range - so to perform the action between [count] and [countMax] times. */ - countMax?: number; + countMax?: number|undefined; /** * If no days are specified, the action is assumed to happen every day as otherwise specified. */ - dayOfWeek?: TimingRepeatDayOfWeekCodes[]; - _dayOfWeek?: Element[]; + dayOfWeek?: TimingRepeatDayOfWeekCodes[]|undefined; + _dayOfWeek?: Element[]|undefined; /** * For some events the duration is part of the definition of the event (e.g. IV infusions, where the duration is implicit in the specified quantity and rate). For others, it's part of the timing specification (e.g. exercise). */ - duration?: number; + duration?: number|undefined; /** * For some events the duration is part of the definition of the event (e.g. IV infusions, where the duration is implicit in the specified quantity and rate). For others, it's part of the timing specification (e.g. exercise). */ - durationMax?: number; + durationMax?: number|undefined; /** * The units of time for the duration, in UCUM units * Normal practice is to use the 'mo' code as a calendar month when calculating the next occurrence. */ - durationUnit?: TimingRepeatDurationUnitCodes; - _durationUnit?: Element; + durationUnit?: TimingRepeatDurationUnitCodes|undefined; + _durationUnit?: Element|undefined; /** * The number of times to repeat the action within the specified period. If frequencyMax is present, this element indicates the lower bound of the allowed range of the frequency. */ - frequency?: number; + frequency?: number|undefined; /** * If present, indicates that the frequency is a range - so to repeat between [frequency] and [frequencyMax] times within the period or period range. */ - frequencyMax?: number; + frequencyMax?: number|undefined; /** * The number of minutes from the event. If the event code does not indicate whether the minutes is before or after the event, then the offset is assumed to be after the event. */ - offset?: number; + offset?: number|undefined; /** * Indicates the duration of time over which repetitions are to occur; e.g. to express "3 times per day", 3 would be the frequency and "1 day" would be the period. If periodMax is present, this element indicates the lower bound of the allowed range of the period length. */ - period?: number; + period?: number|undefined; /** * If present, indicates that the period is a range from [period] to [periodMax], allowing expressing concepts such as "do this once every 3-5 days. */ - periodMax?: number; + periodMax?: number|undefined; /** * The units of time for the period in UCUM units * Normal practice is to use the 'mo' code as a calendar month when calculating the next occurrence. */ - periodUnit?: TimingRepeatPeriodUnitCodes; - _periodUnit?: Element; + periodUnit?: TimingRepeatPeriodUnitCodes|undefined; + _periodUnit?: Element|undefined; /** * When time of day is specified, it is inferred that the action happens every day (as filtered by dayofWeek) on the specified times. If there's a timeOfDay, there cannot be a when, or vice versa. */ - timeOfDay?: string[]; - _timeOfDay?: Element[]; + timeOfDay?: string[]|undefined; + _timeOfDay?: Element[]|undefined; /** * When more than one event is listed, the event is tied to the union of the specified events. */ - when?: string[]; - _when?: Element[]; + when?: string[]|undefined; + _when?: Element[]|undefined; } /** * Code Values for the Timing.repeat.dayOfWeek field @@ -3207,16 +3207,16 @@ export interface Timing extends BackboneType { /** * BID etc. are defined as 'at institutionally specified times'. For example, an institution may choose that BID is "always at 7am and 6pm". If it is inappropriate for this choice to be made, the code BID should not be used. Instead, a distinct organization-specific code should be used in place of the HL7-defined BID code and/or a structured representation should be used (in this case, specifying the two event times). */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * Identifies specific times when the event occurs. */ - event?: string[]; - _event?: Element[]; + event?: string[]|undefined; + _event?: Element[]|undefined; /** * A set of rules that describe when the event is scheduled. */ - repeat?: TimingRepeat; + repeat?: TimingRepeat|undefined; } /** * A description of a triggering event. Triggering events can be named events, data events, or periodic, as determined by the type element. @@ -3225,39 +3225,39 @@ export interface TriggerDefinition extends DataType { /** * This element can be only be specified for data type triggers and provides additional semantics for the trigger. The context available within the condition is based on the type of data event. For all events, the current resource will be available as context. In addition, for modification events, the previous resource will also be available. The expression may be inlined, or may be a simple absolute URI, which is a reference to a named expression within a logic library referenced by a library element or extension within the containing resource. If the expression is a FHIR Path expression, it evaluates in the context of a resource of one of the type identified in the data requirement, and may also refer to the variable %previous for delta comparisons on events of type data-changed, data-modified, and data-deleted which will always have the same type. */ - condition?: Expression; + condition?: Expression|undefined; /** * This element shall be present for any data type trigger. */ - data?: DataRequirement[]; + data?: DataRequirement[]|undefined; /** * An event name can be provided for all event types, but is required for named events. If a name is provided for a type other than named events, it is considered to be a shorthand for the semantics described by the formal description of the event. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * The timing of the event (if this is a periodic trigger). */ - timingTiming?: Timing; + timingTiming?: Timing|undefined; /** * The timing of the event (if this is a periodic trigger). */ - timingReference?: Reference; + timingReference?: Reference|undefined; /** * The timing of the event (if this is a periodic trigger). */ - timingDate?: string; - _timingDate?: Element; + timingDate?: string|undefined; + _timingDate?: Element|undefined; /** * The timing of the event (if this is a periodic trigger). */ - timingDateTime?: string; - _timingDateTime?: Element; + timingDateTime?: string|undefined; + _timingDateTime?: Element|undefined; /** * The type of triggering event. */ type: TriggerDefinitionTypeCodes; - _type?: Element; + _type?: Element|undefined; } /** * Code Values for the TriggerDefinition.type field @@ -3283,19 +3283,19 @@ export interface UsageContext extends DataType { /** * A value that defines the context specified in this context of use. The interpretation of the value is defined by the code. */ - valueCodeableConcept?: CodeableConcept; + valueCodeableConcept?: CodeableConcept|undefined; /** * A value that defines the context specified in this context of use. The interpretation of the value is defined by the code. */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; /** * A value that defines the context specified in this context of use. The interpretation of the value is defined by the code. */ - valueRange?: Range; + valueRange?: Range|undefined; /** * A value that defines the context specified in this context of use. The interpretation of the value is defined by the code. */ - valueReference?: Reference; + valueReference?: Reference|undefined; } /** * Typically. this may be some form of insurance, internal charges, or self-pay. @@ -3311,7 +3311,7 @@ export interface AccountCoverage extends BackboneElement { /** * It is common in some jurisdictions for there to be multiple coverages allocated to an account, and a sequence is required to order the settling of the account (often with insurance claiming). */ - priority?: number; + priority?: number|undefined; } /** * The parties responsible for balancing the account if other payment options fall short. @@ -3320,8 +3320,8 @@ export interface AccountGuarantor extends BackboneElement { /** * A guarantor may be placed on credit hold or otherwise have their role temporarily suspended. */ - onHold?: boolean; - _onHold?: Element; + onHold?: boolean|undefined; + _onHold?: Element|undefined; /** * The entity who is responsible. */ @@ -3329,7 +3329,7 @@ export interface AccountGuarantor extends BackboneElement { /** * The timeframe during which the guarantor accepts responsibility for the account. */ - period?: Period; + period?: Period|undefined; } /** * A financial tool for tracking value accrued for a particular purpose. In the healthcare field, used to track charges for a patient, cost centers, etc. @@ -3342,50 +3342,50 @@ export interface Account extends DomainResource { * Local or jurisdictional business rules may determine which coverage covers which types of billable items charged to the account, and in which order. * Where the order is important, a local/jurisdictional extension may be defined to specify the order for the type of charge. */ - coverage?: AccountCoverage[]; + coverage?: AccountCoverage[]|undefined; /** * Provides additional information about what the account tracks and how it is used. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * The parties responsible for balancing the account if other payment options fall short. */ - guarantor?: AccountGuarantor[]; + guarantor?: AccountGuarantor[]|undefined; /** * Unique identifier used to reference the account. Might or might not be intended for human use (e.g. credit card number). */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Name used for the account when displaying it to humans in reports, etc. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Indicates the service area, hospital, department, etc. with responsibility for managing the Account. */ - owner?: Reference; + owner?: Reference|undefined; /** * Reference to a parent Account. */ - partOf?: Reference; + partOf?: Reference|undefined; /** * It is possible for transactions to be posted outside the service period, as long as the service was provided within the defined service period. */ - servicePeriod?: Period; + servicePeriod?: Period|undefined; /** * This element is labeled as a modifier because the status contains the codes inactive and entered-in-error that mark the Account as not currently valid. */ status: AccountStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Accounts can be applied to non-patients for tracking other non-patient related activities, such as group services (patients not tracked, and costs charged to another body), or might not be allocated. */ - subject?: Reference[]; + subject?: Reference[]|undefined; /** * Categorizes the account for reporting and searching purposes. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Code Values for the Account.status field @@ -3404,20 +3404,20 @@ export interface ActivityDefinitionParticipant extends BackboneElement { /** * Indicates how the actor will be involved in the action - author, reviewer, witness, etc. */ - function?: CodeableConcept; + function?: CodeableConcept|undefined; /** * The role the participant should play in performing the described action. */ - role?: CodeableConcept; + role?: CodeableConcept|undefined; /** * The type of participant in the action. */ - type?: ActivityDefinitionParticipantTypeCodes; - _type?: Element; + type?: ActivityDefinitionParticipantTypeCodes|undefined; + _type?: Element|undefined; /** * When this element is a reference, it SHOULD be a reference to a definitional resource (for example, a location type, rather than a specific location). */ - typeReference?: Reference; + typeReference?: Reference|undefined; } /** * Code Values for the ActivityDefinition.participant.type field @@ -3446,7 +3446,7 @@ export interface ActivityDefinitionDynamicValue extends BackboneElement { * The path attribute contains a [Simple FHIRPath Subset](fhirpath.html#simple) that allows path traversal, but not calculation. */ path: string; - _path?: Element; + _path?: Element|undefined; } /** * This resource allows for the definition of some activity to be performed, independent of a particular patient, practitioner, or other performance context. @@ -3457,236 +3457,236 @@ export interface ActivityDefinition extends DomainResource { /** * The 'date' element may be more recent than the approval date because of minor changes or editorial corrections. */ - approvalDate?: string; - _approvalDate?: Element; + approvalDate?: string|undefined; + _approvalDate?: Element|undefined; /** * An individiual or organization primarily involved in the creation and maintenance of the content. */ - author?: ContactDetail[]; + author?: ContactDetail[]|undefined; /** * Only used if not implicit in the code found in ServiceRequest.type. */ - bodySite?: CodeableConcept[]; + bodySite?: CodeableConcept[]|undefined; /** * Tends to be less relevant for activities involving particular products. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * A copyright statement relating to the activity definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the activity definition. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the activity definition. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * This description can be used to capture details such as why the activity definition was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the activity definition as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the activity definition is presumed to be the predominant language in the place the activity definition was created). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * This element is not intended to be used to communicate a decision support response to cancel an order in progress. That should be done with the "remove" type of a PlanDefinition or RequestGroup. */ - doNotPerform?: boolean; - _doNotPerform?: Element; + doNotPerform?: boolean|undefined; + _doNotPerform?: Element|undefined; /** * If a dosage instruction is used, the definition should not specify timing or quantity. */ - dosage?: Dosage[]; + dosage?: Dosage[]|undefined; /** * Dynamic values are applied in the order in which they are defined in the ActivityDefinition. Note that if both a transform and dynamic values are specified, the dynamic values will be applied to the result of the transform. */ - dynamicValue?: ActivityDefinitionDynamicValue[]; + dynamicValue?: ActivityDefinitionDynamicValue[]|undefined; /** * An individual or organization primarily responsible for internal coherence of the content. */ - editor?: ContactDetail[]; + editor?: ContactDetail[]|undefined; /** * The effective period for a activity definition determines when the content is applicable for usage and is independent of publication and review dates. For example, a measure intended to be used for the year 2016 might be published in 2015. */ - effectivePeriod?: Period; + effectivePeriod?: Period|undefined; /** * An individual or organization responsible for officially endorsing the content for use in some setting. */ - endorser?: ContactDetail[]; + endorser?: ContactDetail[]|undefined; /** * Allows filtering of activity definitions that are appropriate for use versus not. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this activity definition outside of FHIR, where it is not possible to use the logical URI. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Indicates the level of authority/intentionality associated with the activity and where the request should fit into the workflow chain. */ - intent?: ActivityDefinitionIntentCodes; - _intent?: Element; + intent?: ActivityDefinitionIntentCodes|undefined; + _intent?: Element|undefined; /** * It may be possible for the activity definition to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * May determine what types of extensions are permitted. */ - kind?: string; - _kind?: Element; + kind?: string|undefined; + _kind?: Element|undefined; /** * If specified, this date follows the original approval date. */ - lastReviewDate?: string; - _lastReviewDate?: Element; + lastReviewDate?: string|undefined; + _lastReviewDate?: Element|undefined; /** * A reference to a Library resource containing any formal logic used by the activity definition. */ - library?: string[]; - _library?: Element[]; + library?: string[]|undefined; + _library?: Element[]|undefined; /** * May reference a specific clinical location or may just identify a type of location. */ - location?: CodeableReference; + location?: CodeableReference|undefined; /** * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Defines observation requirements for the action to be performed, such as body weight or surface area. */ - observationRequirement?: Reference[]; + observationRequirement?: Reference[]|undefined; /** * Defines the observations that are expected to be produced by the action. */ - observationResultRequirement?: Reference[]; + observationResultRequirement?: Reference[]|undefined; /** * Indicates who should participate in performing the action described. */ - participant?: ActivityDefinitionParticipant[]; + participant?: ActivityDefinitionParticipant[]|undefined; /** * Indicates how quickly the activity should be addressed with respect to other requests. */ - priority?: ActivityDefinitionPriorityCodes; - _priority?: Element; + priority?: ActivityDefinitionPriorityCodes|undefined; + _priority?: Element|undefined; /** * Identifies the food, drug or other product being consumed or supplied in the activity. */ - productReference?: Reference; + productReference?: Reference|undefined; /** * Identifies the food, drug or other product being consumed or supplied in the activity. */ - productCodeableConcept?: CodeableConcept; + productCodeableConcept?: CodeableConcept|undefined; /** * A profile to which the target of the activity definition is expected to conform. */ - profile?: string; - _profile?: Element; + profile?: string|undefined; + _profile?: Element|undefined; /** * Usually an organization but may be an individual. The publisher (or steward) of the activity definition is the organization or individual primarily responsible for the maintenance and upkeep of the activity definition. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the activity definition. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * This element does not describe the usage of the activity definition. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this activity definition. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * Identifies the quantity expected to be consumed at once (per dose, per meal, etc.). */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * Each related artifact is either an attachment, or a reference to another resource, but not both. */ - relatedArtifact?: RelatedArtifact[]; + relatedArtifact?: RelatedArtifact[]|undefined; /** * An individual or organization primarily responsible for review of some aspect of the content. */ - reviewer?: ContactDetail[]; + reviewer?: ContactDetail[]|undefined; /** * Defines specimen requirements for the action to be performed, such as required specimens for a lab test. */ - specimenRequirement?: Reference[]; + specimenRequirement?: Reference[]|undefined; /** * Allows filtering of activity definitions that are appropriate for use versus not. */ status: ActivityDefinitionStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * A code, group definition, or canonical reference that describes or identifies the intended subject of the activity being defined. Canonical references are allowed to support the definition of protocols for drug and substance quality specifications, and is allowed to reference a MedicinalProductDefinition, SubstanceDefinition, AdministrableProductDefinition, ManufacturedItemDefinition, or PackagedProductDefinition resource. */ - subjectCodeableConcept?: CodeableConcept; + subjectCodeableConcept?: CodeableConcept|undefined; /** * A code, group definition, or canonical reference that describes or identifies the intended subject of the activity being defined. Canonical references are allowed to support the definition of protocols for drug and substance quality specifications, and is allowed to reference a MedicinalProductDefinition, SubstanceDefinition, AdministrableProductDefinition, ManufacturedItemDefinition, or PackagedProductDefinition resource. */ - subjectReference?: Reference; + subjectReference?: Reference|undefined; /** * A code, group definition, or canonical reference that describes or identifies the intended subject of the activity being defined. Canonical references are allowed to support the definition of protocols for drug and substance quality specifications, and is allowed to reference a MedicinalProductDefinition, SubstanceDefinition, AdministrableProductDefinition, ManufacturedItemDefinition, or PackagedProductDefinition resource. */ - subjectCanonical?: string; - _subjectCanonical?: Element; + subjectCanonical?: string|undefined; + _subjectCanonical?: Element|undefined; /** * An explanatory or alternate title for the activity definition giving additional information about its content. */ - subtitle?: string; - _subtitle?: Element; + subtitle?: string|undefined; + _subtitle?: Element|undefined; /** * The intent of the timing element is to provide timing when the action should be performed. As a definitional resource, this timing is interpreted as part of an apply operation so that the timing of the result actions in a CarePlan or RequestGroup, for example, would be specified by evaluating the timing definition in the context of the apply and setting the resulting timing on the appropriate elements of the target resource. If the timing is an Age, the activity is expected to be performed when the subject is the given Age. When the timing is a Duration, the activity is expected to be performed within the specified duration from the apply. When the timing is a Range, it may be a range of Ages or Durations, providing a range for the expected timing of the resulting activity. When the timing is a Timing, it is establishing a schedule for the timing of the resulting activity. */ - timingTiming?: Timing; + timingTiming?: Timing|undefined; /** * The intent of the timing element is to provide timing when the action should be performed. As a definitional resource, this timing is interpreted as part of an apply operation so that the timing of the result actions in a CarePlan or RequestGroup, for example, would be specified by evaluating the timing definition in the context of the apply and setting the resulting timing on the appropriate elements of the target resource. If the timing is an Age, the activity is expected to be performed when the subject is the given Age. When the timing is a Duration, the activity is expected to be performed within the specified duration from the apply. When the timing is a Range, it may be a range of Ages or Durations, providing a range for the expected timing of the resulting activity. When the timing is a Timing, it is establishing a schedule for the timing of the resulting activity. */ - timingAge?: Age; + timingAge?: Age|undefined; /** * The intent of the timing element is to provide timing when the action should be performed. As a definitional resource, this timing is interpreted as part of an apply operation so that the timing of the result actions in a CarePlan or RequestGroup, for example, would be specified by evaluating the timing definition in the context of the apply and setting the resulting timing on the appropriate elements of the target resource. If the timing is an Age, the activity is expected to be performed when the subject is the given Age. When the timing is a Duration, the activity is expected to be performed within the specified duration from the apply. When the timing is a Range, it may be a range of Ages or Durations, providing a range for the expected timing of the resulting activity. When the timing is a Timing, it is establishing a schedule for the timing of the resulting activity. */ - timingRange?: Range; + timingRange?: Range|undefined; /** * The intent of the timing element is to provide timing when the action should be performed. As a definitional resource, this timing is interpreted as part of an apply operation so that the timing of the result actions in a CarePlan or RequestGroup, for example, would be specified by evaluating the timing definition in the context of the apply and setting the resulting timing on the appropriate elements of the target resource. If the timing is an Age, the activity is expected to be performed when the subject is the given Age. When the timing is a Duration, the activity is expected to be performed within the specified duration from the apply. When the timing is a Range, it may be a range of Ages or Durations, providing a range for the expected timing of the resulting activity. When the timing is a Timing, it is establishing a schedule for the timing of the resulting activity. */ - timingDuration?: Duration; + timingDuration?: Duration|undefined; /** * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Descriptive topics related to the content of the activity. Topics provide a high-level categorization of the activity that can be useful for filtering and searching. */ - topic?: CodeableConcept[]; + topic?: CodeableConcept[]|undefined; /** * Note that if both a transform and dynamic values are specified, the dynamic values will be applied to the result of the transform. */ - transform?: string; - _transform?: Element; + transform?: string|undefined; + _transform?: Element|undefined; /** * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * A detailed description of how the activity definition is used from a clinical perspective. */ - usage?: string; - _usage?: Element; + usage?: string|undefined; + _usage?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different activity definition instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the activity definition with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the ActivityDefinition.intent field @@ -3727,7 +3727,7 @@ export interface AdministrableProductDefinitionProperty extends BackboneElement /** * The status of characteristic e.g. assigned or pending. */ - status?: CodeableConcept; + status?: CodeableConcept|undefined; /** * A code expressing the type of characteristic. */ @@ -3735,25 +3735,25 @@ export interface AdministrableProductDefinitionProperty extends BackboneElement /** * A value for the characteristic. */ - valueCodeableConcept?: CodeableConcept; + valueCodeableConcept?: CodeableConcept|undefined; /** * A value for the characteristic. */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; /** * A value for the characteristic. */ - valueDate?: string; - _valueDate?: Element; + valueDate?: string|undefined; + _valueDate?: Element|undefined; /** * A value for the characteristic. */ - valueBoolean?: boolean; - _valueBoolean?: Element; + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; /** * A value for the characteristic. */ - valueAttachment?: Attachment; + valueAttachment?: Attachment|undefined; } /** * A species specific time during which consumption of animal product is not appropriate. @@ -3762,8 +3762,8 @@ export interface AdministrableProductDefinitionRouteOfAdministrationTargetSpecie /** * Extra information about the withdrawal period. */ - supportingInformation?: string; - _supportingInformation?: Element; + supportingInformation?: string|undefined; + _supportingInformation?: Element|undefined; /** * Coded expression for the type of tissue for which the withdrawal period applues, e.g. meat, milk. */ @@ -3784,7 +3784,7 @@ export interface AdministrableProductDefinitionRouteOfAdministrationTargetSpecie /** * A species specific time during which consumption of animal product is not appropriate. */ - withdrawalPeriod?: AdministrableProductDefinitionRouteOfAdministrationTargetSpeciesWithdrawalPeriod[]; + withdrawalPeriod?: AdministrableProductDefinitionRouteOfAdministrationTargetSpeciesWithdrawalPeriod[]|undefined; } /** * The path by which the product is taken into or makes contact with the body. In some regions this is referred to as the licenced or approved route. @@ -3797,27 +3797,27 @@ export interface AdministrableProductDefinitionRouteOfAdministration extends Bac /** * The first dose (dose quantity) administered can be specified for the product, using a numerical value and its unit of measurement. */ - firstDose?: Quantity; + firstDose?: Quantity|undefined; /** * The maximum dose per day (maximum dose quantity to be administered in any one 24-h period) that can be administered. */ - maxDosePerDay?: Quantity; + maxDosePerDay?: Quantity|undefined; /** * The maximum dose per treatment period that can be administered. */ - maxDosePerTreatmentPeriod?: Ratio; + maxDosePerTreatmentPeriod?: Ratio|undefined; /** * The maximum single dose that can be administered, can be specified using a numerical value and its unit of measurement. */ - maxSingleDose?: Quantity; + maxSingleDose?: Quantity|undefined; /** * The maximum treatment period during which an Investigational Medicinal Product can be administered. */ - maxTreatmentPeriod?: Duration; + maxTreatmentPeriod?: Duration|undefined; /** * A species for which this route applies. */ - targetSpecies?: AdministrableProductDefinitionRouteOfAdministrationTargetSpecies[]; + targetSpecies?: AdministrableProductDefinitionRouteOfAdministrationTargetSpecies[]|undefined; } /** * A medicinal product in the final form which is suitable for administering to a patient (after any mixing of multiple components, dissolution etc. has been performed). @@ -3828,27 +3828,27 @@ export interface AdministrableProductDefinition extends DomainResource { /** * The administrable dose form, i.e. the dose form of the final product after necessary reconstitution or processing. */ - administrableDoseForm?: CodeableConcept; + administrableDoseForm?: CodeableConcept|undefined; /** * A device that is integral to the medicinal product, in effect being considered as an "ingredient" of the medicinal product. This is not intended for devices that are just co-packaged. */ - device?: Reference[]; + device?: Reference[]|undefined; /** * An identifier for the administrable product. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The ingredients of this administrable medicinal product. Sometimes it may be appropriate to specify these via the associated manufactured item(s). */ - ingredient?: Reference[]; + ingredient?: Reference[]|undefined; /** * The manufactured item(s) that this administrable product is produced from. Either a single item, or several that are mixed before administration (e.g. a power item and a solution item). Note that these are not raw ingredients. */ - producedFrom?: Reference[]; + producedFrom?: Reference[]|undefined; /** * Characteristics e.g. a products onset of action. */ - property?: AdministrableProductDefinitionProperty[]; + property?: AdministrableProductDefinitionProperty[]|undefined; /** * The path by which the product is taken into or makes contact with the body. In some regions this is referred to as the licenced or approved route. */ @@ -3856,11 +3856,11 @@ export interface AdministrableProductDefinition extends DomainResource { /** * The medicinal product that this is an administrable form of. This is not a reference to the item(s) that make up this administrable form - it is the whole product. */ - subject?: Reference[]; + subject?: Reference[]|undefined; /** * The units of presentation for the administrable product, for example 'tablet'. */ - unitOfPresentation?: CodeableConcept; + unitOfPresentation?: CodeableConcept|undefined; } /** * Indicates who or what participated in the adverse event and how they were involved. @@ -3873,7 +3873,7 @@ export interface AdverseEventParticipant extends BackboneElement { /** * Distinguishes the type of involvement of the actor in the adverse event, such as contributor or informant. */ - function?: CodeableConcept; + function?: CodeableConcept|undefined; } /** * Information on the possible cause of the event. @@ -3882,15 +3882,15 @@ export interface AdverseEventSuspectEntityCausality extends BackboneElement { /** * The method of evaluating the relatedness of the suspected entity to the event. */ - assessmentMethod?: CodeableConcept; + assessmentMethod?: CodeableConcept|undefined; /** * The author of the information on the possible cause of the event. */ - author?: Reference; + author?: Reference|undefined; /** * The result of the assessment regarding the relatedness of the suspected entity to the event. */ - entityRelatedness?: CodeableConcept; + entityRelatedness?: CodeableConcept|undefined; } /** * Describes the entity that is suspected to have caused the adverse event. @@ -3899,15 +3899,15 @@ export interface AdverseEventSuspectEntity extends BackboneElement { /** * Information on the possible cause of the event. */ - causality?: AdverseEventSuspectEntityCausality; + causality?: AdverseEventSuspectEntityCausality|undefined; /** * Identifies the actual instance of what caused the adverse event. May be a substance, medication, medication administration, medication statement or a device. */ - instanceCodeableConcept?: CodeableConcept; + instanceCodeableConcept?: CodeableConcept|undefined; /** * Identifies the actual instance of what caused the adverse event. May be a substance, medication, medication administration, medication statement or a device. */ - instanceReference?: Reference; + instanceReference?: Reference|undefined; } /** * The contributing factors suspected to have increased the probability or severity of the adverse event. @@ -3916,11 +3916,11 @@ export interface AdverseEventContributingFactor extends BackboneElement { /** * The item that is suspected to have increased the probability or severity of the adverse event. */ - itemReference?: Reference; + itemReference?: Reference|undefined; /** * The item that is suspected to have increased the probability or severity of the adverse event. */ - itemCodeableConcept?: CodeableConcept; + itemCodeableConcept?: CodeableConcept|undefined; } /** * Preventive actions that contributed to avoiding the adverse event. @@ -3929,11 +3929,11 @@ export interface AdverseEventPreventiveAction extends BackboneElement { /** * The action that contributed to avoiding the adverse event. */ - itemReference?: Reference; + itemReference?: Reference|undefined; /** * The action that contributed to avoiding the adverse event. */ - itemCodeableConcept?: CodeableConcept; + itemCodeableConcept?: CodeableConcept|undefined; } /** * The ameliorating action taken after the adverse event occured in order to reduce the extent of harm. @@ -3942,11 +3942,11 @@ export interface AdverseEventMitigatingAction extends BackboneElement { /** * The ameliorating action taken after the adverse event occured in order to reduce the extent of harm. */ - itemReference?: Reference; + itemReference?: Reference|undefined; /** * The ameliorating action taken after the adverse event occured in order to reduce the extent of harm. */ - itemCodeableConcept?: CodeableConcept; + itemCodeableConcept?: CodeableConcept|undefined; } /** * Supporting information relevant to the event. @@ -3955,11 +3955,11 @@ export interface AdverseEventSupportingInfo extends BackboneElement { /** * Relevant past history for the subject. In a clinical care context, an example being a patient had an adverse event following a pencillin administration and the patient had a previously documented penicillin allergy. In a clinical trials context, an example is a bunion or rash that was present prior to the study. Additionally, the supporting item can be a document that is relevant to this instance of the adverse event that is not part of the subject's medical history. For example, a clinical note, staff list, or material safety data sheet (MSDS). Supporting information is not a contributing factor, preventive action, or mitigating action. */ - itemReference?: Reference; + itemReference?: Reference|undefined; /** * Relevant past history for the subject. In a clinical care context, an example being a patient had an adverse event following a pencillin administration and the patient had a previously documented penicillin allergy. In a clinical trials context, an example is a bunion or rash that was present prior to the study. Additionally, the supporting item can be a document that is relevant to this instance of the adverse event that is not part of the subject's medical history. For example, a clinical note, staff list, or material safety data sheet (MSDS). Supporting information is not a contributing factor, preventive action, or mitigating action. */ - itemCodeableConcept?: CodeableConcept; + itemCodeableConcept?: CodeableConcept|undefined; } /** * An event (i.e. any change to current patient status) that may be related to unintended effects on a patient or research subject. The unintended effects may require additional monitoring, treatment or hospitalization or may result in death. The AdverseEvent resource also extends to potential or avoided events that could have had such effects. @@ -3971,91 +3971,91 @@ export interface AdverseEvent extends DomainResource { * Whether the event actually happened, or just had the potential to. Note that this is independent of whether anyone was affected or harmed or how severely. */ actuality: AdverseEventActualityCodes; - _actuality?: Element; + _actuality?: Element|undefined; /** * The overall type of event, intended for search and filtering purposes. */ - category?: CodeableConcept[]; + category?: CodeableConcept[]|undefined; /** * Specific event that occurred or that was averted, such as patient fall, wrong organ removed, or wrong blood transfused. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * The contributing factors suspected to have increased the probability or severity of the adverse event. */ - contributingFactor?: AdverseEventContributingFactor[]; + contributingFactor?: AdverseEventContributingFactor[]|undefined; /** * Estimated or actual date the AdverseEvent began, in the opinion of the reporter. */ - detected?: string; - _detected?: Element; + detected?: string|undefined; + _detected?: Element|undefined; /** * This will typically be the encounter the event occurred within, but some activities may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter. For example, if a medication administration was considered an adverse event because it resulted in a rash, then the encounter when the medication administration was given is the associated encounter. If the patient reports the AdverseEvent during a second encounter, that second encounter is not the associated encounter. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * This is a business identifier, not a resource identifier (see [discussion](resource.html#identifiers)). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and a Person resource instance might share the same social insurance number. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The information about where the adverse event occurred. */ - location?: Reference; + location?: Reference|undefined; /** * The ameliorating action taken after the adverse event occured in order to reduce the extent of harm. */ - mitigatingAction?: AdverseEventMitigatingAction[]; + mitigatingAction?: AdverseEventMitigatingAction[]|undefined; /** * The date (and perhaps time) when the adverse event occurred. */ - occurrenceDateTime?: string; - _occurrenceDateTime?: Element; + occurrenceDateTime?: string|undefined; + _occurrenceDateTime?: Element|undefined; /** * The date (and perhaps time) when the adverse event occurred. */ - occurrencePeriod?: Period; + occurrencePeriod?: Period|undefined; /** * The date (and perhaps time) when the adverse event occurred. */ - occurrenceTiming?: Timing; + occurrenceTiming?: Timing|undefined; /** * Describes the type of outcome from the adverse event, such as resolved, recovering, ongoing, resolved-with-sequelae, or fatal. */ - outcome?: CodeableConcept[]; + outcome?: CodeableConcept[]|undefined; /** * Indicates who or what participated in the adverse event and how they were involved. */ - participant?: AdverseEventParticipant[]; + participant?: AdverseEventParticipant[]|undefined; /** * Preventive actions that contributed to avoiding the adverse event. */ - preventiveAction?: AdverseEventPreventiveAction[]; + preventiveAction?: AdverseEventPreventiveAction[]|undefined; /** * The recordedDate represents the date when this particular AdverseEvent record was created in the system, not the date of the most recent update. The date of the last record modification can be retrieved from the resource metadata. */ - recordedDate?: string; - _recordedDate?: Element; + recordedDate?: string|undefined; + _recordedDate?: Element|undefined; /** * Information on who recorded the adverse event. May be the patient or a practitioner. */ - recorder?: Reference; + recorder?: Reference|undefined; /** * Information about the condition that occurred as a result of the adverse event, such as hives due to the exposure to a substance (for example, a drug or a chemical) or a broken leg as a result of the fall. */ - resultingCondition?: Reference[]; + resultingCondition?: Reference[]|undefined; /** * Using an example, a rash can have an AdverseEvent.resultingCondition.severity = severe, yet an AdverseEvent.seriousness = non-serious. Alternatively, a medication given with the wrong dose (chemotherapy given with too low of a dose) can have an AdverseEvent.resultingCondition.severity = mild, yet a AdverseEvent.seriousness = serious. Another example would be a beta blocker clinical trial where patients with asthma should be excluded, yet a patient with asthma was included and had an asthmatic episode where AdverseEvent.resultingCondition.severity = mild, yet a AdverseEvent.seriousness = serious. */ - seriousness?: CodeableConcept; + seriousness?: CodeableConcept|undefined; /** * This is not the reporting of the event to any regulatory or quality organization. This is not the outcome of the patient's condition. */ status: AdverseEventStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * The research study that the subject is enrolled in. */ - study?: Reference[]; + study?: Reference[]|undefined; /** * If AdverseEvent.resultingCondition differs among members of the group, then use Patient as the subject. */ @@ -4063,11 +4063,11 @@ export interface AdverseEvent extends DomainResource { /** * Supporting information relevant to the event. */ - supportingInfo?: AdverseEventSupportingInfo[]; + supportingInfo?: AdverseEventSupportingInfo[]|undefined; /** * Describes the entity that is suspected to have caused the adverse event. */ - suspectEntity?: AdverseEventSuspectEntity[]; + suspectEntity?: AdverseEventSuspectEntity[]|undefined; } /** * Code Values for the AdverseEvent.actuality field @@ -4092,12 +4092,12 @@ export interface AllergyIntoleranceReaction extends BackboneElement { /** * Use the description to provide any details of a particular event of the occurred reaction such as circumstances, reaction specifics, what happened before/after. Information, related to the event, but not describing a particular care should be captured in the note field. For example: at the age of four, the patient was given penicillin for strep throat and subsequently developed severe hives. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Coding of the route of exposure with a terminology should be used wherever possible. */ - exposureRoute?: CodeableConcept; + exposureRoute?: CodeableConcept|undefined; /** * Manifestation can be expressed as a single word, phrase or brief description. For example: nausea, rash or no reaction. It is preferable that manifestation should be coded with a terminology, where possible. The values entered here may be used to display on an application screen as part of a list of adverse reactions, as recommended in the UK NHS CUI guidelines. Terminologies commonly used include, but are not limited to, SNOMED CT or ICD10. */ @@ -4105,21 +4105,21 @@ export interface AllergyIntoleranceReaction extends BackboneElement { /** * Use this field to record information indirectly related to a particular event and not captured in the description. For example: Clinical records are no longer available, recorded based on information provided to the patient by her mother and her mother is deceased. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * Record of the date and/or time of the onset of the Reaction. */ - onset?: string; - _onset?: Element; + onset?: string|undefined; + _onset?: Element|undefined; /** * It is acknowledged that this assessment is very subjective. There may be some specific practice domains where objective scales have been applied. Objective scales can be included in this model as extensions. */ - severity?: AllergyIntoleranceReactionSeverityCodes; - _severity?: Element; + severity?: AllergyIntoleranceReactionSeverityCodes|undefined; + _severity?: Element|undefined; /** * Coding of the specific substance (or pharmaceutical product) with a terminology capable of triggering decision support should be used wherever possible. The 'code' element allows for the use of a specific substance or pharmaceutical product, or a group or class of substances. In the case of an allergy or intolerance to a class of substances, (for example, "penicillins"), the 'reaction.substance' element could be used to code the specific substance that was identified as having caused the reaction (for example, "amoxycillin"). Duplication of the value in the 'code' and 'reaction.substance' elements is acceptable when a specific substance has been recorded in 'code'. */ - substance?: CodeableConcept; + substance?: CodeableConcept|undefined; } /** * Code Values for the AllergyIntolerance.reaction.severity field @@ -4138,68 +4138,68 @@ export interface AllergyIntolerance extends DomainResource { /** * The recorder takes responsibility for the content, but can reference the source from where they got it. */ - asserter?: Reference; + asserter?: Reference|undefined; /** * This data element has been included because it is currently being captured in some clinical systems. This data can be derived from the substance where coding systems are used, and is effectively redundant in that situation. When searching on category, consider the implications of AllergyIntolerance resources without a category. For example, when searching on category = medication, medication allergies that don't have a category valued will not be returned. Refer to [search](search.html) for more information on how to search category with a :missing modifier to get allergies that don't have a category. Additionally, category should be used with caution because category can be subjective based on the sender. */ - category?: AllergyIntoleranceCategoryCodes[]; - _category?: Element[]; + category?: AllergyIntoleranceCategoryCodes[]|undefined; + _category?: Element[]|undefined; /** * AllergyIntolerance.clinicalStatus should be present if verificationStatus is not entered-in-error and the AllergyIntolerance.code isn't negated (No Known Allergy, No Drug Allergy, No Food Allergy, No Latex Allergy). * Refer to [discussion](extensibility.html#Special-Case) if clincalStatus is missing data. * The data type is CodeableConcept because clinicalStatus has some clinical judgment involved, such that there might need to be more specificity than the required FHIR value set allows. For example, a SNOMED coding might allow for additional specificity. */ - clinicalStatus?: CodeableConcept; + clinicalStatus?: CodeableConcept|undefined; /** * It is strongly recommended that this element be populated using a terminology, where possible. For example, some terminologies used include RxNorm, SNOMED CT, DM+D, NDFRT, ICD-9, IDC-10, UNII, and ATC. Plain text should only be used if there is no appropriate terminology available. Additional details can be specified in the text. * When a substance or product code is specified for the 'code' element, the "default" semantic context is that this is a positive statement of an allergy or intolerance (depending on the value of the 'type' element, if present) condition to the specified substance/product. In the corresponding SNOMED CT allergy model, the specified substance/product is the target (destination) of the "Causative agent" relationship. * The 'substanceExposureRisk' extension is available as a structured and more flexible alternative to the 'code' element for making positive or negative allergy or intolerance statements. This extension provides the capability to make "no known allergy" (or "no risk of adverse reaction") statements regarding any coded substance/product (including cases when a pre-coordinated "no allergy to x" concept for that substance/product does not exist). If the 'substanceExposureRisk' extension is present, the AllergyIntolerance.code element SHALL be omitted. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * The default criticality value for any propensity to an adverse reaction should be 'Low Risk', indicating at the very least a relative contraindication to deliberate or voluntary exposure to the substance. 'High Risk' is flagged if the clinician has identified a propensity for a more serious or potentially life-threatening reaction, such as anaphylaxis, and implies an absolute contraindication to deliberate or voluntary exposure to the substance. If this element is missing, the criticality is unknown (though it may be known elsewhere). Systems that capture a severity at the condition level are actually representing the concept of criticality whereas the severity documented at the reaction level is representing the true reaction severity. Existing systems that are capturing both condition criticality and reaction severity may use the term "severity" to represent both. Criticality is the worst it could be in the future (i.e. situation-agnostic) whereas severity is situation-dependent. */ - criticality?: AllergyIntoleranceCriticalityCodes; - _criticality?: Element; + criticality?: AllergyIntoleranceCriticalityCodes|undefined; + _criticality?: Element|undefined; /** * The encounter when the allergy or intolerance was asserted. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * This is a business identifier, not a resource identifier (see [discussion](resource.html#identifiers)). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and a Person resource instance might share the same social insurance number. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * This date may be replicated by one of the Onset of Reaction dates. Where a textual representation of the date of last occurrence is required e.g. 'In Childhood, '10 years ago' the AllergyIntolerance.note element should be used. */ - lastOccurrence?: string; - _lastOccurrence?: Element; + lastOccurrence?: string|undefined; + _lastOccurrence?: Element|undefined; /** * For example: including reason for flagging a seriousness of 'High Risk'; and instructions related to future exposure or administration of the substance, such as administration within an Intensive Care Unit or under corticosteroid cover. The notes should be related to an allergy or intolerance as a condition in general and not related to any particular episode of it. For episode notes and descriptions, use AllergyIntolerance.event.description and AllergyIntolerance.event.notes. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * Estimated or actual date, date-time, or age when allergy or intolerance was identified. */ - onsetDateTime?: string; - _onsetDateTime?: Element; + onsetDateTime?: string|undefined; + _onsetDateTime?: Element|undefined; /** * Estimated or actual date, date-time, or age when allergy or intolerance was identified. */ - onsetAge?: Age; + onsetAge?: Age|undefined; /** * Estimated or actual date, date-time, or age when allergy or intolerance was identified. */ - onsetPeriod?: Period; + onsetPeriod?: Period|undefined; /** * Estimated or actual date, date-time, or age when allergy or intolerance was identified. */ - onsetRange?: Range; + onsetRange?: Range|undefined; /** * Estimated or actual date, date-time, or age when allergy or intolerance was identified. */ - onsetString?: string; - _onsetString?: Element; + onsetString?: string|undefined; + _onsetString?: Element|undefined; /** * The patient who has the allergy or intolerance. */ @@ -4207,25 +4207,25 @@ export interface AllergyIntolerance extends DomainResource { /** * Details about each adverse reaction event linked to exposure to the identified substance. */ - reaction?: AllergyIntoleranceReaction[]; + reaction?: AllergyIntoleranceReaction[]|undefined; /** * The recordedDate represents when this particular AllergyIntolerance record was created in the system, which is often a system-generated date. */ - recordedDate?: string; - _recordedDate?: Element; + recordedDate?: string|undefined; + _recordedDate?: Element|undefined; /** * Individual who recorded the record and takes responsibility for its content. */ - recorder?: Reference; + recorder?: Reference|undefined; /** * Allergic (typically immune-mediated) reactions have been traditionally regarded as an indicator for potential escalation to significant future risk. Contemporary knowledge suggests that some reactions previously thought to be immune-mediated are, in fact, non-immune, but in some cases can still pose a life threatening risk. It is acknowledged that many clinicians might not be in a position to distinguish the mechanism of a particular reaction. Often the term "allergy" is used rather generically and may overlap with the use of "intolerance" - in practice the boundaries between these two concepts might not be well-defined or understood. This data element is included nevertheless, because many legacy systems have captured this attribute. Immunologic testing may provide supporting evidence for the basis of the reaction and the causative substance, but no tests are 100% sensitive or specific for sensitivity to a particular substance. If, as is commonly the case, it is unclear whether the reaction is due to an allergy or an intolerance, then the type element should be omitted from the resource. */ - type?: AllergyIntoleranceTypeCodes; - _type?: Element; + type?: AllergyIntoleranceTypeCodes|undefined; + _type?: Element|undefined; /** * The data type is CodeableConcept because verificationStatus has some clinical judgment involved, such that there might need to be more specificity than the required FHIR value set allows. For example, a SNOMED coding might allow for additional specificity. */ - verificationStatus?: CodeableConcept; + verificationStatus?: CodeableConcept|undefined; } /** * Code Values for the AllergyIntolerance.category field @@ -4258,27 +4258,27 @@ export interface AppointmentParticipant extends BackboneElement { /** * A Person, Location/HealthcareService or Device that is participating in the appointment. */ - actor?: Reference; + actor?: Reference|undefined; /** * Participation period of the actor. */ - period?: Period; + period?: Period|undefined; /** * Whether this participant is required to be present at the meeting. This covers a use-case where two doctors need to meet to discuss the results for a specific patient, and the patient is not required to be present. */ - required?: AppointmentParticipantRequiredCodes; - _required?: Element; + required?: AppointmentParticipantRequiredCodes|undefined; + _required?: Element|undefined; /** * Participation status of the actor. */ status: AppointmentParticipantStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * The role of the participant can be used to declare what the actor will be doing in the scope of this appointment. * If the actor is not specified, then it is expected that the actor will be filled in at a later stage of planning. * This value SHALL be the same when creating an AppointmentResponse so that they can be matched, and subsequently update the Appointment. */ - type?: CodeableConcept[]; + type?: CodeableConcept[]|undefined; } /** * Code Values for the Appointment.participant.required field @@ -4306,44 +4306,44 @@ export interface Appointment extends DomainResource { /** * The style of appointment or patient that has been booked in the slot (not service type). */ - appointmentType?: CodeableConcept; + appointmentType?: CodeableConcept|undefined; /** * The service request this appointment is allocated to assess (e.g. incoming referral or procedure request). */ - basedOn?: Reference[]; + basedOn?: Reference[]|undefined; /** * The coded reason for the appointment being cancelled. This is often used in reporting/billing/futher processing to determine if further actions are required, or specific fees apply. */ - cancelationReason?: CodeableConcept; + cancelationReason?: CodeableConcept|undefined; /** * Additional text to aid in facilitating the appointment. For instance, a comment might be, "patient should proceed immediately to infusion room upon arrival" * Where this is a planned appointment and the start/end dates are not set then this field can be used to provide additional guidance on the details of the appointment request, including any restrictions on when to book it. */ - comment?: string; - _comment?: Element; + comment?: string|undefined; + _comment?: Element|undefined; /** * This property is required for many use cases where the age of an appointment is considered in processing workflows for scheduling and billing of appointments. */ - created?: string; - _created?: Element; + created?: string|undefined; + _created?: Element|undefined; /** * The brief description of the appointment as would be shown on a subject line in a meeting request, or appointment list. Detailed or expanded information should be put in the comment field. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Date/Time that the appointment is to conclude. */ - end?: string; - _end?: Element; + end?: string|undefined; + _end?: Element|undefined; /** * This records identifiers associated with this appointment concern that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation). */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Number of minutes that the appointment is to take. This can be less than the duration between the start and end times. For example, where the actual time of appointment is only an estimate or if a 30 minute appointment is being requested, but any time would work. Also, if there is, for example, a planned 15 minute break in the middle of a long appointment, the duration may be 15 minutes less than the difference between the start and end. */ - minutesDuration?: number; + minutesDuration?: number|undefined; /** * List of participants involved in the appointment. */ @@ -4351,52 +4351,52 @@ export interface Appointment extends DomainResource { /** * While Appointment.comment contains information for internal use, Appointment.patientInstructions is used to capture patient facing information about the Appointment (e.g. please bring your referral or fast from 8pm night before). */ - patientInstruction?: string; - _patientInstruction?: Element; + patientInstruction?: string|undefined; + _patientInstruction?: Element|undefined; /** * Seeking implementer feedback on this property and how interoperable it is. * Using an extension to record a CodeableConcept for named values may be tested at a future connectathon. */ - priority?: CodeableConcept; + priority?: CodeableConcept|undefined; /** * The reason that this appointment is being scheduled. This is more clinical than administrative. This can be coded, or as specified using information from another resource. When the patient arrives and the encounter begins it may be used as the admission diagnosis. The indication will typically be a Condition (with other resources referenced in the evidence.detail), or a Procedure. */ - reason?: CodeableReference[]; + reason?: CodeableReference[]|undefined; /** * This does not introduce a capacity for recurring appointments. */ - requestedPeriod?: Period[]; + requestedPeriod?: Period[]|undefined; /** * A broad categorization of the service that is to be performed during this appointment. */ - serviceCategory?: CodeableConcept[]; + serviceCategory?: CodeableConcept[]|undefined; /** * For a provider to provider appointment the code "FOLLOWUP" may be appropriate, as this is expected to be discussing some patient that was seen in the past. */ - serviceType?: CodeableConcept[]; + serviceType?: CodeableConcept[]|undefined; /** * The slots from the participants' schedules that will be filled by the appointment. */ - slot?: Reference[]; + slot?: Reference[]|undefined; /** * The specialty of a practitioner that would be required to perform the service requested in this appointment. */ - specialty?: CodeableConcept[]; + specialty?: CodeableConcept[]|undefined; /** * Date/Time that the appointment is to take place. */ - start?: string; - _start?: Element; + start?: string|undefined; + _start?: Element|undefined; /** * If the Appointment's status is "cancelled" then all participants are expected to have their calendars released for the appointment period, and as such any Slots that were marked as BUSY can be re-set to FREE. * This element is labeled as a modifier because the status contains the code entered-in-error that mark the Appointment as not currently valid. */ status: AppointmentStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Additional information to support the appointment provided when making the appointment. */ - supportingInformation?: Reference[]; + supportingInformation?: Reference[]|undefined; } /** * Code Values for the Appointment.status field @@ -4422,7 +4422,7 @@ export interface AppointmentResponse extends DomainResource { /** * A Person, Location, HealthcareService, or Device that is participating in the appointment. */ - actor?: Reference; + actor?: Reference|undefined; /** * Appointment that this response is replying to. */ @@ -4430,33 +4430,33 @@ export interface AppointmentResponse extends DomainResource { /** * This comment is particularly important when the responder is declining, tentatively accepting or requesting another time to indicate the reasons why. */ - comment?: string; - _comment?: Element; + comment?: string|undefined; + _comment?: Element|undefined; /** * This may be either the same as the appointment request to confirm the details of the appointment, or alternately a new time to request a re-negotiation of the end time. */ - end?: string; - _end?: Element; + end?: string|undefined; + _end?: Element|undefined; /** * This records identifiers associated with this appointment response concern that are defined by business processes and/ or used to refer to it when a direct URL reference to the resource itself is not appropriate. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * This element is labeled as a modifier because the status contains the code entered-in-error that marks the participant as not currently valid. */ participantStatus: AppointmentResponseParticipantStatusCodes; - _participantStatus?: Element; + _participantStatus?: Element|undefined; /** * The role of the participant can be used to declare what the actor will be doing in the scope of the referenced appointment. * If the actor is not specified, then it is expected that the actor will be filled in at a later stage of planning. * This value SHALL be the same as specified on the referenced Appointment so that they can be matched, and subsequently updated. */ - participantType?: CodeableConcept[]; + participantType?: CodeableConcept[]|undefined; /** * This may be either the same as the appointment request to confirm the details of the appointment, or alternately a new time to request a re-negotiation of the start time. */ - start?: string; - _start?: Element; + start?: string|undefined; + _start?: Element|undefined; } /** * Code Values for the AppointmentResponse.participantStatus field @@ -4474,13 +4474,13 @@ export interface AuditEventAgentNetwork extends BackboneElement { /** * This could be a device id, IP address or some other identifier associated with a device. */ - address?: string; - _address?: Element; + address?: string|undefined; + _address?: Element|undefined; /** * An identifier for the type of network access point that originated the audit event. */ - type?: string; - _type?: Element; + type?: string|undefined; + _type?: Element|undefined; } /** * Several agents may be associated (i.e. have some responsibility for an activity) with an event or activity. @@ -4490,51 +4490,51 @@ export interface AuditEventAgent extends BackboneElement { /** * Alternative agent Identifier. For a human, this should be a user identifier text string from authentication system. This identifier would be one known to a common authentication system (e.g. single sign-on), if available. */ - altId?: string; - _altId?: Element; + altId?: string|undefined; + _altId?: Element|undefined; /** * Where the event occurred. */ - location?: Reference; + location?: Reference|undefined; /** * Type of media involved. Used when the event is about exporting/importing onto media. */ - media?: Coding; + media?: Coding|undefined; /** * Human-meaningful name for the agent. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Logical network location for application activity, if the activity has a network location. */ - network?: AuditEventAgentNetwork; + network?: AuditEventAgentNetwork|undefined; /** * For example: Where an OAuth token authorizes, the unique identifier from the OAuth token is placed into the policy element Where a policy engine (e.g. XACML) holds policy logic, the unique policy identifier is placed into the policy element. */ - policy?: string[]; - _policy?: Element[]; + policy?: string[]|undefined; + _policy?: Element[]|undefined; /** * Use AuditEvent.agent.purposeOfUse when you know that is specific to the agent, otherwise use AuditEvent.purposeOfEvent. For example, during a machine-to-machine transfer it might not be obvious to the audit system who caused the event, but it does know why. */ - purposeOfUse?: CodeableConcept[]; + purposeOfUse?: CodeableConcept[]|undefined; /** * There can only be one initiator. If the initiator is not clear, then do not choose any one agent as the initiator. */ requestor: boolean; - _requestor?: Element; + _requestor?: Element|undefined; /** * Should be all the relevant roles (Functional and Structural) inclusive of the value in .agent.type. */ - role?: CodeableConcept[]; + role?: CodeableConcept[]|undefined; /** * The most relevant role code for how the agent participated in the activity. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; /** * Where a User ID is available it will go into who.identifier. */ - who?: Reference; + who?: Reference|undefined; } /** * Since multi-tier, distributed, or composite applications make source identification ambiguous, this collection of fields may repeat for each application or process actively involved in the event. For example, multiple value-sets can identify participating web servers, application processes, and database server threads in an n-tier distributed application. Passive event participants (e.g. low-level network transports) need not be identified. @@ -4547,12 +4547,12 @@ export interface AuditEventSource extends BackboneElement { /** * Logical source location within the healthcare enterprise network. For example, a hospital or other provider location within a multi-entity provider group. */ - site?: string; - _site?: Element; + site?: string|undefined; + _site?: Element|undefined; /** * Code specifying the type of source where event originated. */ - type?: Coding[]; + type?: Coding[]|undefined; } /** * Tagged value pairs for conveying additional information about the entity. @@ -4562,17 +4562,17 @@ export interface AuditEventEntityDetail extends BackboneElement { * The type of extra detail provided in the value. */ type: string; - _type?: Element; + _type?: Element|undefined; /** * The value can be string when known to be a string, else base64 encoding should be used to protect binary or undefined content. The meaning and secondary-encoding of the content of base64 encoded blob is specific to the AuditEvent.type, AuditEvent.subtype, AuditEvent.entity.type, and AuditEvent.entity.role. The base64 is a general-use and safe container for event specific data blobs regardless of the encoding used by the transaction being recorded. An AuditEvent consuming application must understand the event it is consuming and the formats used by the event. For example if auditing an Oracle network database access, the Oracle formats must be understood as they will be simply encoded in the base64binary blob. */ - valueString?: string; - _valueString?: Element; + valueString?: string|undefined; + _valueString?: Element|undefined; /** * The value can be string when known to be a string, else base64 encoding should be used to protect binary or undefined content. The meaning and secondary-encoding of the content of base64 encoded blob is specific to the AuditEvent.type, AuditEvent.subtype, AuditEvent.entity.type, and AuditEvent.entity.role. The base64 is a general-use and safe container for event specific data blobs regardless of the encoding used by the transaction being recorded. An AuditEvent consuming application must understand the event it is consuming and the formats used by the event. For example if auditing an Oracle network database access, the Oracle formats must be understood as they will be simply encoded in the base64binary blob. */ - valueBase64Binary?: string; - _valueBase64Binary?: Element; + valueBase64Binary?: string|undefined; + _valueBase64Binary?: Element|undefined; } /** * Required unless the values for event identification, agent identification, and audit source identification are sufficient to document the entire auditable event. Because events may have more than one entity, this group can be a repeating set of values. @@ -4581,37 +4581,37 @@ export interface AuditEventEntity extends BackboneElement { /** * Tagged value pairs for conveying additional information about the entity. */ - detail?: AuditEventEntityDetail[]; + detail?: AuditEventEntityDetail[]|undefined; /** * This can be used to provide an audit trail for data, over time, as it passes through the system. */ - lifecycle?: Coding; + lifecycle?: Coding|undefined; /** * This field may be used in a query/report to identify audit events for a specific person. For example, where multiple synonymous entity identifiers (patient number, medical record number, encounter number, etc.) have been used. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * The meaning and secondary-encoding of the content of base64 encoded blob is specific to the AuditEvent.type, AuditEvent.subtype, AuditEvent.entity.type, and AuditEvent.entity.role. The base64 is a general-use and safe container for event specific data blobs regardless of the encoding used by the transaction being recorded. An AuditEvent consuming application must understand the event it is consuming and the formats used by the event. For example, if auditing an Oracle network database access, the Oracle formats must be understood as they will be simply encoded in the base64binary blob. */ - query?: string; - _query?: Element; + query?: string|undefined; + _query?: Element|undefined; /** * Code representing the role the entity played in the event being audited. */ - role?: Coding; + role?: Coding|undefined; /** * Copied from entity meta security tags. */ - securityLabel?: Coding[]; + securityLabel?: Coding[]|undefined; /** * This value is distinct from the user's role or any user relationship to the entity. */ - type?: Coding; + type?: Coding|undefined; /** * Identifies a specific instance of the entity. The reference should be version specific. */ - what?: Reference; + what?: Reference|undefined; } /** * A record of an event relevant for purposes such as operations, privacy, security, maintenance, and performance analysis. @@ -4622,8 +4622,8 @@ export interface AuditEvent extends DomainResource { /** * Indicator for type of action performed during the event that generated the audit. */ - action?: string; - _action?: Element; + action?: string|undefined; + _action?: Element|undefined; /** * Several agents may be associated (i.e. have some responsibility for an activity) with an event or activity. * For example, an activity may be initiated by one user for other users or involve more than one user. However, only one user may be the initiator/requestor for the activity. @@ -4632,37 +4632,37 @@ export interface AuditEvent extends DomainResource { /** * Allows tracing of authorizatino for the events and tracking whether proposals/recommendations were acted upon. */ - basedOn?: Reference[]; + basedOn?: Reference[]|undefined; /** * This will typically be the encounter the event occurred, but some events may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter (e.g. pre-admission lab tests). */ - encounter?: Reference; + encounter?: Reference|undefined; /** * Required unless the values for event identification, agent identification, and audit source identification are sufficient to document the entire auditable event. Because events may have more than one entity, this group can be a repeating set of values. */ - entity?: AuditEventEntity[]; + entity?: AuditEventEntity[]|undefined; /** * In some cases a "success" may be partial, for example, an incomplete or interrupted transfer of a radiological study. For the purpose of establishing accountability, these distinctions are not relevant. */ - outcome?: CodeableConcept; + outcome?: CodeableConcept|undefined; /** * The period can be a little arbitrary; where possible, the time should correspond to human assessment of the activity time. */ - period?: Period; + period?: Period|undefined; /** * Use AuditEvent.agent.purposeOfUse when you know that it is specific to the agent, otherwise use AuditEvent.purposeOfEvent. For example, during a machine-to-machine transfer it might not be obvious to the audit system who caused the event, but it does know why. */ - purposeOfEvent?: CodeableConcept[]; + purposeOfEvent?: CodeableConcept[]|undefined; /** * In a distributed system, some sort of common time base (e.g. an NTP [RFC1305] server) is a good implementation tactic. */ recorded: string; - _recorded?: Element; + _recorded?: Element|undefined; /** * ATNA will map this to the SYSLOG PRI element. */ - severity?: AuditEventSeverityCodes; - _severity?: Element; + severity?: AuditEventSeverityCodes|undefined; + _severity?: Element|undefined; /** * Since multi-tier, distributed, or composite applications make source identification ambiguous, this collection of fields may repeat for each application or process actively involved in the event. For example, multiple value-sets can identify participating web servers, application processes, and database server threads in an n-tier distributed application. Passive event participants (e.g. low-level network transports) need not be identified. */ @@ -4670,7 +4670,7 @@ export interface AuditEvent extends DomainResource { /** * Identifier for the category of event. */ - subtype?: Coding[]; + subtype?: Coding[]|undefined; /** * Identifier for a family of the event. For example, a menu item, program, rule, policy, function code, application name or URL. It identifies the performed function. */ @@ -4698,7 +4698,7 @@ export interface Basic extends DomainResource { /** * Indicates who was responsible for creating the resource instance. */ - author?: Reference; + author?: Reference|undefined; /** * Because resource references will only be able to indicate 'Basic', the type of reference will need to be specified in a Profile identified as part of the resource. Refer to the resource notes section for information on appropriate terminologies for this code. * This element is labeled as a modifier because it defines the meaning of the resource and cannot be ignored. @@ -4707,16 +4707,16 @@ export interface Basic extends DomainResource { /** * Identifies when the resource was first created. */ - created?: string; - _created?: Element; + created?: string|undefined; + _created?: Element|undefined; /** * Identifier assigned to the resource for business purposes, outside the context of FHIR. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Optional as not all potential resources will have subjects. Resources associated with multiple subjects can handle this via extension. */ - subject?: Reference; + subject?: Reference|undefined; } /** * A resource that represents the data of a single raw artifact as digital content accessible in its native format. A Binary resource can contain any content, whether text, image, pdf, zip archive, etc. @@ -4728,16 +4728,16 @@ export interface Binary extends Resource { * MimeType of the binary content represented as a standard MimeType (BCP 13). */ contentType: string; - _contentType?: Element; + _contentType?: Element|undefined; /** * If the content type is itself base64 encoding, then this will be base64 encoded twice - what is created by un-base64ing the content must be the specified content type. */ - data?: string; - _data?: Element; + data?: string|undefined; + _data?: Element|undefined; /** * Very often, a server will also know of a resource that references the binary, and can automatically apply the appropriate access rules based on that reference. However, there are some circumstances where this is not appropriate, e.g. the binary is uploaded directly to the server without any linking resource, the binary is referred to from multiple different resources, and/or the binary is content such as an application logo that has less protection than any of the resources that reference it. */ - securityContext?: Reference; + securityContext?: Reference|undefined; } /** * How this product was collected. @@ -4746,20 +4746,20 @@ export interface BiologicallyDerivedProductCollection extends BackboneElement { /** * Time of product collection. */ - collectedDateTime?: string; - _collectedDateTime?: Element; + collectedDateTime?: string|undefined; + _collectedDateTime?: Element|undefined; /** * Time of product collection. */ - collectedPeriod?: Period; + collectedPeriod?: Period|undefined; /** * Healthcare professional who is performing the collection. */ - collector?: Reference; + collector?: Reference|undefined; /** * The patient or entity, such as a hospital or vendor in the case of a processed/manipulated/manufactured product, providing the product. */ - source?: Reference; + source?: Reference|undefined; } /** * Any processing of the product during collection that does not change the fundamental nature of the product. For example adding anti-coagulants during the collection of Peripheral Blood Stem Cells. @@ -4768,25 +4768,25 @@ export interface BiologicallyDerivedProductProcessing extends BackboneElement { /** * Substance added during processing. */ - additive?: Reference; + additive?: Reference|undefined; /** * Description of of processing. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Procesing code. */ - procedure?: CodeableConcept; + procedure?: CodeableConcept|undefined; /** * Time of processing. */ - timeDateTime?: string; - _timeDateTime?: Element; + timeDateTime?: string|undefined; + _timeDateTime?: Element|undefined; /** * Time of processing. */ - timePeriod?: Period; + timePeriod?: Period|undefined; } /** * Any manipulation of product post-collection that is intended to alter the product. For example a buffy-coat enrichment or CD8 reduction of Peripheral Blood Stem Cells to make it more suitable for infusion. @@ -4795,17 +4795,17 @@ export interface BiologicallyDerivedProductManipulation extends BackboneElement /** * Description of manipulation. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Time of manipulation. */ - timeDateTime?: string; - _timeDateTime?: Element; + timeDateTime?: string|undefined; + _timeDateTime?: Element|undefined; /** * Time of manipulation. */ - timePeriod?: Period; + timePeriod?: Period|undefined; } /** * Product storage. @@ -4814,21 +4814,21 @@ export interface BiologicallyDerivedProductStorage extends BackboneElement { /** * Description of storage. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Storage timeperiod. */ - duration?: Period; + duration?: Period|undefined; /** * Temperature scale used. */ - scale?: BiologicallyDerivedProductStorageScaleCodes; - _scale?: Element; + scale?: BiologicallyDerivedProductStorageScaleCodes|undefined; + _scale?: Element|undefined; /** * Storage temperature. */ - temperature?: number; + temperature?: number|undefined; } /** * Code Values for the BiologicallyDerivedProduct.storage.scale field @@ -4848,49 +4848,49 @@ export interface BiologicallyDerivedProduct extends DomainResource { /** * How this product was collected. */ - collection?: BiologicallyDerivedProductCollection; + collection?: BiologicallyDerivedProductCollection|undefined; /** * This records identifiers associated with this biologically derived product instance that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation). */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Any manipulation of product post-collection that is intended to alter the product. For example a buffy-coat enrichment or CD8 reduction of Peripheral Blood Stem Cells to make it more suitable for infusion. */ - manipulation?: BiologicallyDerivedProductManipulation; + manipulation?: BiologicallyDerivedProductManipulation|undefined; /** * For products that have multiple collections. For example Peripheral Blood Stem Cells may be collected over several days from a single donor and the donation split into in multiple containers which must be linked to the parent donation. */ - parent?: Reference[]; + parent?: Reference[]|undefined; /** * Any processing of the product during collection that does not change the fundamental nature of the product. For example adding anti-coagulants during the collection of Peripheral Blood Stem Cells. */ - processing?: BiologicallyDerivedProductProcessing[]; + processing?: BiologicallyDerivedProductProcessing[]|undefined; /** * Broad category of this product. */ - productCategory?: BiologicallyDerivedProductProductCategoryCodes; - _productCategory?: Element; + productCategory?: BiologicallyDerivedProductProductCategoryCodes|undefined; + _productCategory?: Element|undefined; /** * A code that identifies the kind of this biologically derived product (SNOMED Ctcode). */ - productCode?: CodeableConcept; + productCode?: CodeableConcept|undefined; /** * Number of discrete units within this product. */ - quantity?: number; + quantity?: number|undefined; /** * Procedure request to obtain this biologically derived product. */ - request?: Reference[]; + request?: Reference[]|undefined; /** * Whether the product is currently available. */ - status?: BiologicallyDerivedProductStatusCodes; - _status?: Element; + status?: BiologicallyDerivedProductStatusCodes|undefined; + _status?: Element|undefined; /** * Product storage. */ - storage?: BiologicallyDerivedProductStorage[]; + storage?: BiologicallyDerivedProductStorage[]|undefined; } /** * Code Values for the BiologicallyDerivedProduct.productCategory field @@ -4918,33 +4918,33 @@ export interface BodyStructure extends DomainResource { /** * This element is labeled as a modifier because it may be used to mark that the resource was created in error. */ - active?: boolean; - _active?: Element; + active?: boolean|undefined; + _active?: Element|undefined; /** * This description could include any visual markings used to orientate the viewer e.g. external reference points, special sutures, ink markings. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Identifier for this instance of the anatomical structure. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Image or images used to identify a location. */ - image?: Attachment[]; + image?: Attachment[]|undefined; /** * The anatomical location or region of the specimen, lesion, or body structure. */ - location?: CodeableConcept; + location?: CodeableConcept|undefined; /** * Qualifier to refine the anatomical location. These include qualifiers for laterality, relative location, directionality, number, and plane. */ - locationQualifier?: CodeableConcept[]; + locationQualifier?: CodeableConcept[]|undefined; /** * The minimum cardinality of 0 supports the use case of specifying a location without defining a morphology. */ - morphology?: CodeableConcept; + morphology?: CodeableConcept|undefined; /** * The person to which the body site belongs. */ @@ -4960,12 +4960,12 @@ export interface BundleLink extends BackboneElement { * A name which details the functional use for this link - see [http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1](http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1). */ relation: string; - _relation?: Element; + _relation?: Element|undefined; /** * The reference details for the link. */ url: string; - _url?: Element; + _url?: Element|undefined; } /** * Information about the search process that lead to the creation of this entry. @@ -4974,13 +4974,13 @@ export interface BundleEntrySearch extends BackboneElement { /** * There is only one mode. In some corner cases, a resource may be included because it is both a match and an include. In these circumstances, 'match' takes precedence. */ - mode?: BundleEntrySearchModeCodes; - _mode?: Element; + mode?: BundleEntrySearchModeCodes|undefined; + _mode?: Element|undefined; /** * Servers are not required to return a ranking score. 1 is most relevant, and 0 is least relevant. Often, search results are sorted by score, but the client may specify a different sort order. * See [Patient Match](patient-operation-match.html) for the EMPI search which relates to this element. */ - score?: number; + score?: number|undefined; } /** * Code Values for the Bundle.entry.search.mode field @@ -4997,33 +4997,33 @@ export interface BundleEntryRequest extends BackboneElement { /** * Only perform the operation if the Etag value matches. For more information, see the API section ["Managing Resource Contention"](http.html#concurrency). */ - ifMatch?: string; - _ifMatch?: Element; + ifMatch?: string|undefined; + _ifMatch?: Element|undefined; /** * Only perform the operation if the last updated date matches. See the API documentation for ["Conditional Read"](http.html#cread). */ - ifModifiedSince?: string; - _ifModifiedSince?: Element; + ifModifiedSince?: string|undefined; + _ifModifiedSince?: Element|undefined; /** * Instruct the server not to perform the create if a specified resource already exists. For further information, see the API documentation for ["Conditional Create"](http.html#ccreate). This is just the query portion of the URL - what follows the "?" (not including the "?"). */ - ifNoneExist?: string; - _ifNoneExist?: Element; + ifNoneExist?: string|undefined; + _ifNoneExist?: Element|undefined; /** * If the ETag values match, return a 304 Not Modified status. See the API documentation for ["Conditional Read"](http.html#cread). */ - ifNoneMatch?: string; - _ifNoneMatch?: Element; + ifNoneMatch?: string|undefined; + _ifNoneMatch?: Element|undefined; /** * In a transaction or batch, this is the HTTP action to be executed for this entry. In a history bundle, this indicates the HTTP action that occurred. */ method: BundleEntryRequestMethodCodes; - _method?: Element; + _method?: Element|undefined; /** * E.g. for a Patient Create, the method would be "POST" and the URL would be "Patient". For a Patient Update, the method would be PUT and the URL would be "Patient/[id]". */ url: string; - _url?: Element; + _url?: Element|undefined; } /** * Code Values for the Bundle.entry.request.method field @@ -5043,28 +5043,28 @@ export interface BundleEntryResponse extends BackboneElement { /** * Etags match the Resource.meta.versionId. The ETag has to match the version id in the header if a resource is included. */ - etag?: string; - _etag?: Element; + etag?: string|undefined; + _etag?: Element|undefined; /** * This has to match the same time in the meta header (meta.lastUpdated) if a resource is included. */ - lastModified?: string; - _lastModified?: Element; + lastModified?: string|undefined; + _lastModified?: Element|undefined; /** * The location header created by processing this operation, populated if the operation returns a location. */ - location?: string; - _location?: Element; + location?: string|undefined; + _location?: Element|undefined; /** * For a POST/PUT operation, this is the equivalent outcome that would be returned for prefer = operationoutcome - except that the resource is always returned whether or not the outcome is returned. * This outcome is not used for error responses in batch/transaction, only for hints and warnings. In a batch operation, the error will be in Bundle.entry.response, and for transaction, there will be a single OperationOutcome instead of a bundle in the case of an error. */ - outcome?: FhirResource; + outcome?: FhirResource|undefined; /** * The status code returned by processing this entry. The status SHALL start with a 3 digit HTTP code (e.g. 404) and may contain the standard HTTP description associated with the status code. */ status: string; - _status?: Element; + _status?: Element|undefined; } /** * An entry in a bundle resource - will either contain a resource or information about a resource (transactions and history only). @@ -5074,28 +5074,28 @@ export interface BundleEntry extends BackboneE * fullUrl might not be [unique in the context of a resource](bundle.html#bundle-unique). Note that since [FHIR resources do not need to be served through the FHIR API](references.html), the fullURL might be a URN or an absolute URL that does not end with the logical id of the resource (Resource.id). However, but if the fullUrl does look like a RESTful server URL (e.g. meets the [regex](references.html#regex), then the 'id' portion of the fullUrl SHALL end with the Resource.id. * Note that the fullUrl is not the same as the canonical URL - it's an absolute url for an endpoint serving the resource (these will happen to have the same value on the canonical server for the resource with the canonical URL). */ - fullUrl?: string; - _fullUrl?: Element; + fullUrl?: string|undefined; + _fullUrl?: Element|undefined; /** * A series of links that provide context to this entry. */ - link?: BundleLink[]; + link?: BundleLink[]|undefined; /** * Additional information about how this entry should be processed as part of a transaction or batch. For history, it shows how the entry was processed to create the version contained in the entry. */ - request?: BundleEntryRequest; + request?: BundleEntryRequest|undefined; /** * The Resource for the entry. The purpose/meaning of the resource is determined by the Bundle.type. */ - resource?: BundleContentType; + resource?: BundleContentType|undefined; /** * Indicates the results of processing the corresponding 'request' entry in the batch or transaction being responded to or what the results of an operation where when returning history. */ - response?: BundleEntryResponse; + response?: BundleEntryResponse|undefined; /** * Information about the search process that lead to the creation of this entry. */ - search?: BundleEntrySearch; + search?: BundleEntrySearch|undefined; } /** * A container for a collection of resources. @@ -5106,21 +5106,21 @@ export interface Bundle extends Resource { /** * An entry in a bundle resource - will either contain a resource or information about a resource (transactions and history only). */ - entry?: BundleEntry[]; + entry?: BundleEntry[]|undefined; /** * Persistent identity generally only matters for batches of type Document, Message, and Collection. It would not normally be populated for search and history results and servers ignore Bundle.identifier when processing batches and transactions. For Documents the .identifier SHALL be populated such that the .identifier is globally unique. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * Both Bundle.link and Bundle.entry.link are defined to support providing additional context when Bundles are used (e.g. [HATEOAS](http://en.wikipedia.org/wiki/HATEOAS)). * Bundle.entry.link corresponds to links found in the HTTP header if the resource in the entry was [read](http.html#read) directly. * This specification defines some specific uses of Bundle.link for [searching](search.html#conformance) and [paging](http.html#paging), but no specific uses for Bundle.entry.link, and no defined function in a transaction - the meaning is implementation specific. */ - link?: BundleLink[]; + link?: BundleLink[]|undefined; /** * The signature could be created by the "author" of the bundle or by the originating device. Requirements around inclusion of a signature, verification of signatures and treatment of signed/non-signed bundles is implementation-environment specific. */ - signature?: Signature; + signature?: Signature|undefined; /** * For many bundles, the timestamp is equal to .meta.lastUpdated, because they are not stored (e.g. search results). When a bundle is placed in a persistent store, .meta.lastUpdated will be usually be changed by the server. When the bundle is a message, a middleware agent altering the message (even if not stored) SHOULD update .meta.lastUpdated. .timestamp is used to track the original time of the Bundle, and SHOULD be populated. * Usage: @@ -5131,17 +5131,17 @@ export interface Bundle extends Resource { * * transaction | transaction-response | batch | batch-response | collection : no particular assigned meaning * The timestamp value should be greater than the lastUpdated and other timestamps in the resources in the bundle, and it should be equal or earlier than the .meta.lastUpdated on the Bundle itself. */ - timestamp?: string; - _timestamp?: Element; + timestamp?: string|undefined; + _timestamp?: Element|undefined; /** * Only used if the bundle is a search result set. The total does not include resources such as OperationOutcome and included resources, only the total number of matching resources. */ - total?: number; + total?: number|undefined; /** * It's possible to use a bundle for other purposes (e.g. a document can be accepted as a transaction). This is primarily defined so that there can be specific rules for some of the bundle types. */ type: BundleTypeCodes; - _type?: Element; + _type?: Element|undefined; } /** * Code Values for the Bundle.type field @@ -5167,76 +5167,76 @@ export interface CanonicalResource extends DomainResource { /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * A copyright statement relating to the {{title}} and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the {{title}}. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the {{title}}. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * This description can be used to capture details such as why the {{title}} was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the {{title}} as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the {{title}} is presumed to be the predominant language in the place the {{title}} was created). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Allows filtering of {{title}}s that are appropriate for use versus not. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this {{title}} outside of FHIR, where it is not possible to use the logical URI. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * It may be possible for the {{title}} to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Usually an organization but may be an individual. The publisher (or steward) of the {{title}} is the organization or individual primarily responsible for the maintenance and upkeep of the {{title}}. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the {{title}}. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * This element does not describe the usage of the {{title}}. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this {{title}}. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * Allows filtering of {{title}}s that are appropriate for use versus not. */ status: CanonicalResourceStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different {{title}} instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the {{title}} with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the CanonicalResource.status field @@ -5255,17 +5255,17 @@ export interface CapabilityStatementSoftware extends BackboneElement { * Name the software is known by. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * Date this version of the software was released. */ - releaseDate?: string; - _releaseDate?: Element; + releaseDate?: string|undefined; + _releaseDate?: Element|undefined; /** * If possible, a version should be specified, as statements are likely to be different for different versions of software. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Identifies a specific implementation instance that is described by the capability statement - i.e. a particular installation, rather than the capabilities of a software program. @@ -5274,17 +5274,17 @@ export interface CapabilityStatementImplementation extends BackboneElement { /** * The organization responsible for the management of the instance and oversight of the data on the server at the specified URL. */ - custodian?: Reference; + custodian?: Reference|undefined; /** * Information about the specific installation that this capability statement relates to. */ description: string; - _description?: Element; + _description?: Element|undefined; /** * An absolute base URL for the implementation. This forms the base for REST interfaces as well as the mailbox and document interfaces. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; } /** * Information about security implementation from an interface perspective - what a client needs to know. @@ -5293,17 +5293,17 @@ export interface CapabilityStatementRestSecurity extends BackboneElement { /** * The easiest CORS headers to add are Access-Control-Allow-Origin: * & Access-Control-Request-Method: GET, POST, PUT, DELETE. All servers SHOULD support CORS. */ - cors?: boolean; - _cors?: Element; + cors?: boolean|undefined; + _cors?: Element|undefined; /** * General description of how security works. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Types of security services that are supported/required by the system. */ - service?: CodeableConcept[]; + service?: CodeableConcept[]|undefined; } /** * In general, a Resource will only appear in a CapabilityStatement if the server actually has some capabilities - e.g. there is at least one interaction supported. However interactions can be omitted to support summarization (_summary = true). @@ -5313,12 +5313,12 @@ export interface CapabilityStatementRestResourceInteraction extends BackboneElem * Coded identifier of the operation, supported by the system resource. */ code: CapabilityStatementRestResourceInteractionCodeCodes; - _code?: Element; + _code?: Element|undefined; /** * Guidance specific to the implementation of this operation, such as 'delete is a logical delete' or 'updates are only allowed with version id' or 'creates permitted from pre-authorized certificates only'. */ - documentation?: string; - _documentation?: Element; + documentation?: string|undefined; + _documentation?: Element|undefined; } /** * Code Values for the CapabilityStatement.rest.resource.interaction.code field @@ -5341,23 +5341,23 @@ export interface CapabilityStatementRestResourceSearchParam extends BackboneElem /** * This SHOULD be present, and matches refers to a SearchParameter by its canonical URL. If systems wish to document their support for modifiers, comparators, target resource types, and chained parameters, they should do using a search parameter resource. This element SHALL be populated if the search parameter refers to a SearchParameter defined by the FHIR core specification or externally defined IGs. */ - definition?: string; - _definition?: Element; + definition?: string|undefined; + _definition?: Element|undefined; /** * This allows documentation of any distinct behaviors about how the search parameter is used. For example, text matching algorithms. */ - documentation?: string; - _documentation?: Element; + documentation?: string|undefined; + _documentation?: Element|undefined; /** * Parameter names cannot overlap with standard parameter names, and standard parameters cannot be redefined. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * While this can be looked up from the definition, it is included here as a convenience for systems that autogenerate a query interface based on the server capability statement. It SHALL be the same as the type in the search parameter definition. */ type: CapabilityStatementRestResourceSearchParamTypeCodes; - _type?: Element; + _type?: Element|undefined; } /** * Code Values for the CapabilityStatement.rest.resource.searchParam.type field @@ -5382,17 +5382,17 @@ export interface CapabilityStatementRestResourceOperation extends BackboneElemen * This can be used to build an HTML form to invoke the operation, for instance. */ definition: string; - _definition?: Element; + _definition?: Element|undefined; /** * Documentation that describes anything special about the operation behavior, possibly detailing different behavior for system, type and instance-level invocation of the operation. */ - documentation?: string; - _documentation?: Element; + documentation?: string|undefined; + _documentation?: Element|undefined; /** * The name here SHOULD be the same as the name in the definition, unless there is a name clash and the name cannot be used. The name does not include the "$" portion that is always included in the URL. */ name: string; - _name?: Element; + _name?: Element|undefined; } /** * Max of one repetition per resource type. @@ -5401,86 +5401,86 @@ export interface CapabilityStatementRestResource extends BackboneElement { /** * Conditional Create is mainly appropriate for interface engine scripts converting from other formats, such as v2. */ - conditionalCreate?: boolean; - _conditionalCreate?: Element; + conditionalCreate?: boolean|undefined; + _conditionalCreate?: Element|undefined; /** * Conditional Delete is mainly appropriate for interface engine scripts converting from other formats, such as v2. */ - conditionalDelete?: CapabilityStatementRestResourceConditionalDeleteCodes; - _conditionalDelete?: Element; + conditionalDelete?: CapabilityStatementRestResourceConditionalDeleteCodes|undefined; + _conditionalDelete?: Element|undefined; /** * Conditional Read is mainly appropriate for interface engine scripts converting from other formats, such as v2. */ - conditionalRead?: CapabilityStatementRestResourceConditionalReadCodes; - _conditionalRead?: Element; + conditionalRead?: CapabilityStatementRestResourceConditionalReadCodes|undefined; + _conditionalRead?: Element|undefined; /** * Conditional Update is mainly appropriate for interface engine scripts converting from other formats, such as v2. */ - conditionalUpdate?: boolean; - _conditionalUpdate?: Element; + conditionalUpdate?: boolean|undefined; + _conditionalUpdate?: Element|undefined; /** * Additional information about the resource type used by the system. */ - documentation?: string; - _documentation?: Element; + documentation?: string|undefined; + _documentation?: Element|undefined; /** * In general, a Resource will only appear in a CapabilityStatement if the server actually has some capabilities - e.g. there is at least one interaction supported. However interactions can be omitted to support summarization (_summary = true). */ - interaction?: CapabilityStatementRestResourceInteraction[]; + interaction?: CapabilityStatementRestResourceInteraction[]|undefined; /** * Operations linked from CapabilityStatement.rest.resource.operation must have OperationDefinition.type = true or OperationDefinition.instance = true. * If an operation that is listed in multiple CapabilityStatement.rest.resource.operation (e.g. for different resource types), then clients should understand that the operation is only supported on the specified resource types, and that may be a subset of those listed in OperationDefinition.resource. */ - operation?: CapabilityStatementRestResourceOperation[]; + operation?: CapabilityStatementRestResourceOperation[]|undefined; /** * The profile applies to all resources of this type - i.e. it is the superset of what is supported by the system. */ - profile?: string; - _profile?: Element; + profile?: string|undefined; + _profile?: Element|undefined; /** * It is useful to support the vRead operation for current operations, even if past versions aren't available. */ - readHistory?: boolean; - _readHistory?: Element; + readHistory?: boolean|undefined; + _readHistory?: Element|undefined; /** * A set of flags that defines how references are supported. */ - referencePolicy?: CapabilityStatementRestResourceReferencePolicyCodes[]; - _referencePolicy?: Element[]; + referencePolicy?: CapabilityStatementRestResourceReferencePolicyCodes[]|undefined; + _referencePolicy?: Element[]|undefined; /** * If this list is empty, the server does not support includes. */ - searchInclude?: string[]; - _searchInclude?: Element[]; + searchInclude?: string[]|undefined; + _searchInclude?: Element[]|undefined; /** * The search parameters should include the control search parameters such as _sort, _count, etc. that also apply to this resource (though many will be listed at [CapabilityStatement.rest.searchParam](capabilitystatement-definitions.html#CapabilityStatement.rest.searchParam)). The behavior of some search parameters may be further described by other code or extension elements, or narrative within the capability statement or linked [SearchParameter](searchparameter.html#) definitions. */ - searchParam?: CapabilityStatementRestResourceSearchParam[]; + searchParam?: CapabilityStatementRestResourceSearchParam[]|undefined; /** * If this list is empty, the server does not support reverse includes. */ - searchRevInclude?: string[]; - _searchRevInclude?: Element[]; + searchRevInclude?: string[]|undefined; + _searchRevInclude?: Element[]|undefined; /** * Supported profiles are different than the profile that applies to a particular resource in .rest.resource.profile. The resource profile is a general statement of what features of the resource are supported overall by the system - the sum total of the facilities it supports. A supported profile is a deeper statement about the functionality of the data and services provided by the server (or used by the client). A typical case is a laboratory system that produces a set of different reports - this is the list of types of data that it publishes. A key aspect of declaring profiles here is the question of how the client converts knowledge that the server publishes this data into working with the data; the client can inspect individual resources to determine whether they conform to a particular profile, but how does it find the ones that do? It does so by searching using the _profile parameter, so any resources listed here must be valid values for the _profile resource (using the identifier in the target profile). */ - supportedProfile?: string[]; - _supportedProfile?: Element[]; + supportedProfile?: string[]|undefined; + _supportedProfile?: Element[]|undefined; /** * A type of resource exposed via the restful interface. */ type: string; - _type?: Element; + _type?: Element|undefined; /** * Allowing the clients to create new identities on the server means that the system administrator needs to have confidence that the clients do not create clashing identities between them. Obviously, if there is only one client, this won't happen. While creating identities on the client means that the clients need to be managed, it's much more convenient for many scenarios if such management can be put in place. */ - updateCreate?: boolean; - _updateCreate?: Element; + updateCreate?: boolean|undefined; + _updateCreate?: Element|undefined; /** * If a server supports versionIds correctly, it SHOULD support vread too, but is not required to do so. */ - versioning?: CapabilityStatementRestResourceVersioningCodes; - _versioning?: Element; + versioning?: CapabilityStatementRestResourceVersioningCodes|undefined; + _versioning?: Element|undefined; } /** * Code Values for the CapabilityStatement.rest.resource.conditionalDelete field @@ -5525,12 +5525,12 @@ export interface CapabilityStatementRestInteraction extends BackboneElement { * A coded identifier of the operation, supported by the system. */ code: CapabilityStatementRestInteractionCodeCodes; - _code?: Element; + _code?: Element|undefined; /** * Guidance specific to the implementation of this operation, such as limitations on the kind of transactions allowed, or information about system wide search is implemented. */ - documentation?: string; - _documentation?: Element; + documentation?: string|undefined; + _documentation?: Element|undefined; } /** * Code Values for the CapabilityStatement.rest.interaction.code field @@ -5548,38 +5548,38 @@ export interface CapabilityStatementRest extends BackboneElement { /** * At present, the only defined compartments are at [CompartmentDefinition](compartmentdefinition.html). */ - compartment?: string[]; - _compartment?: Element[]; + compartment?: string[]|undefined; + _compartment?: Element[]|undefined; /** * Information about the system's restful capabilities that apply across all applications, such as security. */ - documentation?: string; - _documentation?: Element; + documentation?: string|undefined; + _documentation?: Element|undefined; /** * A specification of restful operations supported by the system. */ - interaction?: CapabilityStatementRestInteraction[]; + interaction?: CapabilityStatementRestInteraction[]|undefined; /** * Identifies whether this portion of the statement is describing the ability to initiate or receive restful operations. */ mode: CapabilityStatementRestModeCodes; - _mode?: Element; + _mode?: Element|undefined; /** * CapabilityStatement.rest.operation is for operations invoked at the system level, or for operations that are supported across multiple resource types. Operations linked from CapabilityStatement.rest.operation must have OperationDefinition.system = true, or more than one Operation.resource. */ - operation?: CapabilityStatementRestResourceOperation[]; + operation?: CapabilityStatementRestResourceOperation[]|undefined; /** * Max of one repetition per resource type. */ - resource?: CapabilityStatementRestResource[]; + resource?: CapabilityStatementRestResource[]|undefined; /** * Typically, the only search parameters supported for all searches are those that apply to all resources - tags, profiles, text search etc. These search parameters should include the control search parameters such as _sort, _count, etc. that also apply to this resource (though many will be listed at [CapabilityStatement.rest.searchParam](capabilitystatement-definitions.html#CapabilityStatement.rest.searchParam)). The behavior of some search parameters may be further described by other code or extension elements, or narrative within the capability statement or linked [SearchParameter](searchparameter.html#) definitions. */ - searchParam?: CapabilityStatementRestResourceSearchParam[]; + searchParam?: CapabilityStatementRestResourceSearchParam[]|undefined; /** * Information about security implementation from an interface perspective - what a client needs to know. */ - security?: CapabilityStatementRestSecurity; + security?: CapabilityStatementRestSecurity|undefined; } /** * Code Values for the CapabilityStatement.rest.mode field @@ -5596,7 +5596,7 @@ export interface CapabilityStatementMessagingEndpoint extends BackboneElement { * The network address of the endpoint. For solutions that do not use network addresses for routing, it can be just an identifier. */ address: string; - _address?: Element; + _address?: Element|undefined; /** * A list of the messaging transport protocol(s) identifiers, supported by this endpoint. */ @@ -5610,12 +5610,12 @@ export interface CapabilityStatementMessagingSupportedMessage extends BackboneEl * Points to a message definition that identifies the messaging event, message structure, allowed responses, etc. */ definition: string; - _definition?: Element; + _definition?: Element|undefined; /** * The mode of this event declaration - whether application is sender or receiver. */ mode: CapabilityStatementMessagingSupportedMessageModeCodes; - _mode?: Element; + _mode?: Element|undefined; } /** * Code Values for the CapabilityStatement.messaging.supportedMessage.mode field @@ -5631,20 +5631,20 @@ export interface CapabilityStatementMessaging extends BackboneElement { /** * Documentation about the system's messaging capabilities for this endpoint not otherwise documented by the capability statement. For example, the process for becoming an authorized messaging exchange partner. */ - documentation?: string; - _documentation?: Element; + documentation?: string|undefined; + _documentation?: Element|undefined; /** * An endpoint (network accessible address) to which messages and/or replies are to be sent. */ - endpoint?: CapabilityStatementMessagingEndpoint[]; + endpoint?: CapabilityStatementMessagingEndpoint[]|undefined; /** * If this value is missing then the application does not implement (receiver) or depend on (sender) reliable messaging. */ - reliableCache?: number; + reliableCache?: number|undefined; /** * This is a proposed alternative to the messaging.event structure. */ - supportedMessage?: CapabilityStatementMessagingSupportedMessage[]; + supportedMessage?: CapabilityStatementMessagingSupportedMessage[]|undefined; } /** * A document definition. @@ -5653,18 +5653,18 @@ export interface CapabilityStatementDocument extends BackboneElement { /** * A description of how the application supports or uses the specified document profile. For example, when documents are created, what action is taken with consumed documents, etc. */ - documentation?: string; - _documentation?: Element; + documentation?: string|undefined; + _documentation?: Element|undefined; /** * Mode of this document declaration - whether an application is a producer or consumer. */ mode: CapabilityStatementDocumentModeCodes; - _mode?: Element; + _mode?: Element|undefined; /** * The profile is actually on the Bundle. */ profile: string; - _profile?: Element; + _profile?: Element|undefined; } /** * Code Values for the CapabilityStatement.document.mode field @@ -5682,129 +5682,129 @@ export interface CapabilityStatement extends DomainResource { /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * A copyright statement relating to the capability statement and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the capability statement. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the capability statement. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ date: string; - _date?: Element; + _date?: Element|undefined; /** * This description can be used to capture details such as why the capability statement was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the capability statement as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the capability statement is presumed to be the predominant language in the place the capability statement was created).This does not need to be populated if the description is adequately implied by the software or implementation details. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * A document definition. */ - document?: CapabilityStatementDocument[]; + document?: CapabilityStatementDocument[]|undefined; /** * Allows filtering of capability statements that are appropriate for use versus not. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * Servers may implement multiple versions (see [Managing Multiple Versions](versioning.html), and the [$versions](capabilitystatement-operation-versions.html) operation). If they do, and the CapabilityStatement is requested from the server, then this fhirVersion will be either the version requested, or the server's default version. */ fhirVersion: string; - _fhirVersion?: Element; + _fhirVersion?: Element|undefined; /** * "xml", "json" and "ttl" are allowed, which describe the simple encodings described in the specification (and imply appropriate bundle support). Otherwise, mime types are legal here. */ format: string[]; - _format?: Element[]; + _format?: Element[]|undefined; /** * Identifies a specific implementation instance that is described by the capability statement - i.e. a particular installation, rather than the capabilities of a software program. */ - implementation?: CapabilityStatementImplementation; + implementation?: CapabilityStatementImplementation|undefined; /** * A list of implementation guides that the server does (or should) support in their entirety. */ - implementationGuide?: string[]; - _implementationGuide?: Element[]; + implementationGuide?: string[]|undefined; + _implementationGuide?: Element[]|undefined; /** * the contents of any directly or indirectly imported CapabilityStatements SHALL NOT overlap, i.e. they cannot refer to the same rest/resource, operations/name, searchparam/name, interaction/code, messaging/endpoint, document/mode pair. * A capability statement that imports another CapabilityStatement automatically instantiates it too (though this is often not a very useful statement for the kinds of CapabilityStatements that are suitable for importing). */ - imports?: string[]; - _imports?: Element[]; + imports?: string[]|undefined; + _imports?: Element[]|undefined; /** * HL7 defines the following Services: [Terminology Service](terminology-service.html). * Many [Implementation Guides](http://fhir.org/guides/registry) define additional services. */ - instantiates?: string[]; - _instantiates?: Element[]; + instantiates?: string[]|undefined; + _instantiates?: Element[]|undefined; /** * It may be possible for the capability statement to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * The way that this statement is intended to be used, to describe an actual running instance of software, a particular product (kind, not instance of software) or a class of implementation (e.g. a desired purchase). */ kind: CapabilityStatementKindCodes; - _kind?: Element; + _kind?: Element|undefined; /** * Multiple repetitions allow the documentation of multiple endpoints per solution. */ - messaging?: CapabilityStatementMessaging[]; + messaging?: CapabilityStatementMessaging[]|undefined; /** * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * At present, the patch mime types application/json-patch+json and application/xml-patch+xml are legal. Generally, if a server supports PATCH, it would be expected to support the patch formats and match the formats it supports, but this is not always possible or necessary. */ - patchFormat?: string[]; - _patchFormat?: Element[]; + patchFormat?: string[]|undefined; + _patchFormat?: Element[]|undefined; /** * Usually an organization but may be an individual. The publisher (or steward) of the capability statement is the organization or individual primarily responsible for the maintenance and upkeep of the capability statement. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the capability statement. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * This element does not describe the usage of the capability statement. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this capability statement. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * Multiple repetitions allow definition of both client and/or server behaviors or possibly behaviors under different configuration settings (for software or requirements statements). */ - rest?: CapabilityStatementRest[]; + rest?: CapabilityStatementRest[]|undefined; /** * Software that is covered by this capability statement. It is used when the capability statement describes the capabilities of a particular software version, independent of an installation. */ - software?: CapabilityStatementSoftware; + software?: CapabilityStatementSoftware|undefined; /** * Allows filtering of capability statements that are appropriate for use versus not.This is not intended for use with actual capability statements, but where capability statements are used to describe possible or desired systems. */ status: CapabilityStatementStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different capability statement instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the capability statement with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the CapabilityStatement.format field @@ -5840,17 +5840,17 @@ export interface CapabilityStatement2Software extends BackboneElement { * Name the software is known by. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * Date this version of the software was released. */ - releaseDate?: string; - _releaseDate?: Element; + releaseDate?: string|undefined; + _releaseDate?: Element|undefined; /** * If possible, a version should be specified, as statements are likely to be different for different versions of software. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Identifies a specific implementation instance that is described by the capability statement - i.e. a particular installation, rather than the capabilities of a software program. @@ -5859,17 +5859,17 @@ export interface CapabilityStatement2Implementation extends BackboneElement { /** * The organization responsible for the management of the instance and oversight of the data on the server at the specified URL. */ - custodian?: Reference; + custodian?: Reference|undefined; /** * Information about the specific installation that this capability statement relates to. */ description: string; - _description?: Element; + _description?: Element|undefined; /** * An absolute base URL for the implementation. This forms the base for REST interfaces as well as the mailbox and document interfaces. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; } /** * A statement that affirms support for a feature. @@ -5879,12 +5879,12 @@ export interface CapabilityStatement2RestFeature extends BackboneElement { * A code that describes the feature being reported on. */ code: string; - _code?: Element; + _code?: Element|undefined; /** * A value for the feature - maybe true, false, or one of the set of codes allowed in the definition of the feature code. */ value: string; - _value?: Element; + _value?: Element|undefined; } /** * In general, a Resource will only appear in a CapabilityStatement2 if the server actually has some capabilities - e.g. there is at least one interaction supported. However interactions can be omitted to support summarization (_summary = true). @@ -5894,16 +5894,16 @@ export interface CapabilityStatement2RestResourceInteraction extends BackboneEle * Coded identifier of the operation, supported by the system resource. */ code: CapabilityStatement2RestResourceInteractionCodeCodes; - _code?: Element; + _code?: Element|undefined; /** * Guidance specific to the implementation of this operation, such as 'delete is a logical delete' or 'updates are only allowed with version id' or 'creates permitted from pre-authorized certificates only'. */ - documentation?: string; - _documentation?: Element; + documentation?: string|undefined; + _documentation?: Element|undefined; /** * A statement that affirms support for a feature, in this context. */ - feature?: CapabilityStatement2RestFeature[]; + feature?: CapabilityStatement2RestFeature[]|undefined; } /** * Code Values for the CapabilityStatement2.rest.resource.interaction.code field @@ -5926,27 +5926,27 @@ export interface CapabilityStatement2RestResourceSearchParam extends BackboneEle /** * This SHOULD be present, and matches refers to a SearchParameter by its canonical URL. If systems wish to document their support for modifiers, comparators, target resource types, and chained parameters, they should do using a search parameter resource. This element SHALL be populated if the search parameter refers to a SearchParameter defined by the FHIR core specification or externally defined IGs. */ - definition?: string; - _definition?: Element; + definition?: string|undefined; + _definition?: Element|undefined; /** * This allows documentation of any distinct behaviors about how the search parameter is used. For example, text matching algorithms. */ - documentation?: string; - _documentation?: Element; + documentation?: string|undefined; + _documentation?: Element|undefined; /** * A statement that affirms support for a feature, in this context. */ - feature?: CapabilityStatement2RestFeature[]; + feature?: CapabilityStatement2RestFeature[]|undefined; /** * Parameter names cannot overlap with standard parameter names, and standard parameters cannot be redefined. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * While this can be looked up from the definition, it is included here as a convenience for systems that autogenerate a query interface based on the server capability statement. It SHALL be the same as the type in the search parameter definition. */ type: CapabilityStatement2RestResourceSearchParamTypeCodes; - _type?: Element; + _type?: Element|undefined; } /** * Code Values for the CapabilityStatement2.rest.resource.searchParam.type field @@ -5971,21 +5971,21 @@ export interface CapabilityStatement2RestResourceOperation extends BackboneEleme * This can be used to build an HTML form to invoke the operation, for instance. */ definition: string; - _definition?: Element; + _definition?: Element|undefined; /** * Documentation that describes anything special about the operation behavior, possibly detailing different behavior for system, type and instance-level invocation of the operation. */ - documentation?: string; - _documentation?: Element; + documentation?: string|undefined; + _documentation?: Element|undefined; /** * A statement that affirms support for a feature, in this context. */ - feature?: CapabilityStatement2RestFeature[]; + feature?: CapabilityStatement2RestFeature[]|undefined; /** * The name here SHOULD be the same as the name in the definition, unless there is a name clash and the name cannot be used. The name does not include the "$" portion that is always included in the URL. */ name: string; - _name?: Element; + _name?: Element|undefined; } /** * Max of one repetition per resource type. @@ -5994,40 +5994,40 @@ export interface CapabilityStatement2RestResource extends BackboneElement { /** * Additional information about the resource type used by the system. */ - documentation?: string; - _documentation?: Element; + documentation?: string|undefined; + _documentation?: Element|undefined; /** * A statement that affirms support for a feature, in this context. */ - feature?: CapabilityStatement2RestFeature[]; + feature?: CapabilityStatement2RestFeature[]|undefined; /** * In general, a Resource will only appear in a CapabilityStatement2 if the server actually has some capabilities - e.g. there is at least one interaction supported. However interactions can be omitted to support summarization (_summary = true). */ - interaction?: CapabilityStatement2RestResourceInteraction[]; + interaction?: CapabilityStatement2RestResourceInteraction[]|undefined; /** * Operations linked from CapabilityStatement2.rest.resource.operation must have OperationDefinition.type = true or OperationDefinition.instance = true. * If an operation that is listed in multiple CapabilityStatement2.rest.resource.operation (e.g. for different resource types), then clients should understand that the operation is only supported on the specified resource types, and that may be a subset of those listed in OperationDefinition.resource. */ - operation?: CapabilityStatement2RestResourceOperation[]; + operation?: CapabilityStatement2RestResourceOperation[]|undefined; /** * The profile applies to all resources of this type - i.e. it is the superset of what is supported by the system. */ - profile?: string; - _profile?: Element; + profile?: string|undefined; + _profile?: Element|undefined; /** * The search parameters should include the control search parameters such as _sort, _count, etc. that also apply to this resource (though many will be listed at [CapabilityStatement2.rest.searchParam](capabilitystatement2-definitions.html#CapabilityStatement2.rest.searchParam)). The behavior of some search parameters may be further described by other code or extension elements, or narrative within the capability statement or linked [SearchParameter](searchparameter.html#) definitions. */ - searchParam?: CapabilityStatement2RestResourceSearchParam[]; + searchParam?: CapabilityStatement2RestResourceSearchParam[]|undefined; /** * Supported profiles are different than the profile that applies to a particular resource in .rest.resource.profile. The resource profile is a general statement of what features of the resource are supported overall by the system - the sum total of the facilities it supports. A supported profile is a deeper statement about the functionality of the data and services provided by the server (or used by the client). A typical case is a laboratory system that produces a set of different reports - this is the list of types of data that it publishes. A key aspect of declaring profiles here is the question of how the client converts knowledge that the server publishes this data into working with the data; the client can inspect individual resources to determine whether they conform to a particular profile, but how does it find the ones that do? It does so by searching using the _profile parameter, so any resources listed here must be valid values for the _profile resource (using the identifier in the target profile). */ - supportedProfile?: string[]; - _supportedProfile?: Element[]; + supportedProfile?: string[]|undefined; + _supportedProfile?: Element[]|undefined; /** * A type of resource exposed via the restful interface. */ type: string; - _type?: Element; + _type?: Element|undefined; } /** * A specification of restful operations supported by the system. @@ -6037,16 +6037,16 @@ export interface CapabilityStatement2RestInteraction extends BackboneElement { * A coded identifier of the operation, supported by the system. */ code: CapabilityStatement2RestInteractionCodeCodes; - _code?: Element; + _code?: Element|undefined; /** * Guidance specific to the implementation of this operation, such as limitations on the kind of transactions allowed, or information about system wide search is implemented. */ - documentation?: string; - _documentation?: Element; + documentation?: string|undefined; + _documentation?: Element|undefined; /** * A statement that affirms support for a feature, in this context. */ - feature?: CapabilityStatement2RestFeature[]; + feature?: CapabilityStatement2RestFeature[]|undefined; } /** * Code Values for the CapabilityStatement2.rest.interaction.code field @@ -6064,38 +6064,38 @@ export interface CapabilityStatement2Rest extends BackboneElement { /** * At present, the only defined compartments are at [CompartmentDefinition](compartmentdefinition.html). */ - compartment?: string[]; - _compartment?: Element[]; + compartment?: string[]|undefined; + _compartment?: Element[]|undefined; /** * Information about the system's restful capabilities that apply across all applications, such as security. */ - documentation?: string; - _documentation?: Element; + documentation?: string|undefined; + _documentation?: Element|undefined; /** * A statement that affirms support for a feature. */ - feature?: CapabilityStatement2RestFeature[]; + feature?: CapabilityStatement2RestFeature[]|undefined; /** * A specification of restful operations supported by the system. */ - interaction?: CapabilityStatement2RestInteraction[]; + interaction?: CapabilityStatement2RestInteraction[]|undefined; /** * Identifies whether this portion of the statement is describing the ability to initiate or receive restful operations. */ mode: CapabilityStatement2RestModeCodes; - _mode?: Element; + _mode?: Element|undefined; /** * CapabilityStatement2.rest.operation is for operations invoked at the system level, or for operations that are supported across multiple resource types. Operations linked from CapabilityStatement2.rest.operation must have OperationDefinition.system = true, or more than one Operation.resource. */ - operation?: CapabilityStatement2RestResourceOperation[]; + operation?: CapabilityStatement2RestResourceOperation[]|undefined; /** * Max of one repetition per resource type. */ - resource?: CapabilityStatement2RestResource[]; + resource?: CapabilityStatement2RestResource[]|undefined; /** * Typically, the only search parameters supported for all searches are those that apply to all resources - tags, profiles, text search etc. These search parameters should include the control search parameters such as _sort, _count, etc. that also apply to this resource (though many will be listed at [CapabilityStatement2.rest.searchParam](capabilitystatement2-definitions.html#CapabilityStatement2.rest.searchParam)). The behavior of some search parameters may be further described by other code or extension elements, or narrative within the capability statement or linked [SearchParameter](searchparameter.html#) definitions. */ - searchParam?: CapabilityStatement2RestResourceSearchParam[]; + searchParam?: CapabilityStatement2RestResourceSearchParam[]|undefined; } /** * Code Values for the CapabilityStatement2.rest.mode field @@ -6113,121 +6113,121 @@ export interface CapabilityStatement2 extends DomainResource { /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * A copyright statement relating to the capability statement2 and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the capability statement2. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the capability statement2. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ date: string; - _date?: Element; + _date?: Element|undefined; /** * This description can be used to capture details such as why the capability statement2 was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the capability statement2 as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the capability statement2 is presumed to be the predominant language in the place the capability statement2 was created).This does not need to be populated if the description is adequately implied by the software or implementation details. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Allows filtering of capability statement2s that are appropriate for use versus not. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * Servers may implement multiple versions (see [Managing Multiple Versions](versioning.html), and the [$versions](capabilitystatement2-operation-versions.html) operation). If they do, and the CapabilityStatement2 is requested from the server, then this fhirVersion will be either the version requested, or the server's default version. */ fhirVersion: string; - _fhirVersion?: Element; + _fhirVersion?: Element|undefined; /** * "xml", "json" and "ttl" are allowed, which describe the simple encodings described in the specification (and imply appropriate bundle support). Otherwise, mime types are legal here. */ format: string[]; - _format?: Element[]; + _format?: Element[]|undefined; /** * Identifies a specific implementation instance that is described by the capability statement - i.e. a particular installation, rather than the capabilities of a software program. */ - implementation?: CapabilityStatement2Implementation; + implementation?: CapabilityStatement2Implementation|undefined; /** * A list of implementation guides that the server does (or should) support in their entirety. */ - implementationGuide?: string[]; - _implementationGuide?: Element[]; + implementationGuide?: string[]|undefined; + _implementationGuide?: Element[]|undefined; /** * the contents of any directly or indirectly imported CapabilityStatement2s SHALL NOT overlap, i.e. they cannot refer to the same rest/resource, operations/name, searchparam/name, interaction/code, messaging/endpoint, document/mode pair. * A capability statement that imports another CapabilityStatement2 automatically instantiates it too (though this is often not a very useful statement for the kinds of CapabilityStatement2s that are suitable for importing). */ - imports?: string[]; - _imports?: Element[]; + imports?: string[]|undefined; + _imports?: Element[]|undefined; /** * HL7 defines the following Services: [Terminology Service](terminology-service.html). * Many [Implementation Guides](http://fhir.org/guides/registry) define additional services. */ - instantiates?: string[]; - _instantiates?: Element[]; + instantiates?: string[]|undefined; + _instantiates?: Element[]|undefined; /** * It may be possible for the capability statement2 to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * The way that this statement is intended to be used, to describe an actual running instance of software, a particular product (kind, not instance of software) or a class of implementation (e.g. a desired purchase). */ kind: CapabilityStatement2KindCodes; - _kind?: Element; + _kind?: Element|undefined; /** * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * At present, the patch mime types application/json-patch+json and application/xml-patch+xml are legal. Generally, if a server supports PATCH, it would be expected to support the patch formats and match the formats it supports, but this is not always possible or necessary. */ - patchFormat?: string[]; - _patchFormat?: Element[]; + patchFormat?: string[]|undefined; + _patchFormat?: Element[]|undefined; /** * Usually an organization but may be an individual. The publisher (or steward) of the capability statement2 is the organization or individual primarily responsible for the maintenance and upkeep of the capability statement2. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the capability statement2. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * This element does not describe the usage of the capability statement2. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this capability statement2. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * Multiple repetitions allow definition of both client and/or server behaviors or possibly behaviors under different configuration settings (for software or requirements statements). */ - rest?: CapabilityStatement2Rest[]; + rest?: CapabilityStatement2Rest[]|undefined; /** * Software that is covered by this capability statement. It is used when the capability statement describes the capabilities of a particular software version, independent of an installation. */ - software?: CapabilityStatement2Software; + software?: CapabilityStatement2Software|undefined; /** * Allows filtering of capability statement2s that are appropriate for use versus not.This is not intended for use with actual capability statements, but where capability statements are used to describe possible or desired systems. */ status: CapabilityStatement2StatusCodes; - _status?: Element; + _status?: Element|undefined; /** * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different capability statement2 instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the capability statement2 with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the CapabilityStatement2.format field @@ -6262,96 +6262,96 @@ export interface CarePlanActivityPlannedActivityDetail extends BackboneElement { /** * Tends to be less relevant for activities involving particular products. Codes should not convey negation - use "prohibited" instead. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * Identifies the quantity expected to be consumed in a given day. */ - dailyAmount?: Quantity; + dailyAmount?: Quantity|undefined; /** * This provides a textual description of constraints on the intended activity occurrence, including relation to other activities. It may also include objectives, pre-conditions and end-conditions. Finally, it may convey specifics about the activity such as body site, method, route, etc. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * This element is labeled as a modifier because it marks an activity as an activity that is not to be performed. */ - doNotPerform?: boolean; - _doNotPerform?: Element; + doNotPerform?: boolean|undefined; + _doNotPerform?: Element|undefined; /** * Internal reference that identifies the goals that this activity is intended to contribute towards meeting. */ - goal?: Reference[]; + goal?: Reference[]|undefined; /** * The URL pointing to a FHIR-defined protocol, guideline, questionnaire or other definition that is adhered to in whole or in part by this CarePlan activity. */ - instantiatesCanonical?: string[]; - _instantiatesCanonical?: Element[]; + instantiatesCanonical?: string[]|undefined; + _instantiatesCanonical?: Element[]|undefined; /** * This might be an HTML page, PDF, etc. or could just be a non-resolvable URI identifier. */ - instantiatesUri?: string[]; - _instantiatesUri?: Element[]; + instantiatesUri?: string[]|undefined; + _instantiatesUri?: Element[]|undefined; /** * A description of the kind of resource the in-line definition of a care plan activity is representing. The CarePlan.activity.detail is an in-line definition when a resource is not referenced using CarePlan.activity.reference. For example, a MedicationRequest, a ServiceRequest, or a CommunicationRequest. */ - kind?: CarePlanActivityPlannedActivityDetailKindCodes; - _kind?: Element; + kind?: CarePlanActivityPlannedActivityDetailKindCodes|undefined; + _kind?: Element|undefined; /** * May reference a specific clinical location or may identify a type of location. */ - location?: CodeableReference; + location?: CodeableReference|undefined; /** * A performer MAY also be a participant in the care plan. */ - performer?: Reference[]; + performer?: Reference[]|undefined; /** * Identifies the food, drug or other product to be consumed or supplied in the activity. */ - productCodeableConcept?: CodeableConcept; + productCodeableConcept?: CodeableConcept|undefined; /** * Identifies the food, drug or other product to be consumed or supplied in the activity. */ - productReference?: Reference; + productReference?: Reference|undefined; /** * Identifies the quantity expected to be supplied, administered or consumed by the subject. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * This could be a diagnosis code. If a full condition record exists, us reason.reference instead. Conditions can be identified at the activity level that are not identified as reasons for the overall plan. */ - reason?: CodeableReference[]; + reason?: CodeableReference[]|undefined; /** * Indicates if this record was captured as a secondary 'reported' record rather than as an original primary source-of-truth record. It may also indicate the source of the report. */ - reportedBoolean?: boolean; - _reportedBoolean?: Element; + reportedBoolean?: boolean|undefined; + _reportedBoolean?: Element|undefined; /** * Indicates if this record was captured as a secondary 'reported' record rather than as an original primary source-of-truth record. It may also indicate the source of the report. */ - reportedReference?: Reference; + reportedReference?: Reference|undefined; /** * The period, timing or frequency upon which the described activity is to occur. */ - scheduledTiming?: Timing; + scheduledTiming?: Timing|undefined; /** * The period, timing or frequency upon which the described activity is to occur. */ - scheduledPeriod?: Period; + scheduledPeriod?: Period|undefined; /** * The period, timing or frequency upon which the described activity is to occur. */ - scheduledString?: string; - _scheduledString?: Element; + scheduledString?: string|undefined; + _scheduledString?: Element|undefined; /** * Some aspects of status can be inferred based on the resources linked in actionTaken. Note that "status" is only as current as the plan was most recently updated. * The unknown code is not to be used to convey other statuses. The unknown code should be used when one of the statuses applies, but the authoring system doesn't know the current state of the activity. */ status: CarePlanActivityPlannedActivityDetailStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Will generally not be present if status is "complete". Be sure to prompt to update this (or at least remove the existing value) if the status is changed. */ - statusReason?: CodeableConcept; + statusReason?: CodeableConcept|undefined; } /** * Code Values for the CarePlan.activity.plannedActivityDetail.kind field @@ -6387,20 +6387,20 @@ export interface CarePlanActivity extends BackboneElement { /** * Note that this should not duplicate the activity status (e.g. completed or in progress). The activity performed is independent of the outcome of the related goal(s). For example, if the goal is to achieve a target body weight of 150 lbs and an activity is defined to exercise, then the activity performed could be amount and intensity of exercise performed whereas the goal outcome is an observation for the actual body weight measured. */ - performedActivity?: CodeableReference[]; + performedActivity?: CodeableReference[]|undefined; /** * A simple summary of a planned activity suitable for a general care plan system (e.g. form driven) that doesn't know about specific resources such as procedure etc. */ - plannedActivityDetail?: CarePlanActivityPlannedActivityDetail; + plannedActivityDetail?: CarePlanActivityPlannedActivityDetail|undefined; /** * Standard extension exists ([resource-pertainsToGoal](extension-resource-pertainstogoal.html)) that allows goals to be referenced from any of the referenced resources in CarePlan.activity.plannedActivityReference. * The goal should be visible when the resource referenced by CarePlan.activity.plannedActivityReference is viewed independently from the CarePlan. Requests that are pointed to by a CarePlan using this element should *not* point to this CarePlan using the "basedOn" element. i.e. Requests that are part of a CarePlan are not "based on" the CarePlan. */ - plannedActivityReference?: Reference; + plannedActivityReference?: Reference|undefined; /** * This element should NOT be used to describe the activity to be performed - that occurs either within the resource pointed to by activity.detail.reference or in activity.detail.description. */ - progress?: Annotation[]; + progress?: Annotation[]|undefined; } /** * Describes the intention of how one or more practitioners intend to deliver care for a particular patient, group or community for a period of time, possibly limited to care for a specific condition or set of conditions. @@ -6411,91 +6411,91 @@ export interface CarePlan extends DomainResource { /** * Identifies an action that has occurred or is a planned action to occur as part of the plan. For example, a medication to be used, lab tests to perform, self-monitoring that has occurred, education etc. */ - activity?: CarePlanActivity[]; + activity?: CarePlanActivity[]|undefined; /** * Use CarePlan.addresses.concept when a code sufficiently describes the concern (e.g. condition, problem, diagnosis, risk). Use CarePlan.addresses.reference when referencing a resource, which allows more information to be conveyed, such as onset date. CarePlan.addresses.concept and CarePlan.addresses.reference are not meant to be duplicative. For a single concern, either CarePlan.addresses.concept or CarePlan.addresses.reference can be used. CarePlan.addresses.concept may be a summary code, or CarePlan.addresses.reference may be used to reference a very precise definition of the concern using Condition. Both CarePlan.addresses.concept and CarePlan.addresses.reference can be used if they are describing different concerns for the care plan. */ - addresses?: CodeableReference[]; + addresses?: CodeableReference[]|undefined; /** * The author may also be a contributor. For example, an organization can be an author, but not listed as a contributor. */ - author?: Reference; + author?: Reference|undefined; /** * A care plan that is fulfilled in whole or in part by this care plan. */ - basedOn?: Reference[]; + basedOn?: Reference[]|undefined; /** * Identifies all people and organizations who are expected to be involved in the care envisioned by this plan. */ - careTeam?: Reference[]; + careTeam?: Reference[]|undefined; /** * There may be multiple axes of categorization and one plan may serve multiple purposes. In some cases, this may be redundant with references to CarePlan.concern. */ - category?: CodeableConcept[]; + category?: CodeableConcept[]|undefined; /** * Collaborative care plans may have multiple contributors. */ - contributor?: Reference[]; + contributor?: Reference[]|undefined; /** * Represents when this particular CarePlan record was created in the system, which is often a system-generated date. */ - created?: string; - _created?: Element; + created?: string|undefined; + _created?: Element|undefined; /** * A description of the scope and nature of the plan. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * This will typically be the encounter the event occurred within, but some activities may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter. CarePlan activities conducted as a result of the care plan may well occur as part of other encounters. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * Goal can be achieving a particular change or merely maintaining a current state or even slowing a decline. */ - goal?: Reference[]; + goal?: Reference[]|undefined; /** * This is a business identifier, not a resource identifier (see [discussion](resource.html#identifiers)). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and a Person resource instance might share the same social insurance number. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The URL pointing to a FHIR-defined protocol, guideline, questionnaire or other definition that is adhered to in whole or in part by this CarePlan. */ - instantiatesCanonical?: string[]; - _instantiatesCanonical?: Element[]; + instantiatesCanonical?: string[]|undefined; + _instantiatesCanonical?: Element[]|undefined; /** * This might be an HTML page, PDF, etc. or could just be a non-resolvable URI identifier. */ - instantiatesUri?: string[]; - _instantiatesUri?: Element[]; + instantiatesUri?: string[]|undefined; + _instantiatesUri?: Element[]|undefined; /** * This element is labeled as a modifier because the intent alters when and how the resource is actually applicable. * This element is expected to be immutable. E.g. A "proposal" instance should never change to be a "plan" instance or "order" instance. Instead, a new instance 'basedOn' the prior instance should be created with the new 'intent' value. */ intent: CarePlanIntentCodes; - _intent?: Element; + _intent?: Element|undefined; /** * General notes about the care plan not covered elsewhere. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * Each care plan is an independent request, such that having a care plan be part of another care plan can cause issues with cascading statuses. As such, this element is still being discussed. */ - partOf?: Reference[]; + partOf?: Reference[]|undefined; /** * Any activities scheduled as part of the plan should be constrained to the specified period regardless of whether the activities are planned within a single encounter/episode or across multiple encounters/episodes (e.g. the longitudinal management of a chronic condition). */ - period?: Period; + period?: Period|undefined; /** * The replacement could be because the initial care plan was immediately rejected (due to an issue) or because the previous care plan was completed, but the need for the action described by the care plan remains ongoing. */ - replaces?: Reference[]; + replaces?: Reference[]|undefined; /** * The unknown code is not to be used to convey other statuses. The unknown code should be used when one of the statuses applies, but the authoring system doesn't know the current state of the care plan. * This element is labeled as a modifier because the status contains the code entered-in-error that marks the plan as not currently valid. */ status: CarePlanStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Identifies the patient or group whose intended care is described by the plan. */ @@ -6503,12 +6503,12 @@ export interface CarePlan extends DomainResource { /** * Use "concern" to identify specific conditions addressed by the care plan. supportingInfo can be used to convey one or more Advance Directives or Medical Treatment Consent Directives by referencing Consent or any other request resource with intent = directive. */ - supportingInfo?: Reference[]; + supportingInfo?: Reference[]|undefined; /** * Human-friendly name for the care plan. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; } /** * Code Values for the CarePlan.intent field @@ -6539,24 +6539,24 @@ export interface CareTeamParticipant extends BackboneElement { /** * This is populated while creating / managing the CareTeam to ensure there is coverage when servicing CarePlan activities from the Schedule. */ - coveragePeriod?: Period; + coveragePeriod?: Period|undefined; /** * This is populated while creating / managing the CareTeam to ensure there is coverage when servicing CarePlan activities from the Schedule. */ - coverageTiming?: Timing; + coverageTiming?: Timing|undefined; /** * Patient only needs to be listed if they have a role other than "subject of care". * Member is optional because some participants may be known only by their role, particularly in draft plans. */ - member?: Reference; + member?: Reference|undefined; /** * The organization of the practitioner. */ - onBehalfOf?: Reference; + onBehalfOf?: Reference|undefined; /** * Roles may sometimes be inferred by type of Practitioner. These are relationships that hold only within the context of the care team. General relationships should be handled as properties of the Patient resource directly. If a participant has multiple roles within the team, then there should be multiple participants. */ - role?: CodeableConcept; + role?: CodeableConcept|undefined; } /** * The Care Team includes all the people and organizations who plan to participate in the coordination and delivery of care. @@ -6567,49 +6567,49 @@ export interface CareTeam extends DomainResource { /** * There may be multiple axis of categorization and one team may serve multiple purposes. */ - category?: CodeableConcept[]; + category?: CodeableConcept[]|undefined; /** * This is a business identifier, not a resource identifier (see [discussion](resource.html#identifiers)). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and a Person resource instance might share the same social insurance number. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The organization responsible for the care team. */ - managingOrganization?: Reference[]; + managingOrganization?: Reference[]|undefined; /** * The meaning/purpose of the team is conveyed in CareTeam.category. This element may also convey semantics of the team (e.g. "Red trauma team"), but its primary purpose is to distinguish between identical teams in a human-friendly way. ("Team 18735" isn't as friendly.). */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Comments made about the CareTeam. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * Identifies all people and organizations who are expected to be involved in the care team. */ - participant?: CareTeamParticipant[]; + participant?: CareTeamParticipant[]|undefined; /** * Indicates when the team did (or is intended to) come into effect and end. */ - period?: Period; + period?: Period|undefined; /** * Describes why the care team exists. */ - reason?: CodeableReference[]; + reason?: CodeableReference[]|undefined; /** * This element is labeled as a modifier because the status contains the code entered-in-error that marks the care team as not currently valid. */ - status?: CareTeamStatusCodes; - _status?: Element; + status?: CareTeamStatusCodes|undefined; + _status?: Element|undefined; /** * Identifies the patient or group whose intended care is handled by the team. */ - subject?: Reference; + subject?: Reference|undefined; /** * The ContactPoint.use code of home is not appropriate to use. These contacts are not the contact details of individual care team members. */ - telecom?: ContactPoint[]; + telecom?: ContactPoint[]|undefined; } /** * Code Values for the CareTeam.status field @@ -6629,7 +6629,7 @@ export interface CatalogEntryRelatedEntry extends BackboneElement { * The type of relationship to the related entry. */ relationship: CatalogEntryRelatedEntryRelationshipCodes; - _relationship?: Element; + _relationship?: Element|undefined; /** * The reference to the related entry. */ @@ -6653,43 +6653,43 @@ export interface CatalogEntry extends DomainResource { /** * Billing code associated to the item in the context of this entry of the catalog. */ - billingCode?: CodeableConcept[]; + billingCode?: CodeableConcept[]|undefined; /** * Billing summary attached to the item in the context of this entry of the catalog. */ - billingSummary?: string; - _billingSummary?: Element; + billingSummary?: string|undefined; + _billingSummary?: Element|undefined; /** * Period of usability of the catalog entry. */ - effectivePeriod?: Period; + effectivePeriod?: Period|undefined; /** * Estimated duration of the orderable item of this entry of the catalog. */ - estimatedDuration?: Duration; + estimatedDuration?: Duration|undefined; /** * Business identifier uniquely assigned to the catalog entry. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Summary of limitations for the item in the context of this entry of the catalog. */ - limitationSummary?: string; - _limitationSummary?: Element; + limitationSummary?: string|undefined; + _limitationSummary?: Element|undefined; /** * The name of this catalog entry announces the item that is represented by the entry. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Notes and comments about this catalog entry. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * Indicates whether or not the entry represents an item that is orderable. */ orderable: boolean; - _orderable?: Element; + _orderable?: Element|undefined; /** * The item (resource) that this entry of the catalog represents. */ @@ -6697,31 +6697,31 @@ export interface CatalogEntry extends DomainResource { /** * Regulatory summary for the item in the context of this entry of the catalog. */ - regulatorySummary?: string; - _regulatorySummary?: Element; + regulatorySummary?: string|undefined; + _regulatorySummary?: Element|undefined; /** * Used for example, to point to a substance, or to a device used to administer a medication. */ - relatedEntry?: CatalogEntryRelatedEntry[]; + relatedEntry?: CatalogEntryRelatedEntry[]|undefined; /** * Schedule summary for the item in the context of this entry of the catalog. */ - scheduleSummary?: string; - _scheduleSummary?: Element; + scheduleSummary?: string|undefined; + _scheduleSummary?: Element|undefined; /** * Indicates whether this catalog entry is open to public usage (active) or not (draft or retired). */ - status?: CatalogEntryStatusCodes; - _status?: Element; + status?: CatalogEntryStatusCodes|undefined; + _status?: Element|undefined; /** * The type of resource that is represented by this catalog entry. */ - type?: CatalogEntryTypeCodes; - _type?: Element; + type?: CatalogEntryTypeCodes|undefined; + _type?: Element|undefined; /** * Last actor who recorded (created or updated) this catalog entry. */ - updatedBy?: Reference; + updatedBy?: Reference|undefined; } /** * Code Values for the CatalogEntry.status field @@ -6760,7 +6760,7 @@ export interface ChargeItemPerformer extends BackboneElement { /** * Describes the type of performance or participation(e.g. primary surgeon, anesthesiologiest, etc.). */ - function?: CodeableConcept; + function?: CodeableConcept|undefined; } /** * The resource ChargeItem describes the provision of healthcare provider products for a certain patient, therefore referring not only to the product, but containing in addition details of the provision, like date, time, amounts and participating organizations and persons. Main Usage of the ChargeItem is to enable the billing process and internal cost allocation. @@ -6771,11 +6771,11 @@ export interface ChargeItem extends DomainResource { /** * Systems posting the ChargeItems might not always be able to determine, which accounts the Items need to be places into. It is up to the postprocessing Financial System to apply internal rules to decide based on the Encounter/EpisodeOfCare/Patient/Coverage context and the type of ChargeItem, which Account is appropriate. */ - account?: Reference[]; + account?: Reference[]|undefined; /** * Only used if not implicit in code found in Condition.code. If the use case requires attributes from the BodySite resource (e.g. to identify and track separately) then use the standard extension [bodySite](extension-bodysite.html). May be a summary code, or a reference to a very precise definition of the location, or both. */ - bodysite?: CodeableConcept[]; + bodysite?: CodeableConcept[]|undefined; /** * A code that identifies the charge, like a billing code. */ @@ -6783,106 +6783,106 @@ export interface ChargeItem extends DomainResource { /** * The encounter or episode of care that establishes the context for this event. */ - context?: Reference; + context?: Reference|undefined; /** * The costCenter could either be given as a reference to an Organization(Role) resource or as the identifier of the cost center determined by Reference.identifier.value and Reference.identifier.system, depending on use case requirements. */ - costCenter?: Reference; + costCenter?: Reference|undefined; /** * References the source of pricing information, rules of application for the code this ChargeItem uses. */ - definitionCanonical?: string[]; - _definitionCanonical?: Element[]; + definitionCanonical?: string[]|undefined; + _definitionCanonical?: Element[]|undefined; /** * References the (external) source of pricing information, rules of application for the code this ChargeItem uses. */ - definitionUri?: string[]; - _definitionUri?: Element[]; + definitionUri?: string[]|undefined; + _definitionUri?: Element[]|undefined; /** * The actual date when the service associated with the charge has been rendered is captured in occurrence[x]. */ - enteredDate?: string; - _enteredDate?: Element; + enteredDate?: string|undefined; + _enteredDate?: Element|undefined; /** * The enterer is also the person considered responsible for factor/price overrides if applicable. */ - enterer?: Reference; + enterer?: Reference|undefined; /** * There is no reason to carry the factor in the instance of a ChargeItem unless special circumstances require a manual override. The factors are usually defined by a set of rules in a back catalogue of the billing codes (see ChargeItem.definition). Derived profiles may require a ChargeItem.overrideReason to be provided if either factor or price are manually overridden. */ - factorOverride?: number; + factorOverride?: number|undefined; /** * Identifiers assigned to this event performer or other systems. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Comments made about the event by the performer, subject or other participants. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * The list of types may be constrained as appropriate for the type of charge item. */ - occurrenceDateTime?: string; - _occurrenceDateTime?: Element; + occurrenceDateTime?: string|undefined; + _occurrenceDateTime?: Element|undefined; /** * The list of types may be constrained as appropriate for the type of charge item. */ - occurrencePeriod?: Period; + occurrencePeriod?: Period|undefined; /** * The list of types may be constrained as appropriate for the type of charge item. */ - occurrenceTiming?: Timing; + occurrenceTiming?: Timing|undefined; /** * Derived Profiles may choose to add invariants requiring this field to be populated if either priceOverride or factorOverride have been filled. */ - overrideReason?: string; - _overrideReason?: Element; + overrideReason?: string|undefined; + _overrideReason?: Element|undefined; /** * ChargeItems can be grouped to larger ChargeItems covering the whole set. */ - partOf?: Reference[]; + partOf?: Reference[]|undefined; /** * Indicates who or what performed or participated in the charged service. */ - performer?: ChargeItemPerformer[]; + performer?: ChargeItemPerformer[]|undefined; /** * Practitioners and Devices can be associated with multiple organizations. It has to be made clear, on behalf of which Organization the services have been rendered. */ - performingOrganization?: Reference; + performingOrganization?: Reference|undefined; /** * There is no reason to carry the price in the instance of a ChargeItem unless circumstances require a manual override. The list prices or are usually defined in a back catalogue of the billing codes (see ChargeItem.definition). Derived profiles may require a ChargeItem.overrideReason to be provided if either factor or price are manually overridden. */ - priceOverride?: Money; + priceOverride?: Money|undefined; /** * Identifies the device, food, drug or other product being charged either by type code or reference to an instance. */ - productReference?: Reference; + productReference?: Reference|undefined; /** * Identifies the device, food, drug or other product being charged either by type code or reference to an instance. */ - productCodeableConcept?: CodeableConcept; + productCodeableConcept?: CodeableConcept|undefined; /** * In many cases this may just be a value, if the underlying units are implicit in the definition of the charge item code. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * If the application of the charge item requires a reason to be given, it can be captured here. Textual reasons can be captured using reasonCode.text. */ - reason?: CodeableConcept[]; + reason?: CodeableConcept[]|undefined; /** * The rendered Service might not be associated with a Request. This property indicates which Organization requested the services to be rendered. (In many cases, this may just be the Department associated with the Encounter.location). */ - requestingOrganization?: Reference; + requestingOrganization?: Reference|undefined; /** * Indicated the rendered service that caused this charge. */ - service?: Reference[]; + service?: Reference[]|undefined; /** * Unknown does not represent "other" - one of the defined statuses must apply. Unknown is used when the authoring system is not sure what the current status is. * This element is labeled as a modifier because the status contains the code entered-in-error that marks the charge item as not currently valid. */ status: ChargeItemStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * The individual or set of individuals the action is being or was performed on. */ @@ -6890,7 +6890,7 @@ export interface ChargeItem extends DomainResource { /** * Further information supporting this charge. */ - supportingInformation?: Reference[]; + supportingInformation?: Reference[]|undefined; } /** * Code Values for the ChargeItem.status field @@ -6911,19 +6911,19 @@ export interface ChargeItemDefinitionApplicability extends BackboneElement { /** * A brief, natural language description of the condition that effectively communicates the intended semantics. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Please note that FHIRPath Expressions can only be evaluated in the scope of the current ChargeItem resource to which this definition is being applied. * FHIRPath expressions can traverse into other resources linked from the ChargeItem resource, however, testing rules such as that a billing code may be billed only once per encounter need a wider scope. In such scenarios, CQL may be the appropriate choice. */ - expression?: string; - _expression?: Element; + expression?: string|undefined; + _expression?: Element|undefined; /** * The media type of the language for the expression, e.g. "text/cql" for Clinical Query Language expressions or "text/fhirpath" for FHIRPath expressions. */ - language?: string; - _language?: Element; + language?: string|undefined; + _language?: Element|undefined; } /** * The price for a ChargeItem may be calculated as a base price with surcharges/deductions that apply in certain conditions. A ChargeItemDefinition resource that defines the prices, factors and conditions that apply to a billing code is currently under development. The priceComponent element can be used to offer transparency to the recipient of the Invoice of how the prices have been calculated. @@ -6932,20 +6932,20 @@ export interface ChargeItemDefinitionPropertyGroupPriceComponent extends Backbon /** * The amount calculated for this component. */ - amount?: Money; + amount?: Money|undefined; /** * A code that identifies the component. Codes may be used to differentiate between kinds of taxes, surcharges, discounts etc. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * The factor that has been applied on the base price for calculating this component. */ - factor?: number; + factor?: number|undefined; /** * This code identifies the type of the component. */ type: ChargeItemDefinitionPropertyGroupPriceComponentTypeCodes; - _type?: Element; + _type?: Element|undefined; } /** * Code Values for the ChargeItemDefinition.propertyGroup.priceComponent.type field @@ -6965,11 +6965,11 @@ export interface ChargeItemDefinitionPropertyGroup extends BackboneElement { /** * The applicability conditions can be used to ascertain whether a billing item is allowed in a specific context. E.g. some billing codes may only be applicable in out-patient settings, only to male/female patients or only to children. */ - applicability?: ChargeItemDefinitionApplicability[]; + applicability?: ChargeItemDefinitionApplicability[]|undefined; /** * The price for a ChargeItem may be calculated as a base price with surcharges/deductions that apply in certain conditions. A ChargeItemDefinition resource that defines the prices, factors and conditions that apply to a billing code is currently under development. The priceComponent element can be used to offer transparency to the recipient of the Invoice of how the prices have been calculated. */ - priceComponent?: ChargeItemDefinitionPropertyGroupPriceComponent[]; + priceComponent?: ChargeItemDefinitionPropertyGroupPriceComponent[]|undefined; } /** * The ChargeItemDefinition resource provides the properties that apply to the (billing) codes necessary to calculate costs and prices. The properties may differ largely depending on type and realm, therefore this resource gives only a rough structure and requires profiling for each type of billing code system. @@ -6980,111 +6980,111 @@ export interface ChargeItemDefinition extends DomainResource { /** * The applicability conditions can be used to ascertain whether a billing item is allowed in a specific context. E.g. some billing codes may only be applicable in out-patient settings, only to male/female patients or only to children. */ - applicability?: ChargeItemDefinitionApplicability[]; + applicability?: ChargeItemDefinitionApplicability[]|undefined; /** * The 'date' element may be more recent than the approval date because of minor changes or editorial corrections. */ - approvalDate?: string; - _approvalDate?: Element; + approvalDate?: string|undefined; + _approvalDate?: Element|undefined; /** * The defined billing details in this resource pertain to the given billing code. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * A copyright statement relating to the charge item definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the charge item definition. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the charge item definition. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * The URL pointing to an externally-defined charge item definition that is adhered to in whole or in part by this definition. */ - derivedFromUri?: string[]; - _derivedFromUri?: Element[]; + derivedFromUri?: string[]|undefined; + _derivedFromUri?: Element[]|undefined; /** * This description can be used to capture details such as why the charge item definition was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the charge item definition as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the charge item definition is presumed to be the predominant language in the place the charge item definition was created). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * The effective period for a charge item definition determines when the content is applicable for usage and is independent of publication and review dates. For example, a measure intended to be used for the year 2016 might be published in 2015. */ - effectivePeriod?: Period; + effectivePeriod?: Period|undefined; /** * Allows filtering of charge item definitions that are appropriate for use versus not. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this charge item definition outside of FHIR, where it is not possible to use the logical URI. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * In case of highly customized, individually produced or fitted devices/substances, the pricing information may be different for each instance of the product. This reference links pricing details to specific product instances. */ - instance?: Reference[]; + instance?: Reference[]|undefined; /** * It may be possible for the charge item definition to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * If specified, this date follows the original approval date. */ - lastReviewDate?: string; - _lastReviewDate?: Element; + lastReviewDate?: string|undefined; + _lastReviewDate?: Element|undefined; /** * A larger definition of which this particular definition is a component or step. */ - partOf?: string[]; - _partOf?: Element[]; + partOf?: string[]|undefined; + _partOf?: Element[]|undefined; /** * Group of properties which are applicable under the same conditions. If no applicability rules are established for the group, then all properties always apply. */ - propertyGroup?: ChargeItemDefinitionPropertyGroup[]; + propertyGroup?: ChargeItemDefinitionPropertyGroup[]|undefined; /** * Usually an organization but may be an individual. The publisher (or steward) of the charge item definition is the organization or individual primarily responsible for the maintenance and upkeep of the charge item definition. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the charge item definition. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * As new versions of a protocol or guideline are defined, allows identification of what versions are replaced by a new instance. */ - replaces?: string[]; - _replaces?: Element[]; + replaces?: string[]|undefined; + _replaces?: Element[]|undefined; /** * Allows filtering of charge item definitions that are appropriate for use versus not. */ status: ChargeItemDefinitionStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. */ url: string; - _url?: Element; + _url?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different charge item definition instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the charge item definition with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the ChargeItemDefinition.status field @@ -7102,12 +7102,12 @@ export interface CitationSummary extends ContactDetail { /** * Format for display of the citation. */ - style?: CodeableConcept; + style?: CodeableConcept|undefined; /** * The human-readable display of the citation. */ text: string; - _text?: Element; + _text?: Element|undefined; } /** * The assignment to an organizing scheme. @@ -7116,11 +7116,11 @@ export interface CitationClassification extends BackboneElement { /** * The specific classification value. */ - classifier?: CodeableConcept[]; + classifier?: CodeableConcept[]|undefined; /** * The kind of classifier (e.g. publication type, keyword). */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * An effective date or period for a status of the citation. @@ -7133,8 +7133,8 @@ export interface CitationStatusDate extends BackboneElement { /** * Either occurred or expected. */ - actual?: boolean; - _actual?: Element; + actual?: boolean|undefined; + _actual?: Element|undefined; /** * For an instance, place the same value in both start and end elements. */ @@ -7151,24 +7151,24 @@ export interface CitationRelatesTo extends BackboneElement { /** * The article or artifact that the Citation Resource is related to. */ - targetUri?: string; - _targetUri?: Element; + targetUri?: string|undefined; + _targetUri?: Element|undefined; /** * The article or artifact that the Citation Resource is related to. */ - targetIdentifier?: Identifier; + targetIdentifier?: Identifier|undefined; /** * The article or artifact that the Citation Resource is related to. */ - targetReference?: Reference; + targetReference?: Reference|undefined; /** * The article or artifact that the Citation Resource is related to. */ - targetAttachment?: Attachment; + targetAttachment?: Attachment|undefined; /** * The clasification of the related artifact. */ - targetClassifier?: CodeableConcept[]; + targetClassifier?: CodeableConcept[]|undefined; } /** * The defined version of the cited artifact. @@ -7177,12 +7177,12 @@ export interface CitationCitedArtifactVersion extends BackboneElement { /** * Citation for the main version of the cited artifact. */ - baseCitation?: Reference; + baseCitation?: Reference|undefined; /** * The version number or other version identifier. */ value: string; - _value?: Element; + _value?: Element|undefined; } /** * An effective date or period for a status of the cited artifact. @@ -7195,8 +7195,8 @@ export interface CitationCitedArtifactStatusDate extends BackboneElement { /** * Either occurred or expected. */ - actual?: boolean; - _actual?: Element; + actual?: boolean|undefined; + _actual?: Element|undefined; /** * For an instance, place the same value in both start and end elements. */ @@ -7209,16 +7209,16 @@ export interface CitationCitedArtifactTitle extends BackboneElement { /** * Used to express the specific language. */ - language?: CodeableConcept; + language?: CodeableConcept|undefined; /** * The title of the article or artifact. */ text: string; - _text?: Element; + _text?: Element|undefined; /** * Used to express the reason or specific aspect for the title. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Summary of the article or artifact. @@ -7227,21 +7227,21 @@ export interface CitationCitedArtifactAbstract extends BackboneElement { /** * Copyright notice for the abstract. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * Used to express the specific language. */ - language?: CodeableConcept; + language?: CodeableConcept|undefined; /** * Abstract content. */ text: string; - _text?: Element; + _text?: Element|undefined; /** * Used to express the reason or specific aspect for the abstract. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * The component of the article or artifact. @@ -7250,16 +7250,16 @@ export interface CitationCitedArtifactPart extends BackboneElement { /** * The citation for the full article or artifact. */ - baseCitation?: Reference; + baseCitation?: Reference|undefined; /** * The kind of component. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; /** * The specification of the component. */ - value?: string; - _value?: Element; + value?: string|undefined; + _value?: Element|undefined; } /** * The artifact related to the cited artifact. @@ -7272,24 +7272,24 @@ export interface CitationCitedArtifactRelatesTo extends BackboneElement { /** * The article or artifact that the cited artifact is related to. */ - targetUri?: string; - _targetUri?: Element; + targetUri?: string|undefined; + _targetUri?: Element|undefined; /** * The article or artifact that the cited artifact is related to. */ - targetIdentifier?: Identifier; + targetIdentifier?: Identifier|undefined; /** * The article or artifact that the cited artifact is related to. */ - targetReference?: Reference; + targetReference?: Reference|undefined; /** * The article or artifact that the cited artifact is related to. */ - targetAttachment?: Attachment; + targetAttachment?: Attachment|undefined; /** * The clasification of the related artifact. */ - targetClassifier?: CodeableConcept[]; + targetClassifier?: CodeableConcept[]|undefined; } /** * The collection the cited article or artifact is published in. @@ -7298,25 +7298,25 @@ export interface CitationCitedArtifactPublicationFormPublishedIn extends Backbon /** * Journal identifiers include ISSN, ISO Abbreviation and NLMuniqueID; Book identifiers include ISBN. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Name of the publisher. */ - publisher?: Reference; + publisher?: Reference|undefined; /** * Geographic location of the publisher. */ - publisherLocation?: string; - _publisherLocation?: Element; + publisherLocation?: string|undefined; + _publisherLocation?: Element|undefined; /** * ClinicalTrials.gov is a name of a database. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Journals and newspapers are coded as Periodical. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Defining the date on which the issue of the journal was published. @@ -7325,33 +7325,33 @@ export interface CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublic /** * Date on which the issue of the journal was published. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * Day on which the issue of the journal was published. */ - day?: string; - _day?: Element; + day?: string|undefined; + _day?: Element|undefined; /** * Month on which the issue of the journal was published. */ - month?: string; - _month?: Element; + month?: string|undefined; + _month?: Element|undefined; /** * Spring, Summer, Fall/Autumn, Winter. */ - season?: string; - _season?: Element; + season?: string|undefined; + _season?: Element|undefined; /** * Text representation of the date of which the issue of the journal was published. */ - text?: string; - _text?: Element; + text?: string|undefined; + _text?: Element|undefined; /** * Year on which the issue of the journal was published. */ - year?: string; - _year?: Element; + year?: string|undefined; + _year?: Element|undefined; } /** * The specific issue in which the cited article resides. @@ -7360,21 +7360,21 @@ export interface CitationCitedArtifactPublicationFormPeriodicRelease extends Bac /** * National Library of Medicine uses the codes "Internet" or "Print". */ - citedMedium?: CodeableConcept; + citedMedium?: CodeableConcept|undefined; /** * Defining the date on which the issue of the journal was published. */ - dateOfPublication?: CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublication; + dateOfPublication?: CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublication|undefined; /** * Issue, part or supplement of journal in which the article is published. */ - issue?: string; - _issue?: Element; + issue?: string|undefined; + _issue?: Element|undefined; /** * Volume number of journal in which the article is published. */ - volume?: string; - _volume?: Element; + volume?: string|undefined; + _volume?: Element|undefined; } /** * A common use is a journal article with a publication date and pagination for a print version and a different publication date for the online version of the same article. @@ -7383,55 +7383,55 @@ export interface CitationCitedArtifactPublicationForm extends BackboneElement { /** * Entry number or identifier for inclusion in a database. */ - accessionNumber?: string; - _accessionNumber?: Element; + accessionNumber?: string|undefined; + _accessionNumber?: Element|undefined; /** * The date the article was added to the database, or the date the article was released (which may differ from the journal issue publication date). */ - articleDate?: string; - _articleDate?: Element; + articleDate?: string|undefined; + _articleDate?: Element|undefined; /** * Copyright notice for the full article or artifact. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * Used for isolated representation of first page. */ - firstPage?: string; - _firstPage?: Element; + firstPage?: string|undefined; + _firstPage?: Element|undefined; /** * Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute). */ - language?: CodeableConcept[]; + language?: CodeableConcept[]|undefined; /** * Used for isolated representation of last page. */ - lastPage?: string; - _lastPage?: Element; + lastPage?: string|undefined; + _lastPage?: Element|undefined; /** * The date the article was last revised or updated in the database. */ - lastRevisionDate?: string; - _lastRevisionDate?: Element; + lastRevisionDate?: string|undefined; + _lastRevisionDate?: Element|undefined; /** * Actual or approximate number of pages or screens. */ - pageCount?: string; - _pageCount?: Element; + pageCount?: string|undefined; + _pageCount?: Element|undefined; /** * Used for full display of pagination. */ - pageString?: string; - _pageString?: Element; + pageString?: string|undefined; + _pageString?: Element|undefined; /** * The specific issue in which the cited article resides. */ - periodicRelease?: CitationCitedArtifactPublicationFormPeriodicRelease; + periodicRelease?: CitationCitedArtifactPublicationFormPeriodicRelease|undefined; /** * The collection the cited article or artifact is published in. */ - publishedIn?: CitationCitedArtifactPublicationFormPublishedIn; + publishedIn?: CitationCitedArtifactPublicationFormPublishedIn|undefined; } /** * Used for any URL for the article or artifact cited. @@ -7440,12 +7440,12 @@ export interface CitationCitedArtifactWebLocation extends BackboneElement { /** * Code the reason for different URLs, e.g. abstract and full-text. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; /** * Persistent URLs, like doi, are preferred. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; } /** * Provenance and copyright of classification. @@ -7454,25 +7454,25 @@ export interface CitationCitedArtifactClassificationWhoClassified extends Backbo /** * Rights management statement for the classification. */ - classifierCopyright?: string; - _classifierCopyright?: Element; + classifierCopyright?: string|undefined; + _classifierCopyright?: Element|undefined; /** * Acceptable to re-use the classification. */ - freeToShare?: boolean; - _freeToShare?: Element; + freeToShare?: boolean|undefined; + _freeToShare?: Element|undefined; /** * Organization who created the classification. */ - organization?: Reference; + organization?: Reference|undefined; /** * Person who created the classification. */ - person?: Reference; + person?: Reference|undefined; /** * The publisher of the classification, not the publisher of the article or artifact being cited. */ - publisher?: Reference; + publisher?: Reference|undefined; } /** * The assignment to an organizing scheme. @@ -7481,15 +7481,15 @@ export interface CitationCitedArtifactClassification extends BackboneElement { /** * The specific classification value. */ - classifier?: CodeableConcept[]; + classifier?: CodeableConcept[]|undefined; /** * The kind of classifier (e.g. publication type, keyword). */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; /** * Provenance and copyright of classification. */ - whoClassified?: CitationCitedArtifactClassificationWhoClassified; + whoClassified?: CitationCitedArtifactClassificationWhoClassified|undefined; } /** * Organization affiliated with the entity. @@ -7498,17 +7498,17 @@ export interface CitationCitedArtifactContributorshipEntryAffiliationInfo extend /** * Display for the organization. */ - affiliation?: string; - _affiliation?: Element; + affiliation?: string|undefined; + _affiliation?: Element|undefined; /** * Identifier for the organization. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Role within the organization, such as professional title. */ - role?: string; - _role?: Element; + role?: string|undefined; + _role?: Element|undefined; } /** * Contributions with accounting for time or number. @@ -7517,8 +7517,8 @@ export interface CitationCitedArtifactContributorshipEntryContributionInstance e /** * The time that the contribution was made. */ - time?: string; - _time?: Element; + time?: string|undefined; + _time?: Element|undefined; /** * The specific contribution. */ @@ -7531,54 +7531,54 @@ export interface CitationCitedArtifactContributorshipEntry extends BackboneEleme /** * Physical mailing address for the author or contributor. */ - address?: Address[]; + address?: Address[]|undefined; /** * Organization affiliated with the entity. */ - affiliationInfo?: CitationCitedArtifactContributorshipEntryAffiliationInfo[]; + affiliationInfo?: CitationCitedArtifactContributorshipEntryAffiliationInfo[]|undefined; /** * This element is used in Medline based citations, but not supported fully by FHIR HumanName datatype. */ - collectiveName?: string; - _collectiveName?: Element; + collectiveName?: string|undefined; + _collectiveName?: Element|undefined; /** * Contributions with accounting for time or number. */ - contributionInstance?: CitationCitedArtifactContributorshipEntryContributionInstance[]; + contributionInstance?: CitationCitedArtifactContributorshipEntryContributionInstance[]|undefined; /** * The CreDiT taxonomy provides a way to encode contribution information inside article XML files. The purpose of CRediT is to provide transparency in contributions to scholarly published work, to enable improved systems of attribution, credit, and accountability. */ - contributionType?: CodeableConcept[]; + contributionType?: CodeableConcept[]|undefined; /** * Indication of which contributor is the corresponding contributor for the role. */ - correspondingContact?: boolean; - _correspondingContact?: Element; + correspondingContact?: boolean|undefined; + _correspondingContact?: Element|undefined; /** * Avoids needing to disambiguate common last names or changes of name. ORCID is commonly used as author identifier. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * This element is used in Medline based citations, but not supported fully by FHIR HumanName datatype. */ - initials?: string; - _initials?: Element; + initials?: string|undefined; + _initials?: Element|undefined; /** * Used to code order of authors. */ - listOrder?: number; + listOrder?: number|undefined; /** * humanName.family can match MEDLINE-based lastName (used for surname or single name), humanName.given can match MEDLINE-based forename (used for remainder of name except for suffix), humanName.suffix can match MEDLINE-based suffix (eg 2nd, 3rd, Jr, Sr). */ - name?: HumanName; + name?: HumanName|undefined; /** * The role of the contributor (e.g. author, editor, reviewer). */ - role?: CodeableConcept; + role?: CodeableConcept|undefined; /** * Email or telephone contact methods for the author or contributor. */ - telecom?: ContactPoint[]; + telecom?: ContactPoint[]|undefined; } /** * Used to record a display of the author/contributor list without separate coding for each list member. @@ -7587,20 +7587,20 @@ export interface CitationCitedArtifactContributorshipSummary extends BackboneEle /** * Used to code the producer or rule for creating the display string. */ - source?: CodeableConcept; + source?: CodeableConcept|undefined; /** * The format for the display string. */ - style?: CodeableConcept; + style?: CodeableConcept|undefined; /** * Used most commonly to express an author list or a contributorship statement. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; /** * The display string for the author list, contributor list, or contributorship statement. */ value: string; - _value?: Element; + _value?: Element|undefined; } /** * This element is used to list authors and other contributors, their contact information, specific contributions, and summary statements. @@ -7609,16 +7609,16 @@ export interface CitationCitedArtifactContributorship extends BackboneElement { /** * If list is incomplete "et al" can be appended to Contributorship.summary.value for display purposes. */ - complete?: boolean; - _complete?: Element; + complete?: boolean|undefined; + _complete?: Element|undefined; /** * Used to report contributorship in individualized ways. */ - entry?: CitationCitedArtifactContributorshipEntry[]; + entry?: CitationCitedArtifactContributorshipEntry[]|undefined; /** * Used to record a display of the author/contributor list without separate coding for each list member. */ - summary?: CitationCitedArtifactContributorshipSummary[]; + summary?: CitationCitedArtifactContributorshipSummary[]|undefined; } /** * The article or artifact being described. @@ -7627,64 +7627,64 @@ export interface CitationCitedArtifact extends BackboneElement { /** * Summary of the article or artifact. */ - abstract?: CitationCitedArtifactAbstract[]; + abstract?: CitationCitedArtifactAbstract[]|undefined; /** * The assignment to an organizing scheme. */ - classification?: CitationCitedArtifactClassification[]; + classification?: CitationCitedArtifactClassification[]|undefined; /** * This element is used to list authors and other contributors, their contact information, specific contributions, and summary statements. */ - contributorship?: CitationCitedArtifactContributorship; + contributorship?: CitationCitedArtifactContributorship|undefined; /** * The status of the cited artifact. */ - currentState?: CodeableConcept[]; + currentState?: CodeableConcept[]|undefined; /** * When the cited artifact was accessed. */ - dateAccessed?: string; - _dateAccessed?: Element; + dateAccessed?: string|undefined; + _dateAccessed?: Element|undefined; /** * May include DOI, PMID, PMCID, etc. This element will contain unique identifiers that support de-duplication of citations. This identifier can be valid for only one citation resource. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Any additional information or content for the article or artifact. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * The component of the article or artifact. */ - part?: CitationCitedArtifactPart; + part?: CitationCitedArtifactPart|undefined; /** * A common use is a journal article with a publication date and pagination for a print version and a different publication date for the online version of the same article. */ - publicationForm?: CitationCitedArtifactPublicationForm[]; + publicationForm?: CitationCitedArtifactPublicationForm[]|undefined; /** * May include trial registry identifiers, e.g. NCT04372602 from clinicaltrials.gov. This identifier can be valid for multiple citation resources. */ - relatedIdentifier?: Identifier[]; + relatedIdentifier?: Identifier[]|undefined; /** * The artifact related to the cited artifact. */ - relatesTo?: CitationCitedArtifactRelatesTo[]; + relatesTo?: CitationCitedArtifactRelatesTo[]|undefined; /** * An effective date or period for a status of the cited artifact. */ - statusDate?: CitationCitedArtifactStatusDate[]; + statusDate?: CitationCitedArtifactStatusDate[]|undefined; /** * The title details of the article or artifact. */ - title?: CitationCitedArtifactTitle[]; + title?: CitationCitedArtifactTitle[]|undefined; /** * The defined version of the cited artifact. */ - version?: CitationCitedArtifactVersion; + version?: CitationCitedArtifactVersion|undefined; /** * Used for any URL for the article or artifact cited. */ - webLocation?: CitationCitedArtifactWebLocation[]; + webLocation?: CitationCitedArtifactWebLocation[]|undefined; } /** * The Citation Resource enables reference to any knowledge artifact for purposes of identification and attribution. The Citation Resource supports existing reference structures and developing publication practices such as versioning, expressing complex contributorship roles, and referencing computable resources. @@ -7695,132 +7695,132 @@ export interface Citation extends DomainResource { /** * The 'date' element may be more recent than the approval date because of minor changes or editorial corrections. */ - approvalDate?: string; - _approvalDate?: Element; + approvalDate?: string|undefined; + _approvalDate?: Element|undefined; /** * Who authored the Citation. */ - author?: ContactDetail[]; + author?: ContactDetail[]|undefined; /** * The article or artifact being described. */ - citedArtifact?: CitationCitedArtifact; + citedArtifact?: CitationCitedArtifact|undefined; /** * The assignment to an organizing scheme. */ - classification?: CitationClassification[]; + classification?: CitationClassification[]|undefined; /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * Use and/or publishing restrictions for the Citation, not for the cited artifact. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * The status of the citation. */ - currentState?: CodeableConcept[]; + currentState?: CodeableConcept[]|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the citation. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * This description can be used to capture details such as why the citation was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the citation as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the citation is presumed to be the predominant language in the place the citation was created). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Who edited the Citation. */ - editor?: ContactDetail[]; + editor?: ContactDetail[]|undefined; /** * The effective period for a citation determines when the content is applicable for usage and is independent of publication and review dates. For example, a measure intended to be used for the year 2016 might be published in 2015. */ - effectivePeriod?: Period; + effectivePeriod?: Period|undefined; /** * Who endorsed the Citation. */ - endorser?: ContactDetail[]; + endorser?: ContactDetail[]|undefined; /** * Allows filtering of citations that are appropriate for use versus not. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * May include DOI, PMID, PMCID, etc. This element will contain unique identifiers that support de-duplication of citations. This identifier can be valid for only one citation resource. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * It may be possible for the citation to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * If specified, this date follows the original approval date. */ - lastReviewDate?: string; - _lastReviewDate?: Element; + lastReviewDate?: string|undefined; + _lastReviewDate?: Element|undefined; /** * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Used for general notes and annotations not coded elsewhere. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * Usually an organization but may be an individual. The publisher (or steward) of the citation is the organization or individual primarily responsible for the maintenance and upkeep of the citation. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the citation. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * This element does not describe the usage of the citation. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this citation. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * Artifact related to the Citation Resource. */ - relatesTo?: CitationRelatesTo[]; + relatesTo?: CitationRelatesTo[]|undefined; /** * Who reviewed the Citation. */ - reviewer?: ContactDetail[]; + reviewer?: ContactDetail[]|undefined; /** * Allows filtering of summarys s that are appropriate for use versus not. */ status: CitationStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * An effective date or period for a status of the citation. */ - statusDate?: CitationStatusDate[]; + statusDate?: CitationStatusDate[]|undefined; /** * A human-readable display of the citation. */ - summary?: CitationSummary[]; + summary?: CitationSummary[]|undefined; /** * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different citation instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the citation with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the Citation.status field @@ -7838,15 +7838,15 @@ export interface ClaimRelated extends BackboneElement { /** * Reference to a related claim. */ - claim?: Reference; + claim?: Reference|undefined; /** * For example, Property/Casualty insurer claim # or Workers Compensation case # . */ - reference?: Identifier; + reference?: Identifier|undefined; /** * For example, prior claim or umbrella. */ - relationship?: CodeableConcept; + relationship?: CodeableConcept|undefined; } /** * Often providers agree to receive the benefits payable to reduce the near-term costs to the patient. The insurer may decline to pay the provider and choose to pay the subscriber instead. @@ -7855,7 +7855,7 @@ export interface ClaimPayee extends BackboneElement { /** * Not required if the payee is 'subscriber' or 'provider'. */ - party?: Reference; + party?: Reference|undefined; /** * Type of Party to be reimbursed: subscriber, provider, other. */ @@ -7872,16 +7872,16 @@ export interface ClaimCareTeam extends BackboneElement { /** * The qualification of the practitioner which is applicable for this service. */ - qualification?: CodeableConcept; + qualification?: CodeableConcept|undefined; /** * Responsible might not be required when there is only a single provider listed. */ - responsible?: boolean; - _responsible?: Element; + responsible?: boolean|undefined; + _responsible?: Element|undefined; /** * Role might not be required when there is only a single provider listed. */ - role?: CodeableConcept; + role?: CodeableConcept|undefined; /** * A number to uniquely identify care team entries. */ @@ -7898,11 +7898,11 @@ export interface ClaimSupportingInfo extends BackboneElement { /** * System and code pertaining to the specific information regarding special conditions relating to the setting, treatment or patient for which care is sought. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * For example: the reason for the additional stay, or why a tooth is missing. */ - reason?: CodeableConcept; + reason?: CodeableConcept|undefined; /** * A number to uniquely identify supporting information entries. */ @@ -7910,34 +7910,34 @@ export interface ClaimSupportingInfo extends BackboneElement { /** * The date when or period to which this information refers. */ - timingDate?: string; - _timingDate?: Element; + timingDate?: string|undefined; + _timingDate?: Element|undefined; /** * The date when or period to which this information refers. */ - timingPeriod?: Period; + timingPeriod?: Period|undefined; /** * Could be used to provide references to other resources, document. For example could contain a PDF in an Attachment of the Police Report for an Accident. */ - valueBoolean?: boolean; - _valueBoolean?: Element; + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; /** * Could be used to provide references to other resources, document. For example could contain a PDF in an Attachment of the Police Report for an Accident. */ - valueString?: string; - _valueString?: Element; + valueString?: string|undefined; + _valueString?: Element|undefined; /** * Could be used to provide references to other resources, document. For example could contain a PDF in an Attachment of the Police Report for an Accident. */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; /** * Could be used to provide references to other resources, document. For example could contain a PDF in an Attachment of the Police Report for an Accident. */ - valueAttachment?: Attachment; + valueAttachment?: Attachment|undefined; /** * Could be used to provide references to other resources, document. For example could contain a PDF in an Attachment of the Police Report for an Accident. */ - valueReference?: Reference; + valueReference?: Reference|undefined; } /** * Information about diagnoses relevant to the claim items. @@ -7946,19 +7946,19 @@ export interface ClaimDiagnosis extends BackboneElement { /** * The nature of illness or problem in a coded form or as a reference to an external defined Condition. */ - diagnosisCodeableConcept?: CodeableConcept; + diagnosisCodeableConcept?: CodeableConcept|undefined; /** * The nature of illness or problem in a coded form or as a reference to an external defined Condition. */ - diagnosisReference?: Reference; + diagnosisReference?: Reference|undefined; /** * Indication of whether the diagnosis was present on admission to a facility. */ - onAdmission?: CodeableConcept; + onAdmission?: CodeableConcept|undefined; /** * For example DRG (Diagnosis Related Group) or a bundled billing code. A patient may have a diagnosis of a Myocardial Infarction and a DRG for HeartAttack would be assigned. The Claim item (and possible subsequent claims) would refer to the DRG for those line items that were for services related to the heart attack event. */ - packageCode?: CodeableConcept; + packageCode?: CodeableConcept|undefined; /** * Diagnosis are presented in list order to their expected importance: primary, secondary, etc. */ @@ -7966,7 +7966,7 @@ export interface ClaimDiagnosis extends BackboneElement { /** * For example: admitting, primary, secondary, discharge. */ - type?: CodeableConcept[]; + type?: CodeableConcept[]|undefined; } /** * Procedures performed on the patient relevant to the billing items with the claim. @@ -7975,16 +7975,16 @@ export interface ClaimProcedure extends BackboneElement { /** * Date and optionally time the procedure was performed. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * The code or reference to a Procedure resource which identifies the clinical intervention performed. */ - procedureCodeableConcept?: CodeableConcept; + procedureCodeableConcept?: CodeableConcept|undefined; /** * The code or reference to a Procedure resource which identifies the clinical intervention performed. */ - procedureReference?: Reference; + procedureReference?: Reference|undefined; /** * A number to uniquely identify procedure entries. */ @@ -7992,11 +7992,11 @@ export interface ClaimProcedure extends BackboneElement { /** * For example: primary, secondary. */ - type?: CodeableConcept[]; + type?: CodeableConcept[]|undefined; /** * Unique Device Identifiers associated with this line item. */ - udi?: Reference[]; + udi?: Reference[]|undefined; } /** * All insurance coverages for the patient which may be applicable for reimbursement, of the products and services listed in the claim, are typically provided in the claim to allow insurers to confirm the ordering of the insurance coverages relative to local 'coordination of benefit' rules. One coverage (and only one) with 'focal=true' is to be used in the adjudication of this claim. Coverages appearing before the focal Coverage in the list, and where 'Coverage.subrogation=false', should provide a reference to the ClaimResponse containing the adjudication results of the prior claim. @@ -8005,12 +8005,12 @@ export interface ClaimInsurance extends BackboneElement { /** * A business agreement number established between the provider and the insurer for special business processing purposes. */ - businessArrangement?: string; - _businessArrangement?: Element; + businessArrangement?: string|undefined; + _businessArrangement?: Element|undefined; /** * Must not be specified when 'focal=true' for this insurance. */ - claimResponse?: Reference; + claimResponse?: Reference|undefined; /** * Reference to the insurance card level information contained in the Coverage resource. The coverage issuing insurer will use these details to locate the patient's actual coverage within the insurer's information system. */ @@ -8019,16 +8019,16 @@ export interface ClaimInsurance extends BackboneElement { * A patient may (will) have multiple insurance policies which provide reimbursement for healthcare services and products. For example a person may also be covered by their spouse's policy and both appear in the list (and may be from the same insurer). This flag will be set to true for only one of the listed policies and that policy will be used for adjudicating this claim. Other claims would be created to request adjudication against the other listed policies. */ focal: boolean; - _focal?: Element; + _focal?: Element|undefined; /** * Only required in jurisdictions where insurers, rather than the provider, are required to send claims to insurers that appear after them in the list. This element is not required when 'subrogation=true'. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * This value is an alphanumeric string that may be provided over the phone, via text, via paper, or within a ClaimResponse resource and is not a FHIR Identifier. */ - preAuthRef?: string[]; - _preAuthRef?: Element[]; + preAuthRef?: string[]|undefined; + _preAuthRef?: Element[]|undefined; /** * A number to uniquely identify insurance entries and provide a sequence of coverages to convey coordination of benefit order. */ @@ -8042,19 +8042,19 @@ export interface ClaimAccident extends BackboneElement { * The date of the accident has to precede the dates of the products and services but within a reasonable timeframe. */ date: string; - _date?: Element; + _date?: Element|undefined; /** * The physical location of the accident event. */ - locationAddress?: Address; + locationAddress?: Address|undefined; /** * The physical location of the accident event. */ - locationReference?: Reference; + locationReference?: Reference|undefined; /** * The type or context of the accident event for the purposes of selection of potential insurance coverages and determination of coordination between insurers. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * A claim detail line. Either a simple (a product or service) or a 'group' of sub-details which are simple items. @@ -8063,19 +8063,19 @@ export interface ClaimItemDetailSubDetail extends BackboneElement { /** * Examples include Medical Care, Periodontics, Renal Dialysis, Vision Coverage. */ - category?: CodeableConcept; + category?: CodeableConcept|undefined; /** * To show a 10% senior's discount, the value entered is: 0.90 (1.00 - 0.10). */ - factor?: number; + factor?: number|undefined; /** * For example in Oral whether the treatment is cosmetic or associated with TMJ, or for Medical whether the treatment was outside the clinic or out of office hours. */ - modifier?: CodeableConcept[]; + modifier?: CodeableConcept[]|undefined; /** * For example, the formula: quantity * unitPrice * factor = net. Quantity and factor are assumed to be 1 if not supplied. */ - net?: Money; + net?: Money|undefined; /** * If this is an actual service or product line, i.e. not a Group, then use code to indicate the Professional Service or Product supplied (e.g. CTP, HCPCS, USCLS, ICD10, NCPDP, DIN, RxNorm, ACHI, CCI). If a grouping item then use a group code to indicate the type of thing being grouped e.g. 'glasses' or 'compound'. */ @@ -8083,15 +8083,15 @@ export interface ClaimItemDetailSubDetail extends BackboneElement { /** * For example: Neonatal program, child dental program or drug users recovery program. */ - programCode?: CodeableConcept[]; + programCode?: CodeableConcept[]|undefined; /** * The number of repetitions of a service or product. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * The type of revenue or cost center providing the product and/or service. */ - revenue?: CodeableConcept; + revenue?: CodeableConcept|undefined; /** * A number to uniquely identify item entries. */ @@ -8099,11 +8099,11 @@ export interface ClaimItemDetailSubDetail extends BackboneElement { /** * Unique Device Identifiers associated with this line item. */ - udi?: Reference[]; + udi?: Reference[]|undefined; /** * If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group. */ - unitPrice?: Money; + unitPrice?: Money|undefined; } /** * A claim detail line. Either a simple (a product or service) or a 'group' of sub-details which are simple items. @@ -8112,19 +8112,19 @@ export interface ClaimItemDetail extends BackboneElement { /** * Examples include Medical Care, Periodontics, Renal Dialysis, Vision Coverage. */ - category?: CodeableConcept; + category?: CodeableConcept|undefined; /** * To show a 10% senior's discount, the value entered is: 0.90 (1.00 - 0.10). */ - factor?: number; + factor?: number|undefined; /** * For example in Oral whether the treatment is cosmetic or associated with TMJ, or for Medical whether the treatment was outside the clinic or out of office hours. */ - modifier?: CodeableConcept[]; + modifier?: CodeableConcept[]|undefined; /** * For example, the formula: quantity * unitPrice * factor = net. Quantity and factor are assumed to be 1 if not supplied. */ - net?: Money; + net?: Money|undefined; /** * If this is an actual service or product line, i.e. not a Group, then use code to indicate the Professional Service or Product supplied (e.g. CTP, HCPCS, USCLS, ICD10, NCPDP, DIN, RxNorm, ACHI, CCI). If a grouping item then use a group code to indicate the type of thing being grouped e.g. 'glasses' or 'compound'. */ @@ -8132,15 +8132,15 @@ export interface ClaimItemDetail extends BackboneElement { /** * For example: Neonatal program, child dental program or drug users recovery program. */ - programCode?: CodeableConcept[]; + programCode?: CodeableConcept[]|undefined; /** * The number of repetitions of a service or product. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * The type of revenue or cost center providing the product and/or service. */ - revenue?: CodeableConcept; + revenue?: CodeableConcept|undefined; /** * A number to uniquely identify item entries. */ @@ -8148,15 +8148,15 @@ export interface ClaimItemDetail extends BackboneElement { /** * A claim detail line. Either a simple (a product or service) or a 'group' of sub-details which are simple items. */ - subDetail?: ClaimItemDetailSubDetail[]; + subDetail?: ClaimItemDetailSubDetail[]|undefined; /** * Unique Device Identifiers associated with this line item. */ - udi?: Reference[]; + udi?: Reference[]|undefined; /** * If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group. */ - unitPrice?: Money; + unitPrice?: Money|undefined; } /** * A claim line. Either a simple product or service or a 'group' of details which can each be a simple items or groups of sub-details. @@ -8165,59 +8165,59 @@ export interface ClaimItem extends BackboneElement { /** * For example: Providing a tooth code, allows an insurer to identify a provider performing a filling on a tooth that was previously removed. */ - bodySite?: CodeableConcept; + bodySite?: CodeableConcept|undefined; /** * CareTeam members related to this service or product. */ - careTeamSequence?: number[]; + careTeamSequence?: number[]|undefined; /** * Examples include Medical Care, Periodontics, Renal Dialysis, Vision Coverage. */ - category?: CodeableConcept; + category?: CodeableConcept|undefined; /** * A claim detail line. Either a simple (a product or service) or a 'group' of sub-details which are simple items. */ - detail?: ClaimItemDetail[]; + detail?: ClaimItemDetail[]|undefined; /** * Diagnosis applicable for this service or product. */ - diagnosisSequence?: number[]; + diagnosisSequence?: number[]|undefined; /** * This will typically be the encounter the event occurred within, but some activities may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter. */ - encounter?: Reference[]; + encounter?: Reference[]|undefined; /** * To show a 10% senior's discount, the value entered is: 0.90 (1.00 - 0.10). */ - factor?: number; + factor?: number|undefined; /** * Exceptions, special conditions and supporting information applicable for this service or product. */ - informationSequence?: number[]; + informationSequence?: number[]|undefined; /** * Where the product or service was provided. */ - locationCodeableConcept?: CodeableConcept; + locationCodeableConcept?: CodeableConcept|undefined; /** * Where the product or service was provided. */ - locationAddress?: Address; + locationAddress?: Address|undefined; /** * Where the product or service was provided. */ - locationReference?: Reference; + locationReference?: Reference|undefined; /** * For example in Oral whether the treatment is cosmetic or associated with TMJ, or for Medical whether the treatment was outside the clinic or outside of office hours. */ - modifier?: CodeableConcept[]; + modifier?: CodeableConcept[]|undefined; /** * For example, the formula: quantity * unitPrice * factor = net. Quantity and factor are assumed to be 1 if not supplied. */ - net?: Money; + net?: Money|undefined; /** * Procedures applicable for this service or product. */ - procedureSequence?: number[]; + procedureSequence?: number[]|undefined; /** * If this is an actual service or product line, i.e. not a Group, then use code to indicate the Professional Service or Product supplied (e.g. CTP, HCPCS, USCLS, ICD10, NCPDP, DIN, RxNorm, ACHI, CCI). If a grouping item then use a group code to indicate the type of thing being grouped e.g. 'glasses' or 'compound'. */ @@ -8225,15 +8225,15 @@ export interface ClaimItem extends BackboneElement { /** * For example: Neonatal program, child dental program or drug users recovery program. */ - programCode?: CodeableConcept[]; + programCode?: CodeableConcept[]|undefined; /** * The number of repetitions of a service or product. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * The type of revenue or cost center providing the product and/or service. */ - revenue?: CodeableConcept; + revenue?: CodeableConcept|undefined; /** * A number to uniquely identify item entries. */ @@ -8241,24 +8241,24 @@ export interface ClaimItem extends BackboneElement { /** * The date or dates when the service or product was supplied, performed or completed. */ - servicedDate?: string; - _servicedDate?: Element; + servicedDate?: string|undefined; + _servicedDate?: Element|undefined; /** * The date or dates when the service or product was supplied, performed or completed. */ - servicedPeriod?: Period; + servicedPeriod?: Period|undefined; /** * A region or surface of the bodySite, e.g. limb region or tooth surface(s). */ - subSite?: CodeableConcept[]; + subSite?: CodeableConcept[]|undefined; /** * Unique Device Identifiers associated with this line item. */ - udi?: Reference[]; + udi?: Reference[]|undefined; /** * If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group. */ - unitPrice?: Money; + unitPrice?: Money|undefined; } /** * A provider issued list of professional services and products which have been provided, or are to be provided, to a patient which is sent to an insurer for reimbursement. @@ -8269,40 +8269,40 @@ export interface Claim extends DomainResource { /** * Details of an accident which resulted in injuries which required the products and services listed in the claim. */ - accident?: ClaimAccident; + accident?: ClaimAccident|undefined; /** * Typically this would be today or in the past for a claim, and today or in the future for preauthorizations and predeterminations. Typically line item dates of service should fall within the billing period if one is specified. */ - billablePeriod?: Period; + billablePeriod?: Period|undefined; /** * The members of the team who provided the products and services. */ - careTeam?: ClaimCareTeam[]; + careTeam?: ClaimCareTeam[]|undefined; /** * This field is independent of the date of creation of the resource as it may reflect the creation date of a source document prior to digitization. Typically for claims all services must be completed as of this date. */ created: string; - _created?: Element; + _created?: Element|undefined; /** * Information about diagnoses relevant to the claim items. */ - diagnosis?: ClaimDiagnosis[]; + diagnosis?: ClaimDiagnosis[]|undefined; /** * Individual who created the claim, predetermination or preauthorization. */ - enterer?: Reference; + enterer?: Reference|undefined; /** * Facility where the services were provided. */ - facility?: Reference; + facility?: Reference|undefined; /** * This field is only used for preauthorizations. */ - fundsReserve?: CodeableConcept; + fundsReserve?: CodeableConcept|undefined; /** * A unique identifier assigned to this claim. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * All insurance coverages for the patient which may be applicable for reimbursement, of the products and services listed in the claim, are typically provided in the claim to allow insurers to confirm the ordering of the insurance coverages relative to local 'coordination of benefit' rules. One coverage (and only one) with 'focal=true' is to be used in the adjudication of this claim. Coverages appearing before the focal Coverage in the list, and where 'Coverage.subrogation=false', should provide a reference to the ClaimResponse containing the adjudication results of the prior claim. */ @@ -8310,15 +8310,15 @@ export interface Claim extends DomainResource { /** * The Insurer who is target of the request. */ - insurer?: Reference; + insurer?: Reference|undefined; /** * A claim line. Either a simple product or service or a 'group' of details which can each be a simple items or groups of sub-details. */ - item?: ClaimItem[]; + item?: ClaimItem[]|undefined; /** * For example, a physician may prescribe a medication which the pharmacy determines is contraindicated, or for which the patient has an intolerance, and therefore issues a new prescription for an alternate medication which has the same therapeutic intent. The prescription from the pharmacy becomes the 'prescription' and that from the physician becomes the 'original prescription'. */ - originalPrescription?: Reference; + originalPrescription?: Reference|undefined; /** * The party to whom the professional services and/or products have been supplied or are being considered and for whom actual or forecast reimbursement is sought. */ @@ -8326,11 +8326,11 @@ export interface Claim extends DomainResource { /** * Often providers agree to receive the benefits payable to reduce the near-term costs to the patient. The insurer may decline to pay the provider and choose to pay the subscriber instead. */ - payee?: ClaimPayee; + payee?: ClaimPayee|undefined; /** * Prescription to support the dispensing of pharmacy, device or vision products. */ - prescription?: Reference; + prescription?: Reference|undefined; /** * If a claim processor is unable to complete the processing as per the priority then they should generate and error and not process the request. */ @@ -8338,7 +8338,7 @@ export interface Claim extends DomainResource { /** * Procedures performed on the patient relevant to the billing items with the claim. */ - procedure?: ClaimProcedure[]; + procedure?: ClaimProcedure[]|undefined; /** * Typically this field would be 1..1 where this party is responsible for the claim but not necessarily professionally responsible for the provision of the individual products and services listed below. */ @@ -8346,28 +8346,28 @@ export interface Claim extends DomainResource { /** * The referral resource which lists the date, practitioner, reason and other supporting information. */ - referral?: Reference; + referral?: Reference|undefined; /** * For example, for the original treatment and follow-up exams. */ - related?: ClaimRelated[]; + related?: ClaimRelated[]|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: ClaimStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * This may contain the local bill type codes, for example the US UB-04 bill type code or the CMS bill type. */ - subType?: CodeableConcept; + subType?: CodeableConcept|undefined; /** * Often there are multiple jurisdiction specific valuesets which are required. */ - supportingInfo?: ClaimSupportingInfo[]; + supportingInfo?: ClaimSupportingInfo[]|undefined; /** * The total value of the all the items in the claim. */ - total?: Money; + total?: Money|undefined; /** * The majority of jurisdictions use: oral, pharmacy, vision, professional and institutional, or variants on those terms, as the general styles of claims. The valueset is extensible to accommodate other jurisdictional requirements. */ @@ -8376,7 +8376,7 @@ export interface Claim extends DomainResource { * A code to indicate whether the nature of the request is: to request adjudication of products and services previously rendered; or requesting authorization and adjudication for provision in the future; or requesting the non-binding adjudication of the listed products and services which could be provided in the future. */ use: ClaimUseCodes; - _use?: Element; + _use?: Element|undefined; } /** * Code Values for the Claim.status field @@ -8402,7 +8402,7 @@ export interface ClaimResponseItemAdjudication extends BackboneElement { /** * For example: amount submitted, eligible amount, co-payment, and benefit payable. */ - amount?: Money; + amount?: Money|undefined; /** * For example codes indicating: Co-Pay, deductible, eligible, benefit, tax, etc. */ @@ -8410,11 +8410,11 @@ export interface ClaimResponseItemAdjudication extends BackboneElement { /** * For example may indicate that the funds for this benefit type have been exhausted. */ - reason?: CodeableConcept; + reason?: CodeableConcept|undefined; /** * For example: eligible percentage or co-payment percentage. */ - value?: number; + value?: number|undefined; } /** * A sub-detail adjudication of a simple product or service. @@ -8423,11 +8423,11 @@ export interface ClaimResponseItemDetailSubDetail extends BackboneElement { /** * The adjudication results. */ - adjudication?: ClaimResponseItemAdjudication[]; + adjudication?: ClaimResponseItemAdjudication[]|undefined; /** * The numbers associated with notes below which apply to the adjudication of this item. */ - noteNumber?: number[]; + noteNumber?: number[]|undefined; /** * A number to uniquely reference the claim sub-detail entry. */ @@ -8448,11 +8448,11 @@ export interface ClaimResponseItemDetail extends BackboneElement { /** * The numbers associated with notes below which apply to the adjudication of this item. */ - noteNumber?: number[]; + noteNumber?: number[]|undefined; /** * A sub-detail adjudication of a simple product or service. */ - subDetail?: ClaimResponseItemDetailSubDetail[]; + subDetail?: ClaimResponseItemDetailSubDetail[]|undefined; } /** * A claim line. Either a simple (a product or service) or a 'group' of details which can also be a simple items or groups of sub-details. @@ -8465,7 +8465,7 @@ export interface ClaimResponseItem extends BackboneElement { /** * A claim detail. Either a simple (a product or service) or a 'group' of sub-details which are simple items. */ - detail?: ClaimResponseItemDetail[]; + detail?: ClaimResponseItemDetail[]|undefined; /** * A number to uniquely reference the claim item entries. */ @@ -8473,7 +8473,7 @@ export interface ClaimResponseItem extends BackboneElement { /** * The numbers associated with notes below which apply to the adjudication of this item. */ - noteNumber?: number[]; + noteNumber?: number[]|undefined; } /** * The third-tier service adjudications for payor added services. @@ -8486,19 +8486,19 @@ export interface ClaimResponseAddItemDetailSubDetail extends BackboneElement { /** * To show a 10% senior's discount, the value entered is: 0.90 (1.00 - 0.10). */ - factor?: number; + factor?: number|undefined; /** * For example in Oral whether the treatment is cosmetic or associated with TMJ, or for Medical whether the treatment was outside the clinic or outside of office hours. */ - modifier?: CodeableConcept[]; + modifier?: CodeableConcept[]|undefined; /** * For example, the formula: quantity * unitPrice * factor = net. Quantity and factor are assumed to be 1 if not supplied. */ - net?: Money; + net?: Money|undefined; /** * The numbers associated with notes below which apply to the adjudication of this item. */ - noteNumber?: number[]; + noteNumber?: number[]|undefined; /** * If this is an actual service or product line, i.e. not a Group, then use code to indicate the Professional Service or Product supplied (e.g. CTP, HCPCS, USCLS, ICD10, NCPDP, DIN, RxNorm, ACHI, CCI). If a grouping item then use a group code to indicate the type of thing being grouped e.g. 'glasses' or 'compound'. */ @@ -8506,11 +8506,11 @@ export interface ClaimResponseAddItemDetailSubDetail extends BackboneElement { /** * The number of repetitions of a service or product. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group. */ - unitPrice?: Money; + unitPrice?: Money|undefined; } /** * The second-tier service adjudications for payor added services. @@ -8523,19 +8523,19 @@ export interface ClaimResponseAddItemDetail extends BackboneElement { /** * To show a 10% senior's discount, the value entered is: 0.90 (1.00 - 0.10). */ - factor?: number; + factor?: number|undefined; /** * For example in Oral whether the treatment is cosmetic or associated with TMJ, or for Medical whether the treatment was outside the clinic or outside of office hours. */ - modifier?: CodeableConcept[]; + modifier?: CodeableConcept[]|undefined; /** * For example, the formula: quantity * unitPrice * factor = net. Quantity and factor are assumed to be 1 if not supplied. */ - net?: Money; + net?: Money|undefined; /** * The numbers associated with notes below which apply to the adjudication of this item. */ - noteNumber?: number[]; + noteNumber?: number[]|undefined; /** * If this is an actual service or product line, i.e. not a Group, then use code to indicate the Professional Service or Product supplied (e.g. CTP, HCPCS, USCLS, ICD10, NCPDP, DIN, RxNorm, ACHI, CCI). If a grouping item then use a group code to indicate the type of thing being grouped e.g. 'glasses' or 'compound'. */ @@ -8543,15 +8543,15 @@ export interface ClaimResponseAddItemDetail extends BackboneElement { /** * The number of repetitions of a service or product. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * The third-tier service adjudications for payor added services. */ - subDetail?: ClaimResponseAddItemDetailSubDetail[]; + subDetail?: ClaimResponseAddItemDetailSubDetail[]|undefined; /** * If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group. */ - unitPrice?: Money; + unitPrice?: Money|undefined; } /** * The first-tier service adjudications for payor added product or service lines. @@ -8564,47 +8564,47 @@ export interface ClaimResponseAddItem extends BackboneElement { /** * For example: Providing a tooth code allows an insurer to identify a provider performing a filling on a tooth that was previously removed. */ - bodySite?: CodeableConcept; + bodySite?: CodeableConcept|undefined; /** * The second-tier service adjudications for payor added services. */ - detail?: ClaimResponseAddItemDetail[]; + detail?: ClaimResponseAddItemDetail[]|undefined; /** * The sequence number of the details within the claim item which this line is intended to replace. */ - detailSequence?: number[]; + detailSequence?: number[]|undefined; /** * To show a 10% senior's discount, the value entered is: 0.90 (1.00 - 0.10). */ - factor?: number; + factor?: number|undefined; /** * Claim items which this service line is intended to replace. */ - itemSequence?: number[]; + itemSequence?: number[]|undefined; /** * Where the product or service was provided. */ - locationCodeableConcept?: CodeableConcept; + locationCodeableConcept?: CodeableConcept|undefined; /** * Where the product or service was provided. */ - locationAddress?: Address; + locationAddress?: Address|undefined; /** * Where the product or service was provided. */ - locationReference?: Reference; + locationReference?: Reference|undefined; /** * For example in Oral whether the treatment is cosmetic or associated with TMJ, or for Medical whether the treatment was outside the clinic or outside of office hours. */ - modifier?: CodeableConcept[]; + modifier?: CodeableConcept[]|undefined; /** * For example, the formula: quantity * unitPrice * factor = net. Quantity and factor are assumed to be 1 if not supplied. */ - net?: Money; + net?: Money|undefined; /** * The numbers associated with notes below which apply to the adjudication of this item. */ - noteNumber?: number[]; + noteNumber?: number[]|undefined; /** * If this is an actual service or product line, i.e. not a Group, then use code to indicate the Professional Service or Product supplied (e.g. CTP, HCPCS, USCLS, ICD10, NCPDP, DIN, RxNorm, ACHI, CCI). If a grouping item then use a group code to indicate the type of thing being grouped e.g. 'glasses' or 'compound'. */ @@ -8612,36 +8612,36 @@ export interface ClaimResponseAddItem extends BackboneElement { /** * For example: Neonatal program, child dental program or drug users recovery program. */ - programCode?: CodeableConcept[]; + programCode?: CodeableConcept[]|undefined; /** * The providers who are authorized for the services rendered to the patient. */ - provider?: Reference[]; + provider?: Reference[]|undefined; /** * The number of repetitions of a service or product. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * The date or dates when the service or product was supplied, performed or completed. */ - servicedDate?: string; - _servicedDate?: Element; + servicedDate?: string|undefined; + _servicedDate?: Element|undefined; /** * The date or dates when the service or product was supplied, performed or completed. */ - servicedPeriod?: Period; + servicedPeriod?: Period|undefined; /** * The sequence number of the sub-details within the details within the claim item which this line is intended to replace. */ - subdetailSequence?: number[]; + subdetailSequence?: number[]|undefined; /** * A region or surface of the bodySite, e.g. limb region or tooth surface(s). */ - subSite?: CodeableConcept[]; + subSite?: CodeableConcept[]|undefined; /** * If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group. */ - unitPrice?: Money; + unitPrice?: Money|undefined; } /** * Totals for amounts submitted, co-pays, benefits payable etc. @@ -8663,11 +8663,11 @@ export interface ClaimResponsePayment extends BackboneElement { /** * Insurers will deduct amounts owing from the provider (adjustment), such as a prior overpayment, from the amount owing to the provider (benefits payable) when payment is made to the provider. */ - adjustment?: Money; + adjustment?: Money|undefined; /** * Reason for the payment adjustment. */ - adjustmentReason?: CodeableConcept; + adjustmentReason?: CodeableConcept|undefined; /** * Benefits payable less any payment adjustment. */ @@ -8675,12 +8675,12 @@ export interface ClaimResponsePayment extends BackboneElement { /** * Estimated date the payment will be issued or the actual issue date of payment. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * For example: EFT number or check number. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * Whether this represents partial or complete payment of the benefits payable. */ @@ -8693,21 +8693,21 @@ export interface ClaimResponseProcessNote extends BackboneElement { /** * Only required if the language is different from the resource language. */ - language?: CodeableConcept; + language?: CodeableConcept|undefined; /** * A number to uniquely identify a note entry. */ - number?: number; + number?: number|undefined; /** * The explanation or description associated with the processing. */ text: string; - _text?: Element; + _text?: Element|undefined; /** * The business purpose of the note text. */ - type?: ClaimResponseProcessNoteTypeCodes; - _type?: Element; + type?: ClaimResponseProcessNoteTypeCodes|undefined; + _type?: Element|undefined; } /** * Code Values for the ClaimResponse.processNote.type field @@ -8724,12 +8724,12 @@ export interface ClaimResponseInsurance extends BackboneElement { /** * A business agreement number established between the provider and the insurer for special business processing purposes. */ - businessArrangement?: string; - _businessArrangement?: Element; + businessArrangement?: string|undefined; + _businessArrangement?: Element|undefined; /** * Must not be specified when 'focal=true' for this insurance. */ - claimResponse?: Reference; + claimResponse?: Reference|undefined; /** * Reference to the insurance card level information contained in the Coverage resource. The coverage issuing insurer will use these details to locate the patient's actual coverage within the insurer's information system. */ @@ -8738,7 +8738,7 @@ export interface ClaimResponseInsurance extends BackboneElement { * A patient may (will) have multiple insurance policies which provide reimbursement for healthcare services and products. For example a person may also be covered by their spouse's policy and both appear in the list (and may be from the same insurer). This flag will be set to true for only one of the listed policies and that policy will be used for adjudicating this claim. Other claims would be created to request adjudication against the other listed policies. */ focal: boolean; - _focal?: Element; + _focal?: Element|undefined; /** * A number to uniquely identify insurance entries and provide a sequence of coverages to convey coordination of benefit order. */ @@ -8755,15 +8755,15 @@ export interface ClaimResponseError extends BackboneElement { /** * The sequence number of the detail within the line item submitted which contains the error. This value is omitted when the error occurs outside of the item structure. */ - detailSequence?: number; + detailSequence?: number|undefined; /** * The sequence number of the line item submitted which contains the error. This value is omitted when the error occurs outside of the item structure. */ - itemSequence?: number; + itemSequence?: number|undefined; /** * The sequence number of the sub-detail within the detail within the line item submitted which contains the error. This value is omitted when the error occurs outside of the item structure. */ - subDetailSequence?: number; + subDetailSequence?: number|undefined; } /** * This resource provides the adjudication details from the processing of a Claim resource. @@ -8774,49 +8774,49 @@ export interface ClaimResponse extends DomainResource { /** * The first-tier service adjudications for payor added product or service lines. */ - addItem?: ClaimResponseAddItem[]; + addItem?: ClaimResponseAddItem[]|undefined; /** * The adjudication results which are presented at the header level rather than at the line-item or add-item levels. */ - adjudication?: ClaimResponseItemAdjudication[]; + adjudication?: ClaimResponseItemAdjudication[]|undefined; /** * For example: professional reports, documents, images, clinical resources, or accident reports. */ - communicationRequest?: Reference[]; + communicationRequest?: Reference[]|undefined; /** * The date this resource was created. */ created: string; - _created?: Element; + _created?: Element|undefined; /** * A human readable description of the status of the adjudication. */ - disposition?: string; - _disposition?: Element; + disposition?: string|undefined; + _disposition?: Element|undefined; /** * If the request contains errors then an error element should be provided and no adjudication related sections (item, addItem, or payment) should be present. */ - error?: ClaimResponseError[]; + error?: ClaimResponseError[]|undefined; /** * Needed to permit insurers to include the actual form. */ - form?: Attachment; + form?: Attachment|undefined; /** * May be needed to identify specific jurisdictional forms. */ - formCode?: CodeableConcept; + formCode?: CodeableConcept|undefined; /** * Fund would be release by a future claim quoting the preAuthRef of this response. Examples of values include: provider, patient, none. */ - fundsReserve?: CodeableConcept; + fundsReserve?: CodeableConcept|undefined; /** * A unique identifier assigned to this claim response. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * All insurance coverages for the patient which may be applicable for reimbursement, of the products and services listed in the claim, are typically provided in the claim to allow insurers to confirm the ordering of the insurance coverages relative to local 'coordination of benefit' rules. One coverage (and only one) with 'focal=true' is to be used in the adjudication of this claim. Coverages appearing before the focal Coverage in the list, and where 'subrogation=false', should provide a reference to the ClaimResponse containing the adjudication results of the prior claim. */ - insurance?: ClaimResponseInsurance[]; + insurance?: ClaimResponseInsurance[]|undefined; /** * The party responsible for authorization, adjudication and reimbursement. */ @@ -8824,12 +8824,12 @@ export interface ClaimResponse extends DomainResource { /** * A claim line. Either a simple (a product or service) or a 'group' of details which can also be a simple items or groups of sub-details. */ - item?: ClaimResponseItem[]; + item?: ClaimResponseItem[]|undefined; /** * The resource may be used to indicate that: the request has been held (queued) for processing; that it has been processed and errors found (error); that no errors were found and that some of the adjudication has been undertaken (partial) or that all of the adjudication has been undertaken (complete). */ outcome: ClaimResponseOutcomeCodes; - _outcome?: Element; + _outcome?: Element|undefined; /** * The party to whom the professional services and/or products have been supplied or are being considered and for whom actual for facast reimbursement is sought. */ @@ -8837,45 +8837,45 @@ export interface ClaimResponse extends DomainResource { /** * Type of Party to be reimbursed: subscriber, provider, other. */ - payeeType?: CodeableConcept; + payeeType?: CodeableConcept|undefined; /** * Payment details for the adjudication of the claim. */ - payment?: ClaimResponsePayment; + payment?: ClaimResponsePayment|undefined; /** * The time frame during which this authorization is effective. */ - preAuthPeriod?: Period; + preAuthPeriod?: Period|undefined; /** * This value is only present on preauthorization adjudications. */ - preAuthRef?: string; - _preAuthRef?: Element; + preAuthRef?: string|undefined; + _preAuthRef?: Element|undefined; /** * A note that describes or explains adjudication results in a human readable form. */ - processNote?: ClaimResponseProcessNote[]; + processNote?: ClaimResponseProcessNote[]|undefined; /** * Original request resource reference. */ - request?: Reference; + request?: Reference|undefined; /** * Typically this field would be 1..1 where this party is responsible for the claim but not necessarily professionally responsible for the provision of the individual products and services listed below. */ - requestor?: Reference; + requestor?: Reference|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: ClaimResponseStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * This may contain the local bill type codes, for example the US UB-04 bill type code or the CMS bill type. */ - subType?: CodeableConcept; + subType?: CodeableConcept|undefined; /** * Totals for amounts submitted, co-pays, benefits payable etc. */ - total?: ClaimResponseTotal[]; + total?: ClaimResponseTotal[]|undefined; /** * This may contain the local bill type codes, for example the US UB-04 bill type code or the CMS bill type. */ @@ -8884,7 +8884,7 @@ export interface ClaimResponse extends DomainResource { * A code to indicate whether the nature of the request is: to request adjudication of products and services previously rendered; or requesting authorization and adjudication for provision in the future; or requesting the non-binding adjudication of the listed products and services which could be provided in the future. */ use: ClaimResponseUseCodes; - _use?: Element; + _use?: Element|undefined; } /** * Code Values for the ClaimResponse.outcome field @@ -8919,12 +8919,12 @@ export interface ClinicalImpressionFinding extends BackboneElement { /** * Which investigations support finding or diagnosis. */ - basis?: string; - _basis?: Element; + basis?: string|undefined; + _basis?: Element|undefined; /** * Specific text, code or reference for finding or diagnosis, which may include ruled-out or resolved conditions. */ - item?: CodeableReference; + item?: CodeableReference|undefined; } /** * A record of a clinical assessment performed to determine what problem(s) may affect the patient and before planning the treatments or management strategies that are best to manage a patient's condition. Assessments are often 1:1 with a clinical consultation / encounter, but this varies greatly depending on the clinical workflow. This resource is called "ClinicalImpression" rather than "ClinicalAssessment" to avoid confusion with the recording of assessment tools such as Apgar score. @@ -8935,72 +8935,72 @@ export interface ClinicalImpression extends DomainResource { /** * Indicates when the documentation of the assessment was complete. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * A summary of the context and/or cause of the assessment - why / where it was performed, and what patient events/status prompted it. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * This SHOULD be accurate to at least the minute, though some assessments only have a known date. */ - effectiveDateTime?: string; - _effectiveDateTime?: Element; + effectiveDateTime?: string|undefined; + _effectiveDateTime?: Element|undefined; /** * This SHOULD be accurate to at least the minute, though some assessments only have a known date. */ - effectivePeriod?: Period; + effectivePeriod?: Period|undefined; /** * This will typically be the encounter the event occurred within, but some activities may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * Specific findings or diagnoses that were considered likely or relevant to ongoing treatment. */ - finding?: ClinicalImpressionFinding[]; + finding?: ClinicalImpressionFinding[]|undefined; /** * This is a business identifier, not a resource identifier (see [discussion](resource.html#identifiers)). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and a Person resource instance might share the same social insurance number. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Don't use this element for content that should more properly appear as one of the specific elements of the impression. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * The clinician performing the assessment. */ - performer?: Reference; + performer?: Reference|undefined; /** * It is always likely that multiple previous assessments exist for a patient. The point of quoting a previous assessment is that this assessment is relative to it (see resolved). */ - previous?: Reference; + previous?: Reference|undefined; /** * e.g. The patient is a pregnant, has congestive heart failure, has an ‎Adenocarcinoma, and is allergic to penicillin. */ - problem?: Reference[]; + problem?: Reference[]|undefined; /** * Estimate of likely outcome. */ - prognosisCodeableConcept?: CodeableConcept[]; + prognosisCodeableConcept?: CodeableConcept[]|undefined; /** * RiskAssessment expressing likely outcome. */ - prognosisReference?: Reference[]; + prognosisReference?: Reference[]|undefined; /** * Reference to a specific published clinical protocol that was followed during this assessment, and/or that provides evidence in support of the diagnosis. */ - protocol?: string[]; - _protocol?: Element[]; + protocol?: string[]|undefined; + _protocol?: Element[]|undefined; /** * This element is labeled as a modifier because the status contains the code entered-in-error that marks the clinical impression as not currently valid. */ status: ClinicalImpressionStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * This is generally only used for "exception" statuses such as "not-done", "on-hold" or "stopped". */ - statusReason?: CodeableConcept; + statusReason?: CodeableConcept|undefined; /** * The patient or group of individuals assessed as part of this record. */ @@ -9008,12 +9008,12 @@ export interface ClinicalImpression extends DomainResource { /** * A text summary of the investigations and the diagnosis. */ - summary?: string; - _summary?: Element; + summary?: string|undefined; + _summary?: Element|undefined; /** * Information supporting the clinical impression, which can contain investigation results. */ - supportingInfo?: Reference[]; + supportingInfo?: Reference[]|undefined; } /** * Code Values for the ClinicalImpression.status field @@ -9048,23 +9048,23 @@ export interface ClinicalUseIssueContraindication extends BackboneElement { /** * A comorbidity (concurrent condition) or coinfection. */ - comorbidity?: CodeableReference[]; + comorbidity?: CodeableReference[]|undefined; /** * The status of the disease or symptom for the contraindication. */ - diseaseStatus?: CodeableReference; + diseaseStatus?: CodeableReference|undefined; /** * The situation that is being documented as contraindicating against this item. */ - diseaseSymptomProcedure?: CodeableReference; + diseaseSymptomProcedure?: CodeableReference|undefined; /** * The indication which this is a contraidication for. */ - indication?: Reference[]; + indication?: Reference[]|undefined; /** * Information about the use of the medicinal product in relation to other therapies described as part of the contraindication. */ - otherTherapy?: ClinicalUseIssueContraindicationOtherTherapy[]; + otherTherapy?: ClinicalUseIssueContraindicationOtherTherapy[]|undefined; } /** * Specifics for when this is an indication. @@ -9073,31 +9073,31 @@ export interface ClinicalUseIssueIndication extends BackboneElement { /** * A comorbidity (concurrent condition) or coinfection as part of the indication. */ - comorbidity?: CodeableReference[]; + comorbidity?: CodeableReference[]|undefined; /** * The status of the disease or symptom for the indication. */ - diseaseStatus?: CodeableReference; + diseaseStatus?: CodeableReference|undefined; /** * The situation that is being documented as an indicaton for this item. */ - diseaseSymptomProcedure?: CodeableReference; + diseaseSymptomProcedure?: CodeableReference|undefined; /** * Timing or duration information. */ - duration?: Quantity; + duration?: Quantity|undefined; /** * The intended effect, aim or strategy to be achieved. */ - intendedEffect?: CodeableReference; + intendedEffect?: CodeableReference|undefined; /** * Information about the use of the medicinal product in relation to other therapies described as part of the indication. */ - otherTherapy?: ClinicalUseIssueContraindicationOtherTherapy[]; + otherTherapy?: ClinicalUseIssueContraindicationOtherTherapy[]|undefined; /** * The specific undesirable effects of the medicinal product. */ - undesirableEffect?: Reference[]; + undesirableEffect?: Reference[]|undefined; } /** * The specific medication, food, substance or laboratory test that interacts. @@ -9106,11 +9106,11 @@ export interface ClinicalUseIssueInteractionInteractant extends BackboneElement /** * The specific medication, food or laboratory test that interacts. */ - itemReference?: Reference; + itemReference?: Reference|undefined; /** * The specific medication, food or laboratory test that interacts. */ - itemCodeableConcept?: CodeableConcept; + itemCodeableConcept?: CodeableConcept|undefined; } /** * Specifics for when this is an interaction. @@ -9119,23 +9119,23 @@ export interface ClinicalUseIssueInteraction extends BackboneElement { /** * The effect of the interaction, for example "reduced gastric absorption of primary medication". */ - effect?: CodeableReference; + effect?: CodeableReference|undefined; /** * The incidence of the interaction, e.g. theoretical, observed. */ - incidence?: CodeableConcept; + incidence?: CodeableConcept|undefined; /** * The specific medication, food, substance or laboratory test that interacts. */ - interactant?: ClinicalUseIssueInteractionInteractant[]; + interactant?: ClinicalUseIssueInteractionInteractant[]|undefined; /** * Actions for managing the interaction. */ - management?: CodeableConcept; + management?: CodeableConcept|undefined; /** * The type of the interaction e.g. drug-drug interaction, drug-food interaction, drug-lab test interaction. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Describe the undesirable effects of the medicinal product. @@ -9144,15 +9144,15 @@ export interface ClinicalUseIssueUndesirableEffect extends BackboneElement { /** * High level classification of the effect. */ - classification?: CodeableConcept; + classification?: CodeableConcept|undefined; /** * How often the effect is seen. */ - frequencyOfOccurrence?: CodeableConcept; + frequencyOfOccurrence?: CodeableConcept|undefined; /** * The situation in which the undesirable effect may manifest. */ - symptomConditionEffect?: CodeableReference; + symptomConditionEffect?: CodeableReference|undefined; } /** * A single issue - either an indication, contraindication, interaction or an undesirable effect for a medicinal product, medication, device or procedure. @@ -9163,49 +9163,49 @@ export interface ClinicalUseIssue extends DomainResource { /** * A categorisation of the issue, primarily for dividing warnings into subject heading areas such as "Pregnancy and Lactation", "Overdose", "Effects on Ability to Drive and Use Machines". */ - category?: CodeableConcept; + category?: CodeableConcept|undefined; /** * Specifics for when this is a contraindication. */ - contraindication?: ClinicalUseIssueContraindication; + contraindication?: ClinicalUseIssueContraindication|undefined; /** * General description of an effect (particularly for a general warning, rather than any of the more specific types such as indication) for when a distinct coded or textual description is not appropriate using Indication.diseaseSymptomProcedure.text, Contraindication.diseaseSymptomProcedure.text etc. For example "May affect ability to drive". */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Business identifier for this issue. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Specifics for when this is an indication. */ - indication?: ClinicalUseIssueIndication; + indication?: ClinicalUseIssueIndication|undefined; /** * Specifics for when this is an interaction. */ - interaction?: ClinicalUseIssueInteraction; + interaction?: ClinicalUseIssueInteraction|undefined; /** * The population group to which this applies. */ - population?: Population[]; + population?: Population[]|undefined; /** * Whether this is a current issue or one that has been retired etc. */ - status?: CodeableConcept; + status?: CodeableConcept|undefined; /** * The medication or procedure for which this is an indication. */ - subject?: Reference[]; + subject?: Reference[]|undefined; /** * indication | contraindication | interaction | undesirable-effect | warning. */ type: ClinicalUseIssueTypeCodes; - _type?: Element; + _type?: Element|undefined; /** * Describe the undesirable effects of the medicinal product. */ - undesirableEffect?: ClinicalUseIssueUndesirableEffect; + undesirableEffect?: ClinicalUseIssueUndesirableEffect|undefined; } /** * Code Values for the ClinicalUseIssue.type field @@ -9225,22 +9225,22 @@ export interface CodeSystemFilter extends BackboneElement { * The code that identifies this filter when it is used as a filter in [ValueSet](valueset.html#).compose.include.filter. */ code: string; - _code?: Element; + _code?: Element|undefined; /** * A description of how or why the filter is used. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * A list of operators that can be used with the filter. */ operator: CodeSystemFilterOperatorCodes[]; - _operator?: Element[]; + _operator?: Element[]|undefined; /** * A description of what the value for the filter should be. */ value: string; - _value?: Element; + _value?: Element|undefined; } /** * Code Values for the CodeSystem.filter.operator field @@ -9266,22 +9266,22 @@ export interface CodeSystemProperty extends BackboneElement { * A code that is used to identify the property. The code is used internally (in CodeSystem.concept.property.code) and also externally, such as in property filters. */ code: string; - _code?: Element; + _code?: Element|undefined; /** * A description of the property- why it is defined, and how its value might be used. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * The type of the property value. Properties of type "code" contain a code defined by the code system (e.g. a reference to another defined concept). */ type: CodeSystemPropertyTypeCodes; - _type?: Element; + _type?: Element|undefined; /** * Reference to the formal meaning of the property. One possible source of meaning is the [Concept Properties](codesystem-concept-properties.html) code system. */ - uri?: string; - _uri?: Element; + uri?: string|undefined; + _uri?: Element|undefined; } /** * Code Values for the CodeSystem.property.type field @@ -9302,17 +9302,17 @@ export interface CodeSystemConceptDesignation extends BackboneElement { /** * In the absence of a language, the resource language applies. */ - language?: string; - _language?: Element; + language?: string|undefined; + _language?: Element|undefined; /** * If no use is provided, the designation can be assumed to be suitable for general display to a human user. */ - use?: Coding; + use?: Coding|undefined; /** * The text value for this designation. */ value: string; - _value?: Element; + _value?: Element|undefined; } /** * A property value for this concept. @@ -9322,39 +9322,39 @@ export interface CodeSystemConceptProperty extends BackboneElement { * A code that is a reference to CodeSystem.property.code. */ code: string; - _code?: Element; + _code?: Element|undefined; /** * The value of this property. */ - valueCode?: string; - _valueCode?: Element; + valueCode?: string|undefined; + _valueCode?: Element|undefined; /** * The value of this property. */ - valueCoding?: Coding; + valueCoding?: Coding|undefined; /** * The value of this property. */ - valueString?: string; - _valueString?: Element; + valueString?: string|undefined; + _valueString?: Element|undefined; /** * The value of this property. */ - valueInteger?: number; + valueInteger?: number|undefined; /** * The value of this property. */ - valueBoolean?: boolean; - _valueBoolean?: Element; + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; /** * The value of this property. */ - valueDateTime?: string; - _valueDateTime?: Element; + valueDateTime?: string|undefined; + _valueDateTime?: Element|undefined; /** * The value of this property. */ - valueDecimal?: number; + valueDecimal?: number|undefined; } /** * If this is empty, it means that the code system resource does not represent the content of the code system. @@ -9364,29 +9364,29 @@ export interface CodeSystemConcept extends BackboneElement { * A code - a text symbol - that uniquely identifies the concept within the code system. */ code: string; - _code?: Element; + _code?: Element|undefined; /** * Defines children of a concept to produce a hierarchy of concepts. The nature of the relationships is variable (is-a/contains/categorizes) - see hierarchyMeaning. */ - concept?: CodeSystemConcept[]; + concept?: CodeSystemConcept[]|undefined; /** * The formal definition of the concept. The code system resource does not make formal definitions required, because of the prevalence of legacy systems. However, they are highly recommended, as without them there is no formal meaning associated with the concept. */ - definition?: string; - _definition?: Element; + definition?: string|undefined; + _definition?: Element|undefined; /** * Concepts have both a ```display``` and an array of ```designation```. The display is equivalent to a special designation with an implied ```designation.use``` of "primary code" and a language equal to the [Resource Language](resource.html#language). */ - designation?: CodeSystemConceptDesignation[]; + designation?: CodeSystemConceptDesignation[]|undefined; /** * A human readable string that is the recommended default way to present this concept to a user. */ - display?: string; - _display?: Element; + display?: string|undefined; + _display?: Element|undefined; /** * A property value for this concept. */ - property?: CodeSystemConceptProperty[]; + property?: CodeSystemConceptProperty[]|undefined; } /** * The CodeSystem resource is used to declare the existence of and describe a code system or code system supplement and its key properties, and optionally define a part or all of its content. @@ -9397,128 +9397,128 @@ export interface CodeSystem extends DomainResource { /** * If this value is missing, then it is not specified whether a code system is case sensitive or not. When the rule is not known, Postel's law should be followed: produce codes with the correct case, and accept codes in any case. This element is primarily provided to support validation software. */ - caseSensitive?: boolean; - _caseSensitive?: Element; + caseSensitive?: boolean|undefined; + _caseSensitive?: Element|undefined; /** * Note that the code system resource does not define what the compositional grammar is, only whether or not there is one. */ - compositional?: boolean; - _compositional?: Element; + compositional?: boolean|undefined; + _compositional?: Element|undefined; /** * If this is empty, it means that the code system resource does not represent the content of the code system. */ - concept?: CodeSystemConcept[]; + concept?: CodeSystemConcept[]|undefined; /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * The extent of the content of the code system (the concepts and codes it defines) are represented in this resource instance. */ content: CodeSystemContentCodes; - _content?: Element; + _content?: Element|undefined; /** * ... Sometimes, the copyright differs between the code system and the codes that are included. The copyright statement should clearly differentiate between these when required. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * The count of concepts defined in this resource cannot be more than this value but may be less for several reasons - see the content element. */ - count?: number; + count?: number|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the code system. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * This description can be used to capture details such as why the code system was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the code system as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the code system is presumed to be the predominant language in the place the code system was created). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Allows filtering of code systems that are appropriate for use versus not. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * Note that filters defined in code systems usually require custom code on the part of any terminology engine that will make them available for use in value set filters. For this reason, they are generally only seen in high value published terminologies. */ - filter?: CodeSystemFilter[]; + filter?: CodeSystemFilter[]|undefined; /** * Note that other representations might have a different hierarchy or none at all, and represent the information using properties. */ - hierarchyMeaning?: CodeSystemHierarchyMeaningCodes; - _hierarchyMeaning?: Element; + hierarchyMeaning?: CodeSystemHierarchyMeaningCodes|undefined; + _hierarchyMeaning?: Element|undefined; /** * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this code system outside of FHIR, where it is not possible to use the logical URI. Note that HL7 defines at least three identifiers for many of its code systems - the FHIR canonical URL, the OID and the V2 Table 0396 mnemonic code. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * It may be possible for the code system to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * A property defines an additional slot through which additional information can be provided about a concept. */ - property?: CodeSystemProperty[]; + property?: CodeSystemProperty[]|undefined; /** * Usually an organization but may be an individual. The publisher (or steward) of the code system is the organization or individual primarily responsible for the maintenance and upkeep of the code system. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the code system. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * This element does not describe the usage of the code system. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this code system. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * Allows filtering of code systems that are appropriate for use versus not. */ status: CodeSystemStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * The most common use of a code system supplement is to add additional language support. */ - supplements?: string; - _supplements?: Element; + supplements?: string|undefined; + _supplements?: Element|undefined; /** * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * The definition of the value set SHALL include all codes from this code system and only codes from this code system, and it SHALL be immutable. */ - valueSet?: string; - _valueSet?: Element; + valueSet?: string|undefined; + _valueSet?: Element|undefined; /** * There may be different code system instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the code system with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; /** * Best practice is that code systems do not redefine concepts, or that if concepts are redefined, a new code system definition is created. But this is not always possible, so some code systems may be defined as 'versionNeeded'. * Most code systems occasionally refine the displays defined for concepts between versions. Contexts in which the concept display values are validated may require that the version be specified for some code systems irrespective of the value of this property. */ - versionNeeded?: boolean; - _versionNeeded?: Element; + versionNeeded?: boolean|undefined; + _versionNeeded?: Element|undefined; } /** * Code Values for the CodeSystem.content field @@ -9557,19 +9557,19 @@ export interface CommunicationPayload extends BackboneElement { * If the content isn't codified, contentCodeableConcept.text can be used. * When using contentCodeableConcept, the CodeableConcept is what is being communicated and is not a categorization of the content. */ - contentAttachment?: Attachment; + contentAttachment?: Attachment|undefined; /** * The content can be codified or textual. As an example of codified content, when working with machine generated communications, the payload may be drawn from a finite, terminology defined set of communications, especially for short, status update kinds of communications where more of a natural language approach isn't appropriate. * If the content isn't codified, contentCodeableConcept.text can be used. * When using contentCodeableConcept, the CodeableConcept is what is being communicated and is not a categorization of the content. */ - contentReference?: Reference; + contentReference?: Reference|undefined; /** * The content can be codified or textual. As an example of codified content, when working with machine generated communications, the payload may be drawn from a finite, terminology defined set of communications, especially for short, status update kinds of communications where more of a natural language approach isn't appropriate. * If the content isn't codified, contentCodeableConcept.text can be used. * When using contentCodeableConcept, the CodeableConcept is what is being communicated and is not a categorization of the content. */ - contentCodeableConcept?: CodeableConcept; + contentCodeableConcept?: CodeableConcept|undefined; } /** * A clinical or business level record of information being transmitted or shared; e.g. an alert that was sent to a responsible provider, a public health agency communication to a provider/reporter in response to a case report for a reportable condition. @@ -9580,97 +9580,97 @@ export interface Communication extends DomainResource { /** * Don't use Communication.about element when a more specific element exists, such as basedOn or reasonReference. */ - about?: Reference[]; + about?: Reference[]|undefined; /** * This must point to some sort of a 'Request' resource, such as CarePlan, CommunicationRequest, ServiceRequest, MedicationRequest, etc. */ - basedOn?: Reference[]; + basedOn?: Reference[]|undefined; /** * There may be multiple axes of categorization and one communication may serve multiple purposes. */ - category?: CodeableConcept[]; + category?: CodeableConcept[]|undefined; /** * This will typically be the encounter the event occurred within, but some activities may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * This is a business identifier, not a resource identifier (see [discussion](resource.html#identifiers)). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and a Person resource instance might share the same social insurance number. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Prior communication that this communication is in response to. */ - inResponseTo?: Reference[]; + inResponseTo?: Reference[]|undefined; /** * The URL pointing to a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this Communication. */ - instantiatesCanonical?: string[]; - _instantiatesCanonical?: Element[]; + instantiatesCanonical?: string[]|undefined; + _instantiatesCanonical?: Element[]|undefined; /** * This might be an HTML page, PDF, etc. or could just be a non-resolvable URI identifier. */ - instantiatesUri?: string[]; - _instantiatesUri?: Element[]; + instantiatesUri?: string[]|undefined; + _instantiatesUri?: Element[]|undefined; /** * A channel that was used for this communication (e.g. email, fax). */ - medium?: CodeableConcept[]; + medium?: CodeableConcept[]|undefined; /** * Additional notes or commentary about the communication by the sender, receiver or other interested parties. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * The event the communication was part of - e.g. if you disclosed as "part" of counselling, it would be partOf that Procedure. */ - partOf?: Reference[]; + partOf?: Reference[]|undefined; /** * Text, attachment(s), or resource(s) that was communicated to the recipient. */ - payload?: CommunicationPayload[]; + payload?: CommunicationPayload[]|undefined; /** * Used to prioritize workflow (such as which communication to read first) when the communication is planned or in progress. */ - priority?: CommunicationPriorityCodes; - _priority?: Element; + priority?: CommunicationPriorityCodes|undefined; + _priority?: Element|undefined; /** * Textual reasons can be captured using reason.concept.text. */ - reason?: CodeableReference[]; + reason?: CodeableReference[]|undefined; /** * The time when this communication arrived at the destination. */ - received?: string; - _received?: Element; + received?: string|undefined; + _received?: Element|undefined; /** * If receipts need to be tracked by an individual, a separate resource instance will need to be created for each recipient. Multiple recipient communications are intended where either receipts are not tracked (e.g. a mass mail-out) or a receipt is captured in aggregate (all emails confirmed received by a particular time). */ - recipient?: Reference[]; + recipient?: Reference[]|undefined; /** * The entity (e.g. person, organization, clinical information system, or device) which is the source of the communication. */ - sender?: Reference; + sender?: Reference|undefined; /** * The time when this communication was sent. */ - sent?: string; - _sent?: Element; + sent?: string|undefined; + _sent?: Element|undefined; /** * This element is labeled as a modifier because the status contains the codes aborted and entered-in-error that mark the communication as not currently valid. */ status: CommunicationStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * This is generally only used for "exception" statuses such as "not-done", "suspended" or "aborted". The reason for performing the event at all is captured in reasonCode, not here. */ - statusReason?: CodeableConcept; + statusReason?: CodeableConcept|undefined; /** * The patient or group that was the focus of this communication. */ - subject?: Reference; + subject?: Reference|undefined; /** * Communication.topic.text can be used without any codings. */ - topic?: CodeableConcept; + topic?: CodeableConcept|undefined; } /** * Code Values for the Communication.priority field @@ -9703,19 +9703,19 @@ export interface CommunicationRequestPayload extends BackboneElement { * If the content isn't codified, contentCodeableConcept.text can be used. * When using contentCodeableConcept, the CodeableConcept is what is being communicated and is not a categorization of the content. */ - contentAttachment?: Attachment; + contentAttachment?: Attachment|undefined; /** * The content can be codified or textual. As an example of codified content, when working with machine generated communications, the payload may be drawn from a finite, terminology defined set of communications, especially for short, status update kinds of communications where more of a natural language approach isn't appropriate. * If the content isn't codified, contentCodeableConcept.text can be used. * When using contentCodeableConcept, the CodeableConcept is what is being communicated and is not a categorization of the content. */ - contentReference?: Reference; + contentReference?: Reference|undefined; /** * The content can be codified or textual. As an example of codified content, when working with machine generated communications, the payload may be drawn from a finite, terminology defined set of communications, especially for short, status update kinds of communications where more of a natural language approach isn't appropriate. * If the content isn't codified, contentCodeableConcept.text can be used. * When using contentCodeableConcept, the CodeableConcept is what is being communicated and is not a categorization of the content. */ - contentCodeableConcept?: CodeableConcept; + contentCodeableConcept?: CodeableConcept|undefined; } /** * A request to convey information; e.g. the CDS system proposes that an alert be sent to a responsible provider, the CDS system proposes that the public health agency be notified about a reportable condition. @@ -9726,102 +9726,102 @@ export interface CommunicationRequest extends DomainResource { /** * Don't use CommunicationRequest.about element when a more specific element exists, such as basedOn, reasonReference, or replaces. */ - about?: Reference[]; + about?: Reference[]|undefined; /** * For draft requests, indicates the date of initial creation. For requests with other statuses, indicates the date of activation. */ - authoredOn?: string; - _authoredOn?: Element; + authoredOn?: string|undefined; + _authoredOn?: Element|undefined; /** * A plan or proposal that is fulfilled in whole or in part by this request. */ - basedOn?: Reference[]; + basedOn?: Reference[]|undefined; /** * There may be multiple axes of categorization and one communication request may serve multiple purposes. */ - category?: CodeableConcept[]; + category?: CodeableConcept[]|undefined; /** * The attributes provided with the request qualify what is not to be done. */ - doNotPerform?: boolean; - _doNotPerform?: Element; + doNotPerform?: boolean|undefined; + _doNotPerform?: Element|undefined; /** * This will typically be the encounter the event occurred within, but some activities may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * Requests are linked either by a "basedOn" relationship (i.e. one request is fulfilling another) or by having a common requisition. Requests that are part of the same requisition are generally treated independently from the perspective of changing their state or maintaining them after initial creation. */ - groupIdentifier?: Identifier; + groupIdentifier?: Identifier|undefined; /** * This is a business identifier, not a resource identifier (see [discussion](resource.html#identifiers)). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and a Person resource instance might share the same social insurance number. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The entity (e.g. person, organization, clinical information system, or device) which is to be the source of the communication. */ - informationProvider?: Reference[]; + informationProvider?: Reference[]|undefined; /** * This element is expected to be immutable. E.g. A "proposal" instance should never change to be a "plan" instance or "order" instance. Instead, a new instance 'basedOn' the prior instance should be created with the new 'intent' value. * One exception to this is that the granularity of CommunicationRequest.intent is allowed to change. For example, a Request identified as an "order" might later be clarified to be a "filler-order". Or, in rarer cases (to meet recipient constraints), the reverse might also occur. */ intent: CommunicationRequestIntentCodes; - _intent?: Element; + _intent?: Element|undefined; /** * A channel that was used for this communication (e.g. email, fax). */ - medium?: CodeableConcept[]; + medium?: CodeableConcept[]|undefined; /** * Comments made about the request by the requester, sender, recipient, subject or other participants. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * The time when this communication is to occur. */ - occurrenceDateTime?: string; - _occurrenceDateTime?: Element; + occurrenceDateTime?: string|undefined; + _occurrenceDateTime?: Element|undefined; /** * The time when this communication is to occur. */ - occurrencePeriod?: Period; + occurrencePeriod?: Period|undefined; /** * Text, attachment(s), or resource(s) to be communicated to the recipient. */ - payload?: CommunicationRequestPayload[]; + payload?: CommunicationRequestPayload[]|undefined; /** * Characterizes how quickly the proposed act must be initiated. Includes concepts such as stat, urgent, routine. */ - priority?: CommunicationRequestPriorityCodes; - _priority?: Element; + priority?: CommunicationRequestPriorityCodes|undefined; + _priority?: Element|undefined; /** * Textual reasons can be captured using reasonCode.text. */ - reason?: CodeableReference[]; + reason?: CodeableReference[]|undefined; /** * The entity (e.g. person, organization, clinical information system, device, group, or care team) which is the intended target of the communication. */ - recipient?: Reference[]; + recipient?: Reference[]|undefined; /** * The replacement could be because the initial request was immediately rejected (due to an issue) or because the previous request was completed, but the need for the action described by the request remains ongoing. */ - replaces?: Reference[]; + replaces?: Reference[]|undefined; /** * The device, individual, or organization who asks for the information to be shared. */ - requester?: Reference; + requester?: Reference|undefined; /** * The status of the proposal or order. */ status: CommunicationRequestStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * This is generally only used for "exception" statuses such as "on-hold" or "revoked". The reason why the CommunicationRequest was created at all is captured in reasonCode, not here. */ - statusReason?: CodeableConcept; + statusReason?: CodeableConcept|undefined; /** * The patient or group that is the focus of this communication request. */ - subject?: Reference; + subject?: Reference|undefined; } /** * Code Values for the CommunicationRequest.intent field @@ -9866,17 +9866,17 @@ export interface CompartmentDefinitionResource extends BackboneElement { * The name of a resource supported by the server. */ code: string; - _code?: Element; + _code?: Element|undefined; /** * Additional documentation about the resource and compartment. */ - documentation?: string; - _documentation?: Element; + documentation?: string|undefined; + _documentation?: Element|undefined; /** * If no search parameters are listed, then the resource is not linked to the compartment. */ - param?: string[]; - _param?: Element[]; + param?: string[]|undefined; + _param?: Element[]|undefined; } /** * A compartment definition that defines how resources are accessed on a server. @@ -9888,71 +9888,71 @@ export interface CompartmentDefinition extends DomainResource { * Only the specification can define the compartments that can exist. Servers can choose to support them. */ code: CompartmentDefinitionCodeCodes; - _code?: Element; + _code?: Element|undefined; /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the compartment definition. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * This description can be used to capture details such as why the compartment definition was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the compartment definition as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the compartment definition is presumed to be the predominant language in the place the compartment definition was created). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Allows filtering of compartment definitions that are appropriate for use versus not. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly.This is often the same as the code for the parameter, but does not need to be. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * Usually an organization but may be an individual. The publisher (or steward) of the compartment definition is the organization or individual primarily responsible for the maintenance and upkeep of the compartment definition. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the compartment definition. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * This element does not describe the usage of the compartment definition. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this compartment definition. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * Information about how a resource is related to the compartment. */ - resource?: CompartmentDefinitionResource[]; + resource?: CompartmentDefinitionResource[]|undefined; /** * Servers may define and use compartments to manage logical access without implementing the compartment related syntax. */ search: boolean; - _search?: Element; + _search?: Element|undefined; /** * Allows filtering of compartment definitions that are appropriate for use versus not. */ status: CompartmentDefinitionStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. */ url: string; - _url?: Element; + _url?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different compartment definition instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the compartment definition with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the CompartmentDefinition.code field @@ -9981,16 +9981,16 @@ export interface CompositionAttester extends BackboneElement { * The type of attestation the authenticator offers. */ mode: CompositionAttesterModeCodes; - _mode?: Element; + _mode?: Element|undefined; /** * Who attested the composition in the specified way. */ - party?: Reference; + party?: Reference|undefined; /** * When the composition was attested by the party. */ - time?: string; - _time?: Element; + time?: string|undefined; + _time?: Element|undefined; } /** * Code Values for the Composition.attester.mode field @@ -10009,15 +10009,15 @@ export interface CompositionRelatesTo extends BackboneElement { * If this document appends another document, then the document cannot be fully understood without also accessing the referenced document. */ code: CompositionRelatesToCodeCodes; - _code?: Element; + _code?: Element|undefined; /** * The target composition/document of this relationship. */ - targetIdentifier?: Identifier; + targetIdentifier?: Identifier|undefined; /** * The target composition/document of this relationship. */ - targetReference?: Reference; + targetReference?: Reference|undefined; } /** * Code Values for the Composition.relatesTo.code field @@ -10035,15 +10035,15 @@ export interface CompositionEvent extends BackboneElement { /** * An event can further specialize the act inherent in the typeCode, such as where it is simply "Procedure Report" and the procedure was a "colonoscopy". If one or more eventCodes are included, they SHALL NOT conflict with the values inherent in the classCode, practiceSettingCode or typeCode, as such a conflict would create an ambiguous situation. This short list of codes is provided to be used as key words for certain types of queries. */ - code?: CodeableConcept[]; + code?: CodeableConcept[]|undefined; /** * The description and/or reference of the event(s) being documented. For example, this could be used to document such a colonoscopy or an appendectomy. */ - detail?: Reference[]; + detail?: Reference[]|undefined; /** * The period of time covered by the documentation. There is no assertion that the documentation is a complete representation for this period, only that it documents events during this time. */ - period?: Period; + period?: Period|undefined; } /** * The root of the sections that make up the composition. @@ -10052,46 +10052,46 @@ export interface CompositionSection extends BackboneElement { /** * Identifies who is responsible for the information in this section, not necessarily who typed it in. */ - author?: Reference[]; + author?: Reference[]|undefined; /** * The code identifies the section for an automated processor of the document. This is particularly relevant when using profiles to control the structure of the document. * If the section has content (instead of sub-sections), the section.code does not change the meaning or interpretation of the resource that is the content of the section in the comments for the section.code. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * The various reasons for an empty section make a significant interpretation to its interpretation. Note that this code is for use when the entire section content has been suppressed, and not for when individual items are omitted - implementers may consider using a text note or a flag on an entry in these cases. */ - emptyReason?: CodeableConcept; + emptyReason?: CodeableConcept|undefined; /** * If there are no entries in the list, an emptyReason SHOULD be provided. */ - entry?: Reference[]; + entry?: Reference[]|undefined; /** * Typically, sections in a doument are about the subject of the document, whether that is a patient, or group of patients, location, or device, or whatever. For some kind of documents, some sections actually contain data about related entities. Typical examples are a section in a newborn discharge summary concerning the mother, or family history documents, with a section about each family member, though there are many other examples. */ - focus?: Reference; + focus?: Reference|undefined; /** * This element is labeled as a modifier because a change list must not be misunderstood as a complete list. */ - mode?: CompositionSectionModeCodes; - _mode?: Element; + mode?: CompositionSectionModeCodes|undefined; + _mode?: Element|undefined; /** * Applications SHOULD render ordered lists in the order provided, but MAY allow users to re-order based on their own preferences as well. If there is no order specified, the order is unknown, though there may still be some order. */ - orderedBy?: CodeableConcept; + orderedBy?: CodeableConcept|undefined; /** * Nested sections are primarily used to help human readers navigate to particular portions of the document. */ - section?: CompositionSection[]; + section?: CompositionSection[]|undefined; /** * Document profiles may define what content should be represented in the narrative to ensure clinical safety. */ - text?: Narrative; + text?: Narrative|undefined; /** * The title identifies the section for a human reader. The title must be consistent with the narrative of the resource that is the target of the section.content reference. Generally, sections SHOULD have titles, but in some documents, it is unnecessary or inappropriate. Typically, this is where a section has subsections that have their own adequately distinguishing title, or documents that only have a single section. Most Implementation Guides will make section title to be a required element. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; } /** * Code Values for the Composition.section.mode field @@ -10110,7 +10110,7 @@ export interface Composition extends DomainResource { /** * Only list each attester once. */ - attester?: CompositionAttester[]; + attester?: CompositionAttester[]|undefined; /** * Identifies who is responsible for the information in the composition, not necessarily who typed it in. */ @@ -10118,56 +10118,56 @@ export interface Composition extends DomainResource { /** * This is a metadata field from [XDS/MHD](http://wiki.ihe.net/index.php?title=Mobile_access_to_Health_Documents_(MHD)). */ - category?: CodeableConcept[]; + category?: CodeableConcept[]|undefined; /** * The exact use of this element, and enforcement and issues related to highly sensitive documents are out of scope for the base specification, and delegated to implementation profiles (see security section). This element is labeled as a modifier because highly confidential documents must not be treated as if they are not. */ - confidentiality?: string; - _confidentiality?: Element; + confidentiality?: string|undefined; + _confidentiality?: Element|undefined; /** * This is useful when documents are derived from a composition - provides guidance for how to get the latest version of the document. This is optional because this is sometimes not known by the authoring system, and can be inferred by context. However, it is important that this information be known when working with a derived document, so providing a custodian is encouraged. */ - custodian?: Reference; + custodian?: Reference|undefined; /** * The Last Modified Date on the composition may be after the date of the document was attested without being changed. */ date: string; - _date?: Element; + _date?: Element|undefined; /** * Describes the clinical encounter or type of care this documentation is associated with. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * The event needs to be consistent with the type element, though can provide further information if desired. */ - event?: CompositionEvent[]; + event?: CompositionEvent[]|undefined; /** * Similar to ClinicalDocument/setId in CDA. See discussion in resource definition for how these relate. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * A document is a version specific composition. */ - relatesTo?: CompositionRelatesTo[]; + relatesTo?: CompositionRelatesTo[]|undefined; /** * The root of the sections that make up the composition. */ - section?: CompositionSection[]; + section?: CompositionSection[]|undefined; /** * If a composition is marked as withdrawn, the compositions/documents in the series, or data from the composition or document series, should never be displayed to a user without being clearly marked as untrustworthy. The flag "entered-in-error" is why this element is labeled as a modifier of other elements. * Some reporting work flows require that the original narrative of a final document never be altered; instead, only new narrative can be added. The composition resource has no explicit status for explicitly noting whether this business rule is in effect. This would be handled by an extension if required. */ status: CompositionStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * For clinical documents, this is usually the patient. */ - subject?: Reference; + subject?: Reference|undefined; /** * For many compositions, the title is the same as the text or a display name of Composition.type (e.g. a "consultation" or "progress note"). Note that CDA does not make title mandatory, but there are no known cases where it is useful for title to be omitted, so it is mandatory here. Feedback on this requirement is welcome during the trial use period. */ title: string; - _title?: Element; + _title?: Element|undefined; /** * For Composition type, LOINC is ubiquitous and strongly endorsed by HL7. Most implementation guides will require a specific LOINC code, or use LOINC as an extensible binding. */ @@ -10189,23 +10189,23 @@ export interface ConceptMapGroupElementTargetDependsOn extends BackboneElement { /** * The display is ignored when processing the map. */ - display?: string; - _display?: Element; + display?: string|undefined; + _display?: Element|undefined; /** * A reference to an element that holds a coded value that corresponds to a code system property. The idea is that the information model carries an element somewhere that is labeled to correspond with a code system property. */ property: string; - _property?: Element; + _property?: Element|undefined; /** * An absolute URI that identifies the code system of the dependency code (if the source/dependency is a value set that crosses code systems). */ - system?: string; - _system?: Element; + system?: string|undefined; + _system?: Element|undefined; /** * Identity (code or path) or the element/item/ValueSet/text that the map depends on / refers to. */ value: string; - _value?: Element; + _value?: Element|undefined; } /** * Ideally there would only be one map, with an 'equivalent' mapping. But multiple maps are allowed for several narrower (i.e. source-is-broader-than-target) options, or to assert that other concepts are not related. @@ -10214,31 +10214,31 @@ export interface ConceptMapGroupElementTarget extends BackboneElement { /** * Identity (code or path) or the element/item that the map refers to. */ - code?: string; - _code?: Element; + code?: string|undefined; + _code?: Element|undefined; /** * A description of status/issues in mapping that conveys additional information not represented in the structured data. */ - comment?: string; - _comment?: Element; + comment?: string|undefined; + _comment?: Element|undefined; /** * A set of additional dependencies for this mapping to hold. This mapping is only applicable if the specified element can be resolved, and it has the specified value. */ - dependsOn?: ConceptMapGroupElementTargetDependsOn[]; + dependsOn?: ConceptMapGroupElementTargetDependsOn[]|undefined; /** * The display is ignored when processing the map. */ - display?: string; - _display?: Element; + display?: string|undefined; + _display?: Element|undefined; /** * A set of additional outcomes from this mapping to other elements. To properly execute this mapping, the specified element must be mapped to some data element or source that is in context. The mapping may still be useful without a place for the additional data elements, but the relationship (e.g., equivalent) cannot be relied on. */ - product?: ConceptMapGroupElementTargetDependsOn[]; + product?: ConceptMapGroupElementTargetDependsOn[]|undefined; /** * This element is labeled as a modifier because it may indicate that there is no mapping. */ relationship: ConceptMapGroupElementTargetRelationshipCodes; - _relationship?: Element; + _relationship?: Element|undefined; } /** * Code Values for the ConceptMap.group.element.target.relationship field @@ -10257,22 +10257,22 @@ export interface ConceptMapGroupElement extends BackboneElement { /** * Identity (code or path) or the element/item being mapped. */ - code?: string; - _code?: Element; + code?: string|undefined; + _code?: Element|undefined; /** * The display is ignored when processing the map. */ - display?: string; - _display?: Element; + display?: string|undefined; + _display?: Element|undefined; /** * If noMap = true this indicates that no mapping to a target concept exists for this source concept. */ - noMap?: boolean; - _noMap?: Element; + noMap?: boolean|undefined; + _noMap?: Element|undefined; /** * Ideally there would only be one map, with an 'equivalent' mapping. But multiple maps are allowed for several narrower (i.e. source-is-broader-than-target) options, or to assert that other concepts are not related. */ - target?: ConceptMapGroupElementTarget[]; + target?: ConceptMapGroupElementTarget[]|undefined; } /** * This only applies if the source code has a system value that matches the system defined for the group. @@ -10281,23 +10281,23 @@ export interface ConceptMapGroupUnmapped extends BackboneElement { /** * The fixed code to use when the mode = 'fixed' - all unmapped codes are mapped to a single fixed code. */ - code?: string; - _code?: Element; + code?: string|undefined; + _code?: Element|undefined; /** * The display is ignored when processing the map. */ - display?: string; - _display?: Element; + display?: string|undefined; + _display?: Element|undefined; /** * Defines which action to take if there is no match for the source concept in the target system designated for the group. One of 3 actions are possible: use the unmapped code (this is useful when doing a mapping between versions, and only a few codes have changed), use a fixed code (a default code), or alternatively, a reference to a different concept map can be provided (by canonical URL). */ mode: ConceptMapGroupUnmappedModeCodes; - _mode?: Element; + _mode?: Element|undefined; /** * The canonical reference to an additional ConceptMap resource instance to use for mapping if this ConceptMap resource contains no matching mapping for the source concept. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; } /** * Code Values for the ConceptMap.group.unmapped.mode field @@ -10318,17 +10318,17 @@ export interface ConceptMapGroup extends BackboneElement { /** * This is not needed if the source value set is specified and it contains concepts from only a single system. */ - source?: string; - _source?: Element; + source?: string|undefined; + _source?: Element|undefined; /** * This is not needed if the target value set is specified and it contains concepts from only a single system. The group target may also be omitted if all of the target element relationship values are 'not-related-to'. */ - target?: string; - _target?: Element; + target?: string|undefined; + _target?: Element|undefined; /** * This only applies if the source code has a system value that matches the system defined for the group. */ - unmapped?: ConceptMapGroupUnmapped; + unmapped?: ConceptMapGroupUnmapped|undefined; } /** * A statement of relationships from one set of concepts to one or more other concepts - either concepts in code systems, or data element/data element concepts, or classes in class models. @@ -10339,100 +10339,100 @@ export interface ConceptMap extends DomainResource { /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * Frequently the copyright differs between the concept map and codes that are included. The copyright statement should clearly differentiate between these when required. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the concept map. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * The description is not intended to describe the semantics of the concept map. The description should capture its intended use, which is needed for ensuring integrity for its use in models across future changes. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Allows filtering of concept maps that are appropriate for use versus not. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * A group of mappings that all have the same source and target system. */ - group?: ConceptMapGroup[]; + group?: ConceptMapGroup[]|undefined; /** * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this concept map outside of FHIR, where it is not possible to use the logical URI. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * It may be possible for the concept map to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Usually an organization but may be an individual. The publisher (or steward) of the concept map is the organization or individual primarily responsible for the maintenance and upkeep of the concept map. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the concept map. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * This element does not describe the usage of the concept map. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this concept map. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * Should be a version specific reference. URIs SHOULD be absolute. If there is no source or target value set, there is no specified context for the map (not recommended). The source value set may select codes from either an explicit (standard or local) or implicit code system. */ - sourceUri?: string; - _sourceUri?: Element; + sourceUri?: string|undefined; + _sourceUri?: Element|undefined; /** * Should be a version specific reference. URIs SHOULD be absolute. If there is no source or target value set, there is no specified context for the map (not recommended). The source value set may select codes from either an explicit (standard or local) or implicit code system. */ - sourceCanonical?: string; - _sourceCanonical?: Element; + sourceCanonical?: string|undefined; + _sourceCanonical?: Element|undefined; /** * Allows filtering of concept maps that are appropriate for use versus not. */ status: ConceptMapStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Should be a version specific reference. URIs SHOULD be absolute. If there is no source or target value set, the is no specified context for the map. */ - targetUri?: string; - _targetUri?: Element; + targetUri?: string|undefined; + _targetUri?: Element|undefined; /** * Should be a version specific reference. URIs SHOULD be absolute. If there is no source or target value set, the is no specified context for the map. */ - targetCanonical?: string; - _targetCanonical?: Element; + targetCanonical?: string|undefined; + _targetCanonical?: Element|undefined; /** * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different concept map instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the concept map with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the ConceptMap.status field @@ -10450,15 +10450,15 @@ export interface ConditionStage extends BackboneElement { /** * Reference to a formal record of the evidence on which the staging assessment is based. */ - assessment?: Reference[]; + assessment?: Reference[]|undefined; /** * A simple summary of the stage such as "Stage 3" or "Early Onset". The determination of the stage is disease-specific, such as cancer, retinopathy of prematurity, kidney diseases, Alzheimer's, or Parkinson disease. */ - summary?: CodeableConcept; + summary?: CodeableConcept|undefined; /** * The kind of staging, such as pathological or clinical staging. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * If the condition was confirmed, but subsequently refuted, then the evidence can be cumulative including all evidence over time. The evidence may be a simple list of coded symptoms/manifestations, or references to observations or formal assessments, or both. @@ -10467,11 +10467,11 @@ export interface ConditionEvidence extends BackboneElement { /** * A manifestation or symptom that led to the recording of this condition. */ - code?: CodeableConcept[]; + code?: CodeableConcept[]|undefined; /** * Links to other relevant information, including pathology reports. */ - detail?: Reference[]; + detail?: Reference[]|undefined; } /** * A clinical condition, problem, diagnosis, or other event, situation, issue, or clinical concept that has risen to a level of concern. @@ -10482,37 +10482,37 @@ export interface Condition extends DomainResource { /** * There is no explicit distinction between resolution and remission because in many cases the distinction is not clear. Age is generally used when the patient reports an age at which the Condition abated. If there is no abatement element, it is unknown whether the condition has resolved or entered remission; applications and users should generally assume that the condition is still valid. When abatementString exists, it implies the condition is abated. */ - abatementDateTime?: string; - _abatementDateTime?: Element; + abatementDateTime?: string|undefined; + _abatementDateTime?: Element|undefined; /** * There is no explicit distinction between resolution and remission because in many cases the distinction is not clear. Age is generally used when the patient reports an age at which the Condition abated. If there is no abatement element, it is unknown whether the condition has resolved or entered remission; applications and users should generally assume that the condition is still valid. When abatementString exists, it implies the condition is abated. */ - abatementAge?: Age; + abatementAge?: Age|undefined; /** * There is no explicit distinction between resolution and remission because in many cases the distinction is not clear. Age is generally used when the patient reports an age at which the Condition abated. If there is no abatement element, it is unknown whether the condition has resolved or entered remission; applications and users should generally assume that the condition is still valid. When abatementString exists, it implies the condition is abated. */ - abatementPeriod?: Period; + abatementPeriod?: Period|undefined; /** * There is no explicit distinction between resolution and remission because in many cases the distinction is not clear. Age is generally used when the patient reports an age at which the Condition abated. If there is no abatement element, it is unknown whether the condition has resolved or entered remission; applications and users should generally assume that the condition is still valid. When abatementString exists, it implies the condition is abated. */ - abatementRange?: Range; + abatementRange?: Range|undefined; /** * There is no explicit distinction between resolution and remission because in many cases the distinction is not clear. Age is generally used when the patient reports an age at which the Condition abated. If there is no abatement element, it is unknown whether the condition has resolved or entered remission; applications and users should generally assume that the condition is still valid. When abatementString exists, it implies the condition is abated. */ - abatementString?: string; - _abatementString?: Element; + abatementString?: string|undefined; + _abatementString?: Element|undefined; /** * Individual or device that is making the condition statement. */ - asserter?: Reference; + asserter?: Reference|undefined; /** * Only used if not implicit in code found in Condition.code. If the use case requires attributes from the BodySite resource (e.g. to identify and track separately) then use the standard extension [bodySite](extension-bodysite.html). May be a summary code, or a reference to a very precise definition of the location, or both. */ - bodySite?: CodeableConcept[]; + bodySite?: CodeableConcept[]|undefined; /** * The categorization is often highly contextual and may appear poorly differentiated or not very useful in other contexts. */ - category?: CodeableConcept[]; + category?: CodeableConcept[]|undefined; /** * The data type is CodeableConcept because clinicalStatus has some clinical judgment involved, such that there might need to be more specificity than the required FHIR value set allows. For example, a SNOMED coding might allow for additional specificity. clinicalStatus is required since it is a modifier element. For conditions that are problems list items, the clinicalStatus should not be unknown. For conditions that are not problem list items, the clinicalStatus may be unknown. For example, conditions derived from a claim are point in time, so those conditions may have a clinicalStatus of unknown */ @@ -10520,62 +10520,62 @@ export interface Condition extends DomainResource { /** * Identification of the condition, problem or diagnosis. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * This will typically be the encounter the event occurred within, but some activities may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter. This record indicates the encounter this particular record is associated with. In the case of a "new" diagnosis reflecting ongoing/revised information about the condition, this might be distinct from the first encounter in which the underlying condition was first "known". */ - encounter?: Reference; + encounter?: Reference|undefined; /** * If the condition was confirmed, but subsequently refuted, then the evidence can be cumulative including all evidence over time. The evidence may be a simple list of coded symptoms/manifestations, or references to observations or formal assessments, or both. */ - evidence?: ConditionEvidence[]; + evidence?: ConditionEvidence[]|undefined; /** * This is a business identifier, not a resource identifier (see [discussion](resource.html#identifiers)). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and a Person resource instance might share the same social insurance number. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Additional information about the Condition. This is a general notes/comments entry for description of the Condition, its diagnosis and prognosis. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * Age is generally used when the patient reports an age at which the Condition began to occur. Period is generally used to convey an imprecise onset that occurred within the time period. For example, Period is not intended to convey the transition period before the chronic bronchitis or COPD condition was diagnosed, but Period can be used to convey an imprecise diagnosis date. */ - onsetDateTime?: string; - _onsetDateTime?: Element; + onsetDateTime?: string|undefined; + _onsetDateTime?: Element|undefined; /** * Age is generally used when the patient reports an age at which the Condition began to occur. Period is generally used to convey an imprecise onset that occurred within the time period. For example, Period is not intended to convey the transition period before the chronic bronchitis or COPD condition was diagnosed, but Period can be used to convey an imprecise diagnosis date. */ - onsetAge?: Age; + onsetAge?: Age|undefined; /** * Age is generally used when the patient reports an age at which the Condition began to occur. Period is generally used to convey an imprecise onset that occurred within the time period. For example, Period is not intended to convey the transition period before the chronic bronchitis or COPD condition was diagnosed, but Period can be used to convey an imprecise diagnosis date. */ - onsetPeriod?: Period; + onsetPeriod?: Period|undefined; /** * Age is generally used when the patient reports an age at which the Condition began to occur. Period is generally used to convey an imprecise onset that occurred within the time period. For example, Period is not intended to convey the transition period before the chronic bronchitis or COPD condition was diagnosed, but Period can be used to convey an imprecise diagnosis date. */ - onsetRange?: Range; + onsetRange?: Range|undefined; /** * Age is generally used when the patient reports an age at which the Condition began to occur. Period is generally used to convey an imprecise onset that occurred within the time period. For example, Period is not intended to convey the transition period before the chronic bronchitis or COPD condition was diagnosed, but Period can be used to convey an imprecise diagnosis date. */ - onsetString?: string; - _onsetString?: Element; + onsetString?: string|undefined; + _onsetString?: Element|undefined; /** * If the recordedDate is known via a sending system, it is preferred that the receiving system preserve the date. If the recorded date is not provided by the sending system, it is acceptable for the receiving system to assert their system-generated date. */ - recordedDate?: string; - _recordedDate?: Element; + recordedDate?: string|undefined; + _recordedDate?: Element|undefined; /** * Individual who recorded the record and takes responsibility for its content. */ - recorder?: Reference; + recorder?: Reference|undefined; /** * Coding of the severity with a terminology is preferred, where possible. */ - severity?: CodeableConcept; + severity?: CodeableConcept|undefined; /** * A simple summary of the stage such as "Stage 3" or "Early Onset". The determination of the stage is disease-specific, such as cancer, retinopathy of prematurity, kidney diseases, Alzheimer's, or Parkinson disease. */ - stage?: ConditionStage[]; + stage?: ConditionStage[]|undefined; /** * Indicates the patient or group who the condition record is associated with. */ @@ -10584,7 +10584,7 @@ export interface Condition extends DomainResource { * verificationStatus is not required. For example, when a patient has abdominal pain in the ED, there is not likely going to be a verification status. * The data type is CodeableConcept because verificationStatus has some clinical judgment involved, such that there might need to be more specificity than the required FHIR value set allows. For example, a SNOMED coding might allow for additional specificity. */ - verificationStatus?: CodeableConcept; + verificationStatus?: CodeableConcept|undefined; } /** * Observations particularly relevant to this condition. @@ -10593,11 +10593,11 @@ export interface ConditionDefinitionObservation extends BackboneElement { /** * Category that is relevant. */ - category?: CodeableConcept; + category?: CodeableConcept|undefined; /** * Code for relevant Observation. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; } /** * Medications particularly relevant for this condition. @@ -10606,11 +10606,11 @@ export interface ConditionDefinitionMedication extends BackboneElement { /** * Category that is relevant. */ - category?: CodeableConcept; + category?: CodeableConcept|undefined; /** * Code for relevant Medication. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; } /** * An observation that suggests that this condition applies. @@ -10624,15 +10624,15 @@ export interface ConditionDefinitionPrecondition extends BackboneElement { * Kind of pre-condition. */ type: ConditionDefinitionPreconditionTypeCodes; - _type?: Element; + _type?: Element|undefined; /** * Value of Observation. */ - valueCodeableConcept?: CodeableConcept; + valueCodeableConcept?: CodeableConcept|undefined; /** * Value of Observation. */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; } /** * Code Values for the ConditionDefinition.precondition.type field @@ -10649,7 +10649,7 @@ export interface ConditionDefinitionQuestionnaire extends BackboneElement { * Use of the questionnaire. */ purpose: ConditionDefinitionQuestionnairePurposeCodes; - _purpose?: Element; + _purpose?: Element|undefined; /** * Specific Questionnaire. */ @@ -10674,7 +10674,7 @@ export interface ConditionDefinitionPlan extends BackboneElement { /** * Use for the plan. */ - role?: CodeableConcept; + role?: CodeableConcept|undefined; } /** * A definition of a condition and information relevant to managing it. @@ -10685,7 +10685,7 @@ export interface ConditionDefinition extends DomainResource { /** * Only used if not implicit in code found in ConditionDefinition.code. If the use case requires attributes from the BodySite resource (e.g. to identify and track separately) then use the standard extension [bodySite](extension-bodysite.html). May be a summary code, or a reference to a very precise definition of the location, or both. */ - bodySite?: CodeableConcept; + bodySite?: CodeableConcept|undefined; /** * Identification of the condition, problem or diagnosis. */ @@ -10693,123 +10693,123 @@ export interface ConditionDefinition extends DomainResource { /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the condition definition. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * Formal definitions of the condition. These may be references to ontologies, published clinical protocols or research papers. */ - definition?: string[]; - _definition?: Element[]; + definition?: string[]|undefined; + _definition?: Element[]|undefined; /** * This description can be used to capture details such as why the condition definition was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the condition definition as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the condition definition is presumed to be the predominant language in the place the condition definition was created). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Allows filtering of condition definitions that are appropriate for use versus not. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * Whether bodySite is appropriate to collect for this condition. */ - hasBodySite?: boolean; - _hasBodySite?: Element; + hasBodySite?: boolean|undefined; + _hasBodySite?: Element|undefined; /** * Whether Severity is appropriate to collect for this condition. */ - hasSeverity?: boolean; - _hasSeverity?: Element; + hasSeverity?: boolean|undefined; + _hasSeverity?: Element|undefined; /** * Whether stage is appropriate to collect for this condition. */ - hasStage?: boolean; - _hasStage?: Element; + hasStage?: boolean|undefined; + _hasStage?: Element|undefined; /** * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this condition definition outside of FHIR, where it is not possible to use the logical URI. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * It may be possible for the condition definition to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * Medications particularly relevant for this condition. */ - medication?: ConditionDefinitionMedication[]; + medication?: ConditionDefinitionMedication[]|undefined; /** * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Observations particularly relevant to this condition. */ - observation?: ConditionDefinitionObservation[]; + observation?: ConditionDefinitionObservation[]|undefined; /** * Plan that is appropriate. */ - plan?: ConditionDefinitionPlan[]; + plan?: ConditionDefinitionPlan[]|undefined; /** * An observation that suggests that this condition applies. */ - precondition?: ConditionDefinitionPrecondition[]; + precondition?: ConditionDefinitionPrecondition[]|undefined; /** * Usually an organization but may be an individual. The publisher (or steward) of the condition definition is the organization or individual primarily responsible for the maintenance and upkeep of the condition definition. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the condition definition. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * Questionnaire for this condition. */ - questionnaire?: ConditionDefinitionQuestionnaire[]; + questionnaire?: ConditionDefinitionQuestionnaire[]|undefined; /** * Coding of the severity with a terminology is preferred, where possible. */ - severity?: CodeableConcept; + severity?: CodeableConcept|undefined; /** * Clinical stage or grade of a condition. May include formal severity assessments. */ - stage?: CodeableConcept; + stage?: CodeableConcept|undefined; /** * Allows filtering of condition definitions that are appropriate for use versus not. */ status: ConditionDefinitionStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * An explanatory or alternate title for the event definition giving additional information about its content. */ - subtitle?: string; - _subtitle?: Element; + subtitle?: string|undefined; + _subtitle?: Element|undefined; /** * Appropriate team for this condition. */ - team?: Reference[]; + team?: Reference[]|undefined; /** * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different condition definition instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the condition definition with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the ConditionDefinition.status field @@ -10828,13 +10828,13 @@ export interface ConsentPolicy extends BackboneElement { /** * Entity or Organization having regulatory jurisdiction or accountability for enforcing policies pertaining to Consent Directives. */ - authority?: string; - _authority?: Element; + authority?: string|undefined; + _authority?: Element|undefined; /** * This element is for discoverability / documentation and does not modify or qualify the policy rules. */ - uri?: string; - _uri?: Element; + uri?: string|undefined; + _uri?: Element|undefined; } /** * Whether a treatment instruction (e.g. artificial respiration yes or no) was verified with the patient, his/her family or another authorized person. @@ -10843,25 +10843,25 @@ export interface ConsentVerification extends BackboneElement { /** * Allows for history of verification/validation. */ - verificationDate?: string[]; - _verificationDate?: Element[]; + verificationDate?: string[]|undefined; + _verificationDate?: Element[]|undefined; /** * This allows the verification element to hold multiple use cases including RelatedPerson verification of the Grantee decision and periodic re-validation of the consent. */ - verificationType?: CodeableConcept; + verificationType?: CodeableConcept|undefined; /** * Has the instruction been verified. */ verified: boolean; - _verified?: Element; + _verified?: Element|undefined; /** * The person who conducted the verification/validation of the Grantee decision. */ - verifiedBy?: Reference; + verifiedBy?: Reference|undefined; /** * Who verified the instruction (Patient, Relative or other Authorized Person). */ - verifiedWith?: Reference; + verifiedWith?: Reference|undefined; } /** * Who or what is controlled by this rule. Use group to identify a set of actors by some property they share (e.g. 'admitting officers'). @@ -10884,7 +10884,7 @@ export interface ConsentProvisionData extends BackboneElement { * How the resource reference is interpreted when testing consent restrictions. */ meaning: ConsentProvisionDataMeaningCodes; - _meaning?: Element; + _meaning?: Element|undefined; /** * A reference to a specific resource that defines which resources are covered by this consent. */ @@ -10906,48 +10906,48 @@ export interface ConsentProvision extends BackboneElement { /** * Note that this is the direct action (not the grounds for the action covered in the purpose element). At present, the only action in the understood and tested scope of this resource is 'read'. */ - action?: CodeableConcept[]; + action?: CodeableConcept[]|undefined; /** * Who or what is controlled by this rule. Use group to identify a set of actors by some property they share (e.g. 'admitting officers'). */ - actor?: ConsentProvisionActor[]; + actor?: ConsentProvisionActor[]|undefined; /** * Multiple types are or'ed together. The intention of the contentType element is that the codes refer to profiles or document types defined in a standard or an implementation guide somewhere. */ - class?: Coding[]; + class?: Coding[]|undefined; /** * Typical use of this is a Document code with class = CDA. */ - code?: CodeableConcept[]; + code?: CodeableConcept[]|undefined; /** * The resources controlled by this rule if specific resources are referenced. */ - data?: ConsentProvisionData[]; + data?: ConsentProvisionData[]|undefined; /** * This has a different sense to the Consent.period - that is when the consent agreement holds. This is the time period of the data that is controlled by the agreement. */ - dataPeriod?: Period; + dataPeriod?: Period|undefined; /** * This is the bound effective time of the consent and should be in the base provision in the Consent resource. */ - period?: Period; + period?: Period|undefined; /** * Rules which provide exceptions to the base rule or subrules. */ - provision?: ConsentProvision[]; + provision?: ConsentProvision[]|undefined; /** * When the purpose of use tag is on the data, access request purpose of use shall not conflict. */ - purpose?: Coding[]; + purpose?: Coding[]|undefined; /** * If the consent specifies a security label of "R" then it applies to all resources that are labeled "R" or lower. E.g. for Confidentiality, it's a high water mark. For other kinds of security labels, subsumption logic applies. When the purpose of use tag is on the data, access request purpose of use shall not conflict. */ - securityLabel?: Coding[]; + securityLabel?: Coding[]|undefined; /** * Action to take - permit or deny - when the rule conditions are met. Not permitted in root rule, required in all nested rules. */ - type?: ConsentProvisionTypeCodes; - _type?: Element; + type?: ConsentProvisionTypeCodes|undefined; + _type?: Element|undefined; } /** * Code Values for the Consent.provision.type field @@ -10969,38 +10969,38 @@ export interface Consent extends DomainResource { /** * The actor that controls/enforces the access according to the consent. */ - controller?: Reference[]; + controller?: Reference[]|undefined; /** * Date and time the consent instance was agreed to. */ - dateTime?: string; - _dateTime?: Element; + dateTime?: string|undefined; + _dateTime?: Element|undefined; /** * This identifier identifies this copy of the consent. Where this identifier is also used elsewhere as the identifier for a consent record (e.g. a CDA consent document) then the consent details are expected to be the same. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The actor that manages the consent through its lifecycle. */ - manager?: Reference[]; + manager?: Reference[]|undefined; /** * Commonly, the patient the consent pertains to is the consentor, but particularly for young and old people, it may be some other person - e.g. a legal guardian. Where HealthCareService is listed, some services might not be appropriate based on the type of service and if they can be segmented as an independent or dependent individual entity that might not be eligible to be a grantee. * A Consent without a listed performer may be used as a statement of preference by the subject and is not in force. */ - performer?: Reference[]; + performer?: Reference[]|undefined; /** * if policy and policyRule are not present, the resource must include the policy being agreed to, or complied with, and that policy and/or policyRule SHOULD be populated as soon as is practical to support workflows that require computability. In addition, the policy could be indicated via the sourceReference or sourceAttachment content. * Alternately, creating an invariant for individual scopes that forces one or more of the elements to be populated as part of a profile or Implementation Guide may be advisable. */ - policy?: ConsentPolicy[]; + policy?: ConsentPolicy[]|undefined; /** * If the policyRule is absent, computable consent would need to be constructed from the elements of the Consent resource. */ - policyRule?: CodeableConcept; + policyRule?: CodeableConcept|undefined; /** * An exception to the base policy of this consent. An exception can be an addition or removal of access permissions. */ - provision?: ConsentProvision; + provision?: ConsentProvision|undefined; /** * A selector of the type of consent being presented with the base being Privacy, Treatment, or Research. */ @@ -11008,24 +11008,24 @@ export interface Consent extends DomainResource { /** * The source can be contained inline (Attachment), referenced directly (Consent), referenced in a consent repository (DocumentReference), or simply by an identifier (Identifier), e.g. a CDA document id. */ - sourceAttachment?: Attachment[]; + sourceAttachment?: Attachment[]|undefined; /** * The source can be contained inline (Attachment), referenced directly (Consent), referenced in a consent repository (DocumentReference), or simply by an identifier (Identifier), e.g. a CDA document id. */ - sourceReference?: Reference[]; + sourceReference?: Reference[]|undefined; /** * This element is labeled as a modifier because the status contains the codes rejected and entered-in-error that mark the Consent as not currently valid. */ status: ConsentStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Commonly, the subject the consent pertains to is the author, but for young and old people, it may be some other person. */ - subject?: Reference; + subject?: Reference|undefined; /** * Whether a treatment instruction (e.g. artificial respiration yes or no) was verified with the patient, his/her family or another authorized person. */ - verification?: ConsentVerification[]; + verification?: ConsentVerification[]|undefined; } /** * Code Values for the Consent.status field @@ -11044,26 +11044,26 @@ export interface ContractContentDefinition extends BackboneElement { /** * A copyright statement relating to Contract precursor content. Copyright statements are generally legal restrictions on the use and publishing of the Contract precursor content. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * The date (and optionally time) when the contract was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the contract changes. */ - publicationDate?: string; - _publicationDate?: Element; + publicationDate?: string|undefined; + _publicationDate?: Element|undefined; /** * amended | appended | cancelled | disputed | entered-in-error | executable +. */ publicationStatus: ContractContentDefinitionPublicationStatusCodes; - _publicationStatus?: Element; + _publicationStatus?: Element|undefined; /** * The individual or organization that published the Contract precursor content. */ - publisher?: Reference; + publisher?: Reference|undefined; /** * Detailed Precusory content type. */ - subType?: CodeableConcept; + subType?: CodeableConcept|undefined; /** * Precusory content structure and use, i.e., a boilerplate, template, application for a contract such as an insurance policy or benefits under a program, e.g., workers compensation. */ @@ -11096,7 +11096,7 @@ export interface ContractTermSecurityLabel extends BackboneElement { /** * Security label privacy tag that species the applicable privacy and security policies governing this term and/or term elements. */ - category?: Coding[]; + category?: Coding[]|undefined; /** * Security label privacy tag that species the level of confidentiality protection required for this term and/or term elements. */ @@ -11104,11 +11104,11 @@ export interface ContractTermSecurityLabel extends BackboneElement { /** * Security label privacy tag that species the manner in which term and/or term elements are to be protected. */ - control?: Coding[]; + control?: Coding[]|undefined; /** * Number used to link this term or term element to the applicable Security Label. */ - number?: number[]; + number?: number[]|undefined; } /** * Offer Recipient. @@ -11130,57 +11130,57 @@ export interface ContractTermOfferAnswer extends BackboneElement { /** * Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warrently duration, or whether biospecimen may be used for further research. */ - valueBoolean?: boolean; - _valueBoolean?: Element; + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; /** * Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warrently duration, or whether biospecimen may be used for further research. */ - valueDecimal?: number; + valueDecimal?: number|undefined; /** * Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warrently duration, or whether biospecimen may be used for further research. */ - valueInteger?: number; + valueInteger?: number|undefined; /** * Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warrently duration, or whether biospecimen may be used for further research. */ - valueDate?: string; - _valueDate?: Element; + valueDate?: string|undefined; + _valueDate?: Element|undefined; /** * Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warrently duration, or whether biospecimen may be used for further research. */ - valueDateTime?: string; - _valueDateTime?: Element; + valueDateTime?: string|undefined; + _valueDateTime?: Element|undefined; /** * Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warrently duration, or whether biospecimen may be used for further research. */ - valueTime?: string; - _valueTime?: Element; + valueTime?: string|undefined; + _valueTime?: Element|undefined; /** * Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warrently duration, or whether biospecimen may be used for further research. */ - valueString?: string; - _valueString?: Element; + valueString?: string|undefined; + _valueString?: Element|undefined; /** * Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warrently duration, or whether biospecimen may be used for further research. */ - valueUri?: string; - _valueUri?: Element; + valueUri?: string|undefined; + _valueUri?: Element|undefined; /** * Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warrently duration, or whether biospecimen may be used for further research. */ - valueAttachment?: Attachment; + valueAttachment?: Attachment|undefined; /** * Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warrently duration, or whether biospecimen may be used for further research. */ - valueCoding?: Coding; + valueCoding?: Coding|undefined; /** * Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warrently duration, or whether biospecimen may be used for further research. */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; /** * Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warrently duration, or whether biospecimen may be used for further research. */ - valueReference?: Reference; + valueReference?: Reference|undefined; } /** * The matter of concern in the context of this provision of the agrement. @@ -11189,48 +11189,48 @@ export interface ContractTermOffer extends BackboneElement { /** * Response to offer text. */ - answer?: ContractTermOfferAnswer[]; + answer?: ContractTermOfferAnswer[]|undefined; /** * Type of choice made by accepting party with respect to an offer made by an offeror/ grantee. */ - decision?: CodeableConcept; + decision?: CodeableConcept|undefined; /** * How the decision about a Contract was conveyed. */ - decisionMode?: CodeableConcept[]; + decisionMode?: CodeableConcept[]|undefined; /** * Unique identifier for this particular Contract Provision. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The id of the clause or question text of the offer in the referenced questionnaire/response. */ - linkId?: string[]; - _linkId?: Element[]; + linkId?: string[]|undefined; + _linkId?: Element[]|undefined; /** * Offer Recipient. */ - party?: ContractTermOfferParty[]; + party?: ContractTermOfferParty[]|undefined; /** * Security labels that protects the offer. */ - securityLabelNumber?: number[]; + securityLabelNumber?: number[]|undefined; /** * Human readable form of this Contract Offer. */ - text?: string; - _text?: Element; + text?: string|undefined; + _text?: Element|undefined; /** * The Contract.topic may be an application for or offer of a policy or service (e.g., uri to a consent directive form or a health insurance policy), which becomes the Contract once accepted by both the grantor and grantee. * The Contract Resource may function simply as the computable representation of the executed contract, which may be the attached to the Contract Resource as the “binding” or as the “friendly” electronic form. For example, a Contract Resource may be automatically populated with the values expressed in a related QuestionnaireResponse. * However, the Contract Resource may be considered the legally binding contract if it is the only “executed” form of this contract, and includes the signatures as *The Contract Resource may function as the computable representation of an application or offer in a pre-executed Contract if the grantor has not entered any values. In this case, it is populated with values in a “legal” form of the application or offer or by the values in an associated Questionnaire. If the grantor has filled in the legal form or the associated Questionnaire Response, then these values are used to populate a pre-executed Contract Resource. * If the Contract.topic is considered an application or offer, then the policy is often required to be attached as the “legal” basis for the application to ensure “informed consent” to the contract, and that any discrepancy between the application and the policy are interpreted against the policy. Implementers should check organizational and jurisdictional policies to determine the relationship among multiple representations of a contract pre- and post-execution. */ - topic?: Reference; + topic?: Reference|undefined; /** * Type of Contract Provision such as specific requirements, purposes for actions, obligations, prohibitions, e.g. life time maximum benefit. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Circumstance of the asset. @@ -11239,16 +11239,16 @@ export interface ContractTermAssetContext extends BackboneElement { /** * Coded representation of the context generally or of the Referenced entity, such as the asset holder type or location. */ - code?: CodeableConcept[]; + code?: CodeableConcept[]|undefined; /** * Asset context reference may include the creator, custodian, or owning Person or Organization (e.g., bank, repository), location held, e.g., building, jurisdiction. */ - reference?: Reference; + reference?: Reference|undefined; /** * Context description. */ - text?: string; - _text?: Element; + text?: string|undefined; + _text?: Element|undefined; } /** * Contract Valued Item List. @@ -11257,67 +11257,67 @@ export interface ContractTermAssetValuedItem extends BackboneElement { /** * Indicates the time during which this Contract ValuedItem information is effective. */ - effectiveTime?: string; - _effectiveTime?: Element; + effectiveTime?: string|undefined; + _effectiveTime?: Element|undefined; /** * Specific type of Contract Valued Item that may be priced. */ - entityCodeableConcept?: CodeableConcept; + entityCodeableConcept?: CodeableConcept|undefined; /** * Specific type of Contract Valued Item that may be priced. */ - entityReference?: Reference; + entityReference?: Reference|undefined; /** * A real number that represents a multiplier used in determining the overall value of the Contract Valued Item delivered. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount. */ - factor?: number; + factor?: number|undefined; /** * Identifies a Contract Valued Item instance. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * Id of the clause or question text related to the context of this valuedItem in the referenced form or QuestionnaireResponse. */ - linkId?: string[]; - _linkId?: Element[]; + linkId?: string[]|undefined; + _linkId?: Element[]|undefined; /** * Expresses the product of the Contract Valued Item unitQuantity and the unitPriceAmt. For example, the formula: unit Quantity * unit Price (Cost per Point) * factor Number * points = net Amount. Quantity, factor and points are assumed to be 1 if not supplied. */ - net?: Money; + net?: Money|undefined; /** * Terms of valuation. */ - payment?: string; - _payment?: Element; + payment?: string|undefined; + _payment?: Element|undefined; /** * When payment is due. */ - paymentDate?: string; - _paymentDate?: Element; + paymentDate?: string|undefined; + _paymentDate?: Element|undefined; /** * An amount that expresses the weighting (based on difficulty, cost and/or resource intensiveness) associated with the Contract Valued Item delivered. The concept of Points allows for assignment of point values for a Contract Valued Item, such that a monetary amount can be assigned to each point. */ - points?: number; + points?: number|undefined; /** * Specifies the units by which the Contract Valued Item is measured or counted, and quantifies the countable or measurable Contract Valued Item instances. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * Who will receive payment. */ - recipient?: Reference; + recipient?: Reference|undefined; /** * Who will make payment. */ - responsible?: Reference; + responsible?: Reference|undefined; /** * A set of security labels that define which terms are controlled by this condition. */ - securityLabelNumber?: number[]; + securityLabelNumber?: number[]|undefined; /** * A Contract Valued Item unit valuation measure. */ - unitPrice?: Money; + unitPrice?: Money|undefined; } /** * Contract Term Asset List. @@ -11326,66 +11326,66 @@ export interface ContractTermAsset extends BackboneElement { /** * Response to assets. */ - answer?: ContractTermOfferAnswer[]; + answer?: ContractTermOfferAnswer[]|undefined; /** * Description of the quality and completeness of the asset that imay be a factor in its valuation. */ - condition?: string; - _condition?: Element; + condition?: string|undefined; + _condition?: Element|undefined; /** * Circumstance of the asset. */ - context?: ContractTermAssetContext[]; + context?: ContractTermAssetContext[]|undefined; /** * Id [identifier??] of the clause or question text about the asset in the referenced form or QuestionnaireResponse. */ - linkId?: string[]; - _linkId?: Element[]; + linkId?: string[]|undefined; + _linkId?: Element[]|undefined; /** * Asset relevant contractual time period. */ - period?: Period[]; + period?: Period[]|undefined; /** * Type of Asset availability for use or ownership. */ - periodType?: CodeableConcept[]; + periodType?: CodeableConcept[]|undefined; /** * Specifies the applicability of the term to an asset resource instance, and instances it refers to orinstances that refer to it, and/or are owned by the offeree. */ - relationship?: Coding; + relationship?: Coding|undefined; /** * Differentiates the kind of the asset . */ - scope?: CodeableConcept; + scope?: CodeableConcept|undefined; /** * Security labels that protects the asset. */ - securityLabelNumber?: number[]; + securityLabelNumber?: number[]|undefined; /** * May be a subtype or part of an offered asset. */ - subtype?: CodeableConcept[]; + subtype?: CodeableConcept[]|undefined; /** * Clause or question text (Prose Object) concerning the asset in a linked form, such as a QuestionnaireResponse used in the formation of the contract. */ - text?: string; - _text?: Element; + text?: string|undefined; + _text?: Element|undefined; /** * Target entity type about which the term may be concerned. */ - type?: CodeableConcept[]; + type?: CodeableConcept[]|undefined; /** * Associated entities. */ - typeReference?: Reference[]; + typeReference?: Reference[]|undefined; /** * Time period of asset use. */ - usePeriod?: Period[]; + usePeriod?: Period[]|undefined; /** * Contract Valued Item List. */ - valuedItem?: ContractTermAssetValuedItem[]; + valuedItem?: ContractTermAssetValuedItem[]|undefined; } /** * Entity of the action. @@ -11398,7 +11398,7 @@ export interface ContractTermActionSubject extends BackboneElement { /** * Role type of agent assigned roles in this Contract. */ - role?: CodeableConcept; + role?: CodeableConcept|undefined; } /** * Several agents may be associated (i.e. has some responsibility for an activity) with an activity and vice-versa. @@ -11408,17 +11408,17 @@ export interface ContractTermAction extends BackboneElement { /** * Encounter or Episode with primary association to specified term activity. */ - context?: Reference; + context?: Reference|undefined; /** * Id [identifier??] of the clause or question text related to the requester of this action in the referenced form or QuestionnaireResponse. */ - contextLinkId?: string[]; - _contextLinkId?: Element[]; + contextLinkId?: string[]|undefined; + _contextLinkId?: Element[]|undefined; /** * True if the term prohibits the action. */ - doNotPerform?: boolean; - _doNotPerform?: Element; + doNotPerform?: boolean|undefined; + _doNotPerform?: Element|undefined; /** * Reason or purpose for the action stipulated by this Contract Provision. */ @@ -11426,64 +11426,64 @@ export interface ContractTermAction extends BackboneElement { /** * Id [identifier??] of the clause or question text related to this action in the referenced form or QuestionnaireResponse. */ - linkId?: string[]; - _linkId?: Element[]; + linkId?: string[]|undefined; + _linkId?: Element[]|undefined; /** * Comments made about the term action made by the requester, performer, subject or other participants. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * When action happens. */ - occurrenceDateTime?: string; - _occurrenceDateTime?: Element; + occurrenceDateTime?: string|undefined; + _occurrenceDateTime?: Element|undefined; /** * When action happens. */ - occurrencePeriod?: Period; + occurrencePeriod?: Period|undefined; /** * When action happens. */ - occurrenceTiming?: Timing; + occurrenceTiming?: Timing|undefined; /** * Indicates who or what is being asked to perform (or not perform) the ction. */ - performer?: Reference; + performer?: Reference|undefined; /** * Id [identifier??] of the clause or question text related to the reason type or reference of this action in the referenced form or QuestionnaireResponse. */ - performerLinkId?: string[]; - _performerLinkId?: Element[]; + performerLinkId?: string[]|undefined; + _performerLinkId?: Element[]|undefined; /** * The type of role or competency of an individual desired or required to perform or not perform the action. */ - performerRole?: CodeableConcept; + performerRole?: CodeableConcept|undefined; /** * The type of individual that is desired or required to perform or not perform the action. */ - performerType?: CodeableConcept[]; + performerType?: CodeableConcept[]|undefined; /** * Rationale for the action to be performed or not performed. Describes why the action is permitted or prohibited. Either a coded concept, or another resource whose existence justifies permitting or not permitting this action. */ - reason?: CodeableReference[]; + reason?: CodeableReference[]|undefined; /** * Id [identifier??] of the clause or question text related to the reason type or reference of this action in the referenced form or QuestionnaireResponse. */ - reasonLinkId?: string[]; - _reasonLinkId?: Element[]; + reasonLinkId?: string[]|undefined; + _reasonLinkId?: Element[]|undefined; /** * Who or what initiated the action and has responsibility for its activation. */ - requester?: Reference[]; + requester?: Reference[]|undefined; /** * Id [identifier??] of the clause or question text related to the requester of this action in the referenced form or QuestionnaireResponse. */ - requesterLinkId?: string[]; - _requesterLinkId?: Element[]; + requesterLinkId?: string[]|undefined; + _requesterLinkId?: Element[]|undefined; /** * Security labels that protects the action. */ - securityLabelNumber?: number[]; + securityLabelNumber?: number[]|undefined; /** * Current state of the term action. */ @@ -11491,7 +11491,7 @@ export interface ContractTermAction extends BackboneElement { /** * Entity of the action. */ - subject?: ContractTermActionSubject[]; + subject?: ContractTermActionSubject[]|undefined; /** * Activity or service obligation to be done or not done, performed or not performed, effectuated or not by this Contract term. */ @@ -11505,28 +11505,28 @@ export interface ContractTerm extends BackboneElement { * Several agents may be associated (i.e. has some responsibility for an activity) with an activity and vice-versa. * For example, in cases of actions initiated by one user for other users, or in events that involve more than one user, hardware device, software, or system process. However, only one user may be the initiator/requestor for the event. */ - action?: ContractTermAction[]; + action?: ContractTermAction[]|undefined; /** * Relevant time or time-period when this Contract Provision is applicable. */ - applies?: Period; + applies?: Period|undefined; /** * Contract Term Asset List. */ - asset?: ContractTermAsset[]; + asset?: ContractTermAsset[]|undefined; /** * Nested group of Contract Provisions. */ - group?: ContractTerm[]; + group?: ContractTerm[]|undefined; /** * Unique identifier for this particular Contract Provision. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * When this Contract Provision was issued. */ - issued?: string; - _issued?: Element; + issued?: string|undefined; + _issued?: Element|undefined; /** * The matter of concern in the context of this provision of the agrement. */ @@ -11534,28 +11534,28 @@ export interface ContractTerm extends BackboneElement { /** * Security labels that protect the handling of information about the term and its elements, which may be specifically identified.. */ - securityLabel?: ContractTermSecurityLabel[]; + securityLabel?: ContractTermSecurityLabel[]|undefined; /** * A specialized legal clause or condition based on overarching contract type. */ - subType?: CodeableConcept; + subType?: CodeableConcept|undefined; /** * Statement of a provision in a policy or a contract. */ - text?: string; - _text?: Element; + text?: string|undefined; + _text?: Element|undefined; /** * The entity that the term applies to. */ - topicCodeableConcept?: CodeableConcept; + topicCodeableConcept?: CodeableConcept|undefined; /** * The entity that the term applies to. */ - topicReference?: Reference; + topicReference?: Reference|undefined; /** * A legal clause or condition contained within a contract that requires one or both parties to perform a particular requirement by some specified time or prevents one or both parties from performing a particular requirement by some specified time. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Signers who are principal parties to the contract are bound by the Contract.activity related to the Contract.topic, and the Contract.term(s), which either extend or restrict the overall action on the topic by, for example, stipulating specific policies or obligations constraining actions, action reason, or agents with respect to some or all of the topic. @@ -11582,11 +11582,11 @@ export interface ContractFriendly extends BackboneElement { /** * Human readable rendering of this Contract in a format and representation intended to enhance comprehension and ensure understandability. */ - contentAttachment?: Attachment; + contentAttachment?: Attachment|undefined; /** * Human readable rendering of this Contract in a format and representation intended to enhance comprehension and ensure understandability. */ - contentReference?: Reference; + contentReference?: Reference|undefined; } /** * List of Legal expressions or representations of this Contract. @@ -11595,11 +11595,11 @@ export interface ContractLegal extends BackboneElement { /** * Contract legal text in human renderable form. */ - contentAttachment?: Attachment; + contentAttachment?: Attachment|undefined; /** * Contract legal text in human renderable form. */ - contentReference?: Reference; + contentReference?: Reference|undefined; } /** * List of Computable Policy Rule Language Representations of this Contract. @@ -11608,11 +11608,11 @@ export interface ContractRule extends BackboneElement { /** * Computable Contract conveyed using a policy rule language (e.g. XACML, DKAL, SecPal). */ - contentAttachment?: Attachment; + contentAttachment?: Attachment|undefined; /** * Computable Contract conveyed using a policy rule language (e.g. XACML, DKAL, SecPal). */ - contentReference?: Reference; + contentReference?: Reference|undefined; } /** * Legally enforceable, formally recorded unilateral or bilateral directive i.e., a policy or agreement. @@ -11623,155 +11623,155 @@ export interface Contract extends DomainResource { /** * Alternative representation of the title for this Contract definition, derivative, or instance in any legal state., e.g., a domain specific contract number related to legislation. */ - alias?: string[]; - _alias?: Element[]; + alias?: string[]|undefined; + _alias?: Element[]|undefined; /** * Relevant time or time-period when this Contract is applicable. */ - applies?: Period; + applies?: Period|undefined; /** * The individual or organization that authored the Contract definition, derivative, or instance in any legal state. */ - author?: Reference; + author?: Reference|undefined; /** * A formally or informally recognized grouping of people, principals, organizations, or jurisdictions formed for the purpose of achieving some form of collective action such as the promulgation, administration and enforcement of contracts and policies. */ - authority?: Reference[]; + authority?: Reference[]|undefined; /** * Precusory content developed with a focus and intent of supporting the formation a Contract instance, which may be associated with and transformable into a Contract. */ - contentDefinition?: ContractContentDefinition; + contentDefinition?: ContractContentDefinition|undefined; /** * The minimal content derived from the basal information source at a specific stage in its lifecycle. */ - contentDerivative?: CodeableConcept; + contentDerivative?: CodeableConcept|undefined; /** * Recognized governance framework or system operating with a circumscribed scope in accordance with specified principles, policies, processes or procedures for managing rights, actions, or behaviors of parties or principals relative to resources. */ - domain?: Reference[]; + domain?: Reference[]|undefined; /** * Event resulting in discontinuation or termination of this Contract instance by one or more parties to the contract. */ - expirationType?: CodeableConcept; + expirationType?: CodeableConcept|undefined; /** * The "patient friendly language" versionof the Contract in whole or in parts. "Patient friendly language" means the representation of the Contract and Contract Provisions in a manner that is readily accessible and understandable by a layperson in accordance with best practices for communication styles that ensure that those agreeing to or signing the Contract understand the roles, actions, obligations, responsibilities, and implication of the agreement. */ - friendly?: ContractFriendly[]; + friendly?: ContractFriendly[]|undefined; /** * Unique identifier for this Contract or a derivative that references a Source Contract. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The URL pointing to a FHIR-defined Contract Definition that is adhered to in whole or part by this Contract. */ - instantiatesCanonical?: Reference; + instantiatesCanonical?: Reference|undefined; /** * The URL pointing to an externally maintained definition that is adhered to in whole or in part by this Contract. */ - instantiatesUri?: string; - _instantiatesUri?: Element; + instantiatesUri?: string|undefined; + _instantiatesUri?: Element|undefined; /** * When this Contract was issued. */ - issued?: string; - _issued?: Element; + issued?: string|undefined; + _issued?: Element|undefined; /** * List of Legal expressions or representations of this Contract. */ - legal?: ContractLegal[]; + legal?: ContractLegal[]|undefined; /** * Legally binding Contract: This is the signed and legally recognized representation of the Contract, which is considered the "source of truth" and which would be the basis for legal action related to enforcement of this Contract. */ - legallyBindingAttachment?: Attachment; + legallyBindingAttachment?: Attachment|undefined; /** * Legally binding Contract: This is the signed and legally recognized representation of the Contract, which is considered the "source of truth" and which would be the basis for legal action related to enforcement of this Contract. */ - legallyBindingReference?: Reference; + legallyBindingReference?: Reference|undefined; /** * Legal states of the formation of a legal instrument, which is a formally executed written document that can be formally attributed to its author, records and formally expresses a legally enforceable act, process, or contractual duty, obligation, or right, and therefore evidences that act, process, or agreement. */ - legalState?: CodeableConcept; + legalState?: CodeableConcept|undefined; /** * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Links to Provenance records for past versions of this Contract definition, derivative, or instance, which identify key state transitions or updates that are likely to be relevant to a user looking at the current version of the Contract. The Provence.entity indicates the target that was changed in the update. http://build.fhir.org/provenance-definitions.html#Provenance.entity. */ - relevantHistory?: Reference[]; + relevantHistory?: Reference[]|undefined; /** * List of Computable Policy Rule Language Representations of this Contract. */ - rule?: ContractRule[]; + rule?: ContractRule[]|undefined; /** * A selector of legal concerns for this Contract definition, derivative, or instance in any legal state. */ - scope?: CodeableConcept; + scope?: CodeableConcept|undefined; /** * Signers who are principal parties to the contract are bound by the Contract.activity related to the Contract.topic, and the Contract.term(s), which either extend or restrict the overall action on the topic by, for example, stipulating specific policies or obligations constraining actions, action reason, or agents with respect to some or all of the topic. * For example, specifying how policies or obligations shall constrain actions and action reasons permitted or denied on all or a subset of the Contract.topic (e.g., all or a portion of property being transferred by the contract), agents (e.g., who can resell, assign interests, or alter the property being transferred by the contract), actions, and action reasons; or with respect to Contract.terms, stipulating, extending, or limiting the Contract.period of applicability or valuation of items under consideration. */ - signer?: ContractSigner[]; + signer?: ContractSigner[]|undefined; /** * Sites in which the contract is complied with, exercised, or in force. */ - site?: Reference[]; + site?: Reference[]|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the contract as not currently valid or active. */ - status?: ContractStatusCodes; - _status?: Element; + status?: ContractStatusCodes|undefined; + _status?: Element|undefined; /** * The Contract.subject is an entity that has some role with respect to the Contract.topic and Contract.topic.term, which is of focal interest to the parties to the contract and likely impacted in a significant way by the Contract.action/Contract.action.reason and the Contract.term.action/Contract.action.reason. * In many cases, the Contract.subject is a Contract.signer if the subject is an adult; has a legal interest in the contract; and incompetent to participate in the contract agreement. */ - subject?: Reference[]; + subject?: Reference[]|undefined; /** * An explanatory or alternate user-friendly title for this Contract definition, derivative, or instance in any legal state.t giving additional information about its content. */ - subtitle?: string; - _subtitle?: Element; + subtitle?: string|undefined; + _subtitle?: Element|undefined; /** * Sub-category for the Contract that distinguishes the kinds of systems that would be interested in the Contract within the context of the Contract's scope. */ - subType?: CodeableConcept[]; + subType?: CodeableConcept[]|undefined; /** * Information that may be needed by/relevant to the performer in their execution of this term action. */ - supportingInfo?: Reference[]; + supportingInfo?: Reference[]|undefined; /** * One or more Contract Provisions, which may be related and conveyed as a group, and may contain nested groups. */ - term?: ContractTerm[]; + term?: ContractTerm[]|undefined; /** * A short, descriptive, user-friendly title for this Contract definition, derivative, or instance in any legal state.t giving additional information about its content. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Narrows the range of legal concerns to focus on the achievement of specific contractual objectives. */ - topicCodeableConcept?: CodeableConcept; + topicCodeableConcept?: CodeableConcept|undefined; /** * Narrows the range of legal concerns to focus on the achievement of specific contractual objectives. */ - topicReference?: Reference; + topicReference?: Reference|undefined; /** * A high-level category for the legal instrument, whether constructed as a Contract definition, derivative, or instance in any legal state. Provides additional information about its content within the context of the Contract's scope to distinguish the kinds of systems that would be interested in the contract. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; /** * Used in a domain that uses a supplied contract repository. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * Note - This is a business versionId, not a resource version id (see discussion http://build.fhir.org/resource.html#versions) * Comments - There may be different contract instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the plan definition with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the Contract.status field @@ -11800,8 +11800,8 @@ export interface CoverageClass extends BackboneElement { /** * A short description for the class. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * The type of classification for which an insurer-specific class label or number and optional name is provided. For example, type may be used to identify a class of coverage or employer group, policy, or plan. */ @@ -11810,7 +11810,7 @@ export interface CoverageClass extends BackboneElement { * For example, the Group or Plan number. */ value: string; - _value?: Element; + _value?: Element|undefined; } /** * A suite of codes indicating exceptions or reductions to patient costs and their effective periods. @@ -11819,7 +11819,7 @@ export interface CoverageCostToBeneficiaryException extends BackboneElement { /** * The timeframe the exception is in force. */ - period?: Period; + period?: Period|undefined; /** * The code for the specific exception. */ @@ -11832,19 +11832,19 @@ export interface CoverageCostToBeneficiary extends BackboneElement { /** * A suite of codes indicating exceptions or reductions to patient costs and their effective periods. */ - exception?: CoverageCostToBeneficiaryException[]; + exception?: CoverageCostToBeneficiaryException[]|undefined; /** * For example visit, specialist visits, emergency, inpatient care, etc. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; /** * Amount may be expressed as a percentage of the service/product cost or a fixed amount of currency. */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; /** * Amount may be expressed as a percentage of the service/product cost or a fixed amount of currency. */ - valueMoney?: Money; + valueMoney?: Money|undefined; } /** * Financial instrument which may be used to reimburse or pay for health care products and services. Includes both insurance and self-payment. @@ -11859,33 +11859,33 @@ export interface Coverage extends DomainResource { /** * For example, class may be used to identify a class of coverage or employer group, policy, or plan. */ - class?: CoverageClass[]; + class?: CoverageClass[]|undefined; /** * The policy(s) which constitute this insurance coverage. */ - contract?: Reference[]; + contract?: Reference[]|undefined; /** * For example by knowing the patient visit co-pay, the provider can collect the amount prior to undertaking treatment. */ - costToBeneficiary?: CoverageCostToBeneficiary[]; + costToBeneficiary?: CoverageCostToBeneficiary[]|undefined; /** * Sometimes the member number is constructed from the subscriberId and the dependant number. */ - dependent?: string; - _dependent?: Element; + dependent?: string|undefined; + _dependent?: Element|undefined; /** * The main (and possibly only) identifier for the coverage - often referred to as a Member Id, Certificate number, Personal Health Number or Case ID. May be constructed as the concatenation of the Coverage.SubscriberID and the Coverage.dependant. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The insurer-specific identifier for the insurer-defined network of providers to which the beneficiary may seek treatment which will be covered at the 'in-network' rate, otherwise 'out of network' terms and conditions apply. */ - network?: string; - _network?: Element; + network?: string|undefined; + _network?: Element|undefined; /** * The order of applicability of this coverage relative to other coverages which are currently in force. Note, there may be gaps in the numbering and this does not imply primary, secondary etc. as the specific positioning of coverages depends upon the episode of care. */ - order?: number; + order?: number|undefined; /** * May provide multiple identifiers such as insurance company identifier or business identifier (BIN number). * For selfpay it may provide multiple paying persons and/or organizations. @@ -11894,37 +11894,37 @@ export interface Coverage extends DomainResource { /** * Time period during which the coverage is in force. A missing start date indicates the start date isn't known, a missing end date means the coverage is continuing to be in force. */ - period?: Period; + period?: Period|undefined; /** * For example: may be an individual, corporation or the subscriber's employer. */ - policyHolder?: Reference; + policyHolder?: Reference|undefined; /** * Typically, an individual uses policies which are theirs (relationship='self') before policies owned by others. */ - relationship?: CodeableConcept; + relationship?: CodeableConcept|undefined; /** * This element is labeled as a modifier because the status contains the code entered-in-error that marks the coverage as not currently valid. */ status: CoverageStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Typically, automotive and worker's compensation policies would be flagged with 'subrogation=true' to enable healthcare payors to collect against accident claims. */ - subrogation?: boolean; - _subrogation?: Element; + subrogation?: boolean|undefined; + _subrogation?: Element|undefined; /** * May be self or a parent in the case of dependants. */ - subscriber?: Reference; + subscriber?: Reference|undefined; /** * The insurer assigned ID for the Subscriber. */ - subscriberId?: Identifier; + subscriberId?: Identifier|undefined; /** * The type of coverage: social program, medical plan, accident coverage (workers compensation, auto), group health or payment by an individual or organization. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Code Values for the Coverage.status field @@ -11942,8 +11942,8 @@ export interface CoverageEligibilityRequestSupportingInfo extends BackboneElemen /** * The supporting materials are applicable for all detail items, product/servce categories and specific billing codes. */ - appliesToAll?: boolean; - _appliesToAll?: Element; + appliesToAll?: boolean|undefined; + _appliesToAll?: Element|undefined; /** * Could be used to provide references to other resources, document. For example could contain a PDF in an Attachment of the Police Report for an Accident. */ @@ -11960,8 +11960,8 @@ export interface CoverageEligibilityRequestInsurance extends BackboneElement { /** * A business agreement number established between the provider and the insurer for special business processing purposes. */ - businessArrangement?: string; - _businessArrangement?: Element; + businessArrangement?: string|undefined; + _businessArrangement?: Element|undefined; /** * Reference to the insurance card level information contained in the Coverage resource. The coverage issuing insurer will use these details to locate the patient's actual coverage within the insurer's information system. */ @@ -11969,8 +11969,8 @@ export interface CoverageEligibilityRequestInsurance extends BackboneElement { /** * A patient may (will) have multiple insurance policies which provide reimburement for healthcare services and products. For example a person may also be covered by their spouse's policy and both appear in the list (and may be from the same insurer). This flag will be set to true for only one of the listed policies and that policy will be used for evaluating this request. Other requests would be created to request evaluation against the other listed policies. */ - focal?: boolean; - _focal?: Element; + focal?: boolean|undefined; + _focal?: Element|undefined; } /** * Patient diagnosis for which care is sought. @@ -11979,11 +11979,11 @@ export interface CoverageEligibilityRequestItemDiagnosis extends BackboneElement /** * The nature of illness or problem in a coded form or as a reference to an external defined Condition. */ - diagnosisCodeableConcept?: CodeableConcept; + diagnosisCodeableConcept?: CodeableConcept|undefined; /** * The nature of illness or problem in a coded form or as a reference to an external defined Condition. */ - diagnosisReference?: Reference; + diagnosisReference?: Reference|undefined; } /** * Service categories or billable services for which benefit details and/or an authorization prior to service delivery may be required by the payor. @@ -11992,43 +11992,43 @@ export interface CoverageEligibilityRequestItem extends BackboneElement { /** * Examples include Medical Care, Periodontics, Renal Dialysis, Vision Coverage. */ - category?: CodeableConcept; + category?: CodeableConcept|undefined; /** * The plan/proposal/order describing the proposed service in detail. */ - detail?: Reference[]; + detail?: Reference[]|undefined; /** * Patient diagnosis for which care is sought. */ - diagnosis?: CoverageEligibilityRequestItemDiagnosis[]; + diagnosis?: CoverageEligibilityRequestItemDiagnosis[]|undefined; /** * Facility where the services will be provided. */ - facility?: Reference; + facility?: Reference|undefined; /** * For example in Oral whether the treatment is cosmetic or associated with TMJ, or for Medical whether the treatment was outside the clinic or out of office hours. */ - modifier?: CodeableConcept[]; + modifier?: CodeableConcept[]|undefined; /** * Code to indicate the Professional Service or Product supplied (e.g. CTP, HCPCS, USCLS, ICD10, NCPDP, DIN, RxNorm, ACHI, CCI). */ - productOrService?: CodeableConcept; + productOrService?: CodeableConcept|undefined; /** * The practitioner who is responsible for the product or service to be rendered to the patient. */ - provider?: Reference; + provider?: Reference|undefined; /** * The number of repetitions of a service or product. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * Exceptions, special conditions and supporting information applicable for this service or product line. */ - supportingInfoSequence?: number[]; + supportingInfoSequence?: number[]|undefined; /** * The amount charged to the patient by the provider for a single unit. */ - unitPrice?: Money; + unitPrice?: Money|undefined; } /** * The CoverageEligibilityRequest provides patient and insurance coverage information to an insurer for them to respond, in the form of an CoverageEligibilityResponse, with information regarding whether the stated coverage is valid and in-force and optionally to provide the insurance details of the policy. @@ -12040,23 +12040,23 @@ export interface CoverageEligibilityRequest extends DomainResource { * The date when this resource was created. */ created: string; - _created?: Element; + _created?: Element|undefined; /** * Person who created the request. */ - enterer?: Reference; + enterer?: Reference|undefined; /** * Facility where the services are intended to be provided. */ - facility?: Reference; + facility?: Reference|undefined; /** * A unique identifier assigned to this coverage eligiblity request. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * All insurance coverages for the patient which may be applicable for reimbursement, of the products and services listed in the claim, are typically provided in the claim to allow insurers to confirm the ordering of the insurance coverages relative to local 'coordination of benefit' rules. One coverage (and only one) with 'focal=true' is to be used in the adjudication of this claim. Coverages appearing before the focal Coverage in the list, and where 'subrogation=false', should provide a reference to the ClaimResponse containing the adjudication results of the prior claim. */ - insurance?: CoverageEligibilityRequestInsurance[]; + insurance?: CoverageEligibilityRequestInsurance[]|undefined; /** * The Insurer who issued the coverage in question and is the recipient of the request. */ @@ -12064,7 +12064,7 @@ export interface CoverageEligibilityRequest extends DomainResource { /** * Service categories or billable services for which benefit details and/or an authorization prior to service delivery may be required by the payor. */ - item?: CoverageEligibilityRequestItem[]; + item?: CoverageEligibilityRequestItem[]|undefined; /** * 1..1. */ @@ -12072,34 +12072,34 @@ export interface CoverageEligibilityRequest extends DomainResource { /** * When the requestor expects the processor to complete processing. */ - priority?: CodeableConcept; + priority?: CodeableConcept|undefined; /** * Typically this field would be 1..1 where this party is responsible for the eligibility request but not necessarily professionally responsible for the provision of the individual products and services listed below. */ - provider?: Reference; + provider?: Reference|undefined; /** * Code to specify whether requesting: prior authorization requirements for some service categories or billing codes; benefits for coverages specified or discovered; discovery and return of coverages for the patient; and/or validation that the specified coverage is in-force at the date/period specified or 'now' if not specified. */ purpose: CoverageEligibilityRequestPurposeCodes[]; - _purpose?: Element[]; + _purpose?: Element[]|undefined; /** * The date or dates when the enclosed suite of services were performed or completed. */ - servicedDate?: string; - _servicedDate?: Element; + servicedDate?: string|undefined; + _servicedDate?: Element|undefined; /** * The date or dates when the enclosed suite of services were performed or completed. */ - servicedPeriod?: Period; + servicedPeriod?: Period|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: CoverageEligibilityRequestStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Often there are multiple jurisdiction specific valuesets which are required. */ - supportingInfo?: CoverageEligibilityRequestSupportingInfo[]; + supportingInfo?: CoverageEligibilityRequestSupportingInfo[]|undefined; } /** * Code Values for the CoverageEligibilityRequest.purpose field @@ -12126,16 +12126,16 @@ export interface CoverageEligibilityResponseInsuranceItemBenefit extends Backbon /** * The quantity of the benefit which is permitted under the coverage. */ - allowedUnsignedInt?: number; + allowedUnsignedInt?: number|undefined; /** * The quantity of the benefit which is permitted under the coverage. */ - allowedString?: string; - _allowedString?: Element; + allowedString?: string|undefined; + _allowedString?: Element|undefined; /** * The quantity of the benefit which is permitted under the coverage. */ - allowedMoney?: Money; + allowedMoney?: Money|undefined; /** * For example: deductible, visits, benefit amount. */ @@ -12143,16 +12143,16 @@ export interface CoverageEligibilityResponseInsuranceItemBenefit extends Backbon /** * The quantity of the benefit which have been consumed to date. */ - usedUnsignedInt?: number; + usedUnsignedInt?: number|undefined; /** * The quantity of the benefit which have been consumed to date. */ - usedString?: string; - _usedString?: Element; + usedString?: string|undefined; + _usedString?: Element|undefined; /** * The quantity of the benefit which have been consumed to date. */ - usedMoney?: Money; + usedMoney?: Money|undefined; } /** * Benefits and optionally current balances, and authorization details by category or service. @@ -12161,64 +12161,64 @@ export interface CoverageEligibilityResponseInsuranceItem extends BackboneElemen /** * A boolean flag indicating whether a preauthorization is required prior to actual service delivery. */ - authorizationRequired?: boolean; - _authorizationRequired?: Element; + authorizationRequired?: boolean|undefined; + _authorizationRequired?: Element|undefined; /** * Codes or comments regarding information or actions associated with the preauthorization. */ - authorizationSupporting?: CodeableConcept[]; + authorizationSupporting?: CodeableConcept[]|undefined; /** * A web location for obtaining requirements or descriptive information regarding the preauthorization. */ - authorizationUrl?: string; - _authorizationUrl?: Element; + authorizationUrl?: string|undefined; + _authorizationUrl?: Element|undefined; /** * Benefits used to date. */ - benefit?: CoverageEligibilityResponseInsuranceItemBenefit[]; + benefit?: CoverageEligibilityResponseInsuranceItemBenefit[]|undefined; /** * Examples include Medical Care, Periodontics, Renal Dialysis, Vision Coverage. */ - category?: CodeableConcept; + category?: CodeableConcept|undefined; /** * For example 'DENT2 covers 100% of basic, 50% of major but excludes Ortho, Implants and Cosmetic services'. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * True if the indicated class of service is excluded from the plan, missing or False indicates the product or service is included in the coverage. */ - excluded?: boolean; - _excluded?: Element; + excluded?: boolean|undefined; + _excluded?: Element|undefined; /** * For example in Oral whether the treatment is cosmetic or associated with TMJ, or for Medical whether the treatment was outside the clinic or out of office hours. */ - modifier?: CodeableConcept[]; + modifier?: CodeableConcept[]|undefined; /** * For example: MED01, or DENT2. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Is a flag to indicate whether the benefits refer to in-network providers or out-of-network providers. */ - network?: CodeableConcept; + network?: CodeableConcept|undefined; /** * Code to indicate the Professional Service or Product supplied (e.g. CTP, HCPCS, USCLS, ICD10, NCPDP, DIN, RxNorm, ACHI, CCI). */ - productOrService?: CodeableConcept; + productOrService?: CodeableConcept|undefined; /** * The practitioner who is eligible for the provision of the product or service. */ - provider?: Reference; + provider?: Reference|undefined; /** * The term or period of the values such as 'maximum lifetime benefit' or 'maximum annual visits'. */ - term?: CodeableConcept; + term?: CodeableConcept|undefined; /** * Indicates if the benefits apply to an individual or to the family. */ - unit?: CodeableConcept; + unit?: CodeableConcept|undefined; } /** * All insurance coverages for the patient which may be applicable for reimbursement, of the products and services listed in the claim, are typically provided in the claim to allow insurers to confirm the ordering of the insurance coverages relative to local 'coordination of benefit' rules. One coverage (and only one) with 'focal=true' is to be used in the adjudication of this claim. Coverages appearing before the focal Coverage in the list, and where 'subrogation=false', should provide a reference to the ClaimResponse containing the adjudication results of the prior claim. @@ -12227,7 +12227,7 @@ export interface CoverageEligibilityResponseInsurance extends BackboneElement { /** * The term of the benefits documented in this response. */ - benefitPeriod?: Period; + benefitPeriod?: Period|undefined; /** * Reference to the insurance card level information contained in the Coverage resource. The coverage issuing insurer will use these details to locate the patient's actual coverage within the insurer's information system. */ @@ -12235,12 +12235,12 @@ export interface CoverageEligibilityResponseInsurance extends BackboneElement { /** * Flag indicating if the coverage provided is inforce currently if no service date(s) specified or for the whole duration of the service dates. */ - inforce?: boolean; - _inforce?: Element; + inforce?: boolean|undefined; + _inforce?: Element|undefined; /** * Benefits and optionally current balances, and authorization details by category or service. */ - item?: CoverageEligibilityResponseInsuranceItem[]; + item?: CoverageEligibilityResponseInsuranceItem[]|undefined; } /** * Errors encountered during the processing of the request. @@ -12261,28 +12261,28 @@ export interface CoverageEligibilityResponse extends DomainResource { * The date this resource was created. */ created: string; - _created?: Element; + _created?: Element|undefined; /** * A human readable description of the status of the adjudication. */ - disposition?: string; - _disposition?: Element; + disposition?: string|undefined; + _disposition?: Element|undefined; /** * Errors encountered during the processing of the request. */ - error?: CoverageEligibilityResponseError[]; + error?: CoverageEligibilityResponseError[]|undefined; /** * May be needed to identify specific jurisdictional forms. */ - form?: CodeableConcept; + form?: CodeableConcept|undefined; /** * A unique identifier assigned to this coverage eligiblity request. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * All insurance coverages for the patient which may be applicable for reimbursement, of the products and services listed in the claim, are typically provided in the claim to allow insurers to confirm the ordering of the insurance coverages relative to local 'coordination of benefit' rules. One coverage (and only one) with 'focal=true' is to be used in the adjudication of this claim. Coverages appearing before the focal Coverage in the list, and where 'subrogation=false', should provide a reference to the ClaimResponse containing the adjudication results of the prior claim. */ - insurance?: CoverageEligibilityResponseInsurance[]; + insurance?: CoverageEligibilityResponseInsurance[]|undefined; /** * The Insurer who issued the coverage in question and is the author of the response. */ @@ -12291,7 +12291,7 @@ export interface CoverageEligibilityResponse extends DomainResource { * The resource may be used to indicate that: the request has been held (queued) for processing; that it has been processed and errors found (error); that no errors were found and that some of the adjudication has been undertaken (partial) or that all of the adjudication has been undertaken (complete). */ outcome: CoverageEligibilityResponseOutcomeCodes; - _outcome?: Element; + _outcome?: Element|undefined; /** * The party who is the beneficiary of the supplied coverage and for whom eligibility is sought. */ @@ -12299,13 +12299,13 @@ export interface CoverageEligibilityResponse extends DomainResource { /** * A reference from the Insurer to which these services pertain to be used on further communication and as proof that the request occurred. */ - preAuthRef?: string; - _preAuthRef?: Element; + preAuthRef?: string|undefined; + _preAuthRef?: Element|undefined; /** * Code to specify whether requesting: prior authorization requirements for some service categories or billing codes; benefits for coverages specified or discovered; discovery and return of coverages for the patient; and/or validation that the specified coverage is in-force at the date/period specified or 'now' if not specified. */ purpose: CoverageEligibilityResponsePurposeCodes[]; - _purpose?: Element[]; + _purpose?: Element[]|undefined; /** * Reference to the original request resource. */ @@ -12313,21 +12313,21 @@ export interface CoverageEligibilityResponse extends DomainResource { /** * Typically this field would be 1..1 where this party is responsible for the claim but not necessarily professionally responsible for the provision of the individual products and services listed below. */ - requestor?: Reference; + requestor?: Reference|undefined; /** * The date or dates when the enclosed suite of services were performed or completed. */ - servicedDate?: string; - _servicedDate?: Element; + servicedDate?: string|undefined; + _servicedDate?: Element|undefined; /** * The date or dates when the enclosed suite of services were performed or completed. */ - servicedPeriod?: Period; + servicedPeriod?: Period|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: CoverageEligibilityResponseStatusCodes; - _status?: Element; + _status?: Element|undefined; } /** * Code Values for the CoverageEligibilityResponse.outcome field @@ -12363,11 +12363,11 @@ export interface DetectedIssueEvidence extends BackboneElement { /** * A manifestation that led to the recording of this detected issue. */ - code?: CodeableConcept[]; + code?: CodeableConcept[]|undefined; /** * Links to resources that constitute evidence for the detected issue such as a GuidanceResponse or MeasureReport. */ - detail?: Reference[]; + detail?: Reference[]|undefined; } /** * Indicates an action that has been taken or is committed to reduce or eliminate the likelihood of the risk identified by the detected issue from manifesting. Can also reflect an observation of known mitigating factors that may reduce/eliminate the need for any action. @@ -12380,12 +12380,12 @@ export interface DetectedIssueMitigation extends BackboneElement { /** * Identifies the practitioner who determined the mitigation and takes responsibility for the mitigation step occurring. */ - author?: Reference; + author?: Reference|undefined; /** * This might not be the same as when the mitigating step was actually taken. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; } /** * Indicates an actual or potential clinical issue with or between one or more active or proposed clinical actions for a patient; e.g. Drug-drug interaction, Ineffective treatment frequency, Procedure-condition conflict, etc. @@ -12396,60 +12396,60 @@ export interface DetectedIssue extends DomainResource { /** * Individual or device responsible for the issue being raised. For example, a decision support application or a pharmacist conducting a medication review. */ - author?: Reference; + author?: Reference|undefined; /** * Identifies the general type of issue identified. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * Should focus on information not covered elsewhere as discrete data - no need to duplicate the narrative. */ - detail?: string; - _detail?: Element; + detail?: string|undefined; + _detail?: Element|undefined; /** * Supporting evidence or manifestations that provide the basis for identifying the detected issue such as a GuidanceResponse or MeasureReport. */ - evidence?: DetectedIssueEvidence[]; + evidence?: DetectedIssueEvidence[]|undefined; /** * The date or period when the detected issue was initially identified. */ - identifiedDateTime?: string; - _identifiedDateTime?: Element; + identifiedDateTime?: string|undefined; + _identifiedDateTime?: Element|undefined; /** * The date or period when the detected issue was initially identified. */ - identifiedPeriod?: Period; + identifiedPeriod?: Period|undefined; /** * Business identifier associated with the detected issue record. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * There's an implicit constraint on the number of implicated resources based on DetectedIssue.type; e.g. For drug-drug, there would be more than one. For timing, there would typically only be one. */ - implicated?: Reference[]; + implicated?: Reference[]|undefined; /** * Indicates an action that has been taken or is committed to reduce or eliminate the likelihood of the risk identified by the detected issue from manifesting. Can also reflect an observation of known mitigating factors that may reduce/eliminate the need for any action. */ - mitigation?: DetectedIssueMitigation[]; + mitigation?: DetectedIssueMitigation[]|undefined; /** * Indicates the patient whose record the detected issue is associated with. */ - patient?: Reference; + patient?: Reference|undefined; /** * The literature, knowledge-base or similar reference that describes the propensity for the detected issue identified. */ - reference?: string; - _reference?: Element; + reference?: string|undefined; + _reference?: Element|undefined; /** * Indicates the degree of importance associated with the identified issue based on the potential impact on the patient. */ - severity?: DetectedIssueSeverityCodes; - _severity?: Element; + severity?: DetectedIssueSeverityCodes|undefined; + _severity?: Element|undefined; /** * This element is labeled as a modifier because the status contains the codes cancelled and entered-in-error that mark the issue as not currently valid. */ status: DetectedIssueStatusCodes; - _status?: Element; + _status?: Element|undefined; } /** * Code Values for the DetectedIssue.severity field @@ -12479,23 +12479,23 @@ export interface DeviceUdiCarrier extends BackboneElement { /** * The AIDC form of UDIs should be scanned or otherwise used for the identification of the device whenever possible to minimize errors in records resulting from manual transcriptions. If separate barcodes for DI and PI are present, concatenate the string with DI first and in order of human readable expression on label. */ - carrierAIDC?: string; - _carrierAIDC?: Element; + carrierAIDC?: string|undefined; + _carrierAIDC?: Element|undefined; /** * If separate barcodes for DI and PI are present, concatenate the string with DI first and in order of human readable expression on label. */ - carrierHRF?: string; - _carrierHRF?: Element; + carrierHRF?: string|undefined; + _carrierHRF?: Element|undefined; /** * The device identifier (DI) is a mandatory, fixed portion of a UDI that identifies the labeler and the specific version or model of a device. */ - deviceIdentifier?: string; - _deviceIdentifier?: Element; + deviceIdentifier?: string|undefined; + _deviceIdentifier?: Element|undefined; /** * A coded entry to indicate how the data was entered. */ - entryType?: DeviceUdiCarrierEntryTypeCodes; - _entryType?: Element; + entryType?: DeviceUdiCarrierEntryTypeCodes|undefined; + _entryType?: Element|undefined; /** * Organization that is charged with issuing UDIs for devices. For example, the US FDA issuers include : * 1) GS1: @@ -12507,13 +12507,13 @@ export interface DeviceUdiCarrier extends BackboneElement { * 4) ICCBA for other devices: * http://hl7.org/fhir/NamingSystem/iccbba-other-di. */ - issuer?: string; - _issuer?: Element; + issuer?: string|undefined; + _issuer?: Element|undefined; /** * The identity of the authoritative source for UDI generation within a jurisdiction. All UDIs are globally unique within a single namespace with the appropriate repository uri as the system. For example, UDIs of devices managed in the U.S. by the FDA, the value is http://hl7.org/fhir/NamingSystem/fda-udi. */ - jurisdiction?: string; - _jurisdiction?: Element; + jurisdiction?: string|undefined; + _jurisdiction?: Element|undefined; } /** * Code Values for the Device.udiCarrier.entryType field @@ -12535,13 +12535,13 @@ export interface DeviceDeviceName extends BackboneElement { * The name that identifies the device. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * The type of deviceName. Note that ManufactureDeviceName means that the name is the name as given by the manufacturer, not the name of the manufacturer. * UDILabelName | UserFriendlyName | PatientReportedName | ManufactureDeviceName | ModelName. */ type: DeviceDeviceNameTypeCodes; - _type?: Element; + _type?: Element|undefined; } /** * Code Values for the Device.deviceName.type field @@ -12566,8 +12566,8 @@ export interface DeviceSpecialization extends BackboneElement { /** * The version of the standard that is used to operate and communicate. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * The actual design of the device or software version running on the device. @@ -12576,16 +12576,16 @@ export interface DeviceVersion extends BackboneElement { /** * Note that the module of the device would not need to be tracked as a separate device, e.g., using different UDI, thus would typically involve one or more software modules. For example, a device may involve two software modules each on a different version. */ - component?: Identifier; + component?: Identifier|undefined; /** * The type of the device version, e.g. manufacturer, approved, internal. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; /** * The version text. */ value: string; - _value?: Element; + _value?: Element|undefined; } /** * The actual configuration settings of a device as it actually operates, e.g., regulation status, time properties. @@ -12598,11 +12598,11 @@ export interface DeviceProperty extends BackboneElement { /** * Property value - can be a code or quantity. */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; /** * Property value - can be a code or quantity. */ - valueCodeableConcept?: CodeableConcept; + valueCodeableConcept?: CodeableConcept|undefined; } /** * The status of the device itself - whether it is switched on, or activated, etc. @@ -12611,11 +12611,11 @@ export interface DeviceOperationalStatus extends BackboneElement { /** * The reasons given for the current operational status - i.e. why is the device switched on etc. */ - reason?: CodeableConcept[]; + reason?: CodeableConcept[]|undefined; /** * on |off | standby. */ - value?: CodeableConcept; + value?: CodeableConcept|undefined; } /** * The state of the usage or application of the device - whether the device is implanted, or explanted, or attached to the patient. @@ -12624,11 +12624,11 @@ export interface DeviceAssociationStatus extends BackboneElement { /** * The reasons given for the current association status - i.e. why is the device explanted, or attached to the patient, etc. */ - reason?: CodeableConcept[]; + reason?: CodeableConcept[]|undefined; /** * implanted|explanted|attached. */ - value?: CodeableConcept; + value?: CodeableConcept|undefined; } /** * A type of a manufactured item that is used in the provision of healthcare without being substantially changed through that activity. The device may be a medical or non-medical device. @@ -12639,131 +12639,131 @@ export interface Device extends DomainResource { /** * The state of the usage or application of the device - whether the device is implanted, or explanted, or attached to the patient. */ - associationStatus?: DeviceAssociationStatus; + associationStatus?: DeviceAssociationStatus|undefined; /** * used for troubleshooting etc. */ - contact?: ContactPoint[]; + contact?: ContactPoint[]|undefined; /** * The reference to the definition for the device. */ - definition?: Reference; + definition?: Reference|undefined; /** * This represents the manufacturer's name of the device as provided by the device, from a UDI label, or by a person describing the Device. This typically would be used when a person provides the name(s) or when the device represents one of the names available from DeviceDefinition. */ - deviceName?: DeviceDeviceName[]; + deviceName?: DeviceDeviceName[]|undefined; /** * The name used to display by default when the device is referenced. Based on intent of use by the resource creator, this may reflect one of the names in Device.deviceName, or may be another simple name. */ - displayName?: string; - _displayName?: Element; + displayName?: string|undefined; + _displayName?: Element|undefined; /** * For example, this applies to devices in the United States regulated under *Code of Federal Regulation 21CFR§1271.290(c)*. */ - distinctIdentifier?: string; - _distinctIdentifier?: Element; + distinctIdentifier?: string|undefined; + _distinctIdentifier?: Element|undefined; /** * The date and time beyond which this device is no longer valid or should not be used (if applicable). */ - expirationDate?: string; - _expirationDate?: Element; + expirationDate?: string|undefined; + _expirationDate?: Element|undefined; /** * Certain attributes, like serial number and UDI Carrier (the HRF or AIDC barcode string) are not device instance identifiers as they are not consistently able to uniquely identify the instance of a device, thus are not appropriate to be used to value Device.identifier. The barcode string from a barcode present on a device label or package may identify the instance, include names given to the device in local usage, or may identify the type of device. If the identifier identifies the type of device, Device.type element should be used. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The place where the device can be found. */ - location?: Reference; + location?: Reference|undefined; /** * Lot number assigned by the manufacturer. */ - lotNumber?: string; - _lotNumber?: Element; + lotNumber?: string|undefined; + _lotNumber?: Element|undefined; /** * The date and time when the device was manufactured. */ - manufactureDate?: string; - _manufactureDate?: Element; + manufactureDate?: string|undefined; + _manufactureDate?: Element|undefined; /** * A name of the manufacturer or entity legally responsible for the device. */ - manufacturer?: string; - _manufacturer?: Element; + manufacturer?: string|undefined; + _manufacturer?: Element|undefined; /** * The manufacturer's model number for the device. */ - modelNumber?: string; - _modelNumber?: Element; + modelNumber?: string|undefined; + _modelNumber?: Element|undefined; /** * Descriptive information, usage information or implantation information that is not captured in an existing element. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * The status of the device itself - whether it is switched on, or activated, etc. */ - operationalStatus?: DeviceOperationalStatus; + operationalStatus?: DeviceOperationalStatus|undefined; /** * An organization that is responsible for the provision and ongoing maintenance of the device. */ - owner?: Reference; + owner?: Reference|undefined; /** * The device that this device is attached to or is part of. */ - parent?: Reference; + parent?: Reference|undefined; /** * Alphanumeric Maximum 20. */ - partNumber?: string; - _partNumber?: Element; + partNumber?: string|undefined; + _partNumber?: Element|undefined; /** * Patient information, if the device is affixed to, or associated to a patient for their specific use, irrespective of the procedure, use, observation, or other activity that the device is involved in. */ - patient?: Reference; + patient?: Reference|undefined; /** * The actual configuration settings of a device as it actually operates, e.g., regulation status, time properties. */ - property?: DeviceProperty[]; + property?: DeviceProperty[]|undefined; /** * Provides additional safety characteristics about a medical device. For example devices containing latex. */ - safety?: CodeableConcept[]; + safety?: CodeableConcept[]|undefined; /** * Alphanumeric Maximum 20. */ - serialNumber?: string; - _serialNumber?: Element; + serialNumber?: string|undefined; + _serialNumber?: Element|undefined; /** * The device function, including in some cases whether or not the functionality conforms to some standard. For example, a PHD blood pressure specialization indicates that the device conforms to the IEEE 11073-10407 Blood Pressure Specialization. This is NOT an alternate name or an additional descriptive name given by the manufacturer. That would be found in the deviceName element. * In the PHD case, there are 11073 10101 nomenclature codes that define the specialization standards and that will be used, for example, in the PHD case for the specialization.systemType element. The specialization.version would be the version of the standard if the systemType referred to a standard. */ - specialization?: DeviceSpecialization[]; + specialization?: DeviceSpecialization[]|undefined; /** * This element is labeled as a modifier because the status contains the codes inactive and entered-in-error that mark the device (record)as not currently valid. */ - status?: DeviceStatusCodes; - _status?: Element; + status?: DeviceStatusCodes|undefined; + _status?: Element|undefined; /** * Reason for the status of the Device record. For example, why is the record not active. */ - statusReason?: CodeableConcept[]; + statusReason?: CodeableConcept[]|undefined; /** * The kind or type of device. A device instance may have more than one type - in which case those are the types that apply to the specific instance of the device. */ - type?: CodeableConcept[]; + type?: CodeableConcept[]|undefined; /** * UDI may identify an unique instance of a device, or it may only identify the type of the device. See [UDI mappings](device-mappings.html#udi) for a complete mapping of UDI parts to Device. */ - udiCarrier?: DeviceUdiCarrier[]; + udiCarrier?: DeviceUdiCarrier[]|undefined; /** * If the device is running a FHIR server, the network address should be the Base URL from which a conformance statement may be retrieved. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * The actual design of the device or software version running on the device. */ - version?: DeviceVersion[]; + version?: DeviceVersion[]|undefined; } /** * Code Values for the Device.status field @@ -12782,17 +12782,17 @@ export interface DeviceDefinitionUdiDeviceIdentifier extends BackboneElement { * The identifier that is to be associated with every Device that references this DeviceDefintiion for the issuer and jurisdication porvided in the DeviceDefinition.udiDeviceIdentifier. */ deviceIdentifier: string; - _deviceIdentifier?: Element; + _deviceIdentifier?: Element|undefined; /** * The organization that assigns the identifier algorithm. */ issuer: string; - _issuer?: Element; + _issuer?: Element|undefined; /** * The jurisdiction to which the deviceIdentifier applies. */ jurisdiction: string; - _jurisdiction?: Element; + _jurisdiction?: Element|undefined; } /** * The name or names of the device as given by the manufacturer. @@ -12802,13 +12802,13 @@ export interface DeviceDefinitionDeviceName extends BackboneElement { * A human-friendly name that is used to refer to the device - depending on the type, it can be the brand name, the common name or alias, or other. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * The type of deviceName. * UDILabelName | UserFriendlyName | PatientReportedName | ManufactureDeviceName | ModelName. */ type: DeviceDefinitionDeviceNameTypeCodes; - _type?: Element; + _type?: Element|undefined; } /** * Code Values for the DeviceDefinition.deviceName.type field @@ -12829,12 +12829,12 @@ export interface DeviceDefinitionSpecialization extends BackboneElement { * The standard that is used to operate and communicate. */ systemType: string; - _systemType?: Element; + _systemType?: Element|undefined; /** * The version of the standard that is used to operate and communicate. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * A device that is part (for example a component) of the present device. @@ -12843,7 +12843,7 @@ export interface DeviceDefinitionHasPart extends BackboneElement { /** * Number of instances of the component device in the current device. */ - count?: number; + count?: number|undefined; /** * Reference to the device that is part of the current device. */ @@ -12856,12 +12856,12 @@ export interface DeviceDefinitionPackagingDistributor extends BackboneElement { /** * Distributor's human-readable name. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Distributor as an Organization resource. */ - organizationReference?: Reference[]; + organizationReference?: Reference[]|undefined; } /** * Unique Device Identifier (UDI) Barcode string on the packaging. @@ -12871,17 +12871,17 @@ export interface DeviceDefinitionPackagingUdiDeviceIdentifier extends BackboneEl * Identifier to be associated with every instance for issuer and jurisdiction. */ deviceIdentifier: string; - _deviceIdentifier?: Element; + _deviceIdentifier?: Element|undefined; /** * The organization that assigns the identifier algorithm. */ issuer: string; - _issuer?: Element; + _issuer?: Element|undefined; /** * The jurisdiction to which the deviceIdentifier applies. */ jurisdiction: string; - _jurisdiction?: Element; + _jurisdiction?: Element|undefined; } /** * Information about the packaging of the device, i.e. how the device is packaged. @@ -12890,27 +12890,27 @@ export interface DeviceDefinitionPackaging extends BackboneElement { /** * The number of items contained in the package (devices or sub-packages). */ - count?: number; + count?: number|undefined; /** * An organization that distributes the packaged device. */ - distributor?: DeviceDefinitionPackagingDistributor[]; + distributor?: DeviceDefinitionPackagingDistributor[]|undefined; /** * The business identifier of the packaged medication. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * Allows packages within packages. */ - packaging?: DeviceDefinitionPackaging[]; + packaging?: DeviceDefinitionPackaging[]|undefined; /** * A code that defines the specific type of packaging. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; /** * Unique Device Identifier (UDI) Barcode string on the packaging. */ - udiDeviceIdentifier?: DeviceDefinitionPackagingUdiDeviceIdentifier[]; + udiDeviceIdentifier?: DeviceDefinitionPackagingUdiDeviceIdentifier[]|undefined; } /** * The version of the device or software. @@ -12919,16 +12919,16 @@ export interface DeviceDefinitionVersion extends BackboneElement { /** * Note that the module of the device would not need to be tracked as a separate device, e.g., using different UDI, thus would typically involve one or more software modules. For example, a device may involve two software modules each on a different version. */ - component?: Identifier; + component?: Identifier|undefined; /** * The type of the device version, e.g. manufacturer, approved, internal. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; /** * The version text. */ value: string; - _value?: Element; + _value?: Element|undefined; } /** * Additional capabilities that the device is defined or required to have e.g. "water resistant", "long life". @@ -12937,7 +12937,7 @@ export interface DeviceDefinitionCapability extends BackboneElement { /** * The actual capability of the device e.g. IP67. */ - description?: CodeableConcept[]; + description?: CodeableConcept[]|undefined; /** * The type of capability - whether it is a physical attribute, a customization needed. For exampl e "water ingress protection". */ @@ -12954,11 +12954,11 @@ export interface DeviceDefinitionProperty extends BackboneElement { /** * Property value as a code, e.g., NTP4 (synced to NTP). */ - valueCode?: CodeableConcept[]; + valueCode?: CodeableConcept[]|undefined; /** * Property value as a quantity. */ - valueQuantity?: Quantity[]; + valueQuantity?: Quantity[]|undefined; } /** * A substance used to create the material(s) of which the device is made. @@ -12967,13 +12967,13 @@ export interface DeviceDefinitionMaterial extends BackboneElement { /** * Whether the substance is a known or suspected allergen. */ - allergenicIndicator?: boolean; - _allergenicIndicator?: Element; + allergenicIndicator?: boolean|undefined; + _allergenicIndicator?: Element|undefined; /** * Indicates an alternative material of the device. */ - alternate?: boolean; - _alternate?: Element; + alternate?: boolean|undefined; + _alternate?: Element|undefined; /** * A substance that the device contains, may contain, or is made of - for example latex - to be used to determine patient compatibility. This is not intended to represent the composition of the device, only the clinically relevant materials. */ @@ -12988,98 +12988,98 @@ export interface DeviceDefinition extends DomainResource { /** * Additional capabilities that the device is defined or required to have e.g. "water resistant", "long life". */ - capability?: DeviceDefinitionCapability[]; + capability?: DeviceDefinitionCapability[]|undefined; /** * used for troubleshooting etc. */ - contact?: ContactPoint[]; + contact?: ContactPoint[]|undefined; /** * The name or names of the device as given by the manufacturer. */ - deviceName?: DeviceDefinitionDeviceName[]; + deviceName?: DeviceDefinitionDeviceName[]|undefined; /** * A device that is part (for example a component) of the present device. */ - hasPart?: DeviceDefinitionHasPart[]; + hasPart?: DeviceDefinitionHasPart[]|undefined; /** * Unique instance identifiers assigned to a device by the software, manufacturers, other organizations or owners. For example: handle ID. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Language code for the human-readable text strings produced by the device (all supported). */ - languageCode?: CodeableConcept[]; + languageCode?: CodeableConcept[]|undefined; /** * A name of the manufacturer or legal representative e.g. labeler. Whether this is the actual manufacturer or the labeler or responsible depends on implementation and jurisdiction. */ - manufacturerString?: string; - _manufacturerString?: Element; + manufacturerString?: string|undefined; + _manufacturerString?: Element|undefined; /** * A name of the manufacturer or legal representative e.g. labeler. Whether this is the actual manufacturer or the labeler or responsible depends on implementation and jurisdiction. */ - manufacturerReference?: Reference; + manufacturerReference?: Reference|undefined; /** * A substance used to create the material(s) of which the device is made. */ - material?: DeviceDefinitionMaterial[]; + material?: DeviceDefinitionMaterial[]|undefined; /** * The model number for the device for example as defined by the manufacturer or labeler, or other agency. */ - modelNumber?: string; - _modelNumber?: Element; + modelNumber?: string|undefined; + _modelNumber?: Element|undefined; /** * Descriptive information, usage information or implantation information that is not captured in an existing element. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * Access to on-line information about the device. */ - onlineInformation?: string; - _onlineInformation?: Element; + onlineInformation?: string|undefined; + _onlineInformation?: Element|undefined; /** * An organization that is responsible for the provision and ongoing maintenance of the device. */ - owner?: Reference; + owner?: Reference|undefined; /** * Information about the packaging of the device, i.e. how the device is packaged. */ - packaging?: DeviceDefinitionPackaging[]; + packaging?: DeviceDefinitionPackaging[]|undefined; /** * The parent device it can be part of. */ - parentDevice?: Reference; + parentDevice?: Reference|undefined; /** * Physical characteristics to define or specify the product - for example dimensions, color etc. These can be defined by the manufacturer or labeler, or can be used to specify characteristics when ordering. */ - physicalCharacteristics?: ProdCharacteristic; + physicalCharacteristics?: ProdCharacteristic|undefined; /** * The actual configuration settings of a device as it actually operates, e.g., regulation status, time properties. */ - property?: DeviceDefinitionProperty[]; + property?: DeviceDefinitionProperty[]|undefined; /** * Safety characteristics of the device. */ - safety?: CodeableConcept[]; + safety?: CodeableConcept[]|undefined; /** * Shelf Life and storage information. */ - shelfLifeStorage?: ProductShelfLife[]; + shelfLifeStorage?: ProductShelfLife[]|undefined; /** * The capabilities supported on a device, the standards to which the device conforms for a particular purpose, and used for the communication. */ - specialization?: DeviceDefinitionSpecialization[]; + specialization?: DeviceDefinitionSpecialization[]|undefined; /** * What kind of device or device system this is. */ - type?: CodeableConcept[]; + type?: CodeableConcept[]|undefined; /** * Unique device identifier (UDI) assigned to device label or package. Note that the Device may include multiple udiCarriers as it either may include just the udiCarrier for the jurisdiction it is sold, or for multiple jurisdictions it could have been sold. */ - udiDeviceIdentifier?: DeviceDefinitionUdiDeviceIdentifier[]; + udiDeviceIdentifier?: DeviceDefinitionUdiDeviceIdentifier[]|undefined; /** * The version of the device or software. */ - version?: DeviceDefinitionVersion[]; + version?: DeviceDefinitionVersion[]|undefined; } /** * Describes the calibrations that have been performed or that are required to be performed. @@ -13088,18 +13088,18 @@ export interface DeviceMetricCalibration extends BackboneElement { /** * Describes the state of the calibration. */ - state?: DeviceMetricCalibrationStateCodes; - _state?: Element; + state?: DeviceMetricCalibrationStateCodes|undefined; + _state?: Element|undefined; /** * Describes the time last calibration has been performed. */ - time?: string; - _time?: Element; + time?: string|undefined; + _time?: Element|undefined; /** * Describes the type of the calibration method. */ - type?: DeviceMetricCalibrationTypeCodes; - _type?: Element; + type?: DeviceMetricCalibrationTypeCodes|undefined; + _type?: Element|undefined; } /** * Code Values for the DeviceMetric.calibration.state field @@ -13128,38 +13128,38 @@ export interface DeviceMetric extends DomainResource { /** * Describes the calibrations that have been performed or that are required to be performed. */ - calibration?: DeviceMetricCalibration[]; + calibration?: DeviceMetricCalibration[]|undefined; /** * Indicates the category of the observation generation process. A DeviceMetric can be for example a setting, measurement, or calculation. */ category: DeviceMetricCategoryCodes; - _category?: Element; + _category?: Element|undefined; /** * Describes the color representation for the metric. This is often used to aid clinicians to track and identify parameter types by color. In practice, consider a Patient Monitor that has ECG/HR and Pleth for example; the parameters are displayed in different characteristic colors, such as HR-blue, BP-green, and PR and SpO2- magenta. */ - color?: DeviceMetricColorCodes; - _color?: Element; + color?: DeviceMetricColorCodes|undefined; + _color?: Element|undefined; /** * For identifiers assigned to a device by the device or gateway software, the `system` element of the identifier should be set to the unique identifier of the device. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Describes the measurement repetition time. This is not necessarily the same as the update period. The measurement repetition time can range from milliseconds up to hours. An example for a measurement repetition time in the range of milliseconds is the sampling rate of an ECG. An example for a measurement repetition time in the range of hours is a NIBP that is triggered automatically every hour. The update period may be different than the measurement repetition time, if the device does not update the published observed value with the same frequency as it was measured. */ - measurementPeriod?: Timing; + measurementPeriod?: Timing|undefined; /** * Indicates current operational state of the device. For example: On, Off, Standby, etc. */ - operationalStatus?: DeviceMetricOperationalStatusCodes; - _operationalStatus?: Element; + operationalStatus?: DeviceMetricOperationalStatusCodes|undefined; + _operationalStatus?: Element|undefined; /** * Describes the link to the Device that this DeviceMetric belongs to and that provide information about the location of this DeviceMetric in the containment structure of the parent Device. An example would be a Device that represents a Channel. This reference can be used by a client application to distinguish DeviceMetrics that have the same type, but should be interpreted based on their containment location. */ - parent?: Reference; + parent?: Reference|undefined; /** * Describes the link to the Device that this DeviceMetric belongs to and that contains administrative device information such as manufacturer, serial number, etc. */ - source?: Reference; + source?: Reference|undefined; /** * DeviceMetric.type can be referred to either IEEE 11073-10101 or LOINC. */ @@ -13167,7 +13167,7 @@ export interface DeviceMetric extends DomainResource { /** * DeviceMetric.unit can refer to either UCUM or preferable a RTMMS coding system. */ - unit?: CodeableConcept; + unit?: CodeableConcept|undefined; } /** * Code Values for the DeviceMetric.category field @@ -13207,24 +13207,24 @@ export interface DeviceRequestParameter extends BackboneElement { /** * A code or string that identifies the device detail being asserted. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * Range means device should have a value that falls somewhere within the specified range. */ - valueCodeableConcept?: CodeableConcept; + valueCodeableConcept?: CodeableConcept|undefined; /** * Range means device should have a value that falls somewhere within the specified range. */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; /** * Range means device should have a value that falls somewhere within the specified range. */ - valueRange?: Range; + valueRange?: Range|undefined; /** * Range means device should have a value that falls somewhere within the specified range. */ - valueBoolean?: boolean; - _valueBoolean?: Element; + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; } /** * Represents a request for a patient to employ a medical device. The device may be an implantable device, or an external assistive device, such as a walker. @@ -13235,12 +13235,12 @@ export interface DeviceRequest extends DomainResource { /** * When the request transitioned to being actionable. */ - authoredOn?: string; - _authoredOn?: Element; + authoredOn?: string|undefined; + _authoredOn?: Element|undefined; /** * Plan/proposal/order fulfilled by this request. */ - basedOn?: Reference[]; + basedOn?: Reference[]|undefined; /** * The details of the device to be used. */ @@ -13248,100 +13248,100 @@ export interface DeviceRequest extends DomainResource { /** * If do not perform is not specified, the request is a positive request e.g. "do perform". DeviceRequest.reasonCode includes the reason for marking the DeviceRequest as 'do not perform'. */ - doNotPerform?: boolean; - _doNotPerform?: Element; + doNotPerform?: boolean|undefined; + _doNotPerform?: Element|undefined; /** * An encounter that provides additional context in which this request is made. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * Composite request this is part of. */ - groupIdentifier?: Identifier; + groupIdentifier?: Identifier|undefined; /** * Identifiers assigned to this order by the orderer or by the receiver. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Note: This is a business identifier, not a resource identifier (see [discussion](resource.html#identifiers)). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and a Person resource instance might share the same social insurance number. */ - instantiatesCanonical?: string[]; - _instantiatesCanonical?: Element[]; + instantiatesCanonical?: string[]|undefined; + _instantiatesCanonical?: Element[]|undefined; /** * This might be an HTML page, PDF, etc. or could just be a non-resolvable URI identifier. */ - instantiatesUri?: string[]; - _instantiatesUri?: Element[]; + instantiatesUri?: string[]|undefined; + _instantiatesUri?: Element[]|undefined; /** * Insurance plans, coverage extensions, pre-authorizations and/or pre-determinations that may be required for delivering the requested service. */ - insurance?: Reference[]; + insurance?: Reference[]|undefined; /** * Whether the request is a proposal, plan, an original order or a reflex order. */ intent: DeviceRequestIntentCodes; - _intent?: Element; + _intent?: Element|undefined; /** * Details about this request that were not represented at all or sufficiently in one of the attributes provided in a class. These may include for example a comment, an instruction, or a note associated with the statement. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * The timing schedule for the use of the device. The Schedule data type allows many different expressions, for example. "Every 8 hours"; "Three times a day"; "1/2 an hour before breakfast for 10 days from 23-Dec 2011:"; "15 Oct 2013, 17 Oct 2013 and 1 Nov 2013". */ - occurrenceDateTime?: string; - _occurrenceDateTime?: Element; + occurrenceDateTime?: string|undefined; + _occurrenceDateTime?: Element|undefined; /** * The timing schedule for the use of the device. The Schedule data type allows many different expressions, for example. "Every 8 hours"; "Three times a day"; "1/2 an hour before breakfast for 10 days from 23-Dec 2011:"; "15 Oct 2013, 17 Oct 2013 and 1 Nov 2013". */ - occurrencePeriod?: Period; + occurrencePeriod?: Period|undefined; /** * The timing schedule for the use of the device. The Schedule data type allows many different expressions, for example. "Every 8 hours"; "Three times a day"; "1/2 an hour before breakfast for 10 days from 23-Dec 2011:"; "15 Oct 2013, 17 Oct 2013 and 1 Nov 2013". */ - occurrenceTiming?: Timing; + occurrenceTiming?: Timing|undefined; /** * Specific parameters for the ordered item. For example, the prism value for lenses. */ - parameter?: DeviceRequestParameter[]; + parameter?: DeviceRequestParameter[]|undefined; /** * The desired individual or entity to provide the device to the subject of the request (e.g., patient, location). */ - performer?: Reference; + performer?: Reference|undefined; /** * The desired kind of individual or entity to provide the device to the subject of the request (e.g., patient, location). */ - performerType?: CodeableConcept; + performerType?: CodeableConcept|undefined; /** * Indicates how quickly the request should be addressed with respect to other requests. */ - priority?: DeviceRequestPriorityCodes; - _priority?: Element; + priority?: DeviceRequestPriorityCodes|undefined; + _priority?: Element|undefined; /** * The request takes the place of the referenced completed or terminated request(s). */ - priorRequest?: Reference[]; + priorRequest?: Reference[]|undefined; /** * The number of devices to be provided. */ - quantity?: number; + quantity?: number|undefined; /** * Reason or justification for the use of this device. */ - reason?: CodeableReference[]; + reason?: CodeableReference[]|undefined; /** * This might not include provenances for all versions of the request - only those deemed "relevant" or important. * This SHALL NOT include the Provenance associated with this current version of the resource. (If that provenance is deemed to be a "relevant" change, it will need to be added as part of a later update. Until then, it can be queried directly as the Provenance that points to this version using _revinclude * All Provenances should have some historical version of this Request as their subject. */ - relevantHistory?: Reference[]; + relevantHistory?: Reference[]|undefined; /** * The individual or entity who initiated the request and has responsibility for its activation. */ - requester?: Reference; + requester?: Reference|undefined; /** * This element is labeled as a modifier because the status contains the codes cancelled and entered-in-error that mark the request as not currently valid. */ - status?: DeviceRequestStatusCodes; - _status?: Element; + status?: DeviceRequestStatusCodes|undefined; + _status?: Element|undefined; /** * The patient who will use the device. */ @@ -13349,7 +13349,7 @@ export interface DeviceRequest extends DomainResource { /** * Additional clinical information about the patient that may influence the request fulfilment. For example, this may include where on the subject's body the device will be used (i.e. the target site). */ - supportingInfo?: Reference[]; + supportingInfo?: Reference[]|undefined; } /** * Code Values for the DeviceRequest.intent field @@ -13395,28 +13395,28 @@ export interface DeviceUsage extends DomainResource { /** * A plan, proposal or order that is fulfilled in whole or in part by this DeviceUsage. */ - basedOn?: Reference[]; + basedOn?: Reference[]|undefined; /** * Indicates the anotomic location on the subject's body where the device was used ( i.e. the target). */ - bodySite?: CodeableReference; + bodySite?: CodeableReference|undefined; /** * This attribute indicates a category for the statement - The device statement may be made in an inpatient or outpatient settting (inpatient | outpatient | community | patientspecified). */ - category?: CodeableConcept[]; + category?: CodeableConcept[]|undefined; /** * The encounter or episode of care that establishes the context for this device use statement. */ - context?: Reference; + context?: Reference|undefined; /** * The time at which the statement was recorded by informationSource. */ - dateAsserted?: string; - _dateAsserted?: Element; + dateAsserted?: string|undefined; + _dateAsserted?: Element|undefined; /** * The most common use cases for deriving a DeviceUsage comes from creating it from a request or from an observation or a claim. it should be noted that the amount of information that is available varies from the type resource that you derive the DeviceUsage from. */ - derivedFrom?: Reference[]; + derivedFrom?: Reference[]|undefined; /** * Code or Reference to device used. */ @@ -13424,25 +13424,25 @@ export interface DeviceUsage extends DomainResource { /** * An external identifier for this statement such as an IRI. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Who reported the device was being used by the patient. */ - informationSource?: Reference; + informationSource?: Reference|undefined; /** * Details about the device statement that were not represented at all or sufficiently in one of the attributes provided in a class. These may include for example a comment, an instruction, or a note associated with the statement. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * When the status is not done, the reason code indicates why it was not done. */ - reason?: CodeableReference[]; + reason?: CodeableReference[]|undefined; /** * DeviceUseStatment is a statement at a point in time. The status is only representative at the point when it was asserted. The value set for contains codes that assert the status of the use by the patient (for example, stopped or on hold) as well as codes that assert the status of the resource itself (for example, entered in error). * This element is labeled as a modifier because the status contains the codes that mark the statement as not currently valid. */ status: DeviceUsageStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * The patient who used the device. */ @@ -13450,24 +13450,24 @@ export interface DeviceUsage extends DomainResource { /** * How often the device was used. */ - timingTiming?: Timing; + timingTiming?: Timing|undefined; /** * How often the device was used. */ - timingPeriod?: Period; + timingPeriod?: Period|undefined; /** * How often the device was used. */ - timingDateTime?: string; - _timingDateTime?: Element; + timingDateTime?: string|undefined; + _timingDateTime?: Element|undefined; /** * The reason for asserting the usage status - for example forgot, lost, stolen, broken. */ - usageReason?: CodeableConcept[]; + usageReason?: CodeableConcept[]|undefined; /** * The status of the device usage, for example always, sometimes, never. This is not the same as the status of the statement. */ - usageStatus?: CodeableConcept; + usageStatus?: CodeableConcept|undefined; } /** * Code Values for the DeviceUsage.status field @@ -13487,8 +13487,8 @@ export interface DiagnosticReportMedia extends BackboneElement { /** * The comment should be displayed with the image. It would be common for the report to include additional discussion of the image contents in other sections such as the conclusion. */ - comment?: string; - _comment?: Element; + comment?: string|undefined; + _comment?: Element|undefined; /** * Reference to the image source. */ @@ -13503,11 +13503,11 @@ export interface DiagnosticReport extends DomainResource { /** * Note: Usually there is one test request for each result, however in some circumstances multiple test requests may be represented using a single test result resource. Note that there are also cases where one request leads to multiple reports. */ - basedOn?: Reference[]; + basedOn?: Reference[]|undefined; /** * Multiple categories are allowed using various categorization schemes. The level of granularity is defined by the category concepts in the value set. More fine-grained filtering can be performed using the metadata and/or terminology hierarchy in DiagnosticReport.code. */ - category?: CodeableConcept[]; + category?: CodeableConcept[]|undefined; /** * A code or name that describes this diagnostic report. */ @@ -13515,75 +13515,75 @@ export interface DiagnosticReport extends DomainResource { /** * The Composition provides structure to the content of the DiagnosticReport (and only contains contents referenced in the DiagnosticReport) - e.g., to order the sections of a anatomic pathology structured report. */ - composition?: Reference; + composition?: Reference|undefined; /** * Concise and clinically contextualized summary conclusion (interpretation/impression) of the diagnostic report. */ - conclusion?: string; - _conclusion?: Element; + conclusion?: string|undefined; + _conclusion?: Element|undefined; /** * One or more codes that represent the summary conclusion (interpretation/impression) of the diagnostic report. */ - conclusionCode?: CodeableConcept[]; + conclusionCode?: CodeableConcept[]|undefined; /** * If the diagnostic procedure was performed on the patient, this is the time it was performed. If there are specimens, the diagnostically relevant time can be derived from the specimen collection times, but the specimen information is not always available, and the exact relationship between the specimens and the diagnostically relevant time is not always automatic. */ - effectiveDateTime?: string; - _effectiveDateTime?: Element; + effectiveDateTime?: string|undefined; + _effectiveDateTime?: Element|undefined; /** * If the diagnostic procedure was performed on the patient, this is the time it was performed. If there are specimens, the diagnostically relevant time can be derived from the specimen collection times, but the specimen information is not always available, and the exact relationship between the specimens and the diagnostically relevant time is not always automatic. */ - effectivePeriod?: Period; + effectivePeriod?: Period|undefined; /** * This will typically be the encounter the event occurred within, but some events may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter (e.g. pre-admission laboratory tests). */ - encounter?: Reference; + encounter?: Reference|undefined; /** * Usually assigned by the Information System of the diagnostic service provider (filler id). */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * ImagingStudy and the image element are somewhat overlapping - typically, the list of image references in the image element will also be found in one of the imaging study resources. However, each caters to different types of displays for different types of purposes. Neither, either, or both may be provided. */ - imagingStudy?: Reference[]; + imagingStudy?: Reference[]|undefined; /** * May be different from the update time of the resource itself, because that is the status of the record (potentially a secondary copy), not the actual release time of the report. */ - issued?: string; - _issued?: Element; + issued?: string|undefined; + _issued?: Element|undefined; /** * A list of key images associated with this report. The images are generally created during the diagnostic process, and may be directly of the patient, or of treated specimens (i.e. slides of interest). */ - media?: DiagnosticReportMedia[]; + media?: DiagnosticReportMedia[]|undefined; /** * This is not necessarily the source of the atomic data items or the entity that interpreted the results. It is the entity that takes responsibility for the clinical report. */ - performer?: Reference[]; + performer?: Reference[]|undefined; /** * "application/pdf" is recommended as the most reliable and interoperable in this context. */ - presentedForm?: Attachment[]; + presentedForm?: Attachment[]|undefined; /** * Observations can contain observations. */ - result?: Reference[]; + result?: Reference[]|undefined; /** * Might not be the same entity that takes responsibility for the clinical report. */ - resultsInterpreter?: Reference[]; + resultsInterpreter?: Reference[]|undefined; /** * If the specimen is sufficiently specified with a code in the test result name, then this additional data may be redundant. If there are multiple specimens, these may be represented per observation or group. */ - specimen?: Reference[]; + specimen?: Reference[]|undefined; /** * The status of the diagnostic report. */ status: DiagnosticReportStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * The subject of the report. Usually, but not always, this is a patient. However, diagnostic services also perform analyses on specimens collected from a variety of other sources. */ - subject?: Reference; + subject?: Reference|undefined; } /** * Code Values for the DiagnosticReport.status field @@ -13607,11 +13607,11 @@ export interface DocumentManifestRelated extends BackboneElement { /** * If both identifier and ref elements are present they shall refer to the same thing. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * If both identifier and ref elements are present they shall refer to the same thing. */ - ref?: Reference; + ref?: Reference|undefined; } /** * A collection of documents compiled for a purpose together with metadata that applies to the collection. @@ -13622,7 +13622,7 @@ export interface DocumentManifest extends DomainResource { /** * Not necessarily who did the actual data entry (i.e. typist) or who was the source (informant). */ - author?: Reference[]; + author?: Reference[]|undefined; /** * When used for XDS the intended focus of the DocumentManifest is for the reference to target to be a set of DocumentReference Resources. The reference is to "Any" to support EN 13606 usage, where an extract is DocumentManifest that references List and Composition resources. */ @@ -13630,47 +13630,47 @@ export interface DocumentManifest extends DomainResource { /** * Creation time is used for tracking, organizing versions and searching. This is the creation time of the document set, not the documents on which it is based. */ - created?: string; - _created?: Element; + created?: string|undefined; + _created?: Element|undefined; /** * What the document is about, rather than a terse summary of the document. It is commonly the case that records do not have a title and are collectively referred to by the display name of Record code (e.g. a "consultation" or "progress note"). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Other identifiers associated with the document manifest, including version independent identifiers. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * A single identifier that uniquely identifies this manifest. Principally used to refer to the manifest in non-FHIR contexts. */ - masterIdentifier?: Identifier; + masterIdentifier?: Identifier|undefined; /** * How the recipient receives the document set or is notified of it is up to the implementation. This element is just a statement of intent. If the recipient is a person, and it is not known whether the person is a patient or a practitioner, RelatedPerson would be the default choice. */ - recipient?: Reference[]; + recipient?: Reference[]|undefined; /** * May be identifiers or resources that caused the DocumentManifest to be created. */ - related?: DocumentManifestRelated[]; + related?: DocumentManifestRelated[]|undefined; /** * Identifies the source system, application, or software that produced the document manifest. */ - source?: string; - _source?: Element; + source?: string|undefined; + _source?: Element|undefined; /** * This element is labeled as a modifier because the status contains the codes that mark the manifest as not currently valid. */ status: DocumentManifestStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Who or what the set of documents is about. The documents can be about a person, (patient or healthcare practitioner), a device (i.e. machine) or even a group of subjects (such as a document about a herd of farm animals, or a set of patients that share a common exposure). If the documents cross more than one subject, then more than one subject is allowed here (unusual use case). */ - subject?: Reference; + subject?: Reference|undefined; /** * Specifies the kind of this set of documents (e.g. Patient Summary, Discharge Summary, Prescription, etc.). The type of a set of documents may be the same as one of the documents in it - especially if there is only one - but it may be wider. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Code Values for the DocumentManifest.status field @@ -13688,16 +13688,16 @@ export interface DocumentReferenceAttester extends BackboneElement { * The type of attestation the authenticator offers. */ mode: DocumentReferenceAttesterModeCodes; - _mode?: Element; + _mode?: Element|undefined; /** * Who attested the composition in the specified way. */ - party?: Reference; + party?: Reference|undefined; /** * When the composition was attested by the party. */ - time?: string; - _time?: Element; + time?: string|undefined; + _time?: Element|undefined; } /** * Code Values for the DocumentReference.attester.mode field @@ -13716,7 +13716,7 @@ export interface DocumentReferenceRelatesTo extends BackboneElement { * If this document appends another document, then the document cannot be fully understood without also accessing the referenced document. */ code: DocumentReferenceRelatesToCodeCodes; - _code?: Element; + _code?: Element|undefined; /** * The target document of this relationship. */ @@ -13742,11 +13742,11 @@ export interface DocumentReferenceContent extends BackboneElement { /** * Note that while IHE mostly issues URNs for format types, not all documents can be identified by a URI. */ - format?: Coding; + format?: Coding|undefined; /** * CDA Document Id extension and root. */ - identifier?: Identifier; + identifier?: Identifier|undefined; } /** * A reference to a document of any kind for any purpose. While the term “document” implies a more narrow focus, for this resource this "document" encompasses *any* serialized object with a mime-type, it includes formal patient-centric documents (CDA), clinical notes, scanned paper, non-patient specific documents like policy text, as well as a photo, video, or audio recording acquired or used in healthcare. The DocumentReference resource provides metadata about the document so that the document can be discovered and managed. The actual content may be inline base64 encoded data or provided by direct reference. @@ -13757,19 +13757,19 @@ export interface DocumentReference extends DomainResource { /** * Only list each attester once. */ - attester?: DocumentReferenceAttester[]; + attester?: DocumentReferenceAttester[]|undefined; /** * Not necessarily who did the actual data entry (i.e. typist) or who was the source (informant). */ - author?: Reference[]; + author?: Reference[]|undefined; /** * A procedure that is fulfilled in whole or in part by the creation of this media. */ - basedOn?: Reference[]; + basedOn?: Reference[]|undefined; /** * Key metadata element describing the the category or classification of the document. This is a broader perspective that groups similar documents based on how they would be used. This is a primary key used in searching. */ - category?: CodeableConcept[]; + category?: CodeableConcept[]|undefined; /** * content element shall not contain different versions of the same content. For version handling use multiple DocumentReference with .relatesTo. */ @@ -13777,77 +13777,77 @@ export interface DocumentReference extends DomainResource { /** * Identifies the logical organization (software system, vendor, or department) to go to find the current version, where to report issues, etc. This is different from the physical location (URL, disk drive, or server) of the document, which is the technical location of the document, which host may be delegated to the management of some other organization. */ - custodian?: Reference; + custodian?: Reference|undefined; /** * Referencing/indexing time is used for tracking, organizing versions and searching. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * What the document is about, a terse summary of the document. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * The document that is pointed to might be in various lifecycle states. */ - docStatus?: DocumentReferenceDocStatusCodes; - _docStatus?: Element; + docStatus?: DocumentReferenceDocStatusCodes|undefined; + _docStatus?: Element|undefined; /** * Describes the clinical encounter or type of care that the document content is associated with. */ - encounter?: Reference[]; + encounter?: Reference[]|undefined; /** * An event can further specialize the act inherent in the type, such as where it is simply "Procedure Report" and the procedure was a "colonoscopy". If one or more event codes are included, they shall not conflict with the values inherent in the class or type elements as such a conflict would create an ambiguous situation. */ - event?: CodeableConcept[]; + event?: CodeableConcept[]|undefined; /** * The kind of facility where the patient was seen. */ - facilityType?: CodeableConcept; + facilityType?: CodeableConcept|undefined; /** * Other identifiers associated with the document, including version independent identifiers. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The time period over which the service that is described by the document was provided. */ - period?: Period; + period?: Period|undefined; /** * This element should be based on a coarse classification system for the class of specialty practice. Recommend the use of the classification system for Practice Setting, such as that described by the Subject Matter Domain in LOINC. */ - practiceSetting?: CodeableConcept; + practiceSetting?: CodeableConcept|undefined; /** * May be identifiers or resources that caused the DocumentReference or referenced Document to be created. */ - related?: Reference[]; + related?: Reference[]|undefined; /** * This element is labeled as a modifier because documents that append to other documents are incomplete on their own. */ - relatesTo?: DocumentReferenceRelatesTo[]; + relatesTo?: DocumentReferenceRelatesTo[]|undefined; /** * The confidentiality codes can carry multiple vocabulary items. HL7 has developed an understanding of security and privacy tags that might be desirable in a Document Sharing environment, called HL7 Healthcare Privacy and Security Classification System (HCS). The following specification is recommended but not mandated, as the vocabulary bindings are an administrative domain responsibility. The use of this method is up to the policy domain such as the XDS Affinity Domain or other Trust Domain where all parties including sender and recipients are trusted to appropriately tag and enforce. * In the HL7 Healthcare Privacy and Security Classification (HCS) there are code systems specific to Confidentiality, Sensitivity, Integrity, and Handling Caveats. Some values would come from a local vocabulary as they are related to workflow roles and special projects. */ - securityLabel?: CodeableConcept[]; + securityLabel?: CodeableConcept[]|undefined; /** * The Patient Information as known when the document was published. May be a reference to a version specific, or contained. */ - sourcePatientInfo?: Reference; + sourcePatientInfo?: Reference|undefined; /** * This is the status of the DocumentReference object, which might be independent from the docStatus element. * This element is labeled as a modifier because the status contains the codes that mark the document or reference as not currently valid. */ status: DocumentReferenceStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Who or what the document is about. The document can be about a person, (patient or healthcare practitioner), a device (e.g. a machine) or even a group of subjects (such as a document about a herd of farm animals, or a set of patients that share a common exposure). */ - subject?: Reference; + subject?: Reference|undefined; /** * Key metadata element describing the document that describes he exact type of document. Helps humans to assess whether the document is of interest when viewing a list of documents. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Code Values for the DocumentReference.docStatus field @@ -13875,19 +13875,19 @@ export interface DomainResource extends Resource { /** * This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels. */ - contained?: FhirResource[]; + contained?: FhirResource[]|undefined; /** * There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. */ - extension?: Extension[]; + extension?: Extension[]|undefined; /** * There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. */ - modifierExtension?: Extension[]; + modifierExtension?: Extension[]|undefined; /** * Contained resources do not have a narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later. */ - text?: Narrative; + text?: Narrative|undefined; } /** * The current status is always found in the current version of the resource, not the status history. @@ -13901,7 +13901,7 @@ export interface EncounterStatusHistory extends BackboneElement { * planned | in-progress | onhold | completed | cancelled | entered-in-error | unknown. */ status: EncounterStatusHistoryStatusCodes; - _status?: Element; + _status?: Element|undefined; } /** * Code Values for the Encounter.statusHistory.status field @@ -13935,15 +13935,15 @@ export interface EncounterParticipant extends BackboneElement { /** * Persons involved in the encounter other than the patient. */ - individual?: Reference; + individual?: Reference|undefined; /** * The period of time that the specified participant participated in the encounter. These can overlap or be sub-sets of the overall encounter's period. */ - period?: Period; + period?: Period|undefined; /** * The participant type indicates how an individual participates in an encounter. It includes non-practitioner participants, and for practitioners this is to describe the action type in the context of this encounter (e.g. Admitting Dr, Attending Dr, Translator, Consulting Dr). This is different to the practitioner roles which are functional roles, derived from terms of employment, education, licensing, etc. */ - type?: CodeableConcept[]; + type?: CodeableConcept[]|undefined; } /** * The list of diagnosis relevant to this encounter. @@ -13956,11 +13956,11 @@ export interface EncounterDiagnosis extends BackboneElement { /** * Ranking of the diagnosis (for each role type). */ - rank?: number; + rank?: number|undefined; /** * Role that this diagnosis has within the encounter (e.g. admission, billing, discharge …). */ - use?: CodeableConcept; + use?: CodeableConcept|undefined; } /** * An Encounter may cover more than just the inpatient stay. Contexts such as outpatients, community clinics, and aged care facilities are also included. @@ -13970,39 +13970,39 @@ export interface EncounterHospitalization extends BackboneElement { /** * From where patient was admitted (physician referral, transfer). */ - admitSource?: CodeableConcept; + admitSource?: CodeableConcept|undefined; /** * Location/organization to which the patient is discharged. */ - destination?: Reference; + destination?: Reference|undefined; /** * For example, a patient may request both a dairy-free and nut-free diet preference (not mutually exclusive). */ - dietPreference?: CodeableConcept[]; + dietPreference?: CodeableConcept[]|undefined; /** * Category or kind of location after discharge. */ - dischargeDisposition?: CodeableConcept; + dischargeDisposition?: CodeableConcept|undefined; /** * The location/organization from which the patient came before admission. */ - origin?: Reference; + origin?: Reference|undefined; /** * Pre-admission identifier. */ - preAdmissionIdentifier?: Identifier; + preAdmissionIdentifier?: Identifier|undefined; /** * Whether this hospitalization is a readmission and why if known. */ - reAdmission?: CodeableConcept; + reAdmission?: CodeableConcept|undefined; /** * Any special requests that have been made for this hospitalization encounter, such as the provision of specific equipment or other things. */ - specialArrangement?: CodeableConcept[]; + specialArrangement?: CodeableConcept[]|undefined; /** * Special courtesies (VIP, board member). */ - specialCourtesy?: CodeableConcept[]; + specialCourtesy?: CodeableConcept[]|undefined; } /** * Virtual encounters can be recorded in the Encounter by specifying a location reference to a location of type "kind" such as "client's home" and an encounter.class = "virtual". @@ -14015,17 +14015,17 @@ export interface EncounterLocation extends BackboneElement { /** * Time period during which the patient was present at the location. */ - period?: Period; + period?: Period|undefined; /** * This information is de-normalized from the Location resource to support the easier understanding of the encounter resource and processing in messaging or query. * There may be many levels in the hierachy, and this may only pic specific levels that are required for a specific usage scenario. */ - physicalType?: CodeableConcept; + physicalType?: CodeableConcept|undefined; /** * When the patient is no longer active at a location, then the period end date is entered, and the status may be changed to completed. */ - status?: EncounterLocationStatusCodes; - _status?: Element; + status?: EncounterLocationStatusCodes|undefined; + _status?: Element|undefined; } /** * Code Values for the Encounter.location.status field @@ -14045,15 +14045,15 @@ export interface Encounter extends DomainResource { /** * The billing system may choose to allocate billable items associated with the Encounter to different referenced Accounts based on internal business rules. */ - account?: Reference[]; + account?: Reference[]|undefined; /** * The appointment that scheduled this encounter. */ - appointment?: Reference[]; + appointment?: Reference[]|undefined; /** * The request this encounter satisfies (e.g. incoming referral or procedure request). */ - basedOn?: Reference[]; + basedOn?: Reference[]|undefined; /** * Concepts representing classification of patient encounter such as ambulatory (outpatient), inpatient, emergency, home health or others due to local variations. */ @@ -14061,82 +14061,82 @@ export interface Encounter extends DomainResource { /** * The class history permits the tracking of the encounters transitions without needing to go through the resource history. This would be used for a case where an admission starts of as an emergency encounter, then transitions into an inpatient scenario. Doing this and not restarting a new encounter ensures that any lab/diagnostic results can more easily follow the patient and not require re-processing and not get lost or cancelled during a kind of discharge from emergency to inpatient. */ - classHistory?: EncounterClassHistory[]; + classHistory?: EncounterClassHistory[]|undefined; /** * The list of diagnosis relevant to this encounter. */ - diagnosis?: EncounterDiagnosis[]; + diagnosis?: EncounterDiagnosis[]|undefined; /** * Where a specific encounter should be classified as a part of a specific episode(s) of care this field should be used. This association can facilitate grouping of related encounters together for a specific purpose, such as government reporting, issue tracking, association via a common problem. The association is recorded on the encounter as these are typically created after the episode of care and grouped on entry rather than editing the episode of care to append another encounter to it (the episode of care could span years). */ - episodeOfCare?: Reference[]; + episodeOfCare?: Reference[]|undefined; /** * An Encounter may cover more than just the inpatient stay. Contexts such as outpatients, community clinics, and aged care facilities are also included. * The duration recorded in the period of this encounter covers the entire scope of this hospitalization record. */ - hospitalization?: EncounterHospitalization; + hospitalization?: EncounterHospitalization|undefined; /** * Identifier(s) by which this encounter is known. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * May differ from the time the Encounter.period lasted because of leave of absence. */ - length?: Duration; + length?: Duration|undefined; /** * Virtual encounters can be recorded in the Encounter by specifying a location reference to a location of type "kind" such as "client's home" and an encounter.class = "virtual". */ - location?: EncounterLocation[]; + location?: EncounterLocation[]|undefined; /** * The list of people responsible for providing the service. */ - participant?: EncounterParticipant[]; + participant?: EncounterParticipant[]|undefined; /** * This is also used for associating a child's encounter back to the mother's encounter. * Refer to the Notes section in the Patient resource for further details. */ - partOf?: Reference; + partOf?: Reference|undefined; /** * If not (yet) known, the end of the Period may be omitted. */ - period?: Period; + period?: Period|undefined; /** * Indicates the urgency of the encounter. */ - priority?: CodeableConcept; + priority?: CodeableConcept|undefined; /** * For systems that need to know which was the primary diagnosis, these will be marked with the standard extension primaryDiagnosis (which is a sequence value rather than a flag, 1 = primary diagnosis). */ - reason?: CodeableReference[]; + reason?: CodeableReference[]|undefined; /** * The organization that is primarily responsible for this Encounter's services. This MAY be the same as the organization on the Patient record, however it could be different, such as if the actor performing the services was from an external organization (which may be billed seperately) for an external consultation. Refer to the example bundle showing an abbreviated set of Encounters for a colonoscopy. */ - serviceProvider?: Reference; + serviceProvider?: Reference|undefined; /** * Broad categorization of the service that is to be provided (e.g. cardiology). */ - serviceType?: CodeableConcept; + serviceType?: CodeableConcept|undefined; /** * Note that internal business rules will determine the appropriate transitions that may occur between statuses (and also classes). */ status: EncounterStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * The current status is always found in the current version of the resource, not the status history. */ - statusHistory?: EncounterStatusHistory[]; + statusHistory?: EncounterStatusHistory[]|undefined; /** * While the encounter is always about the patient, the patient might not actually be known in all contexts of use, and there may be a group of patients that could be anonymous (such as in a group therapy for Alcoholics Anonymous - where the recording of the encounter could be used for billing on the number of people/staff and not important to the context of the specific patients) or alternately in veterinary care a herd of sheep receiving treatment (where the animals are not individually tracked). */ - subject?: Reference; + subject?: Reference|undefined; /** * The subjectStatus value can be used to track the patient's status within the encounter. It details whether the patient has arrived or departed, has been triaged or is currently in a waiting status. */ - subjectStatus?: CodeableConcept; + subjectStatus?: CodeableConcept|undefined; /** * Since there are many ways to further classify encounters, this element is 0..*. */ - type?: CodeableConcept[]; + type?: CodeableConcept[]|undefined; } /** * Code Values for the Encounter.status field @@ -14163,7 +14163,7 @@ export interface Endpoint extends DomainResource { * and not "https://pacs.hospital.org/wado-rs/studies/1.2.250.1.59.40211.12345678.678910/series/1.2.250.1.59.40211.789001276.14556172.67789/instances/...". */ address: string; - _address?: Element; + _address?: Element|undefined; /** * For additional connectivity details for the protocol, extensions will be used at this point, as in the XDS example. */ @@ -14171,30 +14171,30 @@ export interface Endpoint extends DomainResource { /** * Contact details for a human to contact about the subscription. The primary use of this for system administrator troubleshooting. */ - contact?: ContactPoint[]; + contact?: ContactPoint[]|undefined; /** * Exactly what these mean depends on the channel type. The can convey additional information to the recipient and/or meet security requirements. */ - header?: string[]; - _header?: Element[]; + header?: string[]|undefined; + _header?: Element[]|undefined; /** * Identifier for the organization that is used to identify the endpoint across multiple disparate systems. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * This property is not typically used when searching for Endpoint resources for usage. The typical usage is via the reference from an applicable Organization/Location/Practitioner resource, which is where the context is provided. Multiple Locations may reference a single endpoint, and don't have to be within the same organization resource, but most likely within the same organizational hierarchy. */ - managingOrganization?: Reference; + managingOrganization?: Reference|undefined; /** * A friendly name that this endpoint can be referred to with. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Sending the payload has obvious security consequences. The server is responsible for ensuring that the content is appropriately secured. */ - payloadMimeType?: string[]; - _payloadMimeType?: Element[]; + payloadMimeType?: string[]|undefined; + _payloadMimeType?: Element[]|undefined; /** * The payloadFormat describes the serialization format of the data, where the payloadType indicates the specific document/schema that is being transferred; e.g. DischargeSummary or CarePlan. */ @@ -14202,12 +14202,12 @@ export interface Endpoint extends DomainResource { /** * The interval during which the endpoint is expected to be operational. */ - period?: Period; + period?: Period|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the endpoint as not currently valid. */ status: EndpointStatusCodes; - _status?: Element; + _status?: Element|undefined; } /** * Code Values for the Endpoint.status field @@ -14229,33 +14229,33 @@ export interface EnrollmentRequest extends DomainResource { /** * Patient Resource. */ - candidate?: Reference; + candidate?: Reference|undefined; /** * Reference to the program or plan identification, underwriter or payor. */ - coverage?: Reference; + coverage?: Reference|undefined; /** * The date when this resource was created. */ - created?: string; - _created?: Element; + created?: string|undefined; + _created?: Element|undefined; /** * The Response business identifier. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The Insurer who is target of the request. */ - insurer?: Reference; + insurer?: Reference|undefined; /** * The practitioner who is responsible for the services rendered to the patient. */ - provider?: Reference; + provider?: Reference|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the request as not currently valid. */ - status?: EnrollmentRequestStatusCodes; - _status?: Element; + status?: EnrollmentRequestStatusCodes|undefined; + _status?: Element|undefined; } /** * Code Values for the EnrollmentRequest.status field @@ -14275,39 +14275,39 @@ export interface EnrollmentResponse extends DomainResource { /** * The date when the enclosed suite of services were performed or completed. */ - created?: string; - _created?: Element; + created?: string|undefined; + _created?: Element|undefined; /** * A description of the status of the adjudication. */ - disposition?: string; - _disposition?: Element; + disposition?: string|undefined; + _disposition?: Element|undefined; /** * The Response business identifier. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The Insurer who produced this adjudicated response. */ - organization?: Reference; + organization?: Reference|undefined; /** * Processing status: error, complete. */ - outcome?: EnrollmentResponseOutcomeCodes; - _outcome?: Element; + outcome?: EnrollmentResponseOutcomeCodes|undefined; + _outcome?: Element|undefined; /** * Original request resource reference. */ - request?: Reference; + request?: Reference|undefined; /** * The practitioner who is responsible for the services rendered to the patient. */ - requestProvider?: Reference; + requestProvider?: Reference|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the response as not currently valid. */ - status?: EnrollmentResponseStatusCodes; - _status?: Element; + status?: EnrollmentResponseStatusCodes|undefined; + _status?: Element|undefined; } /** * Code Values for the EnrollmentResponse.outcome field @@ -14339,7 +14339,7 @@ export interface EpisodeOfCareStatusHistory extends BackboneElement { * planned | waitlist | active | onhold | finished | cancelled. */ status: EpisodeOfCareStatusHistoryStatusCodes; - _status?: Element; + _status?: Element|undefined; } /** * Code Values for the EpisodeOfCare.statusHistory.status field @@ -14364,11 +14364,11 @@ export interface EpisodeOfCareDiagnosis extends BackboneElement { /** * Ranking of the diagnosis (for each role type). */ - rank?: number; + rank?: number|undefined; /** * Role that this diagnosis has within the episode of care (e.g. admission, billing, discharge …). */ - role?: CodeableConcept; + role?: CodeableConcept|undefined; } /** * An association between a patient and an organization / healthcare provider(s) during which time encounters may occur. The managing organization assumes a level of responsibility for the patient during this time. @@ -14379,23 +14379,23 @@ export interface EpisodeOfCare extends DomainResource { /** * The billing system may choose to allocate billable items associated with the EpisodeOfCare to different referenced Accounts based on internal business rules. */ - account?: Reference[]; + account?: Reference[]|undefined; /** * The practitioner that is the care manager/care coordinator for this patient. */ - careManager?: Reference; + careManager?: Reference|undefined; /** * The list of diagnosis relevant to this episode of care. */ - diagnosis?: EpisodeOfCareDiagnosis[]; + diagnosis?: EpisodeOfCareDiagnosis[]|undefined; /** * The EpisodeOfCare may be known by different identifiers for different contexts of use, such as when an external agency is tracking the Episode for funding purposes. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The organization that has assumed the specific responsibilities for the specified duration. */ - managingOrganization?: Reference; + managingOrganization?: Reference|undefined; /** * The patient who is the focus of this episode of care. */ @@ -14403,28 +14403,28 @@ export interface EpisodeOfCare extends DomainResource { /** * The interval during which the managing organization assumes the defined responsibility. */ - period?: Period; + period?: Period|undefined; /** * Referral Request(s) that are fulfilled by this EpisodeOfCare, incoming referrals. */ - referralRequest?: Reference[]; + referralRequest?: Reference[]|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the episode as not currently valid. */ status: EpisodeOfCareStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * The history of statuses that the EpisodeOfCare has been through (without requiring processing the history of the resource). */ - statusHistory?: EpisodeOfCareStatusHistory[]; + statusHistory?: EpisodeOfCareStatusHistory[]|undefined; /** * The list of practitioners that may be facilitating this episode of care for specific purposes. */ - team?: Reference[]; + team?: Reference[]|undefined; /** * The type can be very important in processing as this could be used in determining if the EpisodeOfCare is relevant to specific government reporting, or other types of classifications. */ - type?: CodeableConcept[]; + type?: CodeableConcept[]|undefined; } /** * Code Values for the EpisodeOfCare.status field @@ -14447,111 +14447,111 @@ export interface EventDefinition extends DomainResource { /** * The 'date' element may be more recent than the approval date because of minor changes or editorial corrections. */ - approvalDate?: string; - _approvalDate?: Element; + approvalDate?: string|undefined; + _approvalDate?: Element|undefined; /** * An individiual or organization primarily involved in the creation and maintenance of the content. */ - author?: ContactDetail[]; + author?: ContactDetail[]|undefined; /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * A copyright statement relating to the event definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the event definition. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the event definition. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * This description can be used to capture details such as why the event definition was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the event definition as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the event definition is presumed to be the predominant language in the place the event definition was created). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * An individual or organization primarily responsible for internal coherence of the content. */ - editor?: ContactDetail[]; + editor?: ContactDetail[]|undefined; /** * The effective period for a event definition determines when the content is applicable for usage and is independent of publication and review dates. For example, a measure intended to be used for the year 2016 might be published in 2015. */ - effectivePeriod?: Period; + effectivePeriod?: Period|undefined; /** * An individual or organization responsible for officially endorsing the content for use in some setting. */ - endorser?: ContactDetail[]; + endorser?: ContactDetail[]|undefined; /** * Allows filtering of event definitions that are appropriate for use versus not. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this event definition outside of FHIR, where it is not possible to use the logical URI. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * It may be possible for the event definition to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * If specified, this date follows the original approval date. */ - lastReviewDate?: string; - _lastReviewDate?: Element; + lastReviewDate?: string|undefined; + _lastReviewDate?: Element|undefined; /** * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Usually an organization but may be an individual. The publisher (or steward) of the event definition is the organization or individual primarily responsible for the maintenance and upkeep of the event definition. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the event definition. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * This element does not describe the usage of the event definition. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this event definition. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * Each related resource is either an attachment, or a reference to another resource, but not both. */ - relatedArtifact?: RelatedArtifact[]; + relatedArtifact?: RelatedArtifact[]|undefined; /** * An individual or organization primarily responsible for review of some aspect of the content. */ - reviewer?: ContactDetail[]; + reviewer?: ContactDetail[]|undefined; /** * Allows filtering of event definitions that are appropriate for use versus not. */ status: EventDefinitionStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * A code or group definition that describes the intended subject of the event definition. */ - subjectCodeableConcept?: CodeableConcept; + subjectCodeableConcept?: CodeableConcept|undefined; /** * A code or group definition that describes the intended subject of the event definition. */ - subjectReference?: Reference; + subjectReference?: Reference|undefined; /** * An explanatory or alternate title for the event definition giving additional information about its content. */ - subtitle?: string; - _subtitle?: Element; + subtitle?: string|undefined; + _subtitle?: Element|undefined; /** * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Descriptive topics related to the module. Topics provide a high-level categorization of the module that can be useful for filtering and searching. */ - topic?: CodeableConcept[]; + topic?: CodeableConcept[]|undefined; /** * The trigger element defines when the event occurs. If more than one trigger condition is specified, the event fires whenever any one of the trigger conditions is met. */ @@ -14561,22 +14561,22 @@ export interface EventDefinition extends DomainResource { * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * A detailed description of how the event definition is used from a clinical perspective. */ - usage?: string; - _usage?: Element; + usage?: string|undefined; + _usage?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different event definition instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the event definition with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the EventDefinition.status field @@ -14594,24 +14594,24 @@ export interface EvidenceVariableDefinition extends BackboneElement { /** * A text description or summary of the variable. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Indication of quality of match between intended variable to actual variable. */ - directnessMatch?: CodeableConcept; + directnessMatch?: CodeableConcept|undefined; /** * Definition of the intended variable related to the Evidence. */ - intended?: Reference; + intended?: Reference|undefined; /** * Footnotes and/or explanatory notes. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * Definition of the actual variable related to the statistic(s). */ - observed?: Reference; + observed?: Reference|undefined; /** * population | subpopulation | exposure | referenceExposure | measuredVariable | confounder. */ @@ -14624,29 +14624,29 @@ export interface EvidenceCertainty extends BackboneElement { /** * Textual description of certainty. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Footnotes and/or explanatory notes. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * Individual or group who did the rating. */ - rater?: string; - _rater?: Element; + rater?: string|undefined; + _rater?: Element|undefined; /** * Assessment or judgement of the aspect. */ - rating?: CodeableConcept; + rating?: CodeableConcept|undefined; /** * A domain or subdomain of certainty. */ - subcomponent?: EvidenceCertainty[]; + subcomponent?: EvidenceCertainty[]|undefined; /** * Aspect of certainty being rated. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * The Evidence Resource provides a machine-interpretable expression of an evidence concept including the evidence variables (eg population, exposures/interventions, comparators, outcomes, measured variables, confounding variables), the statistics, and the certainty of this evidence. @@ -14657,113 +14657,113 @@ export interface Evidence extends DomainResource { /** * The 'date' element may be more recent than the approval date because of minor changes or editorial corrections. */ - approvalDate?: string; - _approvalDate?: Element; + approvalDate?: string|undefined; + _approvalDate?: Element|undefined; /** * Declarative description of the Evidence. */ - assertion?: string; - _assertion?: Element; + assertion?: string|undefined; + _assertion?: Element|undefined; /** * Extensions to ContactDetail include: contactReference, contactAddress, and contributionTime (Details at: http://build.fhir.org/clinicalreasoning-module.html). */ - author?: ContactDetail[]; + author?: ContactDetail[]|undefined; /** * Assessment of certainty, confidence in the estimates, or quality of the evidence. */ - certainty?: EvidenceCertainty[]; + certainty?: EvidenceCertainty[]|undefined; /** * Citation Resource or display of suggested citation for this evidence. */ - citeAsReference?: Reference; + citeAsReference?: Reference|undefined; /** * Citation Resource or display of suggested citation for this evidence. */ - citeAsMarkdown?: string; - _citeAsMarkdown?: Element; + citeAsMarkdown?: string|undefined; + _citeAsMarkdown?: Element|undefined; /** * Extensions to ContactDetail include: contactReference, contactAddress, and contributionTime (Details at: http://build.fhir.org/clinicalreasoning-module.html). */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the summary. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * This description can be used to capture details such as why the evidence was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the evidence as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the evidence is presumed to be the predominant language in the place the evidence was created). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * An ordered group of statistics. */ - distribution?: OrderedDistribution[]; + distribution?: OrderedDistribution[]|undefined; /** * Extensions to ContactDetail include: contactReference, contactAddress, and contributionTime (Details at: http://build.fhir.org/clinicalreasoning-module.html). */ - editor?: ContactDetail[]; + editor?: ContactDetail[]|undefined; /** * Extensions to ContactDetail include: contactReference, contactAddress, and contributionTime (Details at: http://build.fhir.org/clinicalreasoning-module.html). */ - endorser?: ContactDetail[]; + endorser?: ContactDetail[]|undefined; /** * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this summary outside of FHIR, where it is not possible to use the logical URI. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * If specified, this date follows the original approval date. */ - lastReviewDate?: string; - _lastReviewDate?: Element; + lastReviewDate?: string|undefined; + _lastReviewDate?: Element|undefined; /** * Footnotes and/or explanatory notes. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * Usually an organization but may be an individual. The publisher (or steward) of the evidence is the organization or individual primarily responsible for the maintenance and upkeep of the evidence. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the evidence. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * Link or citation to artifact associated with the summary. */ - relatedArtifact?: RelatedArtifact[]; + relatedArtifact?: RelatedArtifact[]|undefined; /** * Extensions to ContactDetail include: contactReference, contactAddress, and contributionTime (Details at: http://build.fhir.org/clinicalreasoning-module.html). */ - reviewer?: ContactDetail[]; + reviewer?: ContactDetail[]|undefined; /** * Values and parameters for a single statistic. */ - statistic?: Statistic[]; + statistic?: Statistic[]|undefined; /** * Allows filtering of summarys s that are appropriate for use versus not. */ status: EvidenceStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * The type of study that produced this evidence. */ - studyType?: CodeableConcept; + studyType?: CodeableConcept|undefined; /** * The method to combine studies. */ - synthesisType?: CodeableConcept; + synthesisType?: CodeableConcept|undefined; /** * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the meta.source element to indicate where the current master source of the resource can be found. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * Evidence variable such as population, exposure, or outcome. */ @@ -14771,8 +14771,8 @@ export interface Evidence extends DomainResource { /** * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in Technical and Business Versions. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the Evidence.status field @@ -14794,33 +14794,33 @@ export interface EvidenceReportSubjectCharacteristic extends BackboneElement { /** * Is used to express not the characteristic. */ - exclude?: boolean; - _exclude?: Element; + exclude?: boolean|undefined; + _exclude?: Element|undefined; /** * Timeframe for the characteristic. */ - period?: Period; + period?: Period|undefined; /** * Example 1 is Citation #37. Example 2 is selecting clinical outcomes. Example 3 is 1-year mortality. */ - valueReference?: Reference; + valueReference?: Reference|undefined; /** * Example 1 is Citation #37. Example 2 is selecting clinical outcomes. Example 3 is 1-year mortality. */ - valueCodeableConcept?: CodeableConcept; + valueCodeableConcept?: CodeableConcept|undefined; /** * Example 1 is Citation #37. Example 2 is selecting clinical outcomes. Example 3 is 1-year mortality. */ - valueBoolean?: boolean; - _valueBoolean?: Element; + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; /** * Example 1 is Citation #37. Example 2 is selecting clinical outcomes. Example 3 is 1-year mortality. */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; /** * Example 1 is Citation #37. Example 2 is selecting clinical outcomes. Example 3 is 1-year mortality. */ - valueRange?: Range; + valueRange?: Range|undefined; } /** * May be used as an expression for search queries and search results @@ -14829,11 +14829,11 @@ export interface EvidenceReportSubject extends BackboneElement { /** * Characteristic. */ - characteristic?: EvidenceReportSubjectCharacteristic[]; + characteristic?: EvidenceReportSubjectCharacteristic[]|undefined; /** * Used for general notes and annotations not coded elsewhere. */ - note?: Annotation[]; + note?: Annotation[]|undefined; } /** * A document is a version specific composition. @@ -14843,15 +14843,15 @@ export interface EvidenceReportRelatesTo extends BackboneElement { * If this document appends another document, then the document cannot be fully understood without also accessing the referenced document. */ code: EvidenceReportRelatesToCodeCodes; - _code?: Element; + _code?: Element|undefined; /** * The target composition/document of this relationship. */ - targetIdentifier?: Identifier; + targetIdentifier?: Identifier|undefined; /** * The target composition/document of this relationship. */ - targetReference?: Reference; + targetReference?: Reference|undefined; } /** * Code Values for the EvidenceReport.relatesTo.code field @@ -14873,54 +14873,54 @@ export interface EvidenceReportSection extends BackboneElement { /** * Identifies who is responsible for the information in this section, not necessarily who typed it in. */ - author?: Reference[]; + author?: Reference[]|undefined; /** * The various reasons for an empty section make a significant interpretation to its interpretation. Note that this code is for use when the entire section content has been suppressed, and not for when individual items are omitted - implementers may consider using a text note or a flag on an entry in these cases. */ - emptyReason?: CodeableConcept; + emptyReason?: CodeableConcept|undefined; /** * Specifies any type of classification of the evidence report. */ - entryClassifier?: CodeableConcept[]; + entryClassifier?: CodeableConcept[]|undefined; /** * Quantity as content. */ - entryQuantity?: Quantity[]; + entryQuantity?: Quantity[]|undefined; /** * If there are no entries in the list, an emptyReason SHOULD be provided. */ - entryReference?: Reference[]; + entryReference?: Reference[]|undefined; /** * The code identifies the section for an automated processor of the document. This is particularly relevant when using profiles to control the structure of the document. * If the section has content (instead of sub-sections), the section.code does not change the meaning or interpretation of the resource that is the content of the section in the comments for the section.code. */ - focus?: CodeableConcept; + focus?: CodeableConcept|undefined; /** * A definitional Resource identifying the kind of content contained within the section. This should be consistent with the section title. */ - focusReference?: Reference; + focusReference?: Reference|undefined; /** * This element is labeled as a modifier because a change list must not be misunderstood as a complete list. */ - mode?: EvidenceReportSectionModeCodes; - _mode?: Element; + mode?: EvidenceReportSectionModeCodes|undefined; + _mode?: Element|undefined; /** * Applications SHOULD render ordered lists in the order provided, but MAY allow users to re-order based on their own preferences as well. If there is no order specified, the order is unknown, though there may still be some order. */ - orderedBy?: CodeableConcept; + orderedBy?: CodeableConcept|undefined; /** * Nested sections are primarily used to help human readers navigate to particular portions of the document. */ - section?: EvidenceReportSection[]; + section?: EvidenceReportSection[]|undefined; /** * Document profiles may define what content should be represented in the narrative. */ - text?: Narrative; + text?: Narrative|undefined; /** * The title identifies the section for a human reader. The title must be consistent with the narrative of the resource that is the target of the section.content reference. Generally, sections SHOULD have titles, but in some documents, it is unnecessary or inappropriate. Typically, this is where a section has subsections that have their own adequately distinguishing title, or documents that only have a single section. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; } /** * Code Values for the EvidenceReport.section.mode field @@ -14939,66 +14939,66 @@ export interface EvidenceReport extends DomainResource { /** * Extensions to ContactDetail include: contactReference, contactAddress, and contributionTime (Details at: http://build.fhir.org/clinicalreasoning-module.html). */ - author?: ContactDetail[]; + author?: ContactDetail[]|undefined; /** * used for reports for which external citation is expected, such as use in support of scholarly publications. */ - citeAsReference?: Reference; + citeAsReference?: Reference|undefined; /** * used for reports for which external citation is expected, such as use in support of scholarly publications. */ - citeAsMarkdown?: string; - _citeAsMarkdown?: Element; + citeAsMarkdown?: string|undefined; + _citeAsMarkdown?: Element|undefined; /** * Extensions to ContactDetail include: contactReference, contactAddress, and contributionTime (Details at: http://build.fhir.org/clinicalreasoning-module.html). */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * Extensions to ContactDetail include: contactReference, contactAddress, and contributionTime (Details at: http://build.fhir.org/clinicalreasoning-module.html). */ - editor?: ContactDetail[]; + editor?: ContactDetail[]|undefined; /** * Extensions to ContactDetail include: contactReference, contactAddress, and contributionTime (Details at: http://build.fhir.org/clinicalreasoning-module.html). */ - endorser?: ContactDetail[]; + endorser?: ContactDetail[]|undefined; /** * This element will contain unique identifiers that support de-duplication of EvidenceReports. This identifier can be valid for only one EvidenceReport resource. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Used for footnotes and annotations. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * Usually an organization but may be an individual. The publisher (or steward) of the evidence report is the organization or individual primarily responsible for the maintenance and upkeep of the evidence report. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the evidence report. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * Link, description or reference to artifact associated with the report. */ - relatedArtifact?: RelatedArtifact[]; + relatedArtifact?: RelatedArtifact[]|undefined; /** * May include trial registry identifiers, e.g. NCT04372602 from clinicaltrials.gov. This identifier can be valid for multiple EvidenceReport resources. */ - relatedIdentifier?: Identifier[]; + relatedIdentifier?: Identifier[]|undefined; /** * A document is a version specific composition. */ - relatesTo?: EvidenceReportRelatesTo[]; + relatesTo?: EvidenceReportRelatesTo[]|undefined; /** * Extensions to ContactDetail include: contactReference, contactAddress, and contributionTime (Details at: http://build.fhir.org/clinicalreasoning-module.html). */ - reviewer?: ContactDetail[]; + reviewer?: ContactDetail[]|undefined; /** * The root of the sections that make up the composition. */ - section?: EvidenceReportSection[]; + section?: EvidenceReportSection[]|undefined; /** * Allows filtering of summaries that are appropriate for use versus not. */ status: EvidenceReportStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * May be used as an expression for search queries and search results */ @@ -15006,16 +15006,16 @@ export interface EvidenceReport extends DomainResource { /** * Specifies the kind of report, such as grouping of classifiers, search results, or human-compiled expression. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; /** * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; } /** * Code Values for the EvidenceReport.status field @@ -15033,20 +15033,20 @@ export interface EvidenceVariableCharacteristicTimeFromStart extends BackboneEle /** * A short, natural language description. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * A human-readable string to clarify or explain concepts about the resource. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * Used to express the observation at a defined amount of time after the study start. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * Used to express the observation within a period after the study start. */ - range?: Range; + range?: Range|undefined; } /** * Characteristics can be defined flexibly to accommodate different use cases for membership criteria, ranging from simple codes, all the way to using an expression language to express the criteria. @@ -15055,47 +15055,47 @@ export interface EvidenceVariableCharacteristic extends BackboneElement { /** * Define members of the evidence element using Codes (such as condition, medication, or observation), Expressions ( using an expression language such as FHIRPath or CQL) or DataRequirements (such as Diabetes diagnosis onset in the last year). */ - definitionReference?: Reference; + definitionReference?: Reference|undefined; /** * Define members of the evidence element using Codes (such as condition, medication, or observation), Expressions ( using an expression language such as FHIRPath or CQL) or DataRequirements (such as Diabetes diagnosis onset in the last year). */ - definitionCanonical?: string; - _definitionCanonical?: Element; + definitionCanonical?: string|undefined; + _definitionCanonical?: Element|undefined; /** * Define members of the evidence element using Codes (such as condition, medication, or observation), Expressions ( using an expression language such as FHIRPath or CQL) or DataRequirements (such as Diabetes diagnosis onset in the last year). */ - definitionCodeableConcept?: CodeableConcept; + definitionCodeableConcept?: CodeableConcept|undefined; /** * Define members of the evidence element using Codes (such as condition, medication, or observation), Expressions ( using an expression language such as FHIRPath or CQL) or DataRequirements (such as Diabetes diagnosis onset in the last year). */ - definitionExpression?: Expression; + definitionExpression?: Expression|undefined; /** * A short, natural language description of the characteristic that could be used to communicate the criteria to an end-user. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Device used for determining characteristic. */ - device?: Reference; + device?: Reference|undefined; /** * When true, members with this characteristic are excluded from the element. */ - exclude?: boolean; - _exclude?: Element; + exclude?: boolean|undefined; + _exclude?: Element|undefined; /** * Indicates how elements are aggregated within the study effective period. */ - groupMeasure?: EvidenceVariableCharacteristicGroupMeasureCodes; - _groupMeasure?: Element; + groupMeasure?: EvidenceVariableCharacteristicGroupMeasureCodes|undefined; + _groupMeasure?: Element|undefined; /** * Method used for describing characteristic. */ - method?: CodeableConcept; + method?: CodeableConcept|undefined; /** * Indicates duration, period, or point of observation from the participant's study entry. */ - timeFromStart?: EvidenceVariableCharacteristicTimeFromStart; + timeFromStart?: EvidenceVariableCharacteristicTimeFromStart|undefined; } /** * Code Values for the EvidenceVariable.characteristic.groupMeasure field @@ -15115,20 +15115,20 @@ export interface EvidenceVariableCategory extends BackboneElement { /** * A human-readable title or representation of the grouping. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Value or set of values that define the grouping. */ - valueCodeableConcept?: CodeableConcept; + valueCodeableConcept?: CodeableConcept|undefined; /** * Value or set of values that define the grouping. */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; /** * Value or set of values that define the grouping. */ - valueRange?: Range; + valueRange?: Range|undefined; } /** * The EvidenceVariable resource describes an element that knowledge (Evidence) is about. @@ -15139,114 +15139,114 @@ export interface EvidenceVariable extends DomainResource { /** * True if the actual variable measured, false if a conceptual representation of the intended variable. */ - actual?: boolean; - _actual?: Element; + actual?: boolean|undefined; + _actual?: Element|undefined; /** * Extensions to ContactDetail include: contactReference, contactAddress, and contributionTime (Details at: http://build.fhir.org/clinicalreasoning-module.html). */ - author?: ContactDetail[]; + author?: ContactDetail[]|undefined; /** * A grouping (or set of values) described along with other groupings to specify the set of groupings allowed for the variable. */ - category?: EvidenceVariableCategory[]; + category?: EvidenceVariableCategory[]|undefined; /** * Characteristics can be defined flexibly to accommodate different use cases for membership criteria, ranging from simple codes, all the way to using an expression language to express the criteria. */ - characteristic?: EvidenceVariableCharacteristic[]; + characteristic?: EvidenceVariableCharacteristic[]|undefined; /** * Used to specify if two or more characteristics are combined with OR or AND. */ - characteristicCombination?: EvidenceVariableCharacteristicCombinationCodes; - _characteristicCombination?: Element; + characteristicCombination?: EvidenceVariableCharacteristicCombinationCodes|undefined; + _characteristicCombination?: Element|undefined; /** * Extensions to ContactDetail include: contactReference, contactAddress, and contributionTime (Details at: http://build.fhir.org/clinicalreasoning-module.html). */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the evidence variable. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * This description can be used to capture details such as why the evidence variable was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the evidence variable as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the evidence variable is presumed to be the predominant language in the place the evidence variable was created). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Extensions to ContactDetail include: contactReference, contactAddress, and contributionTime (Details at: http://build.fhir.org/clinicalreasoning-module.html). */ - editor?: ContactDetail[]; + editor?: ContactDetail[]|undefined; /** * Extensions to ContactDetail include: contactReference, contactAddress, and contributionTime (Details at: http://build.fhir.org/clinicalreasoning-module.html). */ - endorser?: ContactDetail[]; + endorser?: ContactDetail[]|undefined; /** * Used for an outcome to classify. */ - handling?: EvidenceVariableHandlingCodes; - _handling?: Element; + handling?: EvidenceVariableHandlingCodes|undefined; + _handling?: Element|undefined; /** * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this evidence variable outside of FHIR, where it is not possible to use the logical URI. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * A human-readable string to clarify or explain concepts about the resource. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * Usually an organization but may be an individual. The publisher (or steward) of the evidence variable is the organization or individual primarily responsible for the maintenance and upkeep of the evidence variable. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the evidence variable. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * Each related artifact is either an attachment, or a reference to another resource, but not both. */ - relatedArtifact?: RelatedArtifact[]; + relatedArtifact?: RelatedArtifact[]|undefined; /** * Extensions to ContactDetail include: contactReference, contactAddress, and contributionTime (Details at: http://build.fhir.org/clinicalreasoning-module.html). */ - reviewer?: ContactDetail[]; + reviewer?: ContactDetail[]|undefined; /** * The short title provides an alternate title for use in informal descriptive contexts where the full, formal title is not necessary. */ - shortTitle?: string; - _shortTitle?: Element; + shortTitle?: string|undefined; + _shortTitle?: Element|undefined; /** * Allows filtering of evidence variables that are appropriate for use versus not. */ status: EvidenceVariableStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * An explanatory or alternate title for the EvidenceVariable giving additional information about its content. */ - subtitle?: string; - _subtitle?: Element; + subtitle?: string|undefined; + _subtitle?: Element|undefined; /** * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different evidence variable instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the evidence variable with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the EvidenceVariable.characteristicCombination field @@ -15281,22 +15281,22 @@ export interface ExampleScenarioActor extends BackboneElement { * should this be called ID or acronym? */ actorId: string; - _actorId?: Element; + _actorId?: Element|undefined; /** * Cardinality: is name and description 1..1? */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Cardinality: is name and description 1..1? */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * The type of actor - person or system. */ type: ExampleScenarioActorTypeCodes; - _type?: Element; + _type?: Element|undefined; } /** * Code Values for the ExampleScenario.actor.type field @@ -15313,12 +15313,12 @@ export interface ExampleScenarioInstanceVersion extends BackboneElement { * The description of the resource version. */ description: string; - _description?: Element; + _description?: Element|undefined; /** * The identifier of a specific version of a resource. */ versionId: string; - _versionId?: Element; + _versionId?: Element|undefined; } /** * Resources contained in the instance (e.g. the observations contained in a bundle). @@ -15328,12 +15328,12 @@ export interface ExampleScenarioInstanceContainedInstance extends BackboneElemen * Each resource contained in the instance. */ resourceId: string; - _resourceId?: Element; + _resourceId?: Element|undefined; /** * A specific version of a resource contained in the instance. */ - versionId?: string; - _versionId?: Element; + versionId?: string|undefined; + _versionId?: Element|undefined; } /** * Each resource and each version that is present in the workflow. @@ -15342,31 +15342,31 @@ export interface ExampleScenarioInstance extends BackboneElement { /** * Resources contained in the instance (e.g. the observations contained in a bundle). */ - containedInstance?: ExampleScenarioInstanceContainedInstance[]; + containedInstance?: ExampleScenarioInstanceContainedInstance[]|undefined; /** * Human-friendly description of the resource instance. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * A short name for the resource instance. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * The id of the resource for referencing. */ resourceId: string; - _resourceId?: Element; + _resourceId?: Element|undefined; /** * The type of the resource. */ resourceType: string; - _resourceType?: Element; + _resourceType?: Element|undefined; /** * A specific version of the resource. */ - version?: ExampleScenarioInstanceVersion[]; + version?: ExampleScenarioInstanceVersion[]|undefined; } /** * Each interaction or action. @@ -15375,51 +15375,51 @@ export interface ExampleScenarioProcessStepOperation extends BackboneElement { /** * A comment to be inserted in the diagram. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Who starts the transaction. */ - initiator?: string; - _initiator?: Element; + initiator?: string|undefined; + _initiator?: Element|undefined; /** * Whether the initiator is deactivated right after the transaction. */ - initiatorActive?: boolean; - _initiatorActive?: Element; + initiatorActive?: boolean|undefined; + _initiatorActive?: Element|undefined; /** * The human-friendly name of the interaction. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * The sequential number of the interaction, e.g. 1.2.5. */ number: string; - _number?: Element; + _number?: Element|undefined; /** * Who receives the transaction. */ - receiver?: string; - _receiver?: Element; + receiver?: string|undefined; + _receiver?: Element|undefined; /** * Whether the receiver is deactivated right after the transaction. */ - receiverActive?: boolean; - _receiverActive?: Element; + receiverActive?: boolean|undefined; + _receiverActive?: Element|undefined; /** * Each resource instance used by the initiator. */ - request?: ExampleScenarioInstanceContainedInstance; + request?: ExampleScenarioInstanceContainedInstance|undefined; /** * Each resource instance used by the responder. */ - response?: ExampleScenarioInstanceContainedInstance; + response?: ExampleScenarioInstanceContainedInstance|undefined; /** * The type of operation - CRUD. */ - type?: string; - _type?: Element; + type?: string|undefined; + _type?: Element|undefined; } /** * Indicates an alternative step that can be taken instead of the operations on the base step in exceptional/atypical circumstances. @@ -15428,17 +15428,17 @@ export interface ExampleScenarioProcessStepAlternative extends BackboneElement { /** * A human-readable description of the alternative explaining when the alternative should occur rather than the base step. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * What happens in each alternative option. */ - step?: ExampleScenarioProcessStep[]; + step?: ExampleScenarioProcessStep[]|undefined; /** * The label to display for the alternative that gives a sense of the circumstance in which the alternative should be invoked. */ title: string; - _title?: Element; + _title?: Element|undefined; } /** * Each step of the process. @@ -15447,20 +15447,20 @@ export interface ExampleScenarioProcessStep extends BackboneElement { /** * Indicates an alternative step that can be taken instead of the operations on the base step in exceptional/atypical circumstances. */ - alternative?: ExampleScenarioProcessStepAlternative[]; + alternative?: ExampleScenarioProcessStepAlternative[]|undefined; /** * Each interaction or action. */ - operation?: ExampleScenarioProcessStepOperation; + operation?: ExampleScenarioProcessStepOperation|undefined; /** * If there is a pause in the flow. */ - pause?: boolean; - _pause?: Element; + pause?: boolean|undefined; + _pause?: Element|undefined; /** * Nested process. */ - process?: ExampleScenarioProcess[]; + process?: ExampleScenarioProcess[]|undefined; } /** * Each major process - a group of operations. @@ -15469,27 +15469,27 @@ export interface ExampleScenarioProcess extends BackboneElement { /** * A longer description of the group of operations. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Description of final status after the process ends. */ - postConditions?: string; - _postConditions?: Element; + postConditions?: string|undefined; + _postConditions?: Element|undefined; /** * Description of initial status before the process starts. */ - preConditions?: string; - _preConditions?: Element; + preConditions?: string|undefined; + _preConditions?: Element|undefined; /** * Each step of the process. */ - step?: ExampleScenarioProcessStep[]; + step?: ExampleScenarioProcessStep[]|undefined; /** * The diagram title of the group of operations. */ title: string; - _title?: Element; + _title?: Element|undefined; } /** * Example of workflow instance. @@ -15500,83 +15500,83 @@ export interface ExampleScenario extends DomainResource { /** * Actor participating in the resource. */ - actor?: ExampleScenarioActor[]; + actor?: ExampleScenarioActor[]|undefined; /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * nullFrequently, the copyright differs between the value set and the codes that are included. The copyright statement should clearly differentiate between these when required. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the example scenario. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * Allows filtering of example scenarios that are appropriate for use versus not. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this example scenario outside of FHIR, where it is not possible to use the logical URI. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Each resource and each version that is present in the workflow. */ - instance?: ExampleScenarioInstance[]; + instance?: ExampleScenarioInstance[]|undefined; /** * It may be possible for the example scenario to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Each major process - a group of operations. */ - process?: ExampleScenarioProcess[]; + process?: ExampleScenarioProcess[]|undefined; /** * Usually an organization but may be an individual. The publisher (or steward) of the example scenario is the organization or individual primarily responsible for the maintenance and upkeep of the example scenario. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the example scenario. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * This element does not describe the usage of the example scenario. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this example scenario. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * Allows filtering of example scenarios that are appropriate for use versus not. */ status: ExampleScenarioStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different example scenario instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the example scenario with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; /** * Another nested workflow. */ - workflow?: string[]; - _workflow?: Element[]; + workflow?: string[]|undefined; + _workflow?: Element[]|undefined; } /** * Code Values for the ExampleScenario.status field @@ -15594,15 +15594,15 @@ export interface ExplanationOfBenefitRelated extends BackboneElement { /** * Reference to a related claim. */ - claim?: Reference; + claim?: Reference|undefined; /** * For example, Property/Casualty insurer claim number or Workers Compensation case number. */ - reference?: Identifier; + reference?: Identifier|undefined; /** * For example, prior claim or umbrella. */ - relationship?: CodeableConcept; + relationship?: CodeableConcept|undefined; } /** * Often providers agree to receive the benefits payable to reduce the near-term costs to the patient. The insurer may decline to pay the provider and may choose to pay the subscriber instead. @@ -15611,11 +15611,11 @@ export interface ExplanationOfBenefitPayee extends BackboneElement { /** * Not required if the payee is 'subscriber' or 'provider'. */ - party?: Reference; + party?: Reference|undefined; /** * Type of Party to be reimbursed: Subscriber, provider, other. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * The members of the team who provided the products and services. @@ -15628,16 +15628,16 @@ export interface ExplanationOfBenefitCareTeam extends BackboneElement { /** * The qualification of the practitioner which is applicable for this service. */ - qualification?: CodeableConcept; + qualification?: CodeableConcept|undefined; /** * Responsible might not be required when there is only a single provider listed. */ - responsible?: boolean; - _responsible?: Element; + responsible?: boolean|undefined; + _responsible?: Element|undefined; /** * Role might not be required when there is only a single provider listed. */ - role?: CodeableConcept; + role?: CodeableConcept|undefined; /** * A number to uniquely identify care team entries. */ @@ -15654,11 +15654,11 @@ export interface ExplanationOfBenefitSupportingInfo extends BackboneElement { /** * This may contain the local bill type codes such as the US UB-04 bill type code. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * For example: the reason for the additional stay, or why a tooth is missing. */ - reason?: Coding; + reason?: Coding|undefined; /** * A number to uniquely identify supporting information entries. */ @@ -15666,34 +15666,34 @@ export interface ExplanationOfBenefitSupportingInfo extends BackboneElement { /** * The date when or period to which this information refers. */ - timingDate?: string; - _timingDate?: Element; + timingDate?: string|undefined; + _timingDate?: Element|undefined; /** * The date when or period to which this information refers. */ - timingPeriod?: Period; + timingPeriod?: Period|undefined; /** * Could be used to provide references to other resources, document. For example, could contain a PDF in an Attachment of the Police Report for an Accident. */ - valueBoolean?: boolean; - _valueBoolean?: Element; + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; /** * Could be used to provide references to other resources, document. For example, could contain a PDF in an Attachment of the Police Report for an Accident. */ - valueString?: string; - _valueString?: Element; + valueString?: string|undefined; + _valueString?: Element|undefined; /** * Could be used to provide references to other resources, document. For example, could contain a PDF in an Attachment of the Police Report for an Accident. */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; /** * Could be used to provide references to other resources, document. For example, could contain a PDF in an Attachment of the Police Report for an Accident. */ - valueAttachment?: Attachment; + valueAttachment?: Attachment|undefined; /** * Could be used to provide references to other resources, document. For example, could contain a PDF in an Attachment of the Police Report for an Accident. */ - valueReference?: Reference; + valueReference?: Reference|undefined; } /** * Information about diagnoses relevant to the claim items. @@ -15702,19 +15702,19 @@ export interface ExplanationOfBenefitDiagnosis extends BackboneElement { /** * The nature of illness or problem in a coded form or as a reference to an external defined Condition. */ - diagnosisCodeableConcept?: CodeableConcept; + diagnosisCodeableConcept?: CodeableConcept|undefined; /** * The nature of illness or problem in a coded form or as a reference to an external defined Condition. */ - diagnosisReference?: Reference; + diagnosisReference?: Reference|undefined; /** * Indication of whether the diagnosis was present on admission to a facility. */ - onAdmission?: CodeableConcept; + onAdmission?: CodeableConcept|undefined; /** * For example, DRG (Diagnosis Related Group) or a bundled billing code. A patient may have a diagnosis of a Myocardio-infarction and a DRG for HeartAttack would assigned. The Claim item (and possible subsequent claims) would refer to the DRG for those line items that were for services related to the heart attack event. */ - packageCode?: CodeableConcept; + packageCode?: CodeableConcept|undefined; /** * Diagnosis are presented in list order to their expected importance: primary, secondary, etc. */ @@ -15722,7 +15722,7 @@ export interface ExplanationOfBenefitDiagnosis extends BackboneElement { /** * For example: admitting, primary, secondary, discharge. */ - type?: CodeableConcept[]; + type?: CodeableConcept[]|undefined; } /** * Procedures performed on the patient relevant to the billing items with the claim. @@ -15731,16 +15731,16 @@ export interface ExplanationOfBenefitProcedure extends BackboneElement { /** * Date and optionally time the procedure was performed. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * The code or reference to a Procedure resource which identifies the clinical intervention performed. */ - procedureCodeableConcept?: CodeableConcept; + procedureCodeableConcept?: CodeableConcept|undefined; /** * The code or reference to a Procedure resource which identifies the clinical intervention performed. */ - procedureReference?: Reference; + procedureReference?: Reference|undefined; /** * A number to uniquely identify procedure entries. */ @@ -15748,11 +15748,11 @@ export interface ExplanationOfBenefitProcedure extends BackboneElement { /** * When the condition was observed or the relative ranking. */ - type?: CodeableConcept[]; + type?: CodeableConcept[]|undefined; /** * Unique Device Identifiers associated with this line item. */ - udi?: Reference[]; + udi?: Reference[]|undefined; } /** * All insurance coverages for the patient which may be applicable for reimbursement, of the products and services listed in the claim, are typically provided in the claim to allow insurers to confirm the ordering of the insurance coverages relative to local 'coordination of benefit' rules. One coverage (and only one) with 'focal=true' is to be used in the adjudication of this claim. Coverages appearing before the focal Coverage in the list, and where 'Coverage.subrogation=false', should provide a reference to the ClaimResponse containing the adjudication results of the prior claim. @@ -15766,12 +15766,12 @@ export interface ExplanationOfBenefitInsurance extends BackboneElement { * A patient may (will) have multiple insurance policies which provide reimbursement for healthcare services and products. For example, a person may also be covered by their spouse's policy and both appear in the list (and may be from the same insurer). This flag will be set to true for only one of the listed policies and that policy will be used for adjudicating this claim. Other claims would be created to request adjudication against the other listed policies. */ focal: boolean; - _focal?: Element; + _focal?: Element|undefined; /** * This value is an alphanumeric string that may be provided over the phone, via text, via paper, or within a ClaimResponse resource and is not a FHIR Identifier. */ - preAuthRef?: string[]; - _preAuthRef?: Element[]; + preAuthRef?: string[]|undefined; + _preAuthRef?: Element[]|undefined; } /** * Details of a accident which resulted in injuries which required the products and services listed in the claim. @@ -15780,20 +15780,20 @@ export interface ExplanationOfBenefitAccident extends BackboneElement { /** * The date of the accident has to precede the dates of the products and services but within a reasonable timeframe. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * The physical location of the accident event. */ - locationAddress?: Address; + locationAddress?: Address|undefined; /** * The physical location of the accident event. */ - locationReference?: Reference; + locationReference?: Reference|undefined; /** * The type or context of the accident event for the purposes of selection of potential insurance coverages and determination of coordination between insurers. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * If this item is a group then the values here are a summary of the adjudication of the detail items. If this item is a simple product or service then this is the result of the adjudication of this item. @@ -15802,7 +15802,7 @@ export interface ExplanationOfBenefitItemAdjudication extends BackboneElement { /** * For example, amount submitted, eligible amount, co-payment, and benefit payable. */ - amount?: Money; + amount?: Money|undefined; /** * For example, codes indicating: Co-Pay, deductible, eligible, benefit, tax, etc. */ @@ -15810,11 +15810,11 @@ export interface ExplanationOfBenefitItemAdjudication extends BackboneElement { /** * For example, may indicate that the funds for this benefit type have been exhausted. */ - reason?: CodeableConcept; + reason?: CodeableConcept|undefined; /** * For example: eligible percentage or co-payment percentage. */ - value?: number; + value?: number|undefined; } /** * Third-tier of goods and services. @@ -15823,27 +15823,27 @@ export interface ExplanationOfBenefitItemDetailSubDetail extends BackboneElement /** * The adjudication results. */ - adjudication?: ExplanationOfBenefitItemAdjudication[]; + adjudication?: ExplanationOfBenefitItemAdjudication[]|undefined; /** * Examples include Medical Care, Periodontics, Renal Dialysis, Vision Coverage. */ - category?: CodeableConcept; + category?: CodeableConcept|undefined; /** * To show a 10% senior's discount, the value entered is: 0.90 (1.00 - 0.10). */ - factor?: number; + factor?: number|undefined; /** * For example, in Oral whether the treatment is cosmetic or associated with TMJ, or for Medical whether the treatment was outside the clinic or outside of office hours. */ - modifier?: CodeableConcept[]; + modifier?: CodeableConcept[]|undefined; /** * For example, the formula: quantity * unitPrice * factor = net. Quantity and factor are assumed to be 1 if not supplied. */ - net?: Money; + net?: Money|undefined; /** * The numbers associated with notes below which apply to the adjudication of this item. */ - noteNumber?: number[]; + noteNumber?: number[]|undefined; /** * If this is an actual service or product line, i.e. not a Group, then use code to indicate the Professional Service or Product supplied (e.g. CTP, HCPCS, USCLS, ICD10, NCPDP, DIN, RxNorm, ACHI, CCI). If a grouping item then use a group code to indicate the type of thing being grouped e.g. 'glasses' or 'compound'. */ @@ -15851,15 +15851,15 @@ export interface ExplanationOfBenefitItemDetailSubDetail extends BackboneElement /** * For example: Neonatal program, child dental program or drug users recovery program. */ - programCode?: CodeableConcept[]; + programCode?: CodeableConcept[]|undefined; /** * The number of repetitions of a service or product. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * The type of revenue or cost center providing the product and/or service. */ - revenue?: CodeableConcept; + revenue?: CodeableConcept|undefined; /** * A claim detail line. Either a simple (a product or service) or a 'group' of sub-details which are simple items. */ @@ -15867,11 +15867,11 @@ export interface ExplanationOfBenefitItemDetailSubDetail extends BackboneElement /** * Unique Device Identifiers associated with this line item. */ - udi?: Reference[]; + udi?: Reference[]|undefined; /** * If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group. */ - unitPrice?: Money; + unitPrice?: Money|undefined; } /** * Second-tier of goods and services. @@ -15880,27 +15880,27 @@ export interface ExplanationOfBenefitItemDetail extends BackboneElement { /** * The adjudication results. */ - adjudication?: ExplanationOfBenefitItemAdjudication[]; + adjudication?: ExplanationOfBenefitItemAdjudication[]|undefined; /** * Examples include: Medical Care, Periodontics, Renal Dialysis, Vision Coverage. */ - category?: CodeableConcept; + category?: CodeableConcept|undefined; /** * To show a 10% senior's discount, the value entered is: 0.90 (1.00 - 0.10). */ - factor?: number; + factor?: number|undefined; /** * For example, in Oral whether the treatment is cosmetic or associated with TMJ, or for Medical whether the treatment was outside the clinic or out of office hours. */ - modifier?: CodeableConcept[]; + modifier?: CodeableConcept[]|undefined; /** * For example, the formula: quantity * unitPrice * factor = net. Quantity and factor are assumed to be 1 if not supplied. */ - net?: Money; + net?: Money|undefined; /** * The numbers associated with notes below which apply to the adjudication of this item. */ - noteNumber?: number[]; + noteNumber?: number[]|undefined; /** * If this is an actual service or product line, i.e. not a Group, then use code to indicate the Professional Service or Product supplied (e.g. CTP, HCPCS, USCLS, ICD10, NCPDP, DIN, RxNorm, ACHI, CCI). If a grouping item then use a group code to indicate the type of thing being grouped e.g. 'glasses' or 'compound'. */ @@ -15908,15 +15908,15 @@ export interface ExplanationOfBenefitItemDetail extends BackboneElement { /** * For example: Neonatal program, child dental program or drug users recovery program. */ - programCode?: CodeableConcept[]; + programCode?: CodeableConcept[]|undefined; /** * The number of repetitions of a service or product. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * The type of revenue or cost center providing the product and/or service. */ - revenue?: CodeableConcept; + revenue?: CodeableConcept|undefined; /** * A claim detail line. Either a simple (a product or service) or a 'group' of sub-details which are simple items. */ @@ -15924,15 +15924,15 @@ export interface ExplanationOfBenefitItemDetail extends BackboneElement { /** * Third-tier of goods and services. */ - subDetail?: ExplanationOfBenefitItemDetailSubDetail[]; + subDetail?: ExplanationOfBenefitItemDetailSubDetail[]|undefined; /** * Unique Device Identifiers associated with this line item. */ - udi?: Reference[]; + udi?: Reference[]|undefined; /** * If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group. */ - unitPrice?: Money; + unitPrice?: Money|undefined; } /** * A claim line. Either a simple (a product or service) or a 'group' of details which can also be a simple items or groups of sub-details. @@ -15941,67 +15941,67 @@ export interface ExplanationOfBenefitItem extends BackboneElement { /** * If this item is a group then the values here are a summary of the adjudication of the detail items. If this item is a simple product or service then this is the result of the adjudication of this item. */ - adjudication?: ExplanationOfBenefitItemAdjudication[]; + adjudication?: ExplanationOfBenefitItemAdjudication[]|undefined; /** * For example: Providing a tooth code, allows an insurer to identify a provider performing a filling on a tooth that was previously removed. */ - bodySite?: CodeableConcept; + bodySite?: CodeableConcept|undefined; /** * Care team members related to this service or product. */ - careTeamSequence?: number[]; + careTeamSequence?: number[]|undefined; /** * Examples include Medical Care, Periodontics, Renal Dialysis, Vision Coverage. */ - category?: CodeableConcept; + category?: CodeableConcept|undefined; /** * Second-tier of goods and services. */ - detail?: ExplanationOfBenefitItemDetail[]; + detail?: ExplanationOfBenefitItemDetail[]|undefined; /** * Diagnoses applicable for this service or product. */ - diagnosisSequence?: number[]; + diagnosisSequence?: number[]|undefined; /** * A billed item may include goods or services provided in multiple encounters. */ - encounter?: Reference[]; + encounter?: Reference[]|undefined; /** * To show a 10% senior's discount, the value entered is: 0.90 (1.00 - 0.10). */ - factor?: number; + factor?: number|undefined; /** * Exceptions, special conditions and supporting information applicable for this service or product. */ - informationSequence?: number[]; + informationSequence?: number[]|undefined; /** * Where the product or service was provided. */ - locationCodeableConcept?: CodeableConcept; + locationCodeableConcept?: CodeableConcept|undefined; /** * Where the product or service was provided. */ - locationAddress?: Address; + locationAddress?: Address|undefined; /** * Where the product or service was provided. */ - locationReference?: Reference; + locationReference?: Reference|undefined; /** * For example, in Oral whether the treatment is cosmetic or associated with TMJ, or for Medical whether the treatment was outside the clinic or out of office hours. */ - modifier?: CodeableConcept[]; + modifier?: CodeableConcept[]|undefined; /** * For example, the formula: quantity * unitPrice * factor = net. Quantity and factor are assumed to be 1 if not supplied. */ - net?: Money; + net?: Money|undefined; /** * The numbers associated with notes below which apply to the adjudication of this item. */ - noteNumber?: number[]; + noteNumber?: number[]|undefined; /** * Procedures applicable for this service or product. */ - procedureSequence?: number[]; + procedureSequence?: number[]|undefined; /** * If this is an actual service or product line, i.e. not a Group, then use code to indicate the Professional Service or Product supplied (e.g. CTP, HCPCS, USCLS, ICD10, NCPDP, DIN, RxNorm, ACHI, CCI). If a grouping item then use a group code to indicate the type of thing being grouped e.g. 'glasses' or 'compound'. */ @@ -16009,15 +16009,15 @@ export interface ExplanationOfBenefitItem extends BackboneElement { /** * For example: Neonatal program, child dental program or drug users recovery program. */ - programCode?: CodeableConcept[]; + programCode?: CodeableConcept[]|undefined; /** * The number of repetitions of a service or product. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * The type of revenue or cost center providing the product and/or service. */ - revenue?: CodeableConcept; + revenue?: CodeableConcept|undefined; /** * A number to uniquely identify item entries. */ @@ -16025,24 +16025,24 @@ export interface ExplanationOfBenefitItem extends BackboneElement { /** * The date or dates when the service or product was supplied, performed or completed. */ - servicedDate?: string; - _servicedDate?: Element; + servicedDate?: string|undefined; + _servicedDate?: Element|undefined; /** * The date or dates when the service or product was supplied, performed or completed. */ - servicedPeriod?: Period; + servicedPeriod?: Period|undefined; /** * A region or surface of the bodySite, e.g. limb region or tooth surface(s). */ - subSite?: CodeableConcept[]; + subSite?: CodeableConcept[]|undefined; /** * Unique Device Identifiers associated with this line item. */ - udi?: Reference[]; + udi?: Reference[]|undefined; /** * If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group. */ - unitPrice?: Money; + unitPrice?: Money|undefined; } /** * The third-tier service adjudications for payor added services. @@ -16051,23 +16051,23 @@ export interface ExplanationOfBenefitAddItemDetailSubDetail extends BackboneElem /** * The adjudication results. */ - adjudication?: ExplanationOfBenefitItemAdjudication[]; + adjudication?: ExplanationOfBenefitItemAdjudication[]|undefined; /** * To show a 10% senior's discount, the value entered is: 0.90 (1.00 - 0.10). */ - factor?: number; + factor?: number|undefined; /** * For example, in Oral whether the treatment is cosmetic or associated with TMJ, or for Medical whether the treatment was outside the clinic or out of office hours. */ - modifier?: CodeableConcept[]; + modifier?: CodeableConcept[]|undefined; /** * For example, the formula: quantity * unitPrice * factor = net. Quantity and factor are assumed to be 1 if not supplied. */ - net?: Money; + net?: Money|undefined; /** * The numbers associated with notes below which apply to the adjudication of this item. */ - noteNumber?: number[]; + noteNumber?: number[]|undefined; /** * If this is an actual service or product line, i.e. not a Group, then use code to indicate the Professional Service or Product supplied (e.g. CTP, HCPCS, USCLS, ICD10, NCPDP, DIN, RxNorm, ACHI, CCI). If a grouping item then use a group code to indicate the type of thing being grouped e.g. 'glasses' or 'compound'. */ @@ -16075,11 +16075,11 @@ export interface ExplanationOfBenefitAddItemDetailSubDetail extends BackboneElem /** * The number of repetitions of a service or product. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group. */ - unitPrice?: Money; + unitPrice?: Money|undefined; } /** * The second-tier service adjudications for payor added services. @@ -16088,23 +16088,23 @@ export interface ExplanationOfBenefitAddItemDetail extends BackboneElement { /** * The adjudication results. */ - adjudication?: ExplanationOfBenefitItemAdjudication[]; + adjudication?: ExplanationOfBenefitItemAdjudication[]|undefined; /** * To show a 10% senior's discount, the value entered is: 0.90 (1.00 - 0.10). */ - factor?: number; + factor?: number|undefined; /** * For example, in Oral whether the treatment is cosmetic or associated with TMJ, or for Medical whether the treatment was outside the clinic or out of office hours. */ - modifier?: CodeableConcept[]; + modifier?: CodeableConcept[]|undefined; /** * For example, the formula: quantity * unitPrice * factor = net. Quantity and factor are assumed to be 1 if not supplied. */ - net?: Money; + net?: Money|undefined; /** * The numbers associated with notes below which apply to the adjudication of this item. */ - noteNumber?: number[]; + noteNumber?: number[]|undefined; /** * If this is an actual service or product line, i.e. not a Group, then use code to indicate the Professional Service or Product supplied (e.g. CTP, HCPCS, USCLS, ICD10, NCPDP, DIN, RxNorm, ACHI, CCI). If a grouping item then use a group code to indicate the type of thing being grouped e.g. 'glasses' or 'compound'. */ @@ -16112,15 +16112,15 @@ export interface ExplanationOfBenefitAddItemDetail extends BackboneElement { /** * The number of repetitions of a service or product. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * The third-tier service adjudications for payor added services. */ - subDetail?: ExplanationOfBenefitAddItemDetailSubDetail[]; + subDetail?: ExplanationOfBenefitAddItemDetailSubDetail[]|undefined; /** * If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group. */ - unitPrice?: Money; + unitPrice?: Money|undefined; } /** * The first-tier service adjudications for payor added product or service lines. @@ -16129,51 +16129,51 @@ export interface ExplanationOfBenefitAddItem extends BackboneElement { /** * The adjudication results. */ - adjudication?: ExplanationOfBenefitItemAdjudication[]; + adjudication?: ExplanationOfBenefitItemAdjudication[]|undefined; /** * For example, providing a tooth code allows an insurer to identify a provider performing a filling on a tooth that was previously removed. */ - bodySite?: CodeableConcept; + bodySite?: CodeableConcept|undefined; /** * The second-tier service adjudications for payor added services. */ - detail?: ExplanationOfBenefitAddItemDetail[]; + detail?: ExplanationOfBenefitAddItemDetail[]|undefined; /** * The sequence number of the details within the claim item which this line is intended to replace. */ - detailSequence?: number[]; + detailSequence?: number[]|undefined; /** * To show a 10% senior's discount, the value entered is: 0.90 (1.00 - 0.10). */ - factor?: number; + factor?: number|undefined; /** * Claim items which this service line is intended to replace. */ - itemSequence?: number[]; + itemSequence?: number[]|undefined; /** * Where the product or service was provided. */ - locationCodeableConcept?: CodeableConcept; + locationCodeableConcept?: CodeableConcept|undefined; /** * Where the product or service was provided. */ - locationAddress?: Address; + locationAddress?: Address|undefined; /** * Where the product or service was provided. */ - locationReference?: Reference; + locationReference?: Reference|undefined; /** * For example, in Oral whether the treatment is cosmetic or associated with TMJ, or for Medical whether the treatment was outside the clinic or out of office hours. */ - modifier?: CodeableConcept[]; + modifier?: CodeableConcept[]|undefined; /** * For example, the formula: quantity * unitPrice * factor = net. Quantity and factor are assumed to be 1 if not supplied. */ - net?: Money; + net?: Money|undefined; /** * The numbers associated with notes below which apply to the adjudication of this item. */ - noteNumber?: number[]; + noteNumber?: number[]|undefined; /** * If this is an actual service or product line, i.e. not a Group, then use code to indicate the Professional Service or Product supplied (e.g. CTP, HCPCS, USCLS, ICD10, NCPDP, DIN, RxNorm, ACHI, CCI). If a grouping item then use a group code to indicate the type of thing being grouped e.g. 'glasses' or 'compound'. */ @@ -16181,36 +16181,36 @@ export interface ExplanationOfBenefitAddItem extends BackboneElement { /** * For example: Neonatal program, child dental program or drug users recovery program. */ - programCode?: CodeableConcept[]; + programCode?: CodeableConcept[]|undefined; /** * The providers who are authorized for the services rendered to the patient. */ - provider?: Reference[]; + provider?: Reference[]|undefined; /** * The number of repetitions of a service or product. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * The date or dates when the service or product was supplied, performed or completed. */ - servicedDate?: string; - _servicedDate?: Element; + servicedDate?: string|undefined; + _servicedDate?: Element|undefined; /** * The date or dates when the service or product was supplied, performed or completed. */ - servicedPeriod?: Period; + servicedPeriod?: Period|undefined; /** * The sequence number of the sub-details woithin the details within the claim item which this line is intended to replace. */ - subDetailSequence?: number[]; + subDetailSequence?: number[]|undefined; /** * A region or surface of the bodySite, e.g. limb region or tooth surface(s). */ - subSite?: CodeableConcept[]; + subSite?: CodeableConcept[]|undefined; /** * If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group. */ - unitPrice?: Money; + unitPrice?: Money|undefined; } /** * Totals for amounts submitted, co-pays, benefits payable etc. @@ -16232,28 +16232,28 @@ export interface ExplanationOfBenefitPayment extends BackboneElement { /** * Insurers will deduct amounts owing from the provider (adjustment), such as a prior overpayment, from the amount owing to the provider (benefits payable) when payment is made to the provider. */ - adjustment?: Money; + adjustment?: Money|undefined; /** * Reason for the payment adjustment. */ - adjustmentReason?: CodeableConcept; + adjustmentReason?: CodeableConcept|undefined; /** * Benefits payable less any payment adjustment. */ - amount?: Money; + amount?: Money|undefined; /** * Estimated date the payment will be issued or the actual issue date of payment. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * For example: EFT number or check number. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * Whether this represents partial or complete payment of the benefits payable. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * A note that describes or explains adjudication results in a human readable form. @@ -16262,21 +16262,21 @@ export interface ExplanationOfBenefitProcessNote extends BackboneElement { /** * Only required if the language is different from the resource language. */ - language?: CodeableConcept; + language?: CodeableConcept|undefined; /** * A number to uniquely identify a note entry. */ - number?: number; + number?: number|undefined; /** * The explanation or description associated with the processing. */ - text?: string; - _text?: Element; + text?: string|undefined; + _text?: Element|undefined; /** * The business purpose of the note text. */ - type?: ExplanationOfBenefitProcessNoteTypeCodes; - _type?: Element; + type?: ExplanationOfBenefitProcessNoteTypeCodes|undefined; + _type?: Element|undefined; } /** * Code Values for the ExplanationOfBenefit.processNote.type field @@ -16293,16 +16293,16 @@ export interface ExplanationOfBenefitBenefitBalanceFinancial extends BackboneEle /** * The quantity of the benefit which is permitted under the coverage. */ - allowedUnsignedInt?: number; + allowedUnsignedInt?: number|undefined; /** * The quantity of the benefit which is permitted under the coverage. */ - allowedString?: string; - _allowedString?: Element; + allowedString?: string|undefined; + _allowedString?: Element|undefined; /** * The quantity of the benefit which is permitted under the coverage. */ - allowedMoney?: Money; + allowedMoney?: Money|undefined; /** * For example: deductible, visits, benefit amount. */ @@ -16310,11 +16310,11 @@ export interface ExplanationOfBenefitBenefitBalanceFinancial extends BackboneEle /** * The quantity of the benefit which have been consumed to date. */ - usedUnsignedInt?: number; + usedUnsignedInt?: number|undefined; /** * The quantity of the benefit which have been consumed to date. */ - usedMoney?: Money; + usedMoney?: Money|undefined; } /** * Balance by Benefit Category. @@ -16327,34 +16327,34 @@ export interface ExplanationOfBenefitBenefitBalance extends BackboneElement { /** * For example, 'DENT2 covers 100% of basic, 50% of major but excludes Ortho, Implants and Cosmetic services'. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * True if the indicated class of service is excluded from the plan, missing or False indicates the product or service is included in the coverage. */ - excluded?: boolean; - _excluded?: Element; + excluded?: boolean|undefined; + _excluded?: Element|undefined; /** * Benefits Used to date. */ - financial?: ExplanationOfBenefitBenefitBalanceFinancial[]; + financial?: ExplanationOfBenefitBenefitBalanceFinancial[]|undefined; /** * For example: MED01, or DENT2. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Is a flag to indicate whether the benefits refer to in-network providers or out-of-network providers. */ - network?: CodeableConcept; + network?: CodeableConcept|undefined; /** * The term or period of the values such as 'maximum lifetime benefit' or 'maximum annual visits'. */ - term?: CodeableConcept; + term?: CodeableConcept|undefined; /** * Indicates if the benefits apply to an individual or to the family. */ - unit?: CodeableConcept; + unit?: CodeableConcept|undefined; } /** * This resource provides: the claim details; adjudication details from the processing of a Claim; and optionally account balance information, for informing the subscriber of the benefits provided. @@ -16365,81 +16365,81 @@ export interface ExplanationOfBenefit extends DomainResource { /** * Details of a accident which resulted in injuries which required the products and services listed in the claim. */ - accident?: ExplanationOfBenefitAccident; + accident?: ExplanationOfBenefitAccident|undefined; /** * The first-tier service adjudications for payor added product or service lines. */ - addItem?: ExplanationOfBenefitAddItem[]; + addItem?: ExplanationOfBenefitAddItem[]|undefined; /** * The adjudication results which are presented at the header level rather than at the line-item or add-item levels. */ - adjudication?: ExplanationOfBenefitItemAdjudication[]; + adjudication?: ExplanationOfBenefitItemAdjudication[]|undefined; /** * Balance by Benefit Category. */ - benefitBalance?: ExplanationOfBenefitBenefitBalance[]; + benefitBalance?: ExplanationOfBenefitBenefitBalance[]|undefined; /** * Not applicable when use=claim. */ - benefitPeriod?: Period; + benefitPeriod?: Period|undefined; /** * Typically this would be today or in the past for a claim, and today or in the future for preauthorizations and prodeterminations. Typically line item dates of service should fall within the billing period if one is specified. */ - billablePeriod?: Period; + billablePeriod?: Period|undefined; /** * The members of the team who provided the products and services. */ - careTeam?: ExplanationOfBenefitCareTeam[]; + careTeam?: ExplanationOfBenefitCareTeam[]|undefined; /** * The business identifier for the instance of the adjudication request: claim predetermination or preauthorization. */ - claim?: Reference; + claim?: Reference|undefined; /** * The business identifier for the instance of the adjudication response: claim, predetermination or preauthorization response. */ - claimResponse?: Reference; + claimResponse?: Reference|undefined; /** * This field is independent of the date of creation of the resource as it may reflect the creation date of a source document prior to digitization. Typically for claims all services must be completed as of this date. */ created: string; - _created?: Element; + _created?: Element|undefined; /** * Information about diagnoses relevant to the claim items. */ - diagnosis?: ExplanationOfBenefitDiagnosis[]; + diagnosis?: ExplanationOfBenefitDiagnosis[]|undefined; /** * A human readable description of the status of the adjudication. */ - disposition?: string; - _disposition?: Element; + disposition?: string|undefined; + _disposition?: Element|undefined; /** * Individual who created the claim, predetermination or preauthorization. */ - enterer?: Reference; + enterer?: Reference|undefined; /** * Facility where the services were provided. */ - facility?: Reference; + facility?: Reference|undefined; /** * Needed to permit insurers to include the actual form. */ - form?: Attachment; + form?: Attachment|undefined; /** * May be needed to identify specific jurisdictional forms. */ - formCode?: CodeableConcept; + formCode?: CodeableConcept|undefined; /** * Fund would be release by a future claim quoting the preAuthRef of this response. Examples of values include: provider, patient, none. */ - fundsReserve?: CodeableConcept; + fundsReserve?: CodeableConcept|undefined; /** * This field is only used for preauthorizations. */ - fundsReserveRequested?: CodeableConcept; + fundsReserveRequested?: CodeableConcept|undefined; /** * A unique identifier assigned to this explanation of benefit. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * All insurance coverages for the patient which may be applicable for reimbursement, of the products and services listed in the claim, are typically provided in the claim to allow insurers to confirm the ordering of the insurance coverages relative to local 'coordination of benefit' rules. One coverage (and only one) with 'focal=true' is to be used in the adjudication of this claim. Coverages appearing before the focal Coverage in the list, and where 'Coverage.subrogation=false', should provide a reference to the ClaimResponse containing the adjudication results of the prior claim. */ @@ -16451,16 +16451,16 @@ export interface ExplanationOfBenefit extends DomainResource { /** * A claim line. Either a simple (a product or service) or a 'group' of details which can also be a simple items or groups of sub-details. */ - item?: ExplanationOfBenefitItem[]; + item?: ExplanationOfBenefitItem[]|undefined; /** * For example, a physician may prescribe a medication which the pharmacy determines is contraindicated, or for which the patient has an intolerance, and therefor issues a new prescription for an alternate medication which has the same therapeutic intent. The prescription from the pharmacy becomes the 'prescription' and that from the physician becomes the 'original prescription'. */ - originalPrescription?: Reference; + originalPrescription?: Reference|undefined; /** * The resource may be used to indicate that: the request has been held (queued) for processing; that it has been processed and errors found (error); that no errors were found and that some of the adjudication has been undertaken (partial) or that all of the adjudication has been undertaken (complete). */ outcome: ExplanationOfBenefitOutcomeCodes; - _outcome?: Element; + _outcome?: Element|undefined; /** * The party to whom the professional services and/or products have been supplied or are being considered and for whom actual for forecast reimbursement is sought. */ @@ -16468,40 +16468,40 @@ export interface ExplanationOfBenefit extends DomainResource { /** * Often providers agree to receive the benefits payable to reduce the near-term costs to the patient. The insurer may decline to pay the provider and may choose to pay the subscriber instead. */ - payee?: ExplanationOfBenefitPayee; + payee?: ExplanationOfBenefitPayee|undefined; /** * Payment details for the adjudication of the claim. */ - payment?: ExplanationOfBenefitPayment; + payment?: ExplanationOfBenefitPayment|undefined; /** * This value is only present on preauthorization adjudications. */ - preAuthRef?: string[]; - _preAuthRef?: Element[]; + preAuthRef?: string[]|undefined; + _preAuthRef?: Element[]|undefined; /** * This value is only present on preauthorization adjudications. */ - preAuthRefPeriod?: Period[]; + preAuthRefPeriod?: Period[]|undefined; /** * This indicates the relative order of a series of EOBs related to different coverages for the same suite of services. */ - precedence?: number; + precedence?: number|undefined; /** * Prescription to support the dispensing of pharmacy, device or vision products. */ - prescription?: Reference; + prescription?: Reference|undefined; /** * If a claim processor is unable to complete the processing as per the priority then they should generate and error and not process the request. */ - priority?: CodeableConcept; + priority?: CodeableConcept|undefined; /** * Procedures performed on the patient relevant to the billing items with the claim. */ - procedure?: ExplanationOfBenefitProcedure[]; + procedure?: ExplanationOfBenefitProcedure[]|undefined; /** * A note that describes or explains adjudication results in a human readable form. */ - processNote?: ExplanationOfBenefitProcessNote[]; + processNote?: ExplanationOfBenefitProcessNote[]|undefined; /** * Typically this field would be 1..1 where this party is responsible for the claim but not necessarily professionally responsible for the provision of the individual products and services listed below. */ @@ -16509,28 +16509,28 @@ export interface ExplanationOfBenefit extends DomainResource { /** * The referral resource which lists the date, practitioner, reason and other supporting information. */ - referral?: Reference; + referral?: Reference|undefined; /** * For example, for the original treatment and follow-up exams. */ - related?: ExplanationOfBenefitRelated[]; + related?: ExplanationOfBenefitRelated[]|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: ExplanationOfBenefitStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * This may contain the local bill type codes such as the US UB-04 bill type code. */ - subType?: CodeableConcept; + subType?: CodeableConcept|undefined; /** * Often there are multiple jurisdiction specific valuesets which are required. */ - supportingInfo?: ExplanationOfBenefitSupportingInfo[]; + supportingInfo?: ExplanationOfBenefitSupportingInfo[]|undefined; /** * Totals for amounts submitted, co-pays, benefits payable etc. */ - total?: ExplanationOfBenefitTotal[]; + total?: ExplanationOfBenefitTotal[]|undefined; /** * The majority of jurisdictions use: oral, pharmacy, vision, professional and institutional, or variants on those terms, as the general styles of claims. The valueset is extensible to accommodate other jurisdictional requirements. */ @@ -16539,7 +16539,7 @@ export interface ExplanationOfBenefit extends DomainResource { * A code to indicate whether the nature of the request is: to request adjudication of products and services previously rendered; or requesting authorization and adjudication for provision in the future; or requesting the non-binding adjudication of the listed products and services which could be provided in the future. */ use: ExplanationOfBenefitUseCodes; - _use?: Element; + _use?: Element|undefined; } /** * Code Values for the ExplanationOfBenefit.outcome field @@ -16578,33 +16578,33 @@ export interface FamilyMemberHistoryCondition extends BackboneElement { /** * This condition contributed to the cause of death of the related person. If contributedToDeath is not populated, then it is unknown. */ - contributedToDeath?: boolean; - _contributedToDeath?: Element; + contributedToDeath?: boolean|undefined; + _contributedToDeath?: Element|undefined; /** * An area where general notes can be placed about this specific condition. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * Either the age of onset, range of approximate age or descriptive string can be recorded. For conditions with multiple occurrences, this describes the first known occurrence. */ - onsetAge?: Age; + onsetAge?: Age|undefined; /** * Either the age of onset, range of approximate age or descriptive string can be recorded. For conditions with multiple occurrences, this describes the first known occurrence. */ - onsetRange?: Range; + onsetRange?: Range|undefined; /** * Either the age of onset, range of approximate age or descriptive string can be recorded. For conditions with multiple occurrences, this describes the first known occurrence. */ - onsetPeriod?: Period; + onsetPeriod?: Period|undefined; /** * Either the age of onset, range of approximate age or descriptive string can be recorded. For conditions with multiple occurrences, this describes the first known occurrence. */ - onsetString?: string; - _onsetString?: Element; + onsetString?: string|undefined; + _onsetString?: Element|undefined; /** * Indicates what happened following the condition. If the condition resulted in death, deceased date is captured on the relation. */ - outcome?: CodeableConcept; + outcome?: CodeableConcept|undefined; } /** * The significant Procedures (or procedure) that the family member had. This is a repeating section to allow a system to represent more than one procedure per resource, though there is nothing stopping multiple resources - one per procedure. @@ -16617,38 +16617,38 @@ export interface FamilyMemberHistoryProcedure extends BackboneElement { /** * This procedure contributed to the cause of death of the related person. If contributedToDeath is not populated, then it is unknown. */ - contributedToDeath?: boolean; - _contributedToDeath?: Element; + contributedToDeath?: boolean|undefined; + _contributedToDeath?: Element|undefined; /** * An area where general notes can be placed about this specific procedure. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * Indicates what happened following the procedure. If the procedure resulted in death, deceased date is captured on the relation. */ - outcome?: CodeableConcept; + outcome?: CodeableConcept|undefined; /** * Estimated or actual date, date-time, period, or age when the procedure was performed. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured. */ - performedAge?: Age; + performedAge?: Age|undefined; /** * Estimated or actual date, date-time, period, or age when the procedure was performed. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured. */ - performedRange?: Range; + performedRange?: Range|undefined; /** * Estimated or actual date, date-time, period, or age when the procedure was performed. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured. */ - performedPeriod?: Period; + performedPeriod?: Period|undefined; /** * Estimated or actual date, date-time, period, or age when the procedure was performed. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured. */ - performedString?: string; - _performedString?: Element; + performedString?: string|undefined; + _performedString?: Element|undefined; /** * Estimated or actual date, date-time, period, or age when the procedure was performed. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured. */ - performedDateTime?: string; - _performedDateTime?: Element; + performedDateTime?: string|undefined; + _performedDateTime?: Element|undefined; } /** * Significant health conditions for a person related to the patient relevant in the context of care for the patient. @@ -16659,94 +16659,94 @@ export interface FamilyMemberHistory extends DomainResource { /** * use estimatedAge to indicate whether the age is actual or not. */ - ageAge?: Age; + ageAge?: Age|undefined; /** * use estimatedAge to indicate whether the age is actual or not. */ - ageRange?: Range; + ageRange?: Range|undefined; /** * use estimatedAge to indicate whether the age is actual or not. */ - ageString?: string; - _ageString?: Element; + ageString?: string|undefined; + _ageString?: Element|undefined; /** * The actual or approximate date of birth of the relative. */ - bornPeriod?: Period; + bornPeriod?: Period|undefined; /** * The actual or approximate date of birth of the relative. */ - bornDate?: string; - _bornDate?: Element; + bornDate?: string|undefined; + _bornDate?: Element|undefined; /** * The actual or approximate date of birth of the relative. */ - bornString?: string; - _bornString?: Element; + bornString?: string|undefined; + _bornString?: Element|undefined; /** * The significant Conditions (or condition) that the family member had. This is a repeating section to allow a system to represent more than one condition per resource, though there is nothing stopping multiple resources - one per condition. */ - condition?: FamilyMemberHistoryCondition[]; + condition?: FamilyMemberHistoryCondition[]|undefined; /** * Describes why the family member's history is not available. */ - dataAbsentReason?: CodeableConcept; + dataAbsentReason?: CodeableConcept|undefined; /** * This should be captured even if the same as the date on the List aggregating the full family history. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * Deceased flag or the actual or approximate age of the relative at the time of death for the family member history record. */ - deceasedBoolean?: boolean; - _deceasedBoolean?: Element; + deceasedBoolean?: boolean|undefined; + _deceasedBoolean?: Element|undefined; /** * Deceased flag or the actual or approximate age of the relative at the time of death for the family member history record. */ - deceasedAge?: Age; + deceasedAge?: Age|undefined; /** * Deceased flag or the actual or approximate age of the relative at the time of death for the family member history record. */ - deceasedRange?: Range; + deceasedRange?: Range|undefined; /** * Deceased flag or the actual or approximate age of the relative at the time of death for the family member history record. */ - deceasedDate?: string; - _deceasedDate?: Element; + deceasedDate?: string|undefined; + _deceasedDate?: Element|undefined; /** * Deceased flag or the actual or approximate age of the relative at the time of death for the family member history record. */ - deceasedString?: string; - _deceasedString?: Element; + deceasedString?: string|undefined; + _deceasedString?: Element|undefined; /** * This element is labeled as a modifier because the fact that age is estimated can/should change the results of any algorithm that calculates based on the specified age. */ - estimatedAge?: boolean; - _estimatedAge?: Element; + estimatedAge?: boolean|undefined; + _estimatedAge?: Element|undefined; /** * This is a business identifier, not a resource identifier (see [discussion](resource.html#identifiers)). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and a Person resource instance might share the same social insurance number. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The URL pointing to a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this FamilyMemberHistory. */ - instantiatesCanonical?: string[]; - _instantiatesCanonical?: Element[]; + instantiatesCanonical?: string[]|undefined; + _instantiatesCanonical?: Element[]|undefined; /** * This might be an HTML page, PDF, etc. or could just be a non-resolvable URI identifier. */ - instantiatesUri?: string[]; - _instantiatesUri?: Element[]; + instantiatesUri?: string[]|undefined; + _instantiatesUri?: Element[]|undefined; /** * This will either be a name or a description; e.g. "Aunt Susan", "my cousin with the red hair". */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * This property allows a non condition-specific note to the made about the related person. Ideally, the note would be in the condition property, but this is not always possible. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * This is not the family member. */ @@ -16754,11 +16754,11 @@ export interface FamilyMemberHistory extends DomainResource { /** * The significant Procedures (or procedure) that the family member had. This is a repeating section to allow a system to represent more than one procedure per resource, though there is nothing stopping multiple resources - one per procedure. */ - procedure?: FamilyMemberHistoryProcedure[]; + procedure?: FamilyMemberHistoryProcedure[]|undefined; /** * Textual reasons can be captured using reasonCode.text. */ - reason?: CodeableReference[]; + reason?: CodeableReference[]|undefined; /** * The type of relationship this person has to the patient (father, mother, brother etc.). */ @@ -16766,12 +16766,12 @@ export interface FamilyMemberHistory extends DomainResource { /** * This element should ideally reflect whether the individual is genetically male or female. However, as reported information based on the knowledge of the patient or reporting friend/relative, there may be situations where the reported sex might not be totally accurate. E.g. 'Aunt Sue' might be XY rather than XX. Questions soliciting this information should be phrased to encourage capture of genetic sex where known. However, systems performing analysis should also allow for the possibility of imprecision with this element. */ - sex?: CodeableConcept; + sex?: CodeableConcept|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: FamilyMemberHistoryStatusCodes; - _status?: Element; + _status?: Element|undefined; } /** * Code Values for the FamilyMemberHistory.status field @@ -16791,11 +16791,11 @@ export interface Flag extends DomainResource { /** * The person, organization or device that created the flag. */ - author?: Reference; + author?: Reference|undefined; /** * The value set will often need to be adjusted based on local business rules and usage context. */ - category?: CodeableConcept[]; + category?: CodeableConcept[]|undefined; /** * If non-coded, use CodeableConcept.text. This element should always be included in the narrative. */ @@ -16803,20 +16803,20 @@ export interface Flag extends DomainResource { /** * If both Flag.encounter and Flag.period are valued, then Flag.period.start shall not be before Encounter.period.start and Flag.period.end shall not be after Encounter.period.end. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * This is a business identifier, not a resource identifier (see [discussion](resource.html#identifiers)). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and a Person resource instance might share the same social insurance number. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The period of time from the activation of the flag to inactivation of the flag. If the flag is active, the end of the period should be unspecified. */ - period?: Period; + period?: Period|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: FlagStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * The patient, location, group, organization, or practitioner etc. this is about record this flag is associated with. */ @@ -16837,46 +16837,46 @@ export interface GoalTarget extends BackboneElement { /** * A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Goal.target.measure defines a coded value. */ - detailQuantity?: Quantity; + detailQuantity?: Quantity|undefined; /** * A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Goal.target.measure defines a coded value. */ - detailRange?: Range; + detailRange?: Range|undefined; /** * A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Goal.target.measure defines a coded value. */ - detailCodeableConcept?: CodeableConcept; + detailCodeableConcept?: CodeableConcept|undefined; /** * A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Goal.target.measure defines a coded value. */ - detailString?: string; - _detailString?: Element; + detailString?: string|undefined; + _detailString?: Element|undefined; /** * A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Goal.target.measure defines a coded value. */ - detailBoolean?: boolean; - _detailBoolean?: Element; + detailBoolean?: boolean|undefined; + _detailBoolean?: Element|undefined; /** * A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Goal.target.measure defines a coded value. */ - detailInteger?: number; + detailInteger?: number|undefined; /** * A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Goal.target.measure defines a coded value. */ - detailRatio?: Ratio; + detailRatio?: Ratio|undefined; /** * Indicates either the date or the duration after start by which the goal should be met. */ - dueDate?: string; - _dueDate?: Element; + dueDate?: string|undefined; + _dueDate?: Element|undefined; /** * Indicates either the date or the duration after start by which the goal should be met. */ - dueDuration?: Duration; + dueDuration?: Duration|undefined; /** * The parameter whose value is being tracked, e.g. body weight, blood pressure, or hemoglobin A1c level. */ - measure?: CodeableConcept; + measure?: CodeableConcept|undefined; } /** * Describes the intended objective(s) for a patient, group or organization care, for example, weight loss, restoring an activity of daily living, obtaining herd immunity via immunization, meeting a process improvement objective, etc. @@ -16887,20 +16887,20 @@ export interface Goal extends DomainResource { /** * Describes the progression, or lack thereof, towards the goal against the target. */ - achievementStatus?: CodeableConcept; + achievementStatus?: CodeableConcept|undefined; /** * The identified conditions and other health record elements that are intended to be addressed by the goal. */ - addresses?: Reference[]; + addresses?: Reference[]|undefined; /** * Indicates a category the goal falls within. */ - category?: CodeableConcept[]; + category?: CodeableConcept[]|undefined; /** * For example, getting a yellow fever vaccination for a planned trip is a goal that is designed to be completed (continuous = false). A goal to sustain HbA1c levels would not be a one-time goal (continuous = true). */ - continuous?: boolean; - _continuous?: Element; + continuous?: boolean|undefined; + _continuous?: Element|undefined; /** * If no code is available, use CodeableConcept.text. */ @@ -16908,48 +16908,48 @@ export interface Goal extends DomainResource { /** * This is a business identifier, not a resource identifier (see [discussion](resource.html#identifiers)). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and a Person resource instance might share the same social insurance number. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * This element is labeled as a modifier because the lifecycleStatus contains codes that mark the resource as not currently valid. */ lifecycleStatus: GoalLifecycleStatusCodes; - _lifecycleStatus?: Element; + _lifecycleStatus?: Element|undefined; /** * May be used for progress notes, concerns or other related information that doesn't actually describe the goal itself. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * Note that this should not duplicate the goal status; The goal outcome is independent of the outcome of the related activities. For example, if the Goal is to achieve a target body weight of 150 lb and a care plan activity is defined to diet, then the care plan’s activity outcome could be calories consumed whereas goal outcome is an observation for the actual body weight measured. */ - outcome?: CodeableReference[]; + outcome?: CodeableReference[]|undefined; /** * Extensions are available to track priorities as established by each participant (i.e. Priority from the patient's perspective, different practitioners' perspectives, family member's perspectives) * The ordinal extension on Coding can be used to convey a numerically comparable ranking to priority. (Keep in mind that different coding systems may use a "low value=important". */ - priority?: CodeableConcept; + priority?: CodeableConcept|undefined; /** * This is the individual or team responsible for establishing the goal, not necessarily who recorded it. (For that, use the Provenance resource.). */ - source?: Reference; + source?: Reference|undefined; /** * The date or event after which the goal should begin being pursued. */ - startDate?: string; - _startDate?: Element; + startDate?: string|undefined; + _startDate?: Element|undefined; /** * The date or event after which the goal should begin being pursued. */ - startCodeableConcept?: CodeableConcept; + startCodeableConcept?: CodeableConcept|undefined; /** * To see the date for past statuses, query history. */ - statusDate?: string; - _statusDate?: Element; + statusDate?: string|undefined; + _statusDate?: Element|undefined; /** * This will typically be captured for statuses such as rejected, on-hold or cancelled, but could be present for others. */ - statusReason?: string; - _statusReason?: Element; + statusReason?: string|undefined; + _statusReason?: Element|undefined; /** * Identifies the patient, group or organization for whom the goal is being established. */ @@ -16957,7 +16957,7 @@ export interface Goal extends DomainResource { /** * When multiple targets are present for a single goal instance, all targets must be met for the overall goal to be met. */ - target?: GoalTarget[]; + target?: GoalTarget[]|undefined; } /** * Code Values for the Goal.lifecycleStatus field @@ -16981,27 +16981,27 @@ export interface GraphDefinitionLinkTargetCompartment extends BackboneElement { * Identifies the compartment. */ code: GraphDefinitionLinkTargetCompartmentCodeCodes; - _code?: Element; + _code?: Element|undefined; /** * Documentation for FHIRPath expression. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Custom rule, as a FHIRPath expression. */ - expression?: string; - _expression?: Element; + expression?: string|undefined; + _expression?: Element|undefined; /** * identical | matching | different | no-rule | custom. */ rule: GraphDefinitionLinkTargetCompartmentRuleCodes; - _rule?: Element; + _rule?: Element|undefined; /** * All conditional rules are evaluated; if they are true, then the rules are evaluated. */ use: GraphDefinitionLinkTargetCompartmentUseCodes; - _use?: Element; + _use?: Element|undefined; } /** * Code Values for the GraphDefinition.link.target.compartment.code field @@ -17036,26 +17036,26 @@ export interface GraphDefinitionLinkTarget extends BackboneElement { /** * Compartment Consistency Rules. */ - compartment?: GraphDefinitionLinkTargetCompartment[]; + compartment?: GraphDefinitionLinkTargetCompartment[]|undefined; /** * Additional links from target resource. */ - link?: GraphDefinitionLink[]; + link?: GraphDefinitionLink[]|undefined; /** * At least one of the parameters must have the value {ref} which identifies the focus resource. */ - params?: string; - _params?: Element; + params?: string|undefined; + _params?: Element|undefined; /** * Profile for the target resource. */ - profile?: string; - _profile?: Element; + profile?: string|undefined; + _profile?: Element|undefined; /** * Type of resource this link refers to. */ type: string; - _type?: Element; + _type?: Element|undefined; } /** * Links this graph makes rules about. @@ -17064,31 +17064,31 @@ export interface GraphDefinitionLink extends BackboneElement { /** * Information about why this link is of interest in this graph definition. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Maximum occurrences for this link. */ - max?: string; - _max?: Element; + max?: string|undefined; + _max?: Element|undefined; /** * Minimum occurrences for this link. */ - min?: number; + min?: number|undefined; /** * The path expression cannot contain a resolve() function. If there is no path, the link is a reverse lookup, using target.params. If the path is "*" then this means all references in the resource. */ - path?: string; - _path?: Element; + path?: string|undefined; + _path?: Element|undefined; /** * Which slice (if profiled). */ - sliceName?: string; - _sliceName?: Element; + sliceName?: string|undefined; + _sliceName?: Element|undefined; /** * Potential target for the link. */ - target?: GraphDefinitionLinkTarget[]; + target?: GraphDefinitionLinkTarget[]|undefined; } /** * A formal computable definition of a graph of resources - that is, a coherent set of resources that form a graph by following references. The Graph Definition resource defines a set and makes rules about the set. @@ -17099,76 +17099,76 @@ export interface GraphDefinition extends DomainResource { /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the graph definition. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * This description can be used to capture details such as why the graph definition was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the graph definition as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the graph definition is presumed to be the predominant language in the place the graph definition was created). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Allows filtering of graph definitions that are appropriate for use versus not. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * It may be possible for the graph definition to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * Links this graph makes rules about. */ - link?: GraphDefinitionLink[]; + link?: GraphDefinitionLink[]|undefined; /** * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * The code does not include the '$' prefix that is always included in the URL when the operation is invoked. */ - profile?: string; - _profile?: Element; + profile?: string|undefined; + _profile?: Element|undefined; /** * Usually an organization but may be an individual. The publisher (or steward) of the graph definition is the organization or individual primarily responsible for the maintenance and upkeep of the graph definition. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the graph definition. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * This element does not describe the usage of the graph definition. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this graph definition. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * The type of FHIR resource at which instances of this graph start. */ start: string; - _start?: Element; + _start?: Element|undefined; /** * Allows filtering of graph definitions that are appropriate for use versus not. */ status: GraphDefinitionStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different graph definition instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the graph definition with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the GraphDefinition.status field @@ -17191,32 +17191,32 @@ export interface GroupCharacteristic extends BackboneElement { * This is labeled as "Is Modifier" because applications cannot wrongly include excluded members as included or vice versa. */ exclude: boolean; - _exclude?: Element; + _exclude?: Element|undefined; /** * The period over which the characteristic is tested; e.g. the patient had an operation during the month of June. */ - period?: Period; + period?: Period|undefined; /** * For Range, it means members of the group have a value that falls somewhere within the specified range. */ - valueCodeableConcept?: CodeableConcept; + valueCodeableConcept?: CodeableConcept|undefined; /** * For Range, it means members of the group have a value that falls somewhere within the specified range. */ - valueBoolean?: boolean; - _valueBoolean?: Element; + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; /** * For Range, it means members of the group have a value that falls somewhere within the specified range. */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; /** * For Range, it means members of the group have a value that falls somewhere within the specified range. */ - valueRange?: Range; + valueRange?: Range|undefined; /** * For Range, it means members of the group have a value that falls somewhere within the specified range. */ - valueReference?: Reference; + valueReference?: Reference|undefined; } /** * Identifies the resource instances that are members of the group. @@ -17229,12 +17229,12 @@ export interface GroupMember extends BackboneElement { /** * A flag to indicate that the member is no longer in the group, but previously may have been a member. */ - inactive?: boolean; - _inactive?: Element; + inactive?: boolean|undefined; + _inactive?: Element|undefined; /** * The period that the member was in the group, if known. */ - period?: Period; + period?: Period|undefined; } /** * Represents a defined collection of entities that may be discussed or acted upon collectively but which are not expected to act collectively, and are not formally or legally recognized; i.e. a collection of entities that isn't an Organization. @@ -17245,47 +17245,47 @@ export interface Group extends DomainResource { /** * Indicates whether the record for the group is available for use or is merely being retained for historical purposes. */ - active?: boolean; - _active?: Element; + active?: boolean|undefined; + _active?: Element|undefined; /** * If true, indicates that the resource refers to a specific group of real individuals. If false, the group defines a set of intended individuals. */ actual: boolean; - _actual?: Element; + _actual?: Element|undefined; /** * All the identified characteristics must be true for an entity to a member of the group. */ - characteristic?: GroupCharacteristic[]; + characteristic?: GroupCharacteristic[]|undefined; /** * This would generally be omitted for Person resources. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * A unique business identifier for this group. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * This does not strictly align with ownership of a herd or flock, but may suffice to represent that relationship in simple cases. More complex cases will require an extension. */ - managingEntity?: Reference; + managingEntity?: Reference|undefined; /** * Identifies the resource instances that are members of the group. */ - member?: GroupMember[]; + member?: GroupMember[]|undefined; /** * A label assigned to the group for human identification and communication. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Note that the quantity may be less than the number of members if some of the members are not active. */ - quantity?: number; + quantity?: number|undefined; /** * Group members SHALL be of the appropriate resource type (Patient for person or animal; or Practitioner, Device, Medication or Substance for the other types.). */ type: GroupTypeCodes; - _type?: Element; + _type?: Element|undefined; } /** * Code Values for the Group.type field @@ -17307,71 +17307,71 @@ export interface GuidanceResponse extends DomainResource { /** * If the evaluation could not be completed due to lack of information, or additional information would potentially result in a more accurate response, this element will a description of the data required in order to proceed with the evaluation. A subsequent request to the service should include this data. */ - dataRequirement?: DataRequirement[]; + dataRequirement?: DataRequirement[]|undefined; /** * This will typically be the encounter the event occurred within, but some activities may be initiated prior to or after the official copmletion of an encounter but still be tied to the context of the encounter. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * Messages resulting from the evaluation of the artifact or artifacts. As part of evaluating the request, the engine may produce informational or warning messages. These messages will be provided by this element. */ - evaluationMessage?: Reference[]; + evaluationMessage?: Reference[]|undefined; /** * Allows a service to provide unique, business identifiers for the response. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * An identifier, CodeableConcept or canonical reference to the guidance that was requested. */ - moduleUri?: string; - _moduleUri?: Element; + moduleUri?: string|undefined; + _moduleUri?: Element|undefined; /** * An identifier, CodeableConcept or canonical reference to the guidance that was requested. */ - moduleCanonical?: string; - _moduleCanonical?: Element; + moduleCanonical?: string|undefined; + _moduleCanonical?: Element|undefined; /** * An identifier, CodeableConcept or canonical reference to the guidance that was requested. */ - moduleCodeableConcept?: CodeableConcept; + moduleCodeableConcept?: CodeableConcept|undefined; /** * Provides a mechanism to communicate additional information about the response. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * Indicates when the guidance response was processed. */ - occurrenceDateTime?: string; - _occurrenceDateTime?: Element; + occurrenceDateTime?: string|undefined; + _occurrenceDateTime?: Element|undefined; /** * The output parameters of the evaluation, if any. Many modules will result in the return of specific resources such as procedure or communication requests that are returned as part of the operation result. However, modules may define specific outputs that would be returned as the result of the evaluation, and these would be returned in this element. */ - outputParameters?: Reference; + outputParameters?: Reference|undefined; /** * Provides a reference to the device that performed the guidance. */ - performer?: Reference; + performer?: Reference|undefined; /** * Describes the reason for the guidance response in coded or textual form, or Indicates the reason the request was initiated. This is typically provided as a parameter to the evaluation and echoed by the service, although for some use cases, such as subscription- or event-based scenarios, it may provide an indication of the cause for the response. */ - reason?: CodeableReference[]; + reason?: CodeableReference[]|undefined; /** * The identifier of the request associated with this response. If an identifier was given as part of the request, it will be reproduced here to enable the requester to more easily identify the response in a multi-request scenario. */ - requestIdentifier?: Identifier; + requestIdentifier?: Identifier|undefined; /** * The actions, if any, produced by the evaluation of the artifact. */ - result?: Reference; + result?: Reference|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: GuidanceResponseStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * The patient for which the request was processed. */ - subject?: Reference; + subject?: Reference|undefined; } /** * Code Values for the GuidanceResponse.status field @@ -17391,12 +17391,12 @@ export interface HealthcareServiceEligibility extends BackboneElement { /** * Coded value for the eligibility. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * The description of service eligibility should, in general, not exceed one or two paragraphs. It should be sufficient for a prospective consumer to determine if they are likely to be eligible or not. Where eligibility requirements and conditions are complex, it may simply be noted that an eligibility assessment is required. Where eligibility is determined by an outside source, such as an Act of Parliament, this should be noted, preferably with a reference to a commonly available copy of the source document such as a web page. */ - comment?: string; - _comment?: Element; + comment?: string|undefined; + _comment?: Element|undefined; } /** * More detailed availability information may be provided in associated Schedule/Slot resources. @@ -17405,23 +17405,23 @@ export interface HealthcareServiceAvailableTime extends BackboneElement { /** * Is this always available? (hence times are irrelevant) e.g. 24 hour service. */ - allDay?: boolean; - _allDay?: Element; + allDay?: boolean|undefined; + _allDay?: Element|undefined; /** * The time zone is expected to be for where this HealthcareService is provided at. */ - availableEndTime?: string; - _availableEndTime?: Element; + availableEndTime?: string|undefined; + _availableEndTime?: Element|undefined; /** * The time zone is expected to be for where this HealthcareService is provided at. */ - availableStartTime?: string; - _availableStartTime?: Element; + availableStartTime?: string|undefined; + _availableStartTime?: Element|undefined; /** * Indicates which days of the week are available between the start and end Times. */ - daysOfWeek?: HealthcareServiceAvailableTimeDaysOfWeekCodes[]; - _daysOfWeek?: Element[]; + daysOfWeek?: HealthcareServiceAvailableTimeDaysOfWeekCodes[]|undefined; + _daysOfWeek?: Element[]|undefined; } /** * Code Values for the HealthcareService.availableTime.daysOfWeek field @@ -17443,11 +17443,11 @@ export interface HealthcareServiceNotAvailable extends BackboneElement { * The reason that can be presented to the user as to why this time is not available. */ description: string; - _description?: Element; + _description?: Element|undefined; /** * Service is not available (seasonally or for a public holiday) from this date. */ - during?: Period; + during?: Period|undefined; } /** * The details of a healthcare service available at a location. @@ -17458,105 +17458,105 @@ export interface HealthcareService extends DomainResource { /** * This element is labeled as a modifier because it may be used to mark that the resource was created in error. */ - active?: boolean; - _active?: Element; + active?: boolean|undefined; + _active?: Element|undefined; /** * Indicates whether or not a prospective consumer will require an appointment for a particular service at a site to be provided by the Organization. Indicates if an appointment is required for access to this service. */ - appointmentRequired?: boolean; - _appointmentRequired?: Element; + appointmentRequired?: boolean|undefined; + _appointmentRequired?: Element|undefined; /** * A description of site availability exceptions, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as details in the available Times and not available Times. */ - availabilityExceptions?: string; - _availabilityExceptions?: Element; + availabilityExceptions?: string|undefined; + _availabilityExceptions?: Element|undefined; /** * More detailed availability information may be provided in associated Schedule/Slot resources. */ - availableTime?: HealthcareServiceAvailableTime[]; + availableTime?: HealthcareServiceAvailableTime[]|undefined; /** * Selecting a Service Category then determines the list of relevant service types that can be selected in the primary service type. */ - category?: CodeableConcept[]; + category?: CodeableConcept[]|undefined; /** * These could be such things as is wheelchair accessible. */ - characteristic?: CodeableConcept[]; + characteristic?: CodeableConcept[]|undefined; /** * Would expect that a user would not see this information on a search results, and it would only be available when viewing the complete details of the service. */ - comment?: string; - _comment?: Element; + comment?: string|undefined; + _comment?: Element|undefined; /** * When using this property it indicates that the service is available with this language, it is not derived from the practitioners, and not all are required to use this language, just that this language is available while scheduling. */ - communication?: CodeableConcept[]; + communication?: CodeableConcept[]|undefined; /** * The locations referenced by the coverage area can include both specific locations, including areas, and also conceptual domains too (mode = kind), such as a physical area (tri-state area) and some other attribute (covered by Example Care Organization). These types of Locations are often not managed by any specific organization. This could also include generic locations such as "in-home". */ - coverageArea?: Reference[]; + coverageArea?: Reference[]|undefined; /** * Does this service have specific eligibility requirements that need to be met in order to use the service? */ - eligibility?: HealthcareServiceEligibility[]; + eligibility?: HealthcareServiceEligibility[]|undefined; /** * Technical endpoints providing access to services operated for the specific healthcare services defined at this resource. */ - endpoint?: Reference[]; + endpoint?: Reference[]|undefined; /** * Extra details about the service that can't be placed in the other fields. */ - extraDetails?: string; - _extraDetails?: Element; + extraDetails?: string|undefined; + _extraDetails?: Element|undefined; /** * External identifiers for this item. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The location(s) where this healthcare service may be provided. */ - location?: Reference[]; + location?: Reference[]|undefined; /** * Further description of the service as it would be presented to a consumer while searching. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * The HealthcareService is not available during this period of time due to the provided reason. */ - notAvailable?: HealthcareServiceNotAvailable[]; + notAvailable?: HealthcareServiceNotAvailable[]|undefined; /** * If there is a photo/symbol associated with this HealthcareService, it may be included here to facilitate quick identification of the service in a list. */ - photo?: Attachment; + photo?: Attachment|undefined; /** * Programs are often defined externally to an Organization, commonly by governments; e.g. Home and Community Care Programs, Homeless Program, …. */ - program?: CodeableConcept[]; + program?: CodeableConcept[]|undefined; /** * This property is recommended to be the same as the Location's managingOrganization, and if not provided should be interpreted as such. If the Location does not have a managing Organization, then this property should be populated. */ - providedBy?: Reference; + providedBy?: Reference|undefined; /** * Ways that the service accepts referrals, if this is not provided then it is implied that no referral is required. */ - referralMethod?: CodeableConcept[]; + referralMethod?: CodeableConcept[]|undefined; /** * The provision means being commissioned by, contractually obliged or financially sourced. Types of costings that may apply to this healthcare service, such if the service may be available for free, some discounts available, or fees apply. */ - serviceProvisionCode?: CodeableConcept[]; + serviceProvisionCode?: CodeableConcept[]|undefined; /** * Collection of specialties handled by the service site. This is more of a medical term. */ - specialty?: CodeableConcept[]; + specialty?: CodeableConcept[]|undefined; /** * If this is empty, then refer to the location's contacts. */ - telecom?: ContactPoint[]; + telecom?: ContactPoint[]|undefined; /** * The specific type of service that may be delivered or performed. */ - type?: CodeableConcept[]; + type?: CodeableConcept[]|undefined; } /** * The procedure or code from which this ImagingStudy was part of. @@ -17565,11 +17565,11 @@ export interface ImagingStudyProcedure extends BackboneElement { /** * The procedure which this ImagingStudy was part of. */ - valueReference?: Reference; + valueReference?: Reference|undefined; /** * The procedure which this ImagingStudy was part of. */ - valueCodeableConcept?: CodeableConcept; + valueCodeableConcept?: CodeableConcept|undefined; } /** * If the person who performed the series is not known, their Organization may be recorded. A patient, or related person, may be the performer, e.g. for patient-captured images. @@ -17582,7 +17582,7 @@ export interface ImagingStudySeriesPerformer extends BackboneElement { /** * Distinguishes the type of involvement of the performer in the series. */ - function?: CodeableConcept; + function?: CodeableConcept|undefined; } /** * A single SOP instance within the series, e.g. an image, or presentation state. @@ -17591,7 +17591,7 @@ export interface ImagingStudySeriesInstance extends BackboneElement { /** * The number of instance in the series. */ - number?: number; + number?: number|undefined; /** * DICOM instance type. */ @@ -17599,13 +17599,13 @@ export interface ImagingStudySeriesInstance extends BackboneElement { /** * Particularly for post-acquisition analytic objects, such as SR, presentation states, value mapping, etc. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * See [DICOM PS3.3 C.12.1](http://dicom.nema.org/medical/dicom/current/output/chtml/part03/sect_C.12.html#sect_C.12.1). */ uid: string; - _uid?: Element; + _uid?: Element|undefined; } /** * Each study has one or more series of images or other content. @@ -17614,24 +17614,24 @@ export interface ImagingStudySeries extends BackboneElement { /** * The anatomic structures examined. See DICOM Part 16 Annex L (http://dicom.nema.org/medical/dicom/current/output/chtml/part16/chapter_L.html) for DICOM to SNOMED-CT mappings. The bodySite may indicate the laterality of body part imaged; if so, it shall be consistent with any content of ImagingStudy.series.laterality. */ - bodySite?: Coding; + bodySite?: Coding|undefined; /** * A description of the series. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Typical endpoint types include DICOM WADO-RS, which is used to retrieve DICOM instances in native or rendered (e.g., JPG, PNG) formats using a RESTful API; DICOM WADO-URI, which can similarly retrieve native or rendered instances, except using an HTTP query-based approach; and DICOM QIDO-RS, which allows RESTful query for DICOM information without retrieving the actual instances. */ - endpoint?: Reference[]; + endpoint?: Reference[]|undefined; /** * A single SOP instance within the series, e.g. an image, or presentation state. */ - instance?: ImagingStudySeriesInstance[]; + instance?: ImagingStudySeriesInstance[]|undefined; /** * The laterality of the (possibly paired) anatomic structures examined. E.g., the left knee, both lungs, or unpaired abdomen. If present, shall be consistent with any laterality information indicated in ImagingStudy.series.bodySite. */ - laterality?: Coding; + laterality?: Coding|undefined; /** * The distinct modality for this series. This may include both acquisition and non-acquisition modalities. */ @@ -17639,29 +17639,29 @@ export interface ImagingStudySeries extends BackboneElement { /** * The numeric identifier of this series in the study. */ - number?: number; + number?: number|undefined; /** * Number of SOP Instances in the Study. The value given may be larger than the number of instance elements this resource contains due to resource availability, security, or other factors. This element should be present if any instance elements are present. */ - numberOfInstances?: number; + numberOfInstances?: number|undefined; /** * If the person who performed the series is not known, their Organization may be recorded. A patient, or related person, may be the performer, e.g. for patient-captured images. */ - performer?: ImagingStudySeriesPerformer[]; + performer?: ImagingStudySeriesPerformer[]|undefined; /** * The specimen imaged, e.g., for whole slide imaging of a biopsy. */ - specimen?: Reference[]; + specimen?: Reference[]|undefined; /** * The date and time the series was started. */ - started?: string; - _started?: Element; + started?: string|undefined; + _started?: Element|undefined; /** * See [DICOM PS3.3 C.7.3](http://dicom.nema.org/medical/dicom/current/output/chtml/part03/sect_C.7.3.html). */ uid: string; - _uid?: Element; + _uid?: Element|undefined; } /** * Representation of the content produced in a DICOM imaging study. A study comprises a set of series, each of which includes a set of Service-Object Pair Instances (SOP Instances - images or other data) acquired or produced in a common context. A series is of only one modality (e.g. X-ray, CT, MR, ultrasound), but a study may have multiple series of different modalities. @@ -17672,74 +17672,74 @@ export interface ImagingStudy extends DomainResource { /** * A list of the diagnostic requests that resulted in this imaging study being performed. */ - basedOn?: Reference[]; + basedOn?: Reference[]|undefined; /** * The Imaging Manager description of the study. Institution-generated description or classification of the Study (component) performed. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * This will typically be the encounter the event occurred within, but some events may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter (e.g. pre-admission test). */ - encounter?: Reference; + encounter?: Reference|undefined; /** * Typical endpoint types include DICOM WADO-RS, which is used to retrieve DICOM instances in native or rendered (e.g., JPG, PNG), formats using a RESTful API; DICOM WADO-URI, which can similarly retrieve native or rendered instances, except using an HTTP query-based approach; DICOM QIDO-RS, which allows RESTful query for DICOM information without retrieving the actual instances; or IHE Invoke Image Display (IID), which provides standard invocation of an imaging web viewer. */ - endpoint?: Reference[]; + endpoint?: Reference[]|undefined; /** * See discussion under [Imaging Study Implementation Notes](imagingstudy.html#notes) for encoding of DICOM Study Instance UID. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Who read the study and interpreted the images or other content. */ - interpreter?: Reference[]; + interpreter?: Reference[]|undefined; /** * The principal physical location where the ImagingStudy was performed. */ - location?: Reference; + location?: Reference|undefined; /** * A list of all the distinct values of series.modality. This may include both acquisition and non-acquisition modalities. */ - modality?: Coding[]; + modality?: Coding[]|undefined; /** * Per the recommended DICOM mapping, this element is derived from the Study Description attribute (0008,1030). Observations or findings about the imaging study should be recorded in another resource, e.g. Observation, and not in this element. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * Number of SOP Instances in Study. This value given may be larger than the number of instance elements this resource contains due to resource availability, security, or other factors. This element should be present if any instance elements are present. */ - numberOfInstances?: number; + numberOfInstances?: number|undefined; /** * Number of Series in the Study. This value given may be larger than the number of series elements this Resource contains due to resource availability, security, or other factors. This element should be present if any series elements are present. */ - numberOfSeries?: number; + numberOfSeries?: number|undefined; /** * The procedure or code from which this ImagingStudy was part of. */ - procedure?: ImagingStudyProcedure[]; + procedure?: ImagingStudyProcedure[]|undefined; /** * Description of clinical condition indicating why the ImagingStudy was requested, and/or Indicates another resource whose existence justifies this Study. */ - reason?: CodeableReference[]; + reason?: CodeableReference[]|undefined; /** * The requesting/referring physician. */ - referrer?: Reference; + referrer?: Reference|undefined; /** * Each study has one or more series of images or other content. */ - series?: ImagingStudySeries[]; + series?: ImagingStudySeries[]|undefined; /** * Date and time the study started. */ - started?: string; - _started?: Element; + started?: string|undefined; + _started?: Element|undefined; /** * Unknown does not represent "other" - one of the defined statuses must apply. Unknown is used when the authoring system is not sure what the current status is. */ status: ImagingStudyStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * QA phantoms can be recorded with a Device; multiple subjects (such as mice) can be recorded with a Group. */ @@ -17766,7 +17766,7 @@ export interface ImmunizationPerformer extends BackboneElement { /** * Describes the type of performance (e.g. ordering provider, administering provider, etc.). */ - function?: CodeableConcept; + function?: CodeableConcept|undefined; } /** * Educational material presented to the patient (or guardian) at the time of vaccine administration. @@ -17775,23 +17775,23 @@ export interface ImmunizationEducation extends BackboneElement { /** * Identifier of the material presented to the patient. */ - documentType?: string; - _documentType?: Element; + documentType?: string|undefined; + _documentType?: Element|undefined; /** * Date the educational material was given to the patient. */ - presentationDate?: string; - _presentationDate?: Element; + presentationDate?: string|undefined; + _presentationDate?: Element|undefined; /** * Date the educational material was published. */ - publicationDate?: string; - _publicationDate?: Element; + publicationDate?: string|undefined; + _publicationDate?: Element|undefined; /** * Reference pointer to the educational material given to the patient if the information was on line. */ - reference?: string; - _reference?: Element; + reference?: string|undefined; + _reference?: Element|undefined; } /** * A reaction may be an indication of an allergy or intolerance and, if this is determined to be the case, it should be recorded as a new AllergyIntolerance resource instance as most systems will not query against past Immunization.reaction elements. @@ -17800,17 +17800,17 @@ export interface ImmunizationReaction extends BackboneElement { /** * Date of reaction to the immunization. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * Details of the reaction. */ - detail?: Reference; + detail?: Reference|undefined; /** * Self-reported indicator. */ - reported?: boolean; - _reported?: Element; + reported?: boolean|undefined; + _reported?: Element|undefined; } /** * The protocol (set of recommendations) being followed by the provider who administered the dose. @@ -17819,26 +17819,26 @@ export interface ImmunizationProtocolApplied extends BackboneElement { /** * Indicates the authority who published the protocol (e.g. ACIP) that is being followed. */ - authority?: Reference; + authority?: Reference|undefined; /** * The use of an integer is preferred if known. Text should only be used in cases where an integer is not available (such as when documenting a recurring booster dose). */ doseNumber: string; - _doseNumber?: Element; + _doseNumber?: Element|undefined; /** * One possible path to achieve presumed immunity against a disease - within the context of an authority. */ - series?: string; - _series?: Element; + series?: string|undefined; + _series?: Element|undefined; /** * The use of an integer is preferred if known. */ - seriesDoses?: string; - _seriesDoses?: Element; + seriesDoses?: string|undefined; + _seriesDoses?: Element|undefined; /** * The vaccine preventable disease the dose is being administered against. */ - targetDisease?: CodeableConcept[]; + targetDisease?: CodeableConcept[]|undefined; } /** * Describes the event of a patient being administered a vaccine or a record of an immunization as reported by a patient, a clinician or another party. @@ -17849,82 +17849,82 @@ export interface Immunization extends DomainResource { /** * Allows tracing of an authorization for the Immunization. */ - basedOn?: Reference[]; + basedOn?: Reference[]|undefined; /** * The quantity of vaccine product that was administered. */ - doseQuantity?: Quantity; + doseQuantity?: Quantity|undefined; /** * Educational material presented to the patient (or guardian) at the time of vaccine administration. */ - education?: ImmunizationEducation[]; + education?: ImmunizationEducation[]|undefined; /** * The visit or admission or other contact between patient and health care provider the immunization was performed as part of. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * Date vaccine batch expires. */ - expirationDate?: string; - _expirationDate?: Element; + expirationDate?: string|undefined; + _expirationDate?: Element|undefined; /** * Indicates the source of the vaccine actually administered. This may be different than the patient eligibility (e.g. the patient may be eligible for a publically purchased vaccine but due to inventory issues, vaccine purchased with private funds was actually administered). */ - fundingSource?: CodeableConcept; + fundingSource?: CodeableConcept|undefined; /** * A unique identifier assigned to this immunization record. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Typically will not be populated if primarySource = True, not required even if primarySource = False. */ - informationSourceCodeableConcept?: CodeableConcept; + informationSourceCodeableConcept?: CodeableConcept|undefined; /** * Typically will not be populated if primarySource = True, not required even if primarySource = False. */ - informationSourceReference?: Reference; + informationSourceReference?: Reference|undefined; /** * The URL pointing to a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this Immunization. */ - instantiatesCanonical?: string[]; - _instantiatesCanonical?: Element[]; + instantiatesCanonical?: string[]|undefined; + _instantiatesCanonical?: Element[]|undefined; /** * This might be an HTML page, PDF, etc. or could just be a non-resolvable URI identifier. */ - instantiatesUri?: string[]; - _instantiatesUri?: Element[]; + instantiatesUri?: string[]|undefined; + _instantiatesUri?: Element[]|undefined; /** * Typically, the recognition of the dose being sub-potent is retrospective, after the administration (ex. notification of a manufacturer recall after administration). However, in the case of a partial administration (the patient moves unexpectedly and only some of the dose is actually administered), subpotency may be recognized immediately, but it is still important to record the event. */ - isSubpotent?: boolean; - _isSubpotent?: Element; + isSubpotent?: boolean|undefined; + _isSubpotent?: Element|undefined; /** * The service delivery location where the vaccine administration occurred. */ - location?: Reference; + location?: Reference|undefined; /** * Lot number of the vaccine product. */ - lotNumber?: string; - _lotNumber?: Element; + lotNumber?: string|undefined; + _lotNumber?: Element|undefined; /** * Name of vaccine manufacturer. */ - manufacturer?: Reference; + manufacturer?: Reference|undefined; /** * Extra information about the immunization that is not conveyed by the other attributes. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * When immunizations are given a specific date and time should always be known. When immunizations are patient reported, a specific date might not be known. Although partial dates are allowed, an adult patient might not be able to recall the year a childhood immunization was given. An exact date is always preferable, but the use of the String data type is acceptable when an exact date is not known. A small number of vaccines (e.g. live oral typhoid vaccine) are given as a series of patient self-administered dose over a span of time. In cases like this, often, only the first dose (typically a provider supervised dose) is recorded with the occurrence indicating the date/time of the first dose. */ - occurrenceDateTime?: string; - _occurrenceDateTime?: Element; + occurrenceDateTime?: string|undefined; + _occurrenceDateTime?: Element|undefined; /** * When immunizations are given a specific date and time should always be known. When immunizations are patient reported, a specific date might not be known. Although partial dates are allowed, an adult patient might not be able to recall the year a childhood immunization was given. An exact date is always preferable, but the use of the String data type is acceptable when an exact date is not known. A small number of vaccines (e.g. live oral typhoid vaccine) are given as a series of patient self-administered dose over a span of time. In cases like this, often, only the first dose (typically a provider supervised dose) is recorded with the occurrence indicating the date/time of the first dose. */ - occurrenceString?: string; - _occurrenceString?: Element; + occurrenceString?: string|undefined; + _occurrenceString?: Element|undefined; /** * The patient who either received or did not receive the immunization. */ @@ -17932,54 +17932,54 @@ export interface Immunization extends DomainResource { /** * Indicates who performed the immunization event. */ - performer?: ImmunizationPerformer[]; + performer?: ImmunizationPerformer[]|undefined; /** * Reflects the “reliability” of the content. */ - primarySource?: boolean; - _primarySource?: Element; + primarySource?: boolean|undefined; + _primarySource?: Element|undefined; /** * Indicates a patient's eligibility for a funding program. */ - programEligibility?: CodeableConcept[]; + programEligibility?: CodeableConcept[]|undefined; /** * The protocol (set of recommendations) being followed by the provider who administered the dose. */ - protocolApplied?: ImmunizationProtocolApplied[]; + protocolApplied?: ImmunizationProtocolApplied[]|undefined; /** * A reaction may be an indication of an allergy or intolerance and, if this is determined to be the case, it should be recorded as a new AllergyIntolerance resource instance as most systems will not query against past Immunization.reaction elements. */ - reaction?: ImmunizationReaction[]; + reaction?: ImmunizationReaction[]|undefined; /** * Describes why the immunization occurred in coded or textual form, or Indicates another resource (Condition, Observation or DiagnosticReport) whose existence justifies this immunization. */ - reason?: CodeableReference[]; + reason?: CodeableReference[]|undefined; /** * The date the occurrence of the immunization was first captured in the record - potentially significantly after the occurrence of the event. */ - recorded?: string; - _recorded?: Element; + recorded?: string|undefined; + _recorded?: Element|undefined; /** * The path by which the vaccine product is taken into the body. */ - route?: CodeableConcept; + route?: CodeableConcept|undefined; /** * Body site where vaccine was administered. */ - site?: CodeableConcept; + site?: CodeableConcept|undefined; /** * Will generally be set to show that the immunization has been completed or not done. This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: ImmunizationStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * This is generally only used for the status of "not-done". The reason for performing the immunization event is captured in reasonCode, not here. */ - statusReason?: CodeableConcept; + statusReason?: CodeableConcept|undefined; /** * Reason why a dose is considered to be subpotent. */ - subpotentReason?: CodeableConcept[]; + subpotentReason?: CodeableConcept[]|undefined; /** * The code for the administered vaccine may be reported at various levels of granularity from a very generic code for a general type of vaccine (e.g. the SNOMED or CVX code for the flu vaccine) to a very discrete code for a specific product including the form and packaging (e.g. an NDC code). Because vaccineCode uses the CodeableConcept data type, multiple codes at different levels of granularity may be reported for a single immunization event provided that all codes are appropriate for the same vaccine. For example, both NDC and CVX codes may be provided for a given immunization event by repeating the coding element within vaccineCode. */ @@ -18002,22 +18002,22 @@ export interface ImmunizationEvaluation extends DomainResource { /** * Indicates the authority who published the protocol (e.g. ACIP). */ - authority?: Reference; + authority?: Reference|undefined; /** * The date the evaluation of the vaccine administration event was performed. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * Additional information about the evaluation. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * The use of an integer is preferred if known. A string should only be used in cases where an integer is not available (such as when documenting a recurring booster dose). */ - doseNumber?: string; - _doseNumber?: Element; + doseNumber?: string|undefined; + _doseNumber?: Element|undefined; /** * Indicates if the dose is valid or not valid with respect to the published recommendations. */ @@ -18025,11 +18025,11 @@ export interface ImmunizationEvaluation extends DomainResource { /** * Provides an explanation as to why the vaccine administration event is valid or not relative to the published recommendations. */ - doseStatusReason?: CodeableConcept[]; + doseStatusReason?: CodeableConcept[]|undefined; /** * A unique identifier assigned to this immunization evaluation record. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The vaccine administration event being evaluated. */ @@ -18041,18 +18041,18 @@ export interface ImmunizationEvaluation extends DomainResource { /** * One possible path to achieve presumed immunity against a disease - within the context of an authority. */ - series?: string; - _series?: Element; + series?: string|undefined; + _series?: Element|undefined; /** * The use of an integer is preferred if known. */ - seriesDoses?: string; - _seriesDoses?: Element; + seriesDoses?: string|undefined; + _seriesDoses?: Element|undefined; /** * Indicates the current status of the evaluation of the vaccination administration event. */ status: ImmunizationEvaluationStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * The vaccine preventable disease the dose is being evaluated against. */ @@ -18077,7 +18077,7 @@ export interface ImmunizationRecommendationRecommendationDateCriterion extends B * The date whose meaning is specified by dateCriterion.code. */ value: string; - _value?: Element; + _value?: Element|undefined; } /** * A given instance of the .recommendation backbone element should correspond to a single recommended administration. @@ -18086,25 +18086,25 @@ export interface ImmunizationRecommendationRecommendation extends BackboneElemen /** * Vaccine(s) which should not be used to fulfill the recommendation. */ - contraindicatedVaccineCode?: CodeableConcept[]; + contraindicatedVaccineCode?: CodeableConcept[]|undefined; /** * Vaccine date recommendations. For example, earliest date to administer, latest date to administer, etc. */ - dateCriterion?: ImmunizationRecommendationRecommendationDateCriterion[]; + dateCriterion?: ImmunizationRecommendationRecommendationDateCriterion[]|undefined; /** * Contains the description about the protocol under which the vaccine was administered. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * The use of an integer is preferred if known. A string should only be used in cases where an integer is not available (such as when documenting a recurring booster dose). */ - doseNumber?: string; - _doseNumber?: Element; + doseNumber?: string|undefined; + _doseNumber?: Element|undefined; /** * The reason for the assigned forecast status. */ - forecastReason?: CodeableConcept[]; + forecastReason?: CodeableConcept[]|undefined; /** * Indicates the patient status with respect to the path to immunity for the target disease. */ @@ -18112,29 +18112,29 @@ export interface ImmunizationRecommendationRecommendation extends BackboneElemen /** * One possible path to achieve presumed immunity against a disease - within the context of an authority. */ - series?: string; - _series?: Element; + series?: string|undefined; + _series?: Element|undefined; /** * The use of an integer is preferred if known. */ - seriesDoses?: string; - _seriesDoses?: Element; + seriesDoses?: string|undefined; + _seriesDoses?: Element|undefined; /** * Immunization event history and/or evaluation that supports the status and recommendation. */ - supportingImmunization?: Reference[]; + supportingImmunization?: Reference[]|undefined; /** * Patient Information that supports the status and recommendation. This includes patient observations, adverse reactions and allergy/intolerance information. */ - supportingPatientInformation?: Reference[]; + supportingPatientInformation?: Reference[]|undefined; /** * A given instance of the .recommendation backbone element should correspond to a single recommended administration but sometimes that administration (eg. MMR) will encompass multiple diseases, thus the targetDisease element is allowed to repeat. */ - targetDisease?: CodeableConcept[]; + targetDisease?: CodeableConcept[]|undefined; /** * Vaccine(s) or vaccine group that pertain to the recommendation. */ - vaccineCode?: CodeableConcept[]; + vaccineCode?: CodeableConcept[]|undefined; } /** * A patient's point-in-time set of recommendations (i.e. forecasting) according to a published schedule with optional supporting justification. @@ -18145,26 +18145,26 @@ export interface ImmunizationRecommendation extends DomainResource { /** * Indicates the authority who published the protocol (e.g. ACIP). */ - authority?: Reference; + authority?: Reference|undefined; /** * The date the immunization recommendation(s) were created. */ date: string; - _date?: Element; + _date?: Element|undefined; /** * A unique identifier assigned to this particular recommendation record. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The URL pointing to a FHIR-defined protocol, guideline or other definition that is adhered to in whole or in part by this ImmunizationRecommendation. */ - instantiatesCanonical?: string[]; - _instantiatesCanonical?: Element[]; + instantiatesCanonical?: string[]|undefined; + _instantiatesCanonical?: Element[]|undefined; /** * This might be an HTML page, PDF, etc. or could just be a non-resolvable URI identifier. */ - instantiatesUri?: string[]; - _instantiatesUri?: Element[]; + instantiatesUri?: string[]|undefined; + _instantiatesUri?: Element[]|undefined; /** * The patient the recommendation(s) are for. */ @@ -18181,18 +18181,18 @@ export interface ImplementationGuideDependsOn extends BackboneElement { /** * The NPM package name for the Implementation Guide that this IG depends on. */ - packageId?: string; - _packageId?: Element; + packageId?: string|undefined; + _packageId?: Element|undefined; /** * Usually, A canonical reference to the implementation guide is the same as the master location at which the implementation guide is published. */ uri: string; - _uri?: Element; + _uri?: Element|undefined; /** * This follows the syntax of the NPM packaging version field - see [[reference]]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * See [Default Profiles](implementationguide.html#default) for a discussion of which resources are 'covered' by an implementation guide. @@ -18202,12 +18202,12 @@ export interface ImplementationGuideGlobal extends BackboneElement { * A reference to the profile that all instances must conform to. */ profile: string; - _profile?: Element; + _profile?: Element|undefined; /** * The type must match that of the profile that is referred to but is made explicit here as a denormalization so that a system processing the implementation guide resource knows which resources the profile applies to even if the profile itself is not available. */ type: string; - _type?: Element; + _type?: Element|undefined; } /** * Groupings are arbitrary sub-divisions of content. Typically, they are used to help build Table of Contents automatically. @@ -18216,13 +18216,13 @@ export interface ImplementationGuideDefinitionGrouping extends BackboneElement { /** * Human readable text describing the package. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * The human-readable title to display for the package of resources when rendering the implementation guide. */ name: string; - _name?: Element; + _name?: Element|undefined; } /** * A resource that is part of the implementation guide. Conformance resources (value set, structure definition, capability statements etc.) are obvious candidates for inclusion, but any kind of resource can be included as an example resource. @@ -18231,8 +18231,8 @@ export interface ImplementationGuideDefinitionResource extends BackboneElement { /** * This is mostly used with examples to explain why it is present (though they can have extensive comments in the examples). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Examples: * * StructureDefinition -> Any @@ -18240,8 +18240,8 @@ export interface ImplementationGuideDefinitionResource extends BackboneElement { * * OperationDefinition -> Parameters * * Questionnaire -> QuestionnaireResponse. */ - exampleBoolean?: boolean; - _exampleBoolean?: Element; + exampleBoolean?: boolean|undefined; + _exampleBoolean?: Element|undefined; /** * Examples: * * StructureDefinition -> Any @@ -18249,23 +18249,23 @@ export interface ImplementationGuideDefinitionResource extends BackboneElement { * * OperationDefinition -> Parameters * * Questionnaire -> QuestionnaireResponse. */ - exampleCanonical?: string; - _exampleCanonical?: Element; + exampleCanonical?: string|undefined; + _exampleCanonical?: Element|undefined; /** * The resource SHALL be valid against all the versions it is specified to apply to. If the resource referred to is a StructureDefinition, the fhirVersion stated in the StructureDefinition cannot disagree with the version specified here; the specified versions SHALL include the version specified by the StructureDefinition, and may include additional versions using the [applicable-version](extension-structuredefinition-applicable-version.html) extension. */ - fhirVersion?: string[]; - _fhirVersion?: Element[]; + fhirVersion?: string[]|undefined; + _fhirVersion?: Element[]|undefined; /** * This must correspond to a package.id element within this implementation guide. */ - groupingId?: string; - _groupingId?: Element; + groupingId?: string|undefined; + _groupingId?: Element|undefined; /** * A human assigned name for the resource. All resources SHOULD have a name, but the name may be extracted from the resource (e.g. ValueSet.name). */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Usually this is a relative URL that locates the resource within the implementation guide. If you authoring an implementation guide, and will publish it using the FHIR publication tooling, use a URI that may point to a resource, or to one of various alternative representations (e.g. spreadsheet). The tooling will convert this when it publishes it. */ @@ -18279,25 +18279,25 @@ export interface ImplementationGuideDefinitionPage extends BackboneElement { * A code that indicates how the page is generated. */ generation: ImplementationGuideDefinitionPageGenerationCodes; - _generation?: Element; + _generation?: Element|undefined; /** * The publishing tool will autogenerate source for list (source = n/a) and inject included implementations for include (source = uri of guide to include). */ - nameUrl?: string; - _nameUrl?: Element; + nameUrl?: string|undefined; + _nameUrl?: Element|undefined; /** * The publishing tool will autogenerate source for list (source = n/a) and inject included implementations for include (source = uri of guide to include). */ - nameReference?: Reference; + nameReference?: Reference|undefined; /** * The implementation guide breadcrumbs may be generated from this structure. */ - page?: ImplementationGuideDefinitionPage[]; + page?: ImplementationGuideDefinitionPage[]|undefined; /** * A short title used to represent this page in navigational structures such as table of contents, bread crumbs, etc. */ title: string; - _title?: Element; + _title?: Element|undefined; } /** * Code Values for the ImplementationGuide.definition.page.generation field @@ -18316,12 +18316,12 @@ export interface ImplementationGuideDefinitionParameter extends BackboneElement * Code that identifies parameter. */ code: string; - _code?: Element; + _code?: Element|undefined; /** * Value for named type. */ value: string; - _value?: Element; + _value?: Element|undefined; } /** * A template for building resources. @@ -18331,17 +18331,17 @@ export interface ImplementationGuideDefinitionTemplate extends BackboneElement { * Type of template specified. */ code: string; - _code?: Element; + _code?: Element|undefined; /** * The scope in which the template applies. */ - scope?: string; - _scope?: Element; + scope?: string|undefined; + _scope?: Element|undefined; /** * The source location for the template. */ source: string; - _source?: Element; + _source?: Element|undefined; } /** * Principally, this consists of information abuot source resource and file locations, and build parameters and templates. @@ -18350,15 +18350,15 @@ export interface ImplementationGuideDefinition extends BackboneElement { /** * Groupings are arbitrary sub-divisions of content. Typically, they are used to help build Table of Contents automatically. */ - grouping?: ImplementationGuideDefinitionGrouping[]; + grouping?: ImplementationGuideDefinitionGrouping[]|undefined; /** * Pages automatically become sections if they have sub-pages. By convention, the home page is called index.html. */ - page?: ImplementationGuideDefinitionPage; + page?: ImplementationGuideDefinitionPage|undefined; /** * see [confluence](https://confluence.hl7.org/display/FHIR/Implementation+Guide+Parameters) for the parameters defined by the HL7 IG publisher. */ - parameter?: ImplementationGuideDefinitionParameter[]; + parameter?: ImplementationGuideDefinitionParameter[]|undefined; /** * A resource that is part of the implementation guide. Conformance resources (value set, structure definition, capability statements etc.) are obvious candidates for inclusion, but any kind of resource can be included as an example resource. */ @@ -18366,7 +18366,7 @@ export interface ImplementationGuideDefinition extends BackboneElement { /** * A template for building resources. */ - template?: ImplementationGuideDefinitionTemplate[]; + template?: ImplementationGuideDefinitionTemplate[]|undefined; } /** * A resource that is part of the implementation guide. Conformance resources (value set, structure definition, capability statements etc.) are obvious candidates for inclusion, but any kind of resource can be included as an example resource. @@ -18375,13 +18375,13 @@ export interface ImplementationGuideManifestResource extends BackboneElement { /** * Typically, conformance resources and knowledge resources are directly part of the implementation guide, with their normal meaning, and patient linked resources are usually examples. However this is not always true. */ - exampleBoolean?: boolean; - _exampleBoolean?: Element; + exampleBoolean?: boolean|undefined; + _exampleBoolean?: Element|undefined; /** * Typically, conformance resources and knowledge resources are directly part of the implementation guide, with their normal meaning, and patient linked resources are usually examples. However this is not always true. */ - exampleCanonical?: string; - _exampleCanonical?: Element; + exampleCanonical?: string|undefined; + _exampleCanonical?: Element|undefined; /** * Usually this is a relative URL that locates the resource within the implementation guide. If you authoring an implementation guide, and will publish it using the FHIR publication tooling, use a URI that may point to a resource, or to one of various alternative representations (e.g. spreadsheet). The tooling will convert this when it publishes it. */ @@ -18389,8 +18389,8 @@ export interface ImplementationGuideManifestResource extends BackboneElement { /** * Appending 'rendering' + "/" + this should resolve to the resource page. */ - relativePath?: string; - _relativePath?: Element; + relativePath?: string|undefined; + _relativePath?: Element|undefined; } /** * Information about a page within the IG. @@ -18399,18 +18399,18 @@ export interface ImplementationGuideManifestPage extends BackboneElement { /** * Appending 'rendering' + "/" + page.name + "#" + page.anchor should resolve to the anchor. */ - anchor?: string[]; - _anchor?: Element[]; + anchor?: string[]|undefined; + _anchor?: Element[]|undefined; /** * Appending 'rendering' + "/" + this should resolve to the page. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * Label for the page intended for human display. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; } /** * Information about an assembled implementation guide, created by the publication tooling. @@ -18419,22 +18419,22 @@ export interface ImplementationGuideManifest extends BackboneElement { /** * Indicates a relative path to an image that exists within the IG. */ - image?: string[]; - _image?: Element[]; + image?: string[]|undefined; + _image?: Element[]|undefined; /** * Indicates the relative path of an additional non-page, non-image file that is part of the IG - e.g. zip, jar and similar files that could be the target of a hyperlink in a derived IG. */ - other?: string[]; - _other?: Element[]; + other?: string[]|undefined; + _other?: Element[]|undefined; /** * Information about a page within the IG. */ - page?: ImplementationGuideManifestPage[]; + page?: ImplementationGuideManifestPage[]|undefined; /** * A pointer to official web page, PDF or other rendering of the implementation guide. */ - rendering?: string; - _rendering?: Element; + rendering?: string|undefined; + _rendering?: Element|undefined; /** * A resource that is part of the implementation guide. Conformance resources (value set, structure definition, capability statements etc.) are obvious candidates for inclusion, but any kind of resource can be included as an example resource. */ @@ -18449,98 +18449,98 @@ export interface ImplementationGuide extends DomainResource { /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * A copyright statement relating to the implementation guide and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the implementation guide. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the implementation guide. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * Principally, this consists of information abuot source resource and file locations, and build parameters and templates. */ - definition?: ImplementationGuideDefinition; + definition?: ImplementationGuideDefinition|undefined; /** * Another implementation guide that this implementation depends on. Typically, an implementation guide uses value sets, profiles etc.defined in other implementation guides. */ - dependsOn?: ImplementationGuideDependsOn[]; + dependsOn?: ImplementationGuideDependsOn[]|undefined; /** * This description can be used to capture details such as why the implementation guide was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the implementation guide as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the implementation guide is presumed to be the predominant language in the place the implementation guide was created). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Allows filtering of implementation guides that are appropriate for use versus not. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * Most implementation guides target a single version - e.g. they describe how to use a particular version, and the profiles and examples etc are valid for that version. But some implementation guides describe how to use multiple different versions of FHIR to solve the same problem, or in concert with each other. Typically, the requirement to support multiple versions arises as implementation matures and different implementation communities are stuck at different versions by regulation or market dynamics. */ fhirVersion: string[]; - _fhirVersion?: Element[]; + _fhirVersion?: Element[]|undefined; /** * See [Default Profiles](implementationguide.html#default) for a discussion of which resources are 'covered' by an implementation guide. */ - global?: ImplementationGuideGlobal[]; + global?: ImplementationGuideGlobal[]|undefined; /** * It may be possible for the implementation guide to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * The license that applies to this Implementation Guide, using an SPDX license code, or 'not-open-source'. */ - license?: string; - _license?: Element; + license?: string|undefined; + _license?: Element|undefined; /** * Information about an assembled implementation guide, created by the publication tooling. */ - manifest?: ImplementationGuideManifest; + manifest?: ImplementationGuideManifest|undefined; /** * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * Many (if not all) IG publishing tools will require that this element be present. For implementation guides published through HL7 or the FHIR foundation, the FHIR product director assigns package IDs. */ packageId: string; - _packageId?: Element; + _packageId?: Element|undefined; /** * Usually an organization but may be an individual. The publisher (or steward) of the implementation guide is the organization or individual primarily responsible for the maintenance and upkeep of the implementation guide. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the implementation guide. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * Allows filtering of implementation guides that are appropriate for use versus not. */ status: ImplementationGuideStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. */ url: string; - _url?: Element; + _url?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different implementation guide instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the implementation guide with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the ImplementationGuide.status field @@ -18558,32 +18558,32 @@ export interface IngredientSubstanceStrengthReferenceStrength extends BackboneEl /** * The country or countries for which the strength range applies. */ - country?: CodeableConcept[]; + country?: CodeableConcept[]|undefined; /** * For when strength is measured at a particular point or distance. */ - measurementPoint?: string; - _measurementPoint?: Element; + measurementPoint?: string|undefined; + _measurementPoint?: Element|undefined; /** * Strength expressed in terms of a reference substance. When there is a range of strengths, this represents the lower limit. */ - strengthRatio?: Ratio; + strengthRatio?: Ratio|undefined; /** * Strength expressed in terms of a reference substance. When there is a range of strengths, this represents the lower limit. */ - strengthQuantity?: Quantity; + strengthQuantity?: Quantity|undefined; /** * Strength expressed in terms of a reference substance. When there is a range of strengths, this represents the upper limit. */ - strengthHighLimitRatio?: Ratio; + strengthHighLimitRatio?: Ratio|undefined; /** * Strength expressed in terms of a reference substance. When there is a range of strengths, this represents the upper limit. */ - strengthHighLimitQuantity?: Quantity; + strengthHighLimitQuantity?: Quantity|undefined; /** * Relevant reference substance. */ - substance?: CodeableReference; + substance?: CodeableReference|undefined; } /** * The quantity of substance in the unit of presentation, or in the volume (or mass) of the single pharmaceutical product or manufactured item. When there is a range of strengths, this represents the lower limit. @@ -18592,70 +18592,70 @@ export interface IngredientSubstanceStrength extends BackboneElement { /** * A code that indicates if the strength is, for example, based on the ingredient substance as stated or on the substance base (when the ingredient is a salt). */ - basis?: CodeableConcept; + basis?: CodeableConcept|undefined; /** * The strength per unitary volume (or mass). */ - concentrationRatio?: Ratio; + concentrationRatio?: Ratio|undefined; /** * The strength per unitary volume (or mass). */ - concentrationCodeableConcept?: CodeableConcept; + concentrationCodeableConcept?: CodeableConcept|undefined; /** * The strength per unitary volume (or mass). */ - concentrationQuantity?: Quantity; + concentrationQuantity?: Quantity|undefined; /** * An upper limit for the strength per unitary volume (or mass), for when there is a range. The concentration attribute then becomes the lower limit. */ - concentrationHighLimitRatio?: Ratio; + concentrationHighLimitRatio?: Ratio|undefined; /** * An upper limit for the strength per unitary volume (or mass), for when there is a range. The concentration attribute then becomes the lower limit. */ - concentrationHighLimitQuantity?: Quantity; + concentrationHighLimitQuantity?: Quantity|undefined; /** * A textual represention of either the whole of the concentration strength or a part of it - with the rest being in Strength.concentration as a ratio. */ - concentrationText?: string; - _concentrationText?: Element; + concentrationText?: string|undefined; + _concentrationText?: Element|undefined; /** * The country or countries for which the strength range applies. */ - country?: CodeableConcept[]; + country?: CodeableConcept[]|undefined; /** * For when strength is measured at a particular point or distance. */ - measurementPoint?: string; - _measurementPoint?: Element; + measurementPoint?: string|undefined; + _measurementPoint?: Element|undefined; /** * The quantity of substance in the unit of presentation, or in the volume (or mass) of the single pharmaceutical product or manufactured item. */ - presentationRatio?: Ratio; + presentationRatio?: Ratio|undefined; /** * The quantity of substance in the unit of presentation, or in the volume (or mass) of the single pharmaceutical product or manufactured item. */ - presentationCodeableConcept?: CodeableConcept; + presentationCodeableConcept?: CodeableConcept|undefined; /** * The quantity of substance in the unit of presentation, or in the volume (or mass) of the single pharmaceutical product or manufactured item. */ - presentationQuantity?: Quantity; + presentationQuantity?: Quantity|undefined; /** * An upper limit for the quantity of substance in the unit of presentation. When there is a range of strengths, this represents the upper limit. */ - presentationHighLimitRatio?: Ratio; + presentationHighLimitRatio?: Ratio|undefined; /** * An upper limit for the quantity of substance in the unit of presentation. When there is a range of strengths, this represents the upper limit. */ - presentationHighLimitQuantity?: Quantity; + presentationHighLimitQuantity?: Quantity|undefined; /** * A textual represention of either the whole of the presentation strength or a part of it - with the rest being in Strength.presentation as a ratio. */ - presentationText?: string; - _presentationText?: Element; + presentationText?: string|undefined; + _presentationText?: Element|undefined; /** * Strength expressed in terms of a reference substance. */ - referenceStrength?: IngredientSubstanceStrengthReferenceStrength[]; + referenceStrength?: IngredientSubstanceStrengthReferenceStrength[]|undefined; } /** * The substance that comprises this ingredient. @@ -18668,7 +18668,7 @@ export interface IngredientSubstance extends BackboneElement { /** * The quantity of substance in the unit of presentation, or in the volume (or mass) of the single pharmaceutical product or manufactured item. When there is a range of strengths, this represents the lower limit. */ - strength?: IngredientSubstanceStrength[]; + strength?: IngredientSubstanceStrength[]|undefined; } /** * A specified substance that comprises this ingredient. @@ -18681,7 +18681,7 @@ export interface IngredientSpecifiedSubstance extends BackboneElement { /** * Confidentiality level of the specified substance as the ingredient. */ - confidentiality?: CodeableConcept; + confidentiality?: CodeableConcept|undefined; /** * The group of specified substance, e.g. group 1 to 4, where the group categorises the level of * description of the substance according to standardised sets of properties. @@ -18690,7 +18690,7 @@ export interface IngredientSpecifiedSubstance extends BackboneElement { /** * Quantity of the substance or specified substance present in the manufactured item or pharmaceutical product. */ - strength?: IngredientSubstanceStrength[]; + strength?: IngredientSubstanceStrength[]|undefined; } /** * An ingredient of a manufactured item or pharmaceutical product. @@ -18701,29 +18701,29 @@ export interface Ingredient extends DomainResource { /** * If the ingredient is a known or suspected allergen. */ - allergenicIndicator?: boolean; - _allergenicIndicator?: Element; + allergenicIndicator?: boolean|undefined; + _allergenicIndicator?: Element|undefined; /** * A general description of the ingredient, or any supporting text. May be used for an unstructured list of excipients. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * A classification of the ingredient identifying its precise purpose(s) in the drug product. This extends the Ingredient.role to add more detail. Example: Antioxidant, Alkalizing Agent. */ - function?: CodeableConcept[]; + function?: CodeableConcept[]|undefined; /** * A classification of the ingredient according to where in the physical item it tends to be used, such the outer shell of a tablet, inner body or ink. */ - group?: CodeableConcept; + group?: CodeableConcept|undefined; /** * The identifier(s) of this Ingredient that are assigned by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * The organization that manufactures this ingredient. */ - manufacturer?: Reference[]; + manufacturer?: Reference[]|undefined; /** * A classification of the ingredient identifying its purpose within the product, e.g. active, inactive. */ @@ -18731,11 +18731,11 @@ export interface Ingredient extends DomainResource { /** * A specified substance that comprises this ingredient. */ - specifiedSubstance?: IngredientSpecifiedSubstance[]; + specifiedSubstance?: IngredientSpecifiedSubstance[]|undefined; /** * The substance that comprises this ingredient. */ - substance?: IngredientSubstance; + substance?: IngredientSubstance|undefined; } /** * Where multiple contacts for the same purpose are provided there is a standard extension that can be used to determine which one is the preferred contact to use. @@ -18744,19 +18744,19 @@ export interface InsurancePlanContact extends BackboneElement { /** * Visiting or postal addresses for the contact. */ - address?: Address; + address?: Address|undefined; /** * A name associated with the contact. */ - name?: HumanName; + name?: HumanName|undefined; /** * Indicates a purpose for which the contact can be reached. */ - purpose?: CodeableConcept; + purpose?: CodeableConcept|undefined; /** * A contact detail (e.g. a telephone number or an email address) by which the party may be contacted. */ - telecom?: ContactPoint[]; + telecom?: ContactPoint[]|undefined; } /** * The specific limits on the benefit. @@ -18765,11 +18765,11 @@ export interface InsurancePlanCoverageBenefitLimit extends BackboneElement { /** * Use `CodeableConcept.text` element if the data is free (uncoded) text. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * May also be called “eligible expense,” “payment allowance,” or “negotiated rate.”. */ - value?: Quantity; + value?: Quantity|undefined; } /** * Specific benefits under this type of coverage. @@ -18778,12 +18778,12 @@ export interface InsurancePlanCoverageBenefit extends BackboneElement { /** * The specific limits on the benefit. */ - limit?: InsurancePlanCoverageBenefitLimit[]; + limit?: InsurancePlanCoverageBenefitLimit[]|undefined; /** * The referral requirements to have access/coverage for this benefit. */ - requirement?: string; - _requirement?: Element; + requirement?: string|undefined; + _requirement?: Element|undefined; /** * Type of benefit (primary care; speciality care; inpatient; outpatient). */ @@ -18800,7 +18800,7 @@ export interface InsurancePlanCoverage extends BackboneElement { /** * Networks are represented as a hierarchy of organization resources. */ - network?: Reference[]; + network?: Reference[]|undefined; /** * Type of coverage (Medical; Dental; Mental Health; Substance Abuse; Vision; Drug; Short Term; Long Term Care; Hospice; Home Health). */ @@ -18813,20 +18813,20 @@ export interface InsurancePlanPlanGeneralCost extends BackboneElement { /** * Additional information about the general costs associated with this plan. */ - comment?: string; - _comment?: Element; + comment?: string|undefined; + _comment?: Element|undefined; /** * Value of the cost. */ - cost?: Money; + cost?: Money|undefined; /** * Number of participants enrolled in the plan. */ - groupSize?: number; + groupSize?: number|undefined; /** * Type of cost. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * List of the costs associated with a specific benefit. @@ -18835,11 +18835,11 @@ export interface InsurancePlanPlanSpecificCostBenefitCost extends BackboneElemen /** * Whether the cost applies to in-network or out-of-network providers (in-network; out-of-network; other). */ - applicability?: CodeableConcept; + applicability?: CodeableConcept|undefined; /** * Additional information about the cost, such as information about funding sources (e.g. HSA, HRA, FSA, RRA). */ - qualifiers?: CodeableConcept[]; + qualifiers?: CodeableConcept[]|undefined; /** * Type of cost (copay; individual cap; family cap; coinsurance; deductible). */ @@ -18847,7 +18847,7 @@ export interface InsurancePlanPlanSpecificCostBenefitCost extends BackboneElemen /** * The actual cost value. (some of the costs may be represented as percentages rather than currency, e.g. 10% coinsurance). */ - value?: Quantity; + value?: Quantity|undefined; } /** * List of the specific benefits under this category of benefit. @@ -18856,7 +18856,7 @@ export interface InsurancePlanPlanSpecificCostBenefit extends BackboneElement { /** * List of the costs associated with a specific benefit. */ - cost?: InsurancePlanPlanSpecificCostBenefitCost[]; + cost?: InsurancePlanPlanSpecificCostBenefitCost[]|undefined; /** * Type of specific benefit (preventative; primary care office visit; speciality office visit; hospitalization; emergency room; urgent care). */ @@ -18869,7 +18869,7 @@ export interface InsurancePlanPlanSpecificCost extends BackboneElement { /** * List of the specific benefits under this category of benefit. */ - benefit?: InsurancePlanPlanSpecificCostBenefit[]; + benefit?: InsurancePlanPlanSpecificCostBenefit[]|undefined; /** * General category of benefit (Medical; Dental; Vision; Drug; Mental Health; Substance Abuse; Hospice, Home Health). */ @@ -18882,27 +18882,27 @@ export interface InsurancePlanPlan extends BackboneElement { /** * The geographic region in which a health insurance plan's benefits apply. */ - coverageArea?: Reference[]; + coverageArea?: Reference[]|undefined; /** * Overall costs associated with the plan. */ - generalCost?: InsurancePlanPlanGeneralCost[]; + generalCost?: InsurancePlanPlanGeneralCost[]|undefined; /** * Business identifiers assigned to this health insurance plan which remain constant as the resource is updated and propagates from server to server. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Networks are represented as a hierarchy of organization resources. */ - network?: Reference[]; + network?: Reference[]|undefined; /** * Costs associated with the coverage provided by the product. */ - specificCost?: InsurancePlanPlanSpecificCost[]; + specificCost?: InsurancePlanPlanSpecificCost[]|undefined; /** * Type of plan. For example, "Platinum" or "High Deductable". */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Details of a Health Insurance product/plan provided by an organization. @@ -18913,62 +18913,62 @@ export interface InsurancePlan extends DomainResource { /** * An organization which administer other services such as underwriting, customer service and/or claims processing on behalf of the health insurance product owner. */ - administeredBy?: Reference; + administeredBy?: Reference|undefined; /** * There are no dates associated with the alias/historic names, as this is not intended to track when names were used, but to assist in searching so that older names can still result in identifying the product/plan. */ - alias?: string[]; - _alias?: Element[]; + alias?: string[]|undefined; + _alias?: Element[]|undefined; /** * Where multiple contacts for the same purpose are provided there is a standard extension that can be used to determine which one is the preferred contact to use. */ - contact?: InsurancePlanContact[]; + contact?: InsurancePlanContact[]|undefined; /** * Details about the coverage offered by the insurance product. */ - coverage?: InsurancePlanCoverage[]; + coverage?: InsurancePlanCoverage[]|undefined; /** * The geographic region in which a health insurance product's benefits apply. */ - coverageArea?: Reference[]; + coverageArea?: Reference[]|undefined; /** * The technical endpoints providing access to services operated for the health insurance product. */ - endpoint?: Reference[]; + endpoint?: Reference[]|undefined; /** * Business identifiers assigned to this health insurance product which remain constant as the resource is updated and propagates from server to server. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * If the name of the product/plan changes, consider putting the old name in the alias column so that it can still be located through searches. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Networks are represented as a hierarchy of organization resources. */ - network?: Reference[]; + network?: Reference[]|undefined; /** * The entity that is providing the health insurance product and underwriting the risk. This is typically an insurance carriers, other third-party payers, or health plan sponsors comonly referred to as 'payers'. */ - ownedBy?: Reference; + ownedBy?: Reference|undefined; /** * The period of time that the health insurance product is available. */ - period?: Period; + period?: Period|undefined; /** * Details about an insurance plan. */ - plan?: InsurancePlanPlan[]; + plan?: InsurancePlanPlan[]|undefined; /** * The current state of the health insurance product. */ - status?: InsurancePlanStatusCodes; - _status?: Element; + status?: InsurancePlanStatusCodes|undefined; + _status?: Element|undefined; /** * The kind of health insurance product. */ - type?: CodeableConcept[]; + type?: CodeableConcept[]|undefined; } /** * Code Values for the InsurancePlan.status field @@ -18986,12 +18986,12 @@ export interface InventoryReportInventoryListingItems extends BackboneElement { /** * The category of the item or items. */ - category?: CodeableConcept; + category?: CodeableConcept|undefined; /** * The expiry date of the item or items. */ - expiry?: string; - _expiry?: Element; + expiry?: string|undefined; + _expiry?: Element|undefined; /** * The code or reference to the item type. */ @@ -18999,13 +18999,13 @@ export interface InventoryReportInventoryListingItems extends BackboneElement { /** * The lot number of the item or items. */ - lot?: string; - _lot?: Element; + lot?: string|undefined; + _lot?: Element|undefined; /** * The manufacturingDate of the item or items. */ - manufacturingDate?: string; - _manufacturingDate?: Element; + manufacturingDate?: string|undefined; + _manufacturingDate?: Element|undefined; /** * The quantity of the item or items. */ @@ -19013,8 +19013,8 @@ export interface InventoryReportInventoryListingItems extends BackboneElement { /** * The serial number of the item. */ - serial?: string; - _serial?: Element; + serial?: string|undefined; + _serial?: Element|undefined; } /** * An inventory listing section (grouped by any of the attributes). @@ -19023,20 +19023,20 @@ export interface InventoryReportInventoryListing extends BackboneElement { /** * The date and time when the items were counted. */ - countingDateTime?: string; - _countingDateTime?: Element; + countingDateTime?: string|undefined; + _countingDateTime?: Element|undefined; /** * The item or items in this listing. */ - items?: InventoryReportInventoryListingItems[]; + items?: InventoryReportInventoryListingItems[]|undefined; /** * The status of the items. */ - itemStatus?: CodeableConcept; + itemStatus?: CodeableConcept|undefined; /** * Location of the inventory items. */ - location?: Reference; + location?: Reference|undefined; } /** * A report of inventory or stock items. @@ -19048,45 +19048,45 @@ export interface InventoryReport extends DomainResource { * Whether the report is about the current inventory count (snapshot) or a differential change in inventory (change). */ countType: InventoryReportCountTypeCodes; - _countType?: Element; + _countType?: Element|undefined; /** * Identifiers for the InventoryReport. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * An inventory listing section (grouped by any of the attributes). */ - inventoryListing?: InventoryReportInventoryListing[]; + inventoryListing?: InventoryReportInventoryListing[]|undefined; /** * A note associated with the InventoryReport. */ - note?: Annotation; + note?: Annotation|undefined; /** * What type of operation is being performed - addition or subtraction. */ - operationType?: CodeableConcept; + operationType?: CodeableConcept|undefined; /** * The reason for this count - regular count, ad-hoc count, new arrivals, etc. */ - operationTypeReason?: CodeableConcept; + operationTypeReason?: CodeableConcept|undefined; /** * When the report has been submitted. */ reportedDateTime: string; - _reportedDateTime?: Element; + _reportedDateTime?: Element|undefined; /** * Who submits the report. */ - reporter?: Reference; + reporter?: Reference|undefined; /** * The period the report refers to. */ - reportingPeriod?: Period; + reportingPeriod?: Period|undefined; /** * The status of the inventory check or notification - whether this is draft (e.g. the report is still pending some updates) or active. */ status: InventoryReportStatusCodes; - _status?: Element; + _status?: Element|undefined; } /** * Code Values for the InventoryReport.countType field @@ -19115,7 +19115,7 @@ export interface InvoiceParticipant extends BackboneElement { /** * Describes the type of involvement (e.g. transcriptionist, creator etc.). If the invoice has been created automatically, the Participant may be a billing engine or another kind of device. */ - role?: CodeableConcept; + role?: CodeableConcept|undefined; } /** * The price for a ChargeItem may be calculated as a base price with surcharges/deductions that apply in certain conditions. A ChargeItemDefinition resource that defines the prices, factors and conditions that apply to a billing code is currently under development. The priceComponent element can be used to offer transparency to the recipient of the Invoice as to how the prices have been calculated. @@ -19124,20 +19124,20 @@ export interface InvoiceLineItemPriceComponent extends BackboneElement { /** * There is no reason to carry the price in the instance of a ChargeItem unless circumstances require a manual override. The list prices or are usually defined in a back catalogue of the billing codes (see ChargeItem.definition). Derived profiles may require a ChargeItem.overrideReason to be provided if either factor or price are manually overridden. */ - amount?: Money; + amount?: Money|undefined; /** * A code that identifies the component. Codes may be used to differentiate between kinds of taxes, surcharges, discounts etc. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * There is no reason to carry the price in the instance of a ChargeItem unless circumstances require a manual override. The list prices or are usually defined in a back catalogue of the billing codes (see ChargeItem.definition). Derived profiles may require a ChargeItem.overrideReason to be provided if either factor or price are manually overridden. */ - factor?: number; + factor?: number|undefined; /** * This code identifies the type of the component. */ type: InvoiceLineItemPriceComponentTypeCodes; - _type?: Element; + _type?: Element|undefined; } /** * Code Values for the Invoice.lineItem.priceComponent.type field @@ -19157,19 +19157,19 @@ export interface InvoiceLineItem extends BackboneElement { /** * The ChargeItem contains information such as the billing code, date, amount etc. If no further details are required for the lineItem, inline billing codes can be added using the CodeableConcept data type instead of the Reference. */ - chargeItemReference?: Reference; + chargeItemReference?: Reference|undefined; /** * The ChargeItem contains information such as the billing code, date, amount etc. If no further details are required for the lineItem, inline billing codes can be added using the CodeableConcept data type instead of the Reference. */ - chargeItemCodeableConcept?: CodeableConcept; + chargeItemCodeableConcept?: CodeableConcept|undefined; /** * The price for a ChargeItem may be calculated as a base price with surcharges/deductions that apply in certain conditions. A ChargeItemDefinition resource that defines the prices, factors and conditions that apply to a billing code is currently under development. The priceComponent element can be used to offer transparency to the recipient of the Invoice as to how the prices have been calculated. */ - priceComponent?: InvoiceLineItemPriceComponent[]; + priceComponent?: InvoiceLineItemPriceComponent[]|undefined; /** * Sequence in which the items appear on the invoice. */ - sequence?: number; + sequence?: number|undefined; } /** * Invoice containing collected ChargeItems from an Account with calculated individual and total price for Billing purpose. @@ -19180,71 +19180,71 @@ export interface Invoice extends DomainResource { /** * Systems posting the ChargeItems might not always be able to determine, which accounts the Items need to be places into. It is up to the potprocessing Financial System to apply internal rules to decide based on the Encounter/EpisodeOfCare/Patient/Coverage context and the type of ChargeItem, which Account is appropriate. */ - account?: Reference; + account?: Reference|undefined; /** * Derived Profiles may choose to add invariants requiring this field to be populated if either priceOverride or factorOverride have been filled. */ - cancelledReason?: string; - _cancelledReason?: Element; + cancelledReason?: string|undefined; + _cancelledReason?: Element|undefined; /** * The list of types may be constrained as appropriate for the type of charge item. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * Identifier of this Invoice, often used for reference in correspondence about this invoice or for tracking of payments. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Practitioners and Devices can be associated with multiple organizations. It has to be made clear, on behalf of which Organization the services have been rendered. */ - issuer?: Reference; + issuer?: Reference|undefined; /** * Each line item represents one charge for goods and services rendered. Details such as date, code and amount are found in the referenced ChargeItem resource. */ - lineItem?: InvoiceLineItem[]; + lineItem?: InvoiceLineItem[]|undefined; /** * Comments made about the invoice by the issuer, subject, or other participants. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * Indicates who or what performed or participated in the charged service. */ - participant?: InvoiceParticipant[]; + participant?: InvoiceParticipant[]|undefined; /** * Derived Profiles may chose to add invariants requiring this field to be populated if either priceOverride or factorOverride have been filled. */ - paymentTerms?: string; - _paymentTerms?: Element; + paymentTerms?: string|undefined; + _paymentTerms?: Element|undefined; /** * The individual or Organization responsible for balancing of this invoice. */ - recipient?: Reference; + recipient?: Reference|undefined; /** * The current state of the Invoice. */ status: InvoiceStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * The individual or set of individuals receiving the goods and services billed in this invoice. */ - subject?: Reference; + subject?: Reference|undefined; /** * There is no reason to carry the price in the instance of a ChargeItem unless circumstances require a manual override. The list prices or are usually defined in a back catalogue of the billing codes (see ChargeItem.definition). Derived profiles may require a ChargeItem.overrideReason to be provided if either factor or price are manually overridden. */ - totalGross?: Money; + totalGross?: Money|undefined; /** * There is no reason to carry the price in the instance of a ChargeItem unless circumstances require a manual override. The list prices or are usually defined in a back catalogue of the billing codes (see ChargeItem.definition). Derived profiles may require a ChargeItem.overrideReason to be provided if either factor or price are manually overridden. */ - totalNet?: Money; + totalNet?: Money|undefined; /** * The total amount for the Invoice may be calculated as the sum of the line items with surcharges/deductions that apply in certain conditions. The priceComponent element can be used to offer transparency to the recipient of the Invoice of how the total price was calculated. */ - totalPriceComponent?: InvoiceLineItemPriceComponent[]; + totalPriceComponent?: InvoiceLineItemPriceComponent[]|undefined; /** * Type of Invoice depending on domain, realm an usage (e.g. internal/external, dental, preliminary). */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Code Values for the Invoice.status field @@ -19265,123 +19265,123 @@ export interface Library extends DomainResource { /** * The 'date' element may be more recent than the approval date because of minor changes or editorial corrections. */ - approvalDate?: string; - _approvalDate?: Element; + approvalDate?: string|undefined; + _approvalDate?: Element|undefined; /** * An individiual or organization primarily involved in the creation and maintenance of the content. */ - author?: ContactDetail[]; + author?: ContactDetail[]|undefined; /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * The content of the library as an Attachment. The content may be a reference to a url, or may be directly embedded as a base-64 string. Either way, the contentType of the attachment determines how to interpret the content. */ - content?: Attachment[]; + content?: Attachment[]|undefined; /** * A copyright statement relating to the library and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the library. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * Describes a set of data that must be provided in order to be able to successfully perform the computations defined by the library. */ - dataRequirement?: DataRequirement[]; + dataRequirement?: DataRequirement[]|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the library. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * This description can be used to capture details such as why the library was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the library as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the library is presumed to be the predominant language in the place the library was created). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * An individual or organization primarily responsible for internal coherence of the content. */ - editor?: ContactDetail[]; + editor?: ContactDetail[]|undefined; /** * The effective period for a library determines when the content is applicable for usage and is independent of publication and review dates. For example, a measure intended to be used for the year 2016 might be published in 2015. */ - effectivePeriod?: Period; + effectivePeriod?: Period|undefined; /** * An individual or organization responsible for officially endorsing the content for use in some setting. */ - endorser?: ContactDetail[]; + endorser?: ContactDetail[]|undefined; /** * Allows filtering of librarys that are appropriate for use versus not. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this library outside of FHIR, where it is not possible to use the logical URI. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * It may be possible for the library to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * If specified, this date follows the original approval date. */ - lastReviewDate?: string; - _lastReviewDate?: Element; + lastReviewDate?: string|undefined; + _lastReviewDate?: Element|undefined; /** * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * The parameter element defines parameters used by the library. */ - parameter?: ParameterDefinition[]; + parameter?: ParameterDefinition[]|undefined; /** * Usually an organization but may be an individual. The publisher (or steward) of the library is the organization or individual primarily responsible for the maintenance and upkeep of the library. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the library. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * This element does not describe the usage of the library. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this library. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * Each related artifact is either an attachment, or a reference to another resource, but not both. */ - relatedArtifact?: RelatedArtifact[]; + relatedArtifact?: RelatedArtifact[]|undefined; /** * An individual or organization primarily responsible for review of some aspect of the content. */ - reviewer?: ContactDetail[]; + reviewer?: ContactDetail[]|undefined; /** * Allows filtering of libraries that are appropriate for use vs. not. */ status: LibraryStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * A code or group definition that describes the intended subject of the contents of the library. */ - subjectCodeableConcept?: CodeableConcept; + subjectCodeableConcept?: CodeableConcept|undefined; /** * A code or group definition that describes the intended subject of the contents of the library. */ - subjectReference?: Reference; + subjectReference?: Reference|undefined; /** * An explanatory or alternate title for the library giving additional information about its content. */ - subtitle?: string; - _subtitle?: Element; + subtitle?: string|undefined; + _subtitle?: Element|undefined; /** * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Descriptive topics related to the content of the library. Topics provide a high-level categorization of the library that can be useful for filtering and searching. */ - topic?: CodeableConcept[]; + topic?: CodeableConcept[]|undefined; /** * Identifies the type of library such as a Logic Library, Model Definition, Asset Collection, or Module Definition. */ @@ -19391,22 +19391,22 @@ export interface Library extends DomainResource { * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * A detailed description of how the library is used from a clinical perspective. */ - usage?: string; - _usage?: Element; + usage?: string|undefined; + _usage?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different library instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the library with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the Library.status field @@ -19429,7 +19429,7 @@ export interface LinkageItem extends BackboneElement { * Distinguishes which item is "source of truth" (if any) and which items are no longer considered to be current representations. */ type: LinkageItemTypeCodes; - _type?: Element; + _type?: Element|undefined; } /** * Code Values for the Linkage.item.type field @@ -19448,12 +19448,12 @@ export interface Linkage extends DomainResource { /** * If false, any asserted linkages should not be considered current/relevant/applicable. */ - active?: boolean; - _active?: Element; + active?: boolean|undefined; + _active?: Element|undefined; /** * Identifies the user or organization responsible for asserting the linkages as well as the user or organization who establishes the context in which the nature of each linkage is evaluated. */ - author?: Reference; + author?: Reference|undefined; /** * Identifies which record considered as the reference to the same real-world occurrence as well as how the items should be evaluated within the collection of linked items. */ @@ -19466,17 +19466,17 @@ export interface ListEntry extends BackboneElement { /** * When this item was added to the list. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * If the flag means that the entry has actually been deleted from the list, the deleted element SHALL be true. Both flag and deleted can only be used if the List.mode is "changes". A deleted entry should be displayed in narrative as deleted. This element is labeled as a modifier because it indicates that an item is (to be) no longer in the list. */ - deleted?: boolean; - _deleted?: Element; + deleted?: boolean|undefined; + _deleted?: Element|undefined; /** * The flag can only be understood in the context of the List.code. If the flag means that the entry has actually been deleted from the list, the deleted element SHALL be true. Deleted can only be used if the List.mode is "changes". */ - flag?: CodeableConcept; + flag?: CodeableConcept|undefined; /** * A reference to the actual resource from which data was derived. */ @@ -19491,59 +19491,59 @@ export interface List extends DomainResource { /** * If there is no code, the purpose of the list is implied where it is used, such as in a document section using Document.section.code. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * The actual important date is the date of currency of the resources that were summarized, but it is usually assumed that these are current when the preparation occurs. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * The various reasons for an empty list make a significant interpretation to its interpretation. Note that this code is for use when the entire list has been suppressed, and not for when individual items are omitted - implementers may consider using a text note or a flag on an entry in these cases. */ - emptyReason?: CodeableConcept; + emptyReason?: CodeableConcept|undefined; /** * The encounter that is the context in which this list was created. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * If there are no entries in the list, an emptyReason SHOULD be provided. */ - entry?: ListEntry[]; + entry?: ListEntry[]|undefined; /** * Identifier for the List assigned for business purposes outside the context of FHIR. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * This element is labeled as a modifier because a change list must not be misunderstood as a complete list. */ mode: ListModeCodes; - _mode?: Element; + _mode?: Element|undefined; /** * Comments that apply to the overall list. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * Applications SHOULD render ordered lists in the order provided, but MAY allow users to re-order based on their own preferences as well. If there is no order specified, the order is unknown, though there may still be some order. */ - orderedBy?: CodeableConcept; + orderedBy?: CodeableConcept|undefined; /** * The primary source is the entity that made the decisions what items are in the list. This may be software or user. */ - source?: Reference; + source?: Reference|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: ListStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Some purely arbitrary lists do not have a common subject, so this is optional. */ - subject?: Reference; + subject?: Reference|undefined; /** * A label for the list assigned by the author. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; } /** * Code Values for the List.mode field @@ -19568,7 +19568,7 @@ export interface LocationPosition extends BackboneElement { /** * Altitude. The value domain and the interpretation are the same as for the text of the altitude element in KML (see notes below). */ - altitude?: number; + altitude?: number|undefined; /** * Latitude. The value domain and the interpretation are the same as for the text of the latitude element in KML (see notes below). */ @@ -19586,23 +19586,23 @@ export interface LocationHoursOfOperation extends BackboneElement { /** * The Location is open all day. */ - allDay?: boolean; - _allDay?: Element; + allDay?: boolean|undefined; + _allDay?: Element|undefined; /** * Time that the Location closes. */ - closingTime?: string; - _closingTime?: Element; + closingTime?: string|undefined; + _closingTime?: Element|undefined; /** * Indicates which days of the week are available between the start and end Times. */ - daysOfWeek?: LocationHoursOfOperationDaysOfWeekCodes[]; - _daysOfWeek?: Element[]; + daysOfWeek?: LocationHoursOfOperationDaysOfWeekCodes[]|undefined; + _daysOfWeek?: Element[]|undefined; /** * Time that the Location opens. */ - openingTime?: string; - _openingTime?: Element; + openingTime?: string|undefined; + _openingTime?: Element|undefined; } /** * Code Values for the Location.hoursOfOperation.daysOfWeek field @@ -19625,78 +19625,78 @@ export interface Location extends DomainResource { /** * Additional addresses should be recorded using another instance of the Location resource, or via the Organization. */ - address?: Address; + address?: Address|undefined; /** * There are no dates associated with the alias/historic names, as this is not intended to track when names were used, but to assist in searching so that older names can still result in identifying the location. */ - alias?: string[]; - _alias?: Element[]; + alias?: string[]|undefined; + _alias?: Element[]|undefined; /** * A description of when the locations opening ours are different to normal, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as detailed in the opening hours Times. */ - availabilityExceptions?: string; - _availabilityExceptions?: Element; + availabilityExceptions?: string|undefined; + _availabilityExceptions?: Element|undefined; /** * Description of the Location, which helps in finding or referencing the place. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Technical endpoints providing access to services operated for the location. */ - endpoint?: Reference[]; + endpoint?: Reference[]|undefined; /** * This type of information is commonly found published in directories and on websites informing customers when the facility is available. * Specific services within the location may have their own hours which could be shorter (or longer) than the locations hours. */ - hoursOfOperation?: LocationHoursOfOperation[]; + hoursOfOperation?: LocationHoursOfOperation[]|undefined; /** * Unique code or number identifying the location to its users. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * This can also be used as the part of the organization hierarchy where this location provides services. These services can be defined through the HealthcareService resource. */ - managingOrganization?: Reference; + managingOrganization?: Reference|undefined; /** * This is labeled as a modifier because whether or not the location is a class of locations changes how it can be used and understood. */ - mode?: LocationModeCodes; - _mode?: Element; + mode?: LocationModeCodes|undefined; + _mode?: Element|undefined; /** * If the name of a location changes, consider putting the old name in the alias column so that it can still be located through searches. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * The operational status covers operation values most relevant to beds (but can also apply to rooms/units/chairs/etc. such as an isolation unit/dialysis chair). This typically covers concepts such as contamination, housekeeping, and other activities like maintenance. */ - operationalStatus?: Coding; + operationalStatus?: Coding|undefined; /** * Another Location of which this Location is physically a part of. */ - partOf?: Reference; + partOf?: Reference|undefined; /** * Physical form of the location, e.g. building, room, vehicle, road. */ - physicalType?: CodeableConcept; + physicalType?: CodeableConcept|undefined; /** * The absolute geographic location of the Location, expressed using the WGS84 datum (This is the same co-ordinate system used in KML). */ - position?: LocationPosition; + position?: LocationPosition|undefined; /** * The status property covers the general availability of the resource, not the current value which may be covered by the operationStatus, or by a schedule/slots if they are configured for the location. */ - status?: LocationStatusCodes; - _status?: Element; + status?: LocationStatusCodes|undefined; + _status?: Element|undefined; /** * The contact details of communication devices available at the location. This can include phone numbers, fax numbers, mobile numbers, email addresses and web sites. */ - telecom?: ContactPoint[]; + telecom?: ContactPoint[]|undefined; /** * Indicates the type of function performed at the location. */ - type?: CodeableConcept[]; + type?: CodeableConcept[]|undefined; } /** * Code Values for the Location.mode field @@ -19724,25 +19724,25 @@ export interface ManufacturedItemDefinitionProperty extends BackboneElement { /** * A value for the characteristic. */ - valueCodeableConcept?: CodeableConcept; + valueCodeableConcept?: CodeableConcept|undefined; /** * A value for the characteristic. */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; /** * A value for the characteristic. */ - valueDate?: string; - _valueDate?: Element; + valueDate?: string|undefined; + _valueDate?: Element|undefined; /** * A value for the characteristic. */ - valueBoolean?: boolean; - _valueBoolean?: Element; + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; /** * A value for the characteristic. */ - valueAttachment?: Attachment; + valueAttachment?: Attachment|undefined; } /** * The definition and characteristics of a medicinal manufactured item, such as a tablet or capsule, as contained in a packaged medicinal product. @@ -19753,11 +19753,11 @@ export interface ManufacturedItemDefinition extends DomainResource { /** * Unique identifier. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The ingredients that make up this manufactured item. */ - ingredient?: CodeableReference[]; + ingredient?: CodeableReference[]|undefined; /** * Dose form as manufactured and before any transformation into the pharmaceutical product. */ @@ -19765,15 +19765,15 @@ export interface ManufacturedItemDefinition extends DomainResource { /** * Manufacturer of the item (Note that this should be named "manufacturer" but it currently causes technical issues). */ - manufacturer?: Reference[]; + manufacturer?: Reference[]|undefined; /** * General characteristics of this item. */ - property?: ManufacturedItemDefinitionProperty[]; + property?: ManufacturedItemDefinitionProperty[]|undefined; /** * The “real world” units in which the quantity of the manufactured item is described. */ - unitOfPresentation?: CodeableConcept; + unitOfPresentation?: CodeableConcept|undefined; } /** * A population criteria for the measure. @@ -19782,11 +19782,11 @@ export interface MeasureGroupPopulation extends BackboneElement { /** * Specifies which method should be used to aggregate measure observation values. For most scoring types, this is implied by scoring (e.g. a proportion measure counts members of the populations). For continuous variables, however, this information must be specified to ensure correct calculation. */ - aggregateMethod?: CodeableConcept; + aggregateMethod?: CodeableConcept|undefined; /** * The type of population criteria. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * In the case of a continuous-variable or ratio measure, this may be the name of a function that calculates the value of the individual observation for each patient or event in the population. For these types of measures, individual observations are reported as observation resources included in the evaluatedResources bundle for each patient. See the MeasureReport resource or the Quality Reporting topic for more information. */ @@ -19794,13 +19794,13 @@ export interface MeasureGroupPopulation extends BackboneElement { /** * The human readable description of this population criteria. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * The id of a population element in this measure that provides the input for this population criteria. In most cases, the scoring structure of the measure implies specific relationships (e.g. the Numerator uses the Denominator as the source in a proportion scoring). In some cases, however, multiple possible choices exist and must be resolved explicitly. For example in a ratio measure with multiple initial populations, the denominator must specify which population should be used as the starting point. */ - inputPopulationId?: string; - _inputPopulationId?: Element; + inputPopulationId?: string|undefined; + _inputPopulationId?: Element|undefined; } /** * Stratifiers are defined either as a single criteria, or as a set of component criteria. @@ -19809,7 +19809,7 @@ export interface MeasureGroupStratifierComponent extends BackboneElement { /** * Indicates a meaning for the stratifier component. This can be as simple as a unique identifier, or it can establish meaning in a broader context by drawing from a terminology, allowing stratifiers to be correlated across measures. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * An expression that specifies the criteria for this component of the stratifier. This is typically the name of an expression defined within a referenced library, but it may also be a path to a stratifier element. */ @@ -19817,8 +19817,8 @@ export interface MeasureGroupStratifierComponent extends BackboneElement { /** * The human readable description of this stratifier criteria component. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; } /** * The stratifier criteria for the measure report, specified as either the name of a valid CQL expression defined within a referenced library or a valid FHIR Resource Path. @@ -19827,20 +19827,20 @@ export interface MeasureGroupStratifier extends BackboneElement { /** * Indicates a meaning for the stratifier. This can be as simple as a unique identifier, or it can establish meaning in a broader context by drawing from a terminology, allowing stratifiers to be correlated across measures. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * Stratifiers are defined either as a single criteria, or as a set of component criteria. */ - component?: MeasureGroupStratifierComponent[]; + component?: MeasureGroupStratifierComponent[]|undefined; /** * An expression that specifies the criteria for the stratifier. This is typically the name of an expression defined within a referenced library, but it may also be a path to a stratifier element. */ - criteria?: Expression; + criteria?: Expression|undefined; /** * The human readable description of this stratifier criteria. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; } /** * A group of population criteria for the measure. @@ -19849,41 +19849,41 @@ export interface MeasureGroup extends BackboneElement { /** * When specified at the group level, defines the population basis for this specific group. If not specified, the basis for the group is determined by the root basis element */ - basis?: string; - _basis?: Element; + basis?: string|undefined; + _basis?: Element|undefined; /** * Indicates a meaning for the group. This can be as simple as a unique identifier, or it can establish meaning in a broader context by drawing from a terminology, allowing groups to be correlated across measures. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * The human readable description of this population group. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * When specified at the group level, this element defines the improvementNotation for this specific group. If not specified, improvementNotation for this group is determined by the root improvementNotation element */ - improvementNotation?: CodeableConcept; + improvementNotation?: CodeableConcept|undefined; /** * A population criteria for the measure. */ - population?: MeasureGroupPopulation[]; + population?: MeasureGroupPopulation[]|undefined; /** * When specified at the group level, defines the scoring for this specific group. If not specified, scoring for this group is determined by the root scoring element */ - scoring?: CodeableConcept; + scoring?: CodeableConcept|undefined; /** * When specified at the group level, this defines the scoringUnit for this specific group. If not specified, the scoringUnit for this group is determined by the root scoringUnit element. As with the root element, when this element is specified, implementations are expected to report measure scores in the specified units. Note that this may involve unit conversion if the expected units are different than the units of the resulting score calculation. In this case, unit conversions SHALL be performed according to the unit conversion semantics specified by UCUM. */ - scoringUnit?: CodeableConcept; + scoringUnit?: CodeableConcept|undefined; /** * The stratifier criteria for the measure report, specified as either the name of a valid CQL expression defined within a referenced library or a valid FHIR Resource Path. */ - stratifier?: MeasureGroupStratifier[]; + stratifier?: MeasureGroupStratifier[]|undefined; /** * When specified at the group level, defines the measure type for this specific group. If not specified, the measureType of the group is determined by the root type element */ - type?: CodeableConcept[]; + type?: CodeableConcept[]|undefined; } /** * Note that supplemental data are reported as observations for each patient and included in the evaluatedResources bundle. See the MeasureReport resource or the Quality Reporting topic for more information. @@ -19892,7 +19892,7 @@ export interface MeasureSupplementalData extends BackboneElement { /** * Indicates a meaning for the supplemental data. This can be as simple as a unique identifier, or it can establish meaning in a broader context by drawing from a terminology, allowing supplemental data to be correlated across measures. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * The criteria for the supplemental data. This is typically the name of a valid expression defined within a referenced library, but it may also be a path to a specific data element. The criteria defines the data to be returned for this element. */ @@ -19900,12 +19900,12 @@ export interface MeasureSupplementalData extends BackboneElement { /** * The human readable description of this supplemental data. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * An indicator of the intended usage for the supplemental data element. Supplemental data indicates the data is additional information requested to augment the measure information. Risk adjustment factor indicates the data is additional information used to calculate risk adjustment factors when applying a risk model to the measure calculation. */ - usage?: CodeableConcept[]; + usage?: CodeableConcept[]|undefined; } /** * The Measure resource provides the definition of a quality measure. @@ -19916,205 +19916,205 @@ export interface Measure extends DomainResource { /** * The 'date' element may be more recent than the approval date because of minor changes or editorial corrections. */ - approvalDate?: string; - _approvalDate?: Element; + approvalDate?: string|undefined; + _approvalDate?: Element|undefined; /** * An individiual or organization primarily involved in the creation and maintenance of the content. */ - author?: ContactDetail[]; + author?: ContactDetail[]|undefined; /** * For a subject-based measure, the population basis is simply boolean; all the criteria are expressed as true/false conditions that determine membership of an individual case in the population. For non-subject-based measures, the population basis can be any resource type, and the criteria are queries that return the subject's contribution to the population as a list of that resource type. For example, for a procedure-based measure, the population criteria would return lists of procedures that should be included in each population. */ - basis?: string; - _basis?: Element; + basis?: string|undefined; + _basis?: Element|undefined; /** * Provides a summary of relevant clinical guidelines or other clinical recommendations supporting the measure. */ - clinicalRecommendationStatement?: string; - _clinicalRecommendationStatement?: Element; + clinicalRecommendationStatement?: string|undefined; + _clinicalRecommendationStatement?: Element|undefined; /** * If this is a composite measure, the scoring method used to combine the component measures to determine the composite score. */ - compositeScoring?: CodeableConcept; + compositeScoring?: CodeableConcept|undefined; /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * A copyright statement relating to the measure and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the measure. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the measure. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * Provides a description of an individual term used within the measure. */ - definition?: string[]; - _definition?: Element[]; + definition?: string[]|undefined; + _definition?: Element[]|undefined; /** * This description can be used to capture details such as why the measure was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the measure as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the measure is presumed to be the predominant language in the place the measure was created). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Notices and disclaimers regarding the use of the measure or related to intellectual property (such as code systems) referenced by the measure. */ - disclaimer?: string; - _disclaimer?: Element; + disclaimer?: string|undefined; + _disclaimer?: Element|undefined; /** * An individual or organization primarily responsible for internal coherence of the content. */ - editor?: ContactDetail[]; + editor?: ContactDetail[]|undefined; /** * The effective period for a measure determines when the content is applicable for usage and is independent of publication and review dates. For example, a measure intended to be used for the year 2016 might be published in 2015. */ - effectivePeriod?: Period; + effectivePeriod?: Period|undefined; /** * An individual or organization responsible for officially endorsing the content for use in some setting. */ - endorser?: ContactDetail[]; + endorser?: ContactDetail[]|undefined; /** * Allows filtering of measures that are appropriate for use versus not. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * A group of population criteria for the measure. */ - group?: MeasureGroup[]; + group?: MeasureGroup[]|undefined; /** * Additional guidance for the measure including how it can be used in a clinical context, and the intent of the measure. */ - guidance?: string; - _guidance?: Element; + guidance?: string|undefined; + _guidance?: Element|undefined; /** * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this measure outside of FHIR, where it is not possible to use the logical URI. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Information on whether an increase or decrease in score is the preferred result (e.g., a higher score indicates better quality OR a lower score indicates better quality OR quality is within a range). */ - improvementNotation?: CodeableConcept; + improvementNotation?: CodeableConcept|undefined; /** * It may be possible for the measure to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * If specified, this date follows the original approval date. */ - lastReviewDate?: string; - _lastReviewDate?: Element; + lastReviewDate?: string|undefined; + _lastReviewDate?: Element|undefined; /** * A reference to a Library resource containing the formal logic used by the measure. */ - library?: string[]; - _library?: Element[]; + library?: string[]|undefined; + _library?: Element[]|undefined; /** * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Usually an organization but may be an individual. The publisher (or steward) of the measure is the organization or individual primarily responsible for the maintenance and upkeep of the measure. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the measure. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * This element does not describe the usage of the measure. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this measure. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * The measure rate for an organization or clinician is based upon the entities’ aggregate data and summarizes the performance of the entity over a given time period (e.g., monthly, quarterly, yearly). The aggregated data are derived from the results of a specific measure algorithm and, if appropriate, the application of specific risk adjustment models. Can also be used to describe how to risk adjust the data based on supplemental data elements described in the eMeasure (e.g., pneumonia hospital measures antibiotic selection in the ICU versus non-ICU and then the roll-up of the two). This could be applied to aggregated cohort measure definitions (e.g., CDC's aggregate reporting for TB at the state level). */ - rateAggregation?: string; - _rateAggregation?: Element; + rateAggregation?: string|undefined; + _rateAggregation?: Element|undefined; /** * Provides a succinct statement of the need for the measure. Usually includes statements pertaining to importance criterion: impact, gap in care, and evidence. */ - rationale?: string; - _rationale?: Element; + rationale?: string|undefined; + _rationale?: Element|undefined; /** * Each related artifact is either an attachment, or a reference to another resource, but not both. */ - relatedArtifact?: RelatedArtifact[]; + relatedArtifact?: RelatedArtifact[]|undefined; /** * An individual or organization primarily responsible for review of some aspect of the content. */ - reviewer?: ContactDetail[]; + reviewer?: ContactDetail[]|undefined; /** * Describes the method of adjusting for clinical severity and conditions present at the start of care that can influence patient outcomes for making valid comparisons of outcome measures across providers. Indicates whether a measure is subject to the statistical process for reducing, removing, or clarifying the influences of confounding factors to allow for more useful comparisons. */ - riskAdjustment?: string; - _riskAdjustment?: Element; + riskAdjustment?: string|undefined; + _riskAdjustment?: Element|undefined; /** * Indicates how the calculation is performed for the measure, including proportion, ratio, continuous-variable, and cohort. The value set is extensible, allowing additional measure scoring types to be represented. */ - scoring?: CodeableConcept; + scoring?: CodeableConcept|undefined; /** * When this element is specified, implementations are expected to report measure scores in the specified units. Note that this may involve unit conversion if the expected units are different than the units of the resulting score calculation. In this case, unit conversions SHALL be performed according to the unit conversion semantics specified by UCUM. */ - scoringUnit?: CodeableConcept; + scoringUnit?: CodeableConcept|undefined; /** * Allows filtering of measures that are appropriate for use versus not. */ status: MeasureStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * The subject of the measure is critical in interpreting the criteria definitions, as the logic in the measures is evaluated with respect to a particular subject. This corresponds roughly to the notion of a Compartment in that it limits what content is available based on its relationship to the subject. In CQL, this corresponds to the context declaration. */ - subjectCodeableConcept?: CodeableConcept; + subjectCodeableConcept?: CodeableConcept|undefined; /** * The subject of the measure is critical in interpreting the criteria definitions, as the logic in the measures is evaluated with respect to a particular subject. This corresponds roughly to the notion of a Compartment in that it limits what content is available based on its relationship to the subject. In CQL, this corresponds to the context declaration. */ - subjectReference?: Reference; + subjectReference?: Reference|undefined; /** * An explanatory or alternate title for the measure giving additional information about its content. */ - subtitle?: string; - _subtitle?: Element; + subtitle?: string|undefined; + _subtitle?: Element|undefined; /** * Note that supplemental data are reported as observations for each patient and included in the evaluatedResources bundle. See the MeasureReport resource or the Quality Reporting topic for more information. */ - supplementalData?: MeasureSupplementalData[]; + supplementalData?: MeasureSupplementalData[]|undefined; /** * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Descriptive topics related to the content of the measure. Topics provide a high-level categorization grouping types of measures that can be useful for filtering and searching. */ - topic?: CodeableConcept[]; + topic?: CodeableConcept[]|undefined; /** * Indicates whether the measure is used to examine a process, an outcome over time, a patient-reported outcome, or a structure measure such as utilization. */ - type?: CodeableConcept[]; + type?: CodeableConcept[]|undefined; /** * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * A detailed description, from a clinical perspective, of how the measure is used. */ - usage?: string; - _usage?: Element; + usage?: string|undefined; + _usage?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different measure instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the measure with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the Measure.status field @@ -20132,15 +20132,15 @@ export interface MeasureReportGroupPopulation extends BackboneElement { /** * The type of the population. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * The number of members of the population. */ - count?: number; + count?: number|undefined; /** * This element refers to a List of subject level MeasureReport resources, one for each subject in this population. */ - subjectResults?: Reference; + subjectResults?: Reference|undefined; } /** * A stratifier component value. @@ -20153,24 +20153,24 @@ export interface MeasureReportGroupStratifierStratumComponent extends BackboneEl /** * The stratum component value. */ - valueCodeableConcept?: CodeableConcept; + valueCodeableConcept?: CodeableConcept|undefined; /** * The stratum component value. */ - valueBoolean?: boolean; - _valueBoolean?: Element; + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; /** * The stratum component value. */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; /** * The stratum component value. */ - valueRange?: Range; + valueRange?: Range|undefined; /** * The stratum component value. */ - valueReference?: Reference; + valueReference?: Reference|undefined; } /** * The populations that make up the stratum, one for each type of population appropriate to the measure. @@ -20179,15 +20179,15 @@ export interface MeasureReportGroupStratifierStratumPopulation extends BackboneE /** * The type of the population. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * The number of members of the population in this stratum. */ - count?: number; + count?: number|undefined; /** * This element refers to a List of subject level MeasureReport resources, one for each subject in this population in this stratum. */ - subjectResults?: Reference; + subjectResults?: Reference|undefined; } /** * This element contains the results for a single stratum within the stratifier. For example, when stratifying on administrative gender, there will be four strata, one for each possible gender value. @@ -20196,57 +20196,57 @@ export interface MeasureReportGroupStratifierStratum extends BackboneElement { /** * A stratifier component value. */ - component?: MeasureReportGroupStratifierStratumComponent[]; + component?: MeasureReportGroupStratifierStratumComponent[]|undefined; /** * The measure score for this stratum, calculated as appropriate for the measure type and scoring method, and based on only the members of this stratum. */ - measureScoreQuantity?: Quantity; + measureScoreQuantity?: Quantity|undefined; /** * The measure score for this stratum, calculated as appropriate for the measure type and scoring method, and based on only the members of this stratum. */ - measureScoreDateTime?: string; - _measureScoreDateTime?: Element; + measureScoreDateTime?: string|undefined; + _measureScoreDateTime?: Element|undefined; /** * The measure score for this stratum, calculated as appropriate for the measure type and scoring method, and based on only the members of this stratum. */ - measureScoreCodeableConcept?: CodeableConcept; + measureScoreCodeableConcept?: CodeableConcept|undefined; /** * The measure score for this stratum, calculated as appropriate for the measure type and scoring method, and based on only the members of this stratum. */ - measureScorePeriod?: Period; + measureScorePeriod?: Period|undefined; /** * The measure score for this stratum, calculated as appropriate for the measure type and scoring method, and based on only the members of this stratum. */ - measureScoreRange?: Range; + measureScoreRange?: Range|undefined; /** * The measure score for this stratum, calculated as appropriate for the measure type and scoring method, and based on only the members of this stratum. */ - measureScoreDuration?: Duration; + measureScoreDuration?: Duration|undefined; /** * The populations that make up the stratum, one for each type of population appropriate to the measure. */ - population?: MeasureReportGroupStratifierStratumPopulation[]; + population?: MeasureReportGroupStratifierStratumPopulation[]|undefined; /** * The value for this stratum, expressed as a CodeableConcept. When defining stratifiers on complex values, the value must be rendered such that the value for each stratum within the stratifier is unique. */ - valueCodeableConcept?: CodeableConcept; + valueCodeableConcept?: CodeableConcept|undefined; /** * The value for this stratum, expressed as a CodeableConcept. When defining stratifiers on complex values, the value must be rendered such that the value for each stratum within the stratifier is unique. */ - valueBoolean?: boolean; - _valueBoolean?: Element; + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; /** * The value for this stratum, expressed as a CodeableConcept. When defining stratifiers on complex values, the value must be rendered such that the value for each stratum within the stratifier is unique. */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; /** * The value for this stratum, expressed as a CodeableConcept. When defining stratifiers on complex values, the value must be rendered such that the value for each stratum within the stratifier is unique. */ - valueRange?: Range; + valueRange?: Range|undefined; /** * The value for this stratum, expressed as a CodeableConcept. When defining stratifiers on complex values, the value must be rendered such that the value for each stratum within the stratifier is unique. */ - valueReference?: Reference; + valueReference?: Reference|undefined; } /** * When a measure includes multiple stratifiers, there will be a stratifier group for each stratifier defined by the measure. @@ -20255,11 +20255,11 @@ export interface MeasureReportGroupStratifier extends BackboneElement { /** * The meaning of this stratifier, as defined in the measure definition. */ - code?: CodeableConcept[]; + code?: CodeableConcept[]|undefined; /** * This element contains the results for a single stratum within the stratifier. For example, when stratifying on administrative gender, there will be four strata, one for each possible gender value. */ - stratum?: MeasureReportGroupStratifierStratum[]; + stratum?: MeasureReportGroupStratifierStratum[]|undefined; } /** * The results of the calculation, one for each population group in the measure. @@ -20268,40 +20268,40 @@ export interface MeasureReportGroup extends BackboneElement { /** * The meaning of the population group as defined in the measure definition. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * The measure score for this population group, calculated as appropriate for the measure type and scoring method, and based on the contents of the populations defined in the group. */ - measureScoreQuantity?: Quantity; + measureScoreQuantity?: Quantity|undefined; /** * The measure score for this population group, calculated as appropriate for the measure type and scoring method, and based on the contents of the populations defined in the group. */ - measureScoreDateTime?: string; - _measureScoreDateTime?: Element; + measureScoreDateTime?: string|undefined; + _measureScoreDateTime?: Element|undefined; /** * The measure score for this population group, calculated as appropriate for the measure type and scoring method, and based on the contents of the populations defined in the group. */ - measureScoreCodeableConcept?: CodeableConcept; + measureScoreCodeableConcept?: CodeableConcept|undefined; /** * The measure score for this population group, calculated as appropriate for the measure type and scoring method, and based on the contents of the populations defined in the group. */ - measureScorePeriod?: Period; + measureScorePeriod?: Period|undefined; /** * The measure score for this population group, calculated as appropriate for the measure type and scoring method, and based on the contents of the populations defined in the group. */ - measureScoreRange?: Range; + measureScoreRange?: Range|undefined; /** * The measure score for this population group, calculated as appropriate for the measure type and scoring method, and based on the contents of the populations defined in the group. */ - measureScoreDuration?: Duration; + measureScoreDuration?: Duration|undefined; /** * The populations that make up the population group, one for each type of population appropriate for the measure. */ - population?: MeasureReportGroupPopulation[]; + population?: MeasureReportGroupPopulation[]|undefined; /** * When a measure includes multiple stratifiers, there will be a stratifier group for each stratifier defined by the measure. */ - stratifier?: MeasureReportGroupStratifier[]; + stratifier?: MeasureReportGroupStratifier[]|undefined; } /** * The MeasureReport resource contains the results of the calculation of a measure; and optionally a reference to the resources involved in that calculation. @@ -20312,34 +20312,34 @@ export interface MeasureReport extends DomainResource { /** * This element only applies to Data-collection reports used to communicate the data-of-interest for a measure */ - dataUpdateType?: MeasureReportDataUpdateTypeCodes; - _dataUpdateType?: Element; + dataUpdateType?: MeasureReportDataUpdateTypeCodes|undefined; + _dataUpdateType?: Element|undefined; /** * The date this measure report was generated. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * A reference to a Bundle containing the Resources that were used in the calculation of this measure. */ - evaluatedResource?: Reference[]; + evaluatedResource?: Reference[]|undefined; /** * The results of the calculation, one for each population group in the measure. */ - group?: MeasureReportGroup[]; + group?: MeasureReportGroup[]|undefined; /** * Typically, this is used for identifiers that can go in an HL7 V3 II data type - e.g. to identify this {{title}} outside of FHIR, where the logical URL is not possible to use. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * This element is typically defined by the measure, but reproduced here to ensure the measure score can be interpreted. The element is labeled as a modifier because it changes the interpretation of the reported measure score. */ - improvementNotation?: CodeableConcept; + improvementNotation?: CodeableConcept|undefined; /** * A reference to the Measure that was calculated to produce this report. */ measure: string; - _measure?: Element; + _measure?: Element|undefined; /** * The reporting period for which the report was calculated. */ @@ -20347,29 +20347,29 @@ export interface MeasureReport extends DomainResource { /** * The individual, location, or organization that is reporting the data. */ - reporter?: Reference; + reporter?: Reference|undefined; /** * A reference to the vendor who queried the data, calculated results and/or generated the report. The ‘reporting vendor’ is intended to represent the submitting entity when it is not the same as the reporting entity. This extension is used when the Receiver is interested in getting vendor information in the report. */ - reportingVendor?: Reference; + reportingVendor?: Reference|undefined; /** * Indicates how the calculation is performed for the measure, including proportion, ratio, continuous-variable, and cohort. The value set is extensible, allowing additional measure scoring types to be represented. It is expected to be the same as the scoring element on the referenced Measure. */ - scoring?: CodeableConcept; + scoring?: CodeableConcept|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: MeasureReportStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Optional subject identifying the individual or individuals the report is for. */ - subject?: Reference; + subject?: Reference|undefined; /** * Data-collection reports are used only to communicate data-of-interest for a measure. They do not necessarily include all the data for a particular subject or population, but they may. */ type: MeasureReportTypeCodes; - _type?: Element; + _type?: Element|undefined; } /** * Code Values for the MeasureReport.dataUpdateType field @@ -20402,8 +20402,8 @@ export interface MedicationIngredient extends BackboneElement { /** * Indication of whether this ingredient affects the therapeutic action of the drug. */ - isActive?: boolean; - _isActive?: Element; + isActive?: boolean|undefined; + _isActive?: Element|undefined; /** * The ingredient (substance or medication) that the ingredient.strength relates to. This is represented as a concept from a code system or described in another resource (Substance or Medication). */ @@ -20411,15 +20411,15 @@ export interface MedicationIngredient extends BackboneElement { /** * Specifies how many (or how much) of the items there are in this Medication. For example, 250 mg per tablet. This is expressed as a ratio where the numerator is 250mg and the denominator is 1 tablet but can also be expressed a quantity when the denominator is assumed to be 1 tablet. */ - strengthRatio?: Ratio; + strengthRatio?: Ratio|undefined; /** * Specifies how many (or how much) of the items there are in this Medication. For example, 250 mg per tablet. This is expressed as a ratio where the numerator is 250mg and the denominator is 1 tablet but can also be expressed a quantity when the denominator is assumed to be 1 tablet. */ - strengthCodeableConcept?: CodeableConcept; + strengthCodeableConcept?: CodeableConcept|undefined; /** * Specifies how many (or how much) of the items there are in this Medication. For example, 250 mg per tablet. This is expressed as a ratio where the numerator is 250mg and the denominator is 1 tablet but can also be expressed a quantity when the denominator is assumed to be 1 tablet. */ - strengthQuantity?: Quantity; + strengthQuantity?: Quantity|undefined; } /** * Information that only applies to packages (not products). @@ -20428,13 +20428,13 @@ export interface MedicationBatch extends BackboneElement { /** * When this specific batch of product will expire. */ - expirationDate?: string; - _expirationDate?: Element; + expirationDate?: string|undefined; + _expirationDate?: Element|undefined; /** * The assigned lot number of a batch of the specified product. */ - lotNumber?: string; - _lotNumber?: Element; + lotNumber?: string|undefined; + _lotNumber?: Element|undefined; } /** * This resource is primarily used for the identification and definition of a medication, including ingredients, for the purposes of prescribing, dispensing, and administering a medication as well as for making statements about medication use. @@ -20445,36 +20445,36 @@ export interface Medication extends DomainResource { /** * Specific amount of the drug in the packaged product. For example, when specifying a product that has the same strength (For example, Insulin glargine 100 unit per mL solution for injection), this attribute provides additional clarification of the package amount (For example, 3 mL, 10mL, etc.). */ - amount?: Ratio; + amount?: Ratio|undefined; /** * Information that only applies to packages (not products). */ - batch?: MedicationBatch; + batch?: MedicationBatch|undefined; /** * Depending on the context of use, the code that was actually selected by the user (prescriber, dispenser, etc.) will have the coding.userSelected set to true. As described in the coding datatype: "A coding may be marked as a "userSelected" if a user selected the particular coded value in a user interface (e.g. the user selects an item in a pick-list). If a user selected coding exists, it is the preferred choice for performing translations etc. Other codes can only be literal translations to alternative code systems, or codes at a lower level of granularity (e.g. a generic code for a vendor-specific primary one). */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * When Medication is referenced from MedicationRequest, this is the ordered form. When Medication is referenced within MedicationDispense, this is the dispensed form. When Medication is referenced within MedicationAdministration, this is administered form. */ - doseForm?: CodeableConcept; + doseForm?: CodeableConcept|undefined; /** * The serial number could be included as an identifier. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The ingredients need not be a complete list. If an ingredient is not specified, this does not indicate whether an ingredient is present or absent. If an ingredient is specified it does not mean that all ingredients are specified. It is possible to specify both inactive and active ingredients. */ - ingredient?: MedicationIngredient[]; + ingredient?: MedicationIngredient[]|undefined; /** * Describes the details of the manufacturer of the medication product. This is not intended to represent the distributor of a medication product.  Describes the organization that is responsible for the manufacturing of the item and holds the registration to market the product in a jurisdiction.. This might not be the company that physically manufactures the product.  May be known as Market Authorization Holder. */ - sponsor?: Reference; + sponsor?: Reference|undefined; /** * This status is intended to identify if the medication in a local system is in active use within a drug database or inventory. For example, a pharmacy system may create a new drug file record for a compounded product "ABC Hospital Special Cream" with an active status. At some point in the future, it may be determined that the drug record was created with an error and the status is changed to "entered in error". This status is not intended to specify if a medication is part of a particular formulary. It is possible that the drug record may be referenced by multiple formularies or catalogues and each of those entries would have a separate status. */ - status?: MedicationStatusCodes; - _status?: Element; + status?: MedicationStatusCodes|undefined; + _status?: Element|undefined; } /** * Code Values for the Medication.status field @@ -20495,7 +20495,7 @@ export interface MedicationAdministrationPerformer extends BackboneElement { /** * Distinguishes the type of involvement of the performer in the medication administration. */ - function?: CodeableConcept; + function?: CodeableConcept|undefined; } /** * Describes the medication dosage information details e.g. dose, rate, site, route, etc. @@ -20504,33 +20504,33 @@ export interface MedicationAdministrationDosage extends BackboneElement { /** * If the administration is not instantaneous (rate is present), this can be specified to convey the total amount administered over period of time of a single administration. */ - dose?: Quantity; + dose?: Quantity|undefined; /** * One of the reasons this attribute is not used often, is that the method is often pre-coordinated with the route and/or form of administration. This means the codes used in route or form may pre-coordinate the method in the route code or the form code. The implementation decision about what coding system to use for route or form code will determine how frequently the method code will be populated e.g. if route or form code pre-coordinate method code, then this attribute will not be populated often; if there is no pre-coordination then method code may be used frequently. */ - method?: CodeableConcept; + method?: CodeableConcept|undefined; /** * If the rate changes over time, and you want to capture this in MedicationAdministration, then each change should be captured as a distinct MedicationAdministration, with a specific MedicationAdministration.dosage.rate, and the date time when the rate change occurred. Typically, the MedicationAdministration.dosage.rate element is not used to convey an average rate. */ - rateRatio?: Ratio; + rateRatio?: Ratio|undefined; /** * If the rate changes over time, and you want to capture this in MedicationAdministration, then each change should be captured as a distinct MedicationAdministration, with a specific MedicationAdministration.dosage.rate, and the date time when the rate change occurred. Typically, the MedicationAdministration.dosage.rate element is not used to convey an average rate. */ - rateQuantity?: Quantity; + rateQuantity?: Quantity|undefined; /** * A code specifying the route or physiological path of administration of a therapeutic agent into or onto the patient. For example, topical, intravenous, etc. */ - route?: CodeableConcept; + route?: CodeableConcept|undefined; /** * If the use case requires attributes from the BodySite resource (e.g. to identify and track separately) then use the standard extension [bodySite](extension-bodysite.html). May be a summary code, or a reference to a very precise definition of the location, or both. */ - site?: CodeableConcept; + site?: CodeableConcept|undefined; /** * Free text dosage can be used for cases where the dosage administered is too complex to code. When coded dosage is present, the free text dosage may still be present for display to humans. * The dosage instructions should reflect the dosage of the medication that was administered. */ - text?: string; - _text?: Element; + text?: string|undefined; + _text?: Element|undefined; } /** * Describes the event of a patient consuming or otherwise being administered a medication. This may be as simple as swallowing a tablet or it may be a long running infusion. Related resources tie this event to the authorizing prescription, and the specific encounter between patient and health care practitioner. @@ -20541,41 +20541,41 @@ export interface MedicationAdministration extends DomainResource { /** * A plan that is fulfilled in whole or in part by this MedicationAdministration. */ - basedOn?: Reference[]; + basedOn?: Reference[]|undefined; /** * The type of medication administration (for example, drug classification like ATC, where meds would be administered, legal category of the medication). */ - category?: CodeableConcept[]; + category?: CodeableConcept[]|undefined; /** * The device used in administering the medication to the patient. For example, a particular infusion pump. */ - device?: Reference[]; + device?: Reference[]|undefined; /** * Describes the medication dosage information details e.g. dose, rate, site, route, etc. */ - dosage?: MedicationAdministrationDosage; + dosage?: MedicationAdministrationDosage|undefined; /** * The visit, admission, or other contact between patient and health care provider during which the medication administration was performed. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * This might not include provenances for all versions of the request – only those deemed “relevant” or important. This SHALL NOT include the Provenance associated with this current version of the resource. (If that provenance is deemed to be a “relevant” change, it will need to be added as part of a later update. Until then, it can be queried directly as the Provenance that points to this version using _revinclude All Provenances should have some historical version of this Request as their subject. */ - eventHistory?: Reference[]; + eventHistory?: Reference[]|undefined; /** * This is a business identifier, not a resource identifier. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * A protocol, guideline, orderset, or other definition that was adhered to in whole or in part by this event. */ - instantiatesCanonical?: string[]; - _instantiatesCanonical?: Element[]; + instantiatesCanonical?: string[]|undefined; + _instantiatesCanonical?: Element[]|undefined; /** * The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this MedicationAdministration. */ - instantiatesUri?: string[]; - _instantiatesUri?: Element[]; + instantiatesUri?: string[]|undefined; + _instantiatesUri?: Element[]|undefined; /** * If only a code is specified, then it needs to be a code for a specific product. If more information is required, then the use of the medication resource is recommended. For example, if you require form or lot number, then you must reference the Medication resource. */ @@ -20583,46 +20583,46 @@ export interface MedicationAdministration extends DomainResource { /** * Extra information about the medication administration that is not conveyed by the other attributes. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * A specific date/time or interval of time during which the administration took place (or did not take place). For many administrations, such as swallowing a tablet the use of dateTime is more appropriate. */ - occurenceDateTime?: string; - _occurenceDateTime?: Element; + occurenceDateTime?: string|undefined; + _occurenceDateTime?: Element|undefined; /** * A specific date/time or interval of time during which the administration took place (or did not take place). For many administrations, such as swallowing a tablet the use of dateTime is more appropriate. */ - occurencePeriod?: Period; + occurencePeriod?: Period|undefined; /** * A larger event of which this particular event is a component or step. */ - partOf?: Reference[]; + partOf?: Reference[]|undefined; /** * Indicates who or what performed the medication administration and how they were involved. */ - performer?: MedicationAdministrationPerformer[]; + performer?: MedicationAdministrationPerformer[]|undefined; /** * A code, Condition or observation that supports why the medication was administered. */ - reason?: CodeableReference[]; + reason?: CodeableReference[]|undefined; /** * The date the occurrence of the MedicationAdministration was first captured in the record - potentially significantly after the occurrence of the event. */ - recorded?: string; - _recorded?: Element; + recorded?: string|undefined; + _recorded?: Element|undefined; /** * This is a reference to the MedicationRequest where the intent is either order or instance-order. It should not reference MedicationRequests where the intent is any other value. */ - request?: Reference; + request?: Reference|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: MedicationAdministrationStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * A code indicating why the administration was not performed. */ - statusReason?: CodeableConcept[]; + statusReason?: CodeableConcept[]|undefined; /** * The person or animal or group receiving the medication. */ @@ -20630,7 +20630,7 @@ export interface MedicationAdministration extends DomainResource { /** * Additional information (for example, patient height and weight) that supports the administration of the medication. This attribute can be used to provide documentation of specific characteristics of the patient present at the time of administration. For example, if the dose says "give "x" if the heartrate exceeds "y"", then the heart rate can be included using this attribute. */ - supportingInformation?: Reference[]; + supportingInformation?: Reference[]|undefined; } /** * Code Values for the MedicationAdministration.status field @@ -20655,7 +20655,7 @@ export interface MedicationDispensePerformer extends BackboneElement { /** * Distinguishes the type of performer in the dispense. For example, date enterer, packager, final checker. */ - function?: CodeableConcept; + function?: CodeableConcept|undefined; } /** * Indicates whether or not substitution was made as part of the dispense. In some cases, substitution will be expected but does not happen, in other cases substitution is not expected but does happen. This block explains what substitution did or did not happen and why. If nothing is specified, substitution was not done. @@ -20664,20 +20664,20 @@ export interface MedicationDispenseSubstitution extends BackboneElement { /** * Indicates the reason for the substitution (or lack of substitution) from what was prescribed. */ - reason?: CodeableConcept[]; + reason?: CodeableConcept[]|undefined; /** * The person or organization that has primary responsibility for the substitution. */ - responsibleParty?: Reference; + responsibleParty?: Reference|undefined; /** * A code signifying whether a different drug was dispensed from what was prescribed. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; /** * True if the dispenser dispensed a different drug or product from what was prescribed. */ wasSubstituted: boolean; - _wasSubstituted?: Element; + _wasSubstituted?: Element|undefined; } /** * Indicates that a medication product is to be or has been dispensed for a named person/patient. This includes a description of the medication product (supply) provided and the instructions for administering the medication. The medication dispense is the result of a pharmacy system responding to a medication order. @@ -20688,48 +20688,48 @@ export interface MedicationDispense extends DomainResource { /** * Maps to basedOn in Event logical model. */ - authorizingPrescription?: Reference[]; + authorizingPrescription?: Reference[]|undefined; /** * A plan that is fulfilled in whole or in part by this MedicationDispense. */ - basedOn?: Reference[]; + basedOn?: Reference[]|undefined; /** * The category can be used to include where the medication is expected to be consumed or other types of dispenses. Invariants can be used to bind to different value sets when profiling to bind. */ - category?: CodeableConcept[]; + category?: CodeableConcept[]|undefined; /** * The amount of medication expressed as a timing amount. */ - daysSupply?: Quantity; + daysSupply?: Quantity|undefined; /** * Identification of the facility/location where the medication was shipped to, as part of the dispense event. */ - destination?: Reference; + destination?: Reference|undefined; /** * This element can include a detected issue that has been identified either by a decision support system or by a clinician and may include information on the steps that were taken to address the issue. */ - detectedIssue?: Reference[]; + detectedIssue?: Reference[]|undefined; /** * When the dose or rate is intended to change over the entire administration period (e.g. Tapering dose prescriptions), multiple instances of dosage instructions will need to be supplied to convey the different doses/rates. * The pharmacist reviews the medication order prior to dispense and updates the dosageInstruction based on the actual product being dispensed. */ - dosageInstruction?: Dosage[]; + dosageInstruction?: Dosage[]|undefined; /** * The encounter that establishes the context for this event. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * This might not include provenances for all versions of the request – only those deemed “relevant” or important. This SHALL NOT include the Provenance associated with this current version of the resource. (If that provenance is deemed to be a “relevant” change, it will need to be added as part of a later update. Until then, it can be queried directly as the Provenance that points to this version using _revinclude All Provenances should have some historical version of this Request as their subject.). */ - eventHistory?: Reference[]; + eventHistory?: Reference[]|undefined; /** * This is a business identifier, not a resource identifier. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The principal physical location where the dispense was performed. */ - location?: Reference; + location?: Reference|undefined; /** * If only a code is specified, then it needs to be a code for a specific product. If more information is required, then the use of the medication resource is recommended. For example, if you require form or lot number, then you must reference the Medication resource. */ @@ -20737,37 +20737,37 @@ export interface MedicationDispense extends DomainResource { /** * Extra information about the dispense that could not be conveyed in the other attributes. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * While both a procedure and a medication administration may have triggered the dispense, but it is not expected that multiple procedures and/or multiple medication administrations would be triggers. */ - partOf?: Reference[]; + partOf?: Reference[]|undefined; /** * Indicates who or what performed the event. */ - performer?: MedicationDispensePerformer[]; + performer?: MedicationDispensePerformer[]|undefined; /** * The amount of medication that has been dispensed. Includes unit of measure. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * Identifies the person who picked up the medication or the location of where the medication was delivered. This will usually be a patient or their caregiver, but some cases exist where it can be a healthcare professional or a location. */ - receiver?: Reference[]; + receiver?: Reference[]|undefined; /** * The content of the renderedDosageInstructions must not be different than the dose represented in the dosageInstruction content. */ - renderedDosageInstruction?: string; - _renderedDosageInstruction?: Element; + renderedDosageInstruction?: string|undefined; + _renderedDosageInstruction?: Element|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: MedicationDispenseStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Indicates the reason why a dispense was not performed. */ - statusReason?: CodeableReference; + statusReason?: CodeableReference|undefined; /** * SubstanceAdministration->subject->Patient. */ @@ -20775,25 +20775,25 @@ export interface MedicationDispense extends DomainResource { /** * Indicates whether or not substitution was made as part of the dispense. In some cases, substitution will be expected but does not happen, in other cases substitution is not expected but does happen. This block explains what substitution did or did not happen and why. If nothing is specified, substitution was not done. */ - substitution?: MedicationDispenseSubstitution; + substitution?: MedicationDispenseSubstitution|undefined; /** * Additional information that supports the medication being dispensed. For example, there may be requirements that a specific lab test has been completed prior to dispensing or the patient's weight at the time of dispensing is documented. */ - supportingInformation?: Reference[]; + supportingInformation?: Reference[]|undefined; /** * Indicates the type of dispensing event that is performed. For example, Trial Fill, Completion of Trial, Partial Fill, Emergency Fill, Samples, etc. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; /** * The time the dispensed product was provided to the patient or their representative. */ - whenHandedOver?: string; - _whenHandedOver?: Element; + whenHandedOver?: string|undefined; + _whenHandedOver?: Element|undefined; /** * The time when the dispensed product was packaged and reviewed. */ - whenPrepared?: string; - _whenPrepared?: Element; + whenPrepared?: string|undefined; + _whenPrepared?: Element|undefined; } /** * Code Values for the MedicationDispense.status field @@ -20829,11 +20829,11 @@ export interface MedicationKnowledgeMonograph extends BackboneElement { /** * Associated documentation about the medication. */ - source?: Reference; + source?: Reference|undefined; /** * The category of documentation about the medication. (e.g. professional monograph, patient education monograph). */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Identifies a particular constituent of interest in the product. @@ -20842,7 +20842,7 @@ export interface MedicationKnowledgeIngredient extends BackboneElement { /** * Indication of whether this ingredient affects the therapeutic action of the drug. */ - isActive?: CodeableConcept; + isActive?: CodeableConcept|undefined; /** * The actual ingredient - either a substance (simple ingredient) or another medication. */ @@ -20850,15 +20850,15 @@ export interface MedicationKnowledgeIngredient extends BackboneElement { /** * Specifies how many (or how much) of the items there are in this Medication. For example, 250 mg per tablet. This is expressed as a ratio where the numerator is 250mg and the denominator is 1 tablet but can also be expressed a quantity when the denominator is assumed to be 1 tablet. */ - strengthRatio?: Ratio; + strengthRatio?: Ratio|undefined; /** * Specifies how many (or how much) of the items there are in this Medication. For example, 250 mg per tablet. This is expressed as a ratio where the numerator is 250mg and the denominator is 1 tablet but can also be expressed a quantity when the denominator is assumed to be 1 tablet. */ - strengthCodeableConcept?: CodeableConcept; + strengthCodeableConcept?: CodeableConcept|undefined; /** * Specifies how many (or how much) of the items there are in this Medication. For example, 250 mg per tablet. This is expressed as a ratio where the numerator is 250mg and the denominator is 1 tablet but can also be expressed a quantity when the denominator is assumed to be 1 tablet. */ - strengthQuantity?: Quantity; + strengthQuantity?: Quantity|undefined; } /** * The price of the medication. @@ -20867,20 +20867,20 @@ export interface MedicationKnowledgeCost extends BackboneElement { /** * The price or representation of the cost (for example, Band A, Band B or $, $$) of the medication. */ - costMoney?: Money; + costMoney?: Money|undefined; /** * The price or representation of the cost (for example, Band A, Band B or $, $$) of the medication. */ - costCodeableConcept?: CodeableConcept; + costCodeableConcept?: CodeableConcept|undefined; /** * The date range for which the cost information of the medication is effective. */ - effectiveDate?: Period[]; + effectiveDate?: Period[]|undefined; /** * The source or owner that assigns the price to the medication. */ - source?: string; - _source?: Element; + source?: string|undefined; + _source?: Element|undefined; /** * The category of the cost information. For example, manufacturers' cost, patient cost, claim reimbursement cost, actual acquisition cost. */ @@ -20893,12 +20893,12 @@ export interface MedicationKnowledgeMonitoringProgram extends BackboneElement { /** * Name of the reviewing program. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Type of program under which the medication is monitored. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Dosage for the medication for the specific guidelines. @@ -20924,15 +20924,15 @@ export interface MedicationKnowledgeIndicationGuidelineDosingGuidelinePatientCha /** * The specific characteristic (e.g. height, weight, gender, etc.). */ - valueCodeableConcept?: CodeableConcept; + valueCodeableConcept?: CodeableConcept|undefined; /** * The specific characteristic (e.g. height, weight, gender, etc.). */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; /** * The specific characteristic (e.g. height, weight, gender, etc.). */ - valueRange?: Range; + valueRange?: Range|undefined; } /** * The guidelines for the dosage of the medication for the indication. @@ -20941,19 +20941,19 @@ export interface MedicationKnowledgeIndicationGuidelineDosingGuideline extends B /** * The type of the treatment that the guideline applies to, for example, long term therapy, first line treatment, etc. */ - administrationTreatment?: CodeableConcept; + administrationTreatment?: CodeableConcept|undefined; /** * Dosage for the medication for the specific guidelines. */ - dosage?: MedicationKnowledgeIndicationGuidelineDosingGuidelineDosage[]; + dosage?: MedicationKnowledgeIndicationGuidelineDosingGuidelineDosage[]|undefined; /** * Characteristics of the patient that are relevant to the administration guidelines (for example, height, weight, gender, etc.). */ - patientCharacteristic?: MedicationKnowledgeIndicationGuidelineDosingGuidelinePatientCharacteristic[]; + patientCharacteristic?: MedicationKnowledgeIndicationGuidelineDosingGuidelinePatientCharacteristic[]|undefined; /** * The overall intention of the treatment, for example, prophylactic, supporative, curative, etc. */ - treatmentIntent?: CodeableConcept; + treatmentIntent?: CodeableConcept|undefined; } /** * Guidelines or protocols that are applicable for the administration of the medication based on indication. @@ -20962,11 +20962,11 @@ export interface MedicationKnowledgeIndicationGuideline extends BackboneElement /** * The guidelines for the dosage of the medication for the indication. */ - dosingGuideline?: MedicationKnowledgeIndicationGuidelineDosingGuideline[]; + dosingGuideline?: MedicationKnowledgeIndicationGuidelineDosingGuideline[]|undefined; /** * Indication or reason for use of the medication that applies to the specific administration guideline. */ - indication?: CodeableReference[]; + indication?: CodeableReference[]|undefined; } /** * Categorization of the medication within a formulary or classification system. @@ -20975,7 +20975,7 @@ export interface MedicationKnowledgeMedicineClassification extends BackboneEleme /** * Specific category assigned to the medication (e.g. anti-infective, anti-hypertensive, antibiotic, etc.). */ - classification?: CodeableConcept[]; + classification?: CodeableConcept[]|undefined; /** * The type of category for the medication (for example, therapeutic classification, therapeutic sub-classification). */ @@ -20988,31 +20988,31 @@ export interface MedicationKnowledgePackaging extends BackboneElement { /** * The cost of the packaged medication. */ - cost?: MedicationKnowledgeCost; + cost?: MedicationKnowledgeCost|undefined; /** * The device used to administer the medication (e.g. scoop, applicator, syringe). */ - device?: Reference; + device?: Reference|undefined; /** * The business identifier of the packaged medication. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * Material type of the package item. */ - material?: CodeableConcept; + material?: CodeableConcept|undefined; /** * Allows packages within packages (e.g. blister packages within a box or vials of medications within a box). */ - packaging?: MedicationKnowledgePackaging[]; + packaging?: MedicationKnowledgePackaging[]|undefined; /** * The number of product units the package would contain if fully loaded. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * A code that defines the specific type of packaging that the medication can be found in (e.g. blister sleeve, tube, bottle). */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Specifies descriptive properties of the medicine, such as color, shape, imprints, etc. @@ -21021,29 +21021,29 @@ export interface MedicationKnowledgeDrugCharacteristic extends BackboneElement { /** * A code specifying which characteristic of the medicine is being described (for example, colour, shape, imprint). */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; /** * The description should be provided as a CodeableConcept, SimpleQuantity or an image. The description can be a string only when these others are not available. */ - valueCodeableConcept?: CodeableConcept; + valueCodeableConcept?: CodeableConcept|undefined; /** * The description should be provided as a CodeableConcept, SimpleQuantity or an image. The description can be a string only when these others are not available. */ - valueString?: string; - _valueString?: Element; + valueString?: string|undefined; + _valueString?: Element|undefined; /** * The description should be provided as a CodeableConcept, SimpleQuantity or an image. The description can be a string only when these others are not available. */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; /** * The description should be provided as a CodeableConcept, SimpleQuantity or an image. The description can be a string only when these others are not available. */ - valueBase64Binary?: string; - _valueBase64Binary?: Element; + valueBase64Binary?: string|undefined; + _valueBase64Binary?: Element|undefined; /** * The description should be provided as a CodeableConcept, SimpleQuantity or an image. The description can be a string only when these others are not available. */ - valueAttachment?: Attachment; + valueAttachment?: Attachment|undefined; } /** * Specifies if changes are allowed when dispensing a medication from a regulatory perspective. @@ -21053,7 +21053,7 @@ export interface MedicationKnowledgeRegulatorySubstitution extends BackboneEleme * Specifies if regulation allows for changes in the medication when dispensing. */ allowed: boolean; - _allowed?: Element; + _allowed?: Element|undefined; /** * Specifies the type of substitution allowed. */ @@ -21066,7 +21066,7 @@ export interface MedicationKnowledgeRegulatoryMaxDispense extends BackboneElemen /** * The period that applies to the maximum number of units. */ - period?: Duration; + period?: Duration|undefined; /** * The maximum number of units of the medication that can be dispensed. */ @@ -21079,7 +21079,7 @@ export interface MedicationKnowledgeRegulatory extends BackboneElement { /** * The maximum number of units of the medication that can be dispensed in a period. */ - maxDispense?: MedicationKnowledgeRegulatoryMaxDispense; + maxDispense?: MedicationKnowledgeRegulatoryMaxDispense|undefined; /** * The authority that is specifying the regulations. */ @@ -21087,11 +21087,11 @@ export interface MedicationKnowledgeRegulatory extends BackboneElement { /** * Specifies the schedule of a medication in jurisdiction. */ - schedule?: CodeableConcept[]; + schedule?: CodeableConcept[]|undefined; /** * Specifies if changes are allowed when dispensing a medication from a regulatory perspective. */ - substitution?: MedicationKnowledgeRegulatorySubstitution[]; + substitution?: MedicationKnowledgeRegulatorySubstitution[]|undefined; } /** * The time course of drug absorption, distribution, metabolism and excretion of a medication from the body. @@ -21100,15 +21100,15 @@ export interface MedicationKnowledgeKineticCharacteristic extends BackboneElemen /** * Code specifying the type of kinetics (e.g. area under the curve, half life period, lethal dose 50.). */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; /** * Description of the characteristic. */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; /** * Description of the characteristic. */ - valueDuration?: Duration; + valueDuration?: Duration|undefined; } /** * Information about a medication that is used to support knowledge. @@ -21119,110 +21119,110 @@ export interface MedicationKnowledge extends DomainResource { /** * This is the quantity of medication in a package. To specify the strength of the medication, the Ingredient.strength attribute is used. */ - amount?: Quantity; + amount?: Quantity|undefined; /** * Associated definitions for this medication. */ - associatedDefinition?: Reference; + associatedDefinition?: Reference|undefined; /** * Links to associated medications that could be prescribed, dispensed or administered. */ - associatedMedication?: Reference[]; + associatedMedication?: Reference[]|undefined; /** * The creator or owner of the knowledge or information about the medication. */ - author?: Reference; + author?: Reference|undefined; /** * Potential clinical issue with or between medication(s) (for example, drug-drug interaction, drug-disease contraindication, drug-allergy interaction, etc.). */ - clinicalUseIssue?: Reference[]; + clinicalUseIssue?: Reference[]|undefined; /** * Depending on the context of use, the code that was actually selected by the user (prescriber, dispenser, etc.) will have the coding.userSelected set to true. As described in the coding datatype: "A coding may be marked as a "userSelected" if a user selected the particular coded value in a user interface (e.g. the user selects an item in a pick-list). If a user selected coding exists, it is the preferred choice for performing translations etc. Other codes can only be literal translations to alternative code systems, or codes at a lower level of granularity (e.g. a generic code for a vendor-specific primary one). */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * The price of the medication. */ - cost?: MedicationKnowledgeCost[]; + cost?: MedicationKnowledgeCost[]|undefined; /** * A device associated with the medication (for example, a drug coated catheter or a drug impregnated dressing). */ - device?: Reference[]; + device?: Reference[]|undefined; /** * When Medication is referenced from MedicationRequest, this is the ordered form. When Medication is referenced within MedicationDispense, this is the dispensed form. When Medication is referenced within MedicationAdministration, this is administered form. */ - doseForm?: CodeableConcept; + doseForm?: CodeableConcept|undefined; /** * Specifies descriptive properties of the medicine, such as color, shape, imprints, etc. */ - drugCharacteristic?: MedicationKnowledgeDrugCharacteristic[]; + drugCharacteristic?: MedicationKnowledgeDrugCharacteristic[]|undefined; /** * This is a business identifier, not a resource identifier (see discussion). */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Guidelines or protocols that are applicable for the administration of the medication based on indication. */ - indicationGuideline?: MedicationKnowledgeIndicationGuideline[]; + indicationGuideline?: MedicationKnowledgeIndicationGuideline[]|undefined; /** * Identifies a particular constituent of interest in the product. */ - ingredient?: MedicationKnowledgeIngredient[]; + ingredient?: MedicationKnowledgeIngredient[]|undefined; /** * The intended or approved route of administration. */ - intendedRoute?: CodeableConcept[]; + intendedRoute?: CodeableConcept[]|undefined; /** * The time course of drug absorption, distribution, metabolism and excretion of a medication from the body. */ - kineticCharacteristic?: MedicationKnowledgeKineticCharacteristic[]; + kineticCharacteristic?: MedicationKnowledgeKineticCharacteristic[]|undefined; /** * Categorization of the medication within a formulary or classification system. */ - medicineClassification?: MedicationKnowledgeMedicineClassification[]; + medicineClassification?: MedicationKnowledgeMedicineClassification[]|undefined; /** * The program under which the medication is reviewed. */ - monitoringProgram?: MedicationKnowledgeMonitoringProgram[]; + monitoringProgram?: MedicationKnowledgeMonitoringProgram[]|undefined; /** * Associated documentation about the medication. */ - monograph?: MedicationKnowledgeMonograph[]; + monograph?: MedicationKnowledgeMonograph[]|undefined; /** * Information that only applies to packages (not products). */ - packaging?: MedicationKnowledgePackaging[]; + packaging?: MedicationKnowledgePackaging[]|undefined; /** * The instructions for preparing the medication. */ - preparationInstruction?: string; - _preparationInstruction?: Element; + preparationInstruction?: string|undefined; + _preparationInstruction?: Element|undefined; /** * Category of the medication or product (e.g. branded product, therapeutic moeity, generic product, innovator product, etc.). */ - productType?: CodeableConcept[]; + productType?: CodeableConcept[]|undefined; /** * Regulatory information about a medication. */ - regulatory?: MedicationKnowledgeRegulatory[]; + regulatory?: MedicationKnowledgeRegulatory[]|undefined; /** * Associated or related medications. For example, if the medication is a branded product (e.g. Crestor), this is the Therapeutic Moeity (e.g. Rosuvastatin) or if this is a generic medication (e.g. Rosuvastatin), this would link to a branded product (e.g. Crestor. */ - relatedMedicationKnowledge?: MedicationKnowledgeRelatedMedicationKnowledge[]; + relatedMedicationKnowledge?: MedicationKnowledgeRelatedMedicationKnowledge[]|undefined; /** * Describes the details of the manufacturer of the medication product. This is not intended to represent the distributor of a medication product.  Describes the organization that is responsible for the manufacturing of the item and holds the registration to market the product in a jurisdiction. This might not be the company that physically manufactures the product.  May be known as Market Authorization Holder. */ - sponsor?: Reference; + sponsor?: Reference|undefined; /** * This status is intended to identify if the medication in a local system is in active use within a drug database or inventory. For example, a pharmacy system may create a new drug file record for a compounded product "ABC Hospital Special Cream" with an active status. At some point in the future, it may be determined that the drug record was created with an error and the status is changed to "entered in error". This status is not intended to specify if a medication is part of a particular formulary. It is possible that the drug record may be referenced by multiple formularies or catalogues and each of those entries would have a separate status. */ - status?: MedicationKnowledgeStatusCodes; - _status?: Element; + status?: MedicationKnowledgeStatusCodes|undefined; + _status?: Element|undefined; /** * Additional names for a medication, for example, the name(s) given to a medication in different countries. For example, acetaminophen and paracetamol or salbutamol and albuterol. */ - synonym?: string[]; - _synonym?: Element[]; + synonym?: string[]|undefined; + _synonym?: Element[]|undefined; } /** * Code Values for the MedicationKnowledge.status field @@ -21239,11 +21239,11 @@ export interface MedicationRequestDispenseRequestInitialFill extends BackboneEle /** * The length of time that the first dispense is expected to last. */ - duration?: Duration; + duration?: Duration|undefined; /** * The amount or quantity to provide as part of the first dispense. */ - quantity?: Quantity; + quantity?: Quantity|undefined; } /** * Indicates the specific details for the dispense or medication supply part of a medication request (also known as a Medication Prescription or Medication Order). Note that this information is not always sent with the order. There may be in some settings (e.g. hospitals) institutional or system support for completing the dispense details in the pharmacy department. @@ -21252,39 +21252,39 @@ export interface MedicationRequestDispenseRequest extends BackboneElement { /** * The minimum period of time that must occur between dispenses of the medication. */ - dispenseInterval?: Duration; + dispenseInterval?: Duration|undefined; /** * Indicates the intended performing Organization that will dispense the medication as specified by the prescriber. */ - dispenser?: Reference; + dispenser?: Reference|undefined; /** * Provides additional information to the dispenser, for example, counselling to be provided to the patient. */ - dispenserInstruction?: Annotation[]; + dispenserInstruction?: Annotation[]|undefined; /** * Provides information about the type of adherence packaging to be supplied for the medication dispense. */ - doseAdministrationAid?: CodeableConcept; + doseAdministrationAid?: CodeableConcept|undefined; /** * In some situations, this attribute may be used instead of quantity to identify the amount supplied by how long it is expected to last, rather than the physical quantity issued, e.g. 90 days supply of medication (based on an ordered dosage). When possible, it is always better to specify quantity, as this tends to be more precise. expectedSupplyDuration will always be an estimate that can be influenced by external factors. */ - expectedSupplyDuration?: Duration; + expectedSupplyDuration?: Duration|undefined; /** * If populating this element, either the quantity or the duration must be included. */ - initialFill?: MedicationRequestDispenseRequestInitialFill; + initialFill?: MedicationRequestDispenseRequestInitialFill|undefined; /** * If displaying "number of authorized fills", add 1 to this number. */ - numberOfRepeatsAllowed?: number; + numberOfRepeatsAllowed?: number|undefined; /** * The amount that is to be dispensed for one fill. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * It reflects the prescribers' perspective for the validity of the prescription. Dispenses must not be made against the prescription outside of this period. The lower-bound of the Dispensing Window signifies the earliest date that the prescription can be filled for the first time. If an upper-bound is not specified then the Prescription is open-ended or will default to a stale-date based on regulations. */ - validityPeriod?: Period; + validityPeriod?: Period|undefined; } /** * Indicates whether or not substitution can or should be part of the dispense. In some cases, substitution must happen, in other cases substitution must not happen. This block explains the prescriber's intent. If nothing is specified substitution may be done. @@ -21293,16 +21293,16 @@ export interface MedicationRequestSubstitution extends BackboneElement { /** * This element is labeled as a modifier because whether substitution is allow or not, it cannot be ignored. */ - allowedBoolean?: boolean; - _allowedBoolean?: Element; + allowedBoolean?: boolean|undefined; + _allowedBoolean?: Element|undefined; /** * This element is labeled as a modifier because whether substitution is allow or not, it cannot be ignored. */ - allowedCodeableConcept?: CodeableConcept; + allowedCodeableConcept?: CodeableConcept|undefined; /** * Indicates the reason for the substitution, or why substitution must or must not be performed. */ - reason?: CodeableConcept; + reason?: CodeableConcept|undefined; } /** * An order or request for both supply of the medication and the instructions for administration of the medication to a patient. The resource is called "MedicationRequest" rather than "MedicationPrescription" or "MedicationOrder" to generalize the use across inpatient and outpatient settings, including care plans, etc., and to harmonize with workflow patterns. @@ -21313,33 +21313,33 @@ export interface MedicationRequest extends DomainResource { /** * The date (and perhaps time) when the prescription was initially written or authored on. */ - authoredOn?: string; - _authoredOn?: Element; + authoredOn?: string|undefined; + _authoredOn?: Element|undefined; /** * A plan or request that is fulfilled in whole or in part by this medication request. */ - basedOn?: Reference[]; + basedOn?: Reference[]|undefined; /** * The category can be used to include where the medication is expected to be consumed or other types of requests. */ - category?: CodeableConcept[]; + category?: CodeableConcept[]|undefined; /** * This attribute should not be confused with the protocol of the medication. */ - courseOfTherapyType?: CodeableConcept; + courseOfTherapyType?: CodeableConcept|undefined; /** * This element can include a detected issue that has been identified either by a decision support system or by a clinician and may include information on the steps that were taken to address the issue. */ - detectedIssue?: Reference[]; + detectedIssue?: Reference[]|undefined; /** * Indicates the specific details for the dispense or medication supply part of a medication request (also known as a Medication Prescription or Medication Order). Note that this information is not always sent with the order. There may be in some settings (e.g. hospitals) institutional or system support for completing the dispense details in the pharmacy department. */ - dispenseRequest?: MedicationRequestDispenseRequest; + dispenseRequest?: MedicationRequestDispenseRequest|undefined; /** * If do not perform is not specified, the request is a positive request e.g. "do perform". */ - doNotPerform?: boolean; - _doNotPerform?: Element; + doNotPerform?: boolean|undefined; + _doNotPerform?: Element|undefined; /** * There are examples where a medication request may include the option of an oral dose or an Intravenous or Intramuscular dose. For example, "Ondansetron 8mg orally or IV twice a day as needed for nausea" or "Compazine® (prochlorperazine) 5-10mg PO or 25mg PR bid prn nausea or vomiting". In these cases, two medication requests would be created that could be grouped together. The decision on which dose and route of administration to use is based on the patient's condition at the time the dose is needed. In general, each prescribed drug will be a separate Medication Request. * When drug orders are grouped together at the time of order entry, but each of the drugs can be manipulated independently e.g. changing the status of one order to "completed" or "cancelled", changing another order status to "on-hold", the method to "group" all of the medication requests together is to use MedicationRequest.groupIdentifier element. All of the orders grouped together in this manner will have the same groupIdentifier, and separately, each order in the group may have a unique identifier. @@ -21350,48 +21350,48 @@ export interface MedicationRequest extends DomainResource { * more generically this supports - hierarchical groups of actions, where each specific action references the action to be performed (in terms of a Request resource), and each group describes additional behavior, relationships, and applicable conditions between the actions in the overall group. * Note that one should NOT use the List or Composition resource to accomplish the above requirements. You may use List or Composition for other business requirements, but not to address the specific requirements of grouping medication orders. */ - dosageInstruction?: Dosage[]; + dosageInstruction?: Dosage[]|undefined; /** * This will typically be the encounter the event occurred within, but some activities may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter." If there is a need to link to episodes of care they will be handled with an extension. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * This might not include provenances for all versions of the request – only those deemed “relevant” or important. This SHALL NOT include the provenance associated with this current version of the resource. (If that provenance is deemed to be a “relevant” change, it will need to be added as part of a later update. Until then, it can be queried directly as the provenance that points to this version using _revinclude All Provenances should have some historical version of this Request as their subject.). */ - eventHistory?: Reference[]; + eventHistory?: Reference[]|undefined; /** * A shared identifier common to all requests that were authorized more or less simultaneously by a single author, representing the identifier of the requisition or prescription. */ - groupIdentifier?: Identifier; + groupIdentifier?: Identifier|undefined; /** * This is a business identifier, not a resource identifier. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The person or organization who provided the information about this request, if the source is someone other than the requestor. This is often used when the MedicationRequest is reported by another person. */ - informationSource?: Reference; + informationSource?: Reference|undefined; /** * The URL pointing to a protocol, guideline, orderset, or other definition that is adhered to in whole or in part by this MedicationRequest. */ - instantiatesCanonical?: string[]; - _instantiatesCanonical?: Element[]; + instantiatesCanonical?: string[]|undefined; + _instantiatesCanonical?: Element[]|undefined; /** * The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this MedicationRequest. */ - instantiatesUri?: string[]; - _instantiatesUri?: Element[]; + instantiatesUri?: string[]|undefined; + _instantiatesUri?: Element[]|undefined; /** * Insurance plans, coverage extensions, pre-authorizations and/or pre-determinations that may be required for delivering the requested service. */ - insurance?: Reference[]; + insurance?: Reference[]|undefined; /** * It is expected that the type of requester will be restricted for different stages of a MedicationRequest. For example, Proposals can be created by a patient, relatedPerson, Practitioner or Device. Plans can be created by Practitioners, Patients, RelatedPersons and Devices. Original orders can be created by a Practitioner only. * An instance-order is an instantiation of a request or order and may be used to populate Medication Administration Record. * This element is labeled as a modifier because the intent alters when and how the resource is actually applicable. */ intent: MedicationRequestIntentCodes; - _intent?: Element; + _intent?: Element|undefined; /** * If only a code is specified, then it needs to be a code for a specific product. If more information is required, then the use of the Medication resource is recommended. For example, if you require form or lot number or if the medication is compounded or extemporaneously prepared, then you must reference the Medication resource. */ @@ -21399,56 +21399,56 @@ export interface MedicationRequest extends DomainResource { /** * Extra information about the prescription that could not be conveyed by the other attributes. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * The specified desired performer of the medication treatment (e.g. the performer of the medication administration). */ - performer?: Reference; + performer?: Reference|undefined; /** * If specified without indicating a performer, this indicates that the performer must be of the specified type. If specified with a performer then it indicates the requirements of the performer if the designated performer is not available. */ - performerType?: CodeableConcept; + performerType?: CodeableConcept|undefined; /** * Indicates how quickly the Medication Request should be addressed with respect to other requests. */ - priority?: MedicationRequestPriorityCodes; - _priority?: Element; + priority?: MedicationRequestPriorityCodes|undefined; + _priority?: Element|undefined; /** * A link to a resource representing an earlier order related order or prescription. */ - priorPrescription?: Reference; + priorPrescription?: Reference|undefined; /** * This could be a diagnosis code. If a full condition record exists or additional detail is needed, use reasonReference. */ - reason?: CodeableReference[]; + reason?: CodeableReference[]|undefined; /** * The person who entered the order on behalf of another individual for example in the case of a verbal or a telephone order. */ - recorder?: Reference; + recorder?: Reference|undefined; /** * The full representation of the dose of the medication included in all dosage instructions. To be used when multiple dosage instructions are included to represent complex dosing such as increasing or tapering doses. */ - renderedDosageInstruction?: string; - _renderedDosageInstruction?: Element; + renderedDosageInstruction?: string|undefined; + _renderedDosageInstruction?: Element|undefined; /** * Indicates if this record was captured as a secondary 'reported' record rather than as an original primary source-of-truth record. It may also indicate the source of the report. */ - reported?: boolean; - _reported?: Element; + reported?: boolean|undefined; + _reported?: Element|undefined; /** * The individual, organization, or device that initiated the request and has responsibility for its activation. */ - requester?: Reference; + requester?: Reference|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. * Clinical decision support systems should take the status into account when determining which medications to include in their algorithms. */ status: MedicationRequestStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * This is generally only used for "exception" statuses such as "suspended" or "cancelled". The reason why the MedicationRequest was created at all is captured in reasonCode, not here. */ - statusReason?: CodeableConcept; + statusReason?: CodeableConcept|undefined; /** * The subject on a medication request is mandatory. For the secondary use case where the actual subject is not provided, there still must be an anonymized subject specified. */ @@ -21456,11 +21456,11 @@ export interface MedicationRequest extends DomainResource { /** * Indicates whether or not substitution can or should be part of the dispense. In some cases, substitution must happen, in other cases substitution must not happen. This block explains the prescriber's intent. If nothing is specified substitution may be done. */ - substitution?: MedicationRequestSubstitution; + substitution?: MedicationRequestSubstitution|undefined; /** * This attribute can be used to reference a MedicationUsage about the patients' medication use. */ - supportingInformation?: Reference[]; + supportingInformation?: Reference[]|undefined; } /** * Code Values for the MedicationRequest.intent field @@ -21508,49 +21508,49 @@ export interface MedicationUsage extends DomainResource { /** * Indicates if the medication is being consumed or administered as instructed. */ - adherence?: CodeableConcept; + adherence?: CodeableConcept|undefined; /** * A plan, proposal or order that is fulfilled in whole or in part by this event. */ - basedOn?: Reference[]; + basedOn?: Reference[]|undefined; /** * Type of medication usage (for example, drug classification like ATC, where meds would be administered, legal category of the medication.). */ - category?: CodeableConcept[]; + category?: CodeableConcept[]|undefined; /** * The date when the Medication Usage was asserted by the information source. */ - dateAsserted?: string; - _dateAsserted?: Element; + dateAsserted?: string|undefined; + _dateAsserted?: Element|undefined; /** * Likely references would be to MedicationRequest, MedicationDispense, Claim, Observation or QuestionnaireAnswers. The most common use cases for deriving a MedicationUsage comes from creating a MedicationUsage from a MedicationRequest or from a lab observation or a claim. it should be noted that the amount of information that is available varies from the type resource that you derive the MedicationUsage from. */ - derivedFrom?: Reference[]; + derivedFrom?: Reference[]|undefined; /** * The dates included in the dosage on a Medication Usage reflect the dates for a given dose. For example, "from November 1, 2016 to November 3, 2016, take one tablet daily and from November 4, 2016 to November 7, 2016, take two tablets daily." It is expected that this specificity may only be populated where the patient brings in their labeled container or where the Medication Usage is derived from a MedicationRequest. */ - dosage?: Dosage[]; + dosage?: Dosage[]|undefined; /** * This attribute reflects the period over which the patient consumed the medication and is expected to be populated on the majority of Medication Usages. If the medication is still being taken and is expected to continue indefinitely at the time the usage is recorded, the "end" date will be omitted. If the end date is known, then it is included as the "end date". The date/time attribute supports a variety of dates - year, year/month and exact date. If something more than this is required, this should be conveyed as text. */ - effectiveDateTime?: string; - _effectiveDateTime?: Element; + effectiveDateTime?: string|undefined; + _effectiveDateTime?: Element|undefined; /** * This attribute reflects the period over which the patient consumed the medication and is expected to be populated on the majority of Medication Usages. If the medication is still being taken and is expected to continue indefinitely at the time the usage is recorded, the "end" date will be omitted. If the end date is known, then it is included as the "end date". The date/time attribute supports a variety of dates - year, year/month and exact date. If something more than this is required, this should be conveyed as text. */ - effectivePeriod?: Period; + effectivePeriod?: Period|undefined; /** * The encounter that establishes the context for this MedicationUsage. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * This is a business identifier, not a resource identifier. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The person or organization that provided the information about the taking of this medication. Note: Use derivedFrom when a MedicationUsage is derived from other resources, e.g. Claim or MedicationRequest. */ - informationSource?: Reference; + informationSource?: Reference|undefined; /** * If only a code is specified, then it needs to be a code for a specific product. If more information is required, then the use of the medication resource is recommended. For example, if you require form or lot number, then you must reference the Medication resource. */ @@ -21558,30 +21558,30 @@ export interface MedicationUsage extends DomainResource { /** * Provides extra information about the Medication Usage that is not conveyed by the other attributes. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * A larger event of which this particular event is a component or step. */ - partOf?: Reference[]; + partOf?: Reference[]|undefined; /** * This could be a diagnosis code. If a full condition record exists or additional detail is needed, use reasonForUseReference. */ - reason?: CodeableReference[]; + reason?: CodeableReference[]|undefined; /** * The full representation of the dose of the medication included in all dosage instructions. To be used when multiple dosage instructions are included to represent complex dosing such as increasing or tapering doses. */ - renderedDosageInstruction?: string; - _renderedDosageInstruction?: Element; + renderedDosageInstruction?: string|undefined; + _renderedDosageInstruction?: Element|undefined; /** * This status concerns just the recording of the medication usage. MedicationUsage.adherence should be used for indicating a patient's adherence to the information in this resource. * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: MedicationUsageStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * This is generally only used for "exception" statuses such as "entered-in-error". The reason for performing the event at all is captured in reasonCode, not here. */ - statusReason?: CodeableConcept[]; + statusReason?: CodeableConcept[]|undefined; /** * The person, animal or group who is/was taking the medication. */ @@ -21606,7 +21606,7 @@ export interface MedicinalProductDefinitionContact extends BackboneElement { /** * Allows the contact to be classified, for example QPPV, Pharmacovigilance Enquiry Information. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Coding words or phrases of the name. @@ -21616,7 +21616,7 @@ export interface MedicinalProductDefinitionNameNamePart extends BackboneElement * A fragment of a product name. */ part: string; - _part?: Element; + _part?: Element|undefined; /** * Identifying type for this part of the name (e.g. strength part). */ @@ -21633,7 +21633,7 @@ export interface MedicinalProductDefinitionNameCountryLanguage extends BackboneE /** * Jurisdiction code for where this name applies. */ - jurisdiction?: CodeableConcept; + jurisdiction?: CodeableConcept|undefined; /** * Language code for this name. */ @@ -21646,20 +21646,20 @@ export interface MedicinalProductDefinitionName extends BackboneElement { /** * Country where the name applies. */ - countryLanguage?: MedicinalProductDefinitionNameCountryLanguage[]; + countryLanguage?: MedicinalProductDefinitionNameCountryLanguage[]|undefined; /** * Coding words or phrases of the name. */ - namePart?: MedicinalProductDefinitionNameNamePart[]; + namePart?: MedicinalProductDefinitionNameNamePart[]|undefined; /** * The full product name. */ productName: string; - _productName?: Element; + _productName?: Element|undefined; /** * Type of product name, such as rINN, BAN, Proprietary, Non-Proprietary. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Reference to another product, e.g. for linking authorised to investigational product. @@ -21672,7 +21672,7 @@ export interface MedicinalProductDefinitionCrossReference extends BackboneElemen /** * The type of relationship, for instance branded to generic, product to development product (investigational), parallel import version. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * A manufacturing or administrative process or step associated with (or performed on) the medicinal product. @@ -21681,23 +21681,23 @@ export interface MedicinalProductDefinitionOperation extends BackboneElement { /** * An authorization for this process, either as a logical reference, holding just an identifier, or a full reference to a resource that captures the details. The authorization may possibly apply to several products or a wider scope of process of which this is a part. */ - authorization?: Reference; + authorization?: Reference|undefined; /** * Specifies whether this particular business or manufacturing process is considered proprietary or confidential. */ - confidentialityIndicator?: CodeableConcept; + confidentialityIndicator?: CodeableConcept|undefined; /** * Date range of applicability. */ - effectiveDate?: Period; + effectiveDate?: Period|undefined; /** * The organization or establishment responsible for (or associated with) the particular process or step, examples include the manufacturer, importer, agent. */ - organization?: Reference[]; + organization?: Reference[]|undefined; /** * The type of manufacturing operation e.g. manufacturing itself, re-packaging. This may be a subtype of some other wider scope of authorized operation, referenced by the authorization attribute. */ - type?: CodeableReference; + type?: CodeableReference|undefined; } /** * Package representation for the product. @@ -21706,19 +21706,19 @@ export interface MedicinalProductDefinitionPackage extends BackboneElement { /** * Full package representation for the product. */ - package?: Reference; + package?: Reference|undefined; /** * The amount of items, or of substance, in the package. */ - sizeQuantity?: Quantity; + sizeQuantity?: Quantity|undefined; /** * The amount of items, or of substance, in the package. */ - sizeInteger?: number; + sizeInteger?: number|undefined; /** * A descriptive type for this package, such as box, carton or bottle. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * The product in its final form, mixed from its components if necessary, and ready to be administered to the patient. Also known as the 'Pharmaceutical Product'. Can repeat, for cases where the product has components that result in more than one administrable item. @@ -21727,11 +21727,11 @@ export interface MedicinalProductDefinitionAdministrableProduct extends Backbone /** * Full description of the administrable product. */ - product?: Reference; + product?: Reference|undefined; /** * The path by which the product is taken into or makes contact with the body. In some regions this is referred to as the licenced or approved route. */ - route?: CodeableConcept[]; + route?: CodeableConcept[]|undefined; } /** * Detailed definition of a medicinal product, typically for uses other than direct patient care (e.g. regulatory use, drug catalogs). @@ -21742,77 +21742,77 @@ export interface MedicinalProductDefinition extends DomainResource { /** * Whether the Medicinal Product is subject to additional monitoring for regulatory reasons. */ - additionalMonitoringIndicator?: CodeableConcept; + additionalMonitoringIndicator?: CodeableConcept|undefined; /** * The product in its final form, mixed from its components if necessary, and ready to be administered to the patient. Also known as the 'Pharmaceutical Product'. Can repeat, for cases where the product has components that result in more than one administrable item. */ - administrableProduct?: MedicinalProductDefinitionAdministrableProduct[]; + administrableProduct?: MedicinalProductDefinitionAdministrableProduct[]|undefined; /** * Additional information or supporting documentation about the medicinal product. */ - attachedDocument?: Reference[]; + attachedDocument?: Reference[]|undefined; /** * Allows the key product features to be recorded, such as "sugar free", "modified release", "parallel import". */ - characteristic?: CodeableConcept[]; + characteristic?: CodeableConcept[]|undefined; /** * Allows the product to be classified by various systems. */ - classification?: CodeableConcept[]; + classification?: CodeableConcept[]|undefined; /** * Clinical trials or studies that this product is involved in. */ - clinicalTrial?: Reference[]; + clinicalTrial?: Reference[]|undefined; /** * The dose form for a single part product, or combined form of a multiple part product. */ - combinedPharmaceuticalDoseForm?: CodeableConcept; + combinedPharmaceuticalDoseForm?: CodeableConcept|undefined; /** * A product specific contact, person (in a role), or an organization. */ - contact?: MedicinalProductDefinitionContact[]; + contact?: MedicinalProductDefinitionContact[]|undefined; /** * Reference to another product, e.g. for linking authorised to investigational product. */ - crossReference?: MedicinalProductDefinitionCrossReference[]; + crossReference?: MedicinalProductDefinitionCrossReference[]|undefined; /** * General description of this product. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * If this medicine applies to human or veterinary uses. */ - domain?: CodeableConcept; + domain?: CodeableConcept|undefined; /** * Business identifier for this product. Could be an MPID. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Any component of the drug product which is not the chemical entity defined as the drug substance or an excipient in the drug product. This includes process-related impurities and contaminants, product-related impurities including degradation products. */ - impurity?: Reference[]; + impurity?: Reference[]|undefined; /** * Description of indication(s) for this product, used when structured indications are not required. In cases where structured indications are required, they are captured using the ClinicalUseIssue resource. An indication is a medical situation for which using the product is appropriate. */ - indication?: string; - _indication?: Element; + indication?: string|undefined; + _indication?: Element|undefined; /** * The ingredients of this medicinal product - when not detailed in other resources. This is only needed if the ingredients are not specified by the AdministrableProductDefinition or via the PackagedProductDefinition references above. In cases where those levels of detail are not used, the ingredients may be specified directly here. */ - ingredient?: CodeableReference[]; + ingredient?: CodeableReference[]|undefined; /** * The legal status of supply of the medicinal product as classified by the regulator. */ - legalStatusOfSupply?: CodeableConcept; + legalStatusOfSupply?: CodeableConcept|undefined; /** * Marketing status of the medicinal product, in contrast to marketing authorization. */ - marketingStatus?: MarketingStatus[]; + marketingStatus?: MarketingStatus[]|undefined; /** * A master file for to the medicinal product (e.g. Pharmacovigilance System Master File). */ - masterFile?: Reference[]; + masterFile?: Reference[]|undefined; /** * The product's name, including full name and possibly coded parts. */ @@ -21820,37 +21820,37 @@ export interface MedicinalProductDefinition extends DomainResource { /** * A manufacturing or administrative process or step associated with (or performed on) the medicinal product. */ - operation?: MedicinalProductDefinitionOperation[]; + operation?: MedicinalProductDefinitionOperation[]|undefined; /** * Package representation for the product. */ - package?: MedicinalProductDefinitionPackage[]; + package?: MedicinalProductDefinitionPackage[]|undefined; /** * If authorised for use in children. */ - paediatricUseIndicator?: CodeableConcept; + paediatricUseIndicator?: CodeableConcept|undefined; /** * Whether the Medicinal Product is subject to special measures for regulatory reasons. */ - specialMeasures?: CodeableConcept[]; + specialMeasures?: CodeableConcept[]|undefined; /** * The status within the lifecycle of this product record. A high-level status, this is not intended to duplicate details carried elsewhere such as legal status, or authorization status. */ - status?: CodeableConcept; + status?: CodeableConcept|undefined; /** * The date at which the given status became applicable. */ - statusDate?: string; - _statusDate?: Element; + statusDate?: string|undefined; + _statusDate?: Element|undefined; /** * Regulatory type, e.g. Investigational or Authorized. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; /** * A business identifier relating to a specific version of the product, this is commonly used to support revisions to an existing product. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Identifies the resource (or resources) that are being addressed by the event. For example, the Encounter for an admit message or two Account records for a merge. @@ -21860,12 +21860,12 @@ export interface MessageDefinitionFocus extends BackboneElement { * Multiple focuses addressing different resources may occasionally occur. E.g. to link or unlink a resource from a particular account or encounter, etc. */ code: string; - _code?: Element; + _code?: Element|undefined; /** * Identifies the maximum number of resources of this type that must be pointed to by a message in order for it to be valid against this MessageDefinition. */ - max?: string; - _max?: Element; + max?: string|undefined; + _max?: Element|undefined; /** * Identifies the minimum number of resources of this type that must be pointed to by a message in order for it to be valid against this MessageDefinition. */ @@ -21873,8 +21873,8 @@ export interface MessageDefinitionFocus extends BackboneElement { /** * This should be present for most message definitions. However, if the message focus is only a single resource and there is no need to include referenced resources or otherwise enforce the presence of particular elements, it can be omitted. */ - profile?: string; - _profile?: Element; + profile?: string|undefined; + _profile?: Element|undefined; } /** * This indicates an application level response to "close" a transaction implicit in a particular request message. To define a complete workflow scenario, look to the [[PlanDefinition]] resource which allows the definition of complex orchestrations, conditionality, etc. @@ -21884,12 +21884,12 @@ export interface MessageDefinitionAllowedResponse extends BackboneElement { * A reference to the message definition that must be adhered to by this supported response. */ message: string; - _message?: Element; + _message?: Element|undefined; /** * Provides a description of the circumstances in which this response should be used (as opposed to one of the alternative responses). */ - situation?: string; - _situation?: Element; + situation?: string|undefined; + _situation?: Element|undefined; } /** * Defines the characteristics of a message that can be shared between systems, including the type of event that initiates the message, the content to be transmitted and what response(s), if any, are permitted. @@ -21900,123 +21900,123 @@ export interface MessageDefinition extends DomainResource { /** * This indicates an application level response to "close" a transaction implicit in a particular request message. To define a complete workflow scenario, look to the [[PlanDefinition]] resource which allows the definition of complex orchestrations, conditionality, etc. */ - allowedResponse?: MessageDefinitionAllowedResponse[]; + allowedResponse?: MessageDefinitionAllowedResponse[]|undefined; /** * The MessageDefinition that is the basis for the contents of this resource. */ - base?: string; - _base?: Element; + base?: string|undefined; + _base?: Element|undefined; /** * The impact of the content of the message. */ - category?: MessageDefinitionCategoryCodes; - _category?: Element; + category?: MessageDefinitionCategoryCodes|undefined; + _category?: Element|undefined; /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * A copyright statement relating to the message definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the message definition. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the message definition. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ date: string; - _date?: Element; + _date?: Element|undefined; /** * This description can be used to capture details such as why the message definition was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the message definition as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the message definition is presumed to be the predominant language in the place the message definition was created). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Event code or link to the EventDefinition. */ - eventCoding?: Coding; + eventCoding?: Coding|undefined; /** * Event code or link to the EventDefinition. */ - eventUri?: string; - _eventUri?: Element; + eventUri?: string|undefined; + _eventUri?: Element|undefined; /** * Allows filtering of message definitions that are appropriate for use versus not. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * Identifies the resource (or resources) that are being addressed by the event. For example, the Encounter for an admit message or two Account records for a merge. */ - focus?: MessageDefinitionFocus[]; + focus?: MessageDefinitionFocus[]|undefined; /** * Canonical reference to a GraphDefinition. If a URL is provided, it is the canonical reference to a [GraphDefinition](graphdefinition.html) that it controls what resources are to be added to the bundle when building the document. The GraphDefinition can also specify profiles that apply to the various resources. */ - graph?: string[]; - _graph?: Element[]; + graph?: string[]|undefined; + _graph?: Element[]|undefined; /** * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this message definition outside of FHIR, where it is not possible to use the logical URI. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * It may be possible for the message definition to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * It should be possible to use MessageDefinition to describe a message to be used by certain steps in a particular protocol as part of a PlanDefinition or ActivityDefinition. */ - parent?: string[]; - _parent?: Element[]; + parent?: string[]|undefined; + _parent?: Element[]|undefined; /** * Usually an organization but may be an individual. The publisher (or steward) of the message definition is the organization or individual primarily responsible for the maintenance and upkeep of the message definition. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the message definition. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * This element does not describe the usage of the message definition. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this message definition. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * A MessageDefinition that is superseded by this definition. */ - replaces?: string[]; - _replaces?: Element[]; + replaces?: string[]|undefined; + _replaces?: Element[]|undefined; /** * This enables the capability currently available through MSH-16 (Application Level acknowledgement) in HL7 Version 2 to declare at a message instance level whether a response is required or only upon error or success, or never. */ - responseRequired?: MessageDefinitionResponseRequiredCodes; - _responseRequired?: Element; + responseRequired?: MessageDefinitionResponseRequiredCodes|undefined; + _responseRequired?: Element|undefined; /** * Allows filtering of message definitions that are appropriate for use versus not. */ status: MessageDefinitionStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different message definition instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the message definition with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the MessageDefinition.category field @@ -22052,20 +22052,20 @@ export interface MessageHeaderDestination extends BackboneElement { * The id may be a non-resolvable URI for systems that do not use standard network-based addresses. */ endpoint: string; - _endpoint?: Element; + _endpoint?: Element|undefined; /** * Human-readable name for the target system. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Allows data conveyed by a message to be addressed to a particular person or department when routing to a specific application isn't sufficient. */ - receiver?: Reference; + receiver?: Reference|undefined; /** * Identifies the target end system in situations where the initial message transmission is to an intermediary system. */ - target?: Reference; + target?: Reference|undefined; } /** * The source application from which this message originated. @@ -22074,27 +22074,27 @@ export interface MessageHeaderSource extends BackboneElement { /** * An e-mail, phone, website or other contact point to use to resolve issues with message communications. */ - contact?: ContactPoint; + contact?: ContactPoint|undefined; /** * The id may be a non-resolvable URI for systems that do not use standard network-based addresses. */ endpoint: string; - _endpoint?: Element; + _endpoint?: Element|undefined; /** * Human-readable name for the source system. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * May include configuration or other information useful in debugging. */ - software?: string; - _software?: Element; + software?: string|undefined; + _software?: Element|undefined; /** * Can convey versions of multiple systems in situations where a message passes through multiple hands. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Information about the message that this message is a response to. Only present if this message is a response. @@ -22104,16 +22104,16 @@ export interface MessageHeaderResponse extends BackboneElement { * This is a generic response to the request message. Specific data for the response will be found in MessageHeader.focus. */ code: MessageHeaderResponseCodeCodes; - _code?: Element; + _code?: Element|undefined; /** * This SHALL be contained in the bundle. If any of the issues are errors, the response code SHALL be an error. */ - details?: Reference; + details?: Reference|undefined; /** * The MessageHeader.id of the message to which this message is a response. */ identifier: string; - _identifier?: Element; + _identifier?: Element|undefined; } /** * Code Values for the MessageHeader.response.code field @@ -22132,49 +22132,49 @@ export interface MessageHeader extends DomainResource { /** * Usually only for the request but can be used in a response. */ - author?: Reference; + author?: Reference|undefined; /** * Permanent link to the MessageDefinition for this message. */ - definition?: string; - _definition?: Element; + definition?: string|undefined; + _definition?: Element|undefined; /** * There SHOULD be at least one destination, but in some circumstances, the source system is unaware of any particular destination system. */ - destination?: MessageHeaderDestination[]; + destination?: MessageHeaderDestination[]|undefined; /** * Usually only for the request but can be used in a response. */ - enterer?: Reference; + enterer?: Reference|undefined; /** * The time of the event will be found in the focus resource. The time of the message will be found in [Bundle.timestamp](bundle-definitions.html#Bundle.timestamp). */ - eventCoding?: Coding; + eventCoding?: Coding|undefined; /** * The time of the event will be found in the focus resource. The time of the message will be found in [Bundle.timestamp](bundle-definitions.html#Bundle.timestamp). */ - eventUri?: string; - _eventUri?: Element; + eventUri?: string|undefined; + _eventUri?: Element|undefined; /** * The data is defined where the transaction type is defined. The transaction data is always included in the bundle that is the full message. Only the root resource is specified. The resources it references should be contained in the bundle but are not also listed here. Multiple repetitions are allowed to cater for merges and other situations with multiple focal targets. */ - focus?: Reference[]; + focus?: Reference[]|undefined; /** * Coded indication of the cause for the event - indicates a reason for the occurrence of the event that is a focus of this message. */ - reason?: CodeableConcept; + reason?: CodeableConcept|undefined; /** * Information about the message that this message is a response to. Only present if this message is a response. */ - response?: MessageHeaderResponse; + response?: MessageHeaderResponse|undefined; /** * Usually only for the request but can be used in a response. */ - responsible?: Reference; + responsible?: Reference|undefined; /** * Use case is for where a (trusted) sending system is responsible for multiple organizations, and therefore cannot differentiate based on source endpoint / authentication alone. */ - sender?: Reference; + sender?: Reference|undefined; /** * The source application from which this message originated. */ @@ -22189,41 +22189,41 @@ export interface MetadataResource extends DomainResource { /** * The 'date' element may be more recent than the approval date because of minor changes or editorial corrections. */ - approvalDate?: string; - _approvalDate?: Element; + approvalDate?: string|undefined; + _approvalDate?: Element|undefined; /** * An individiual or organization primarily involved in the creation and maintenance of the {{title}}. */ - author?: ContactDetail[]; + author?: ContactDetail[]|undefined; /** * An individual or organization primarily responsible for internal coherence of the {{title}}. */ - editor?: ContactDetail[]; + editor?: ContactDetail[]|undefined; /** * The effective period for a {{title}} determines when the content is applicable for usage and is independent of publication and review dates. For example, a measure intended to be used for the year 2016 might be published in 2015. */ - effectivePeriod?: Period; + effectivePeriod?: Period|undefined; /** * An individual or organization responsible for officially endorsing the {{title}} for use in some setting. */ - endorser?: ContactDetail[]; + endorser?: ContactDetail[]|undefined; /** * If specified, this date follows the original approval date. */ - lastReviewDate?: string; - _lastReviewDate?: Element; + lastReviewDate?: string|undefined; + _lastReviewDate?: Element|undefined; /** * Each related artifact is either an attachment, or a reference to another resource, but not both. */ - relatedArtifact?: RelatedArtifact[]; + relatedArtifact?: RelatedArtifact[]|undefined; /** * An individual or organization primarily responsible for review of some aspect of the {{title}}. */ - reviewer?: ContactDetail[]; + reviewer?: ContactDetail[]|undefined; /** * This element provides a topical categorization of the {{title}}, as opposed to the more structured context-of-use information provided in the useContext element */ - topic?: CodeableConcept[]; + topic?: CodeableConcept[]|undefined; } /** * A sequence that is used as a reference to describe variants that are present in a sequence analyzed. @@ -22232,43 +22232,43 @@ export interface MolecularSequenceReferenceSeq extends BackboneElement { /** * Structural unit composed of a nucleic acid molecule which controls its own replication through the interaction of specific proteins at one or more origins of replication ([SO:0000340](http://www.sequenceontology.org/browser/current_svn/term/SO:0000340)). */ - chromosome?: CodeableConcept; + chromosome?: CodeableConcept|undefined; /** * The Genome Build used for reference, following GRCh build versions e.g. 'GRCh 37'. Version number must be included if a versioned release of a primary build was used. */ - genomeBuild?: string; - _genomeBuild?: Element; + genomeBuild?: string|undefined; + _genomeBuild?: Element|undefined; /** * A relative reference to a DNA strand based on gene orientation. The strand that contains the open reading frame of the gene is the "sense" strand, and the opposite complementary strand is the "antisense" strand. */ - orientation?: MolecularSequenceReferenceSeqOrientationCodes; - _orientation?: Element; + orientation?: MolecularSequenceReferenceSeqOrientationCodes|undefined; + _orientation?: Element|undefined; /** * Reference identifier of reference sequence submitted to NCBI. It must match the type in the MolecularSequence.type field. For example, the prefix, “NG_” identifies reference sequence for genes, “NM_” for messenger RNA transcripts, and “NP_” for amino acid sequences. */ - referenceSeqId?: CodeableConcept; + referenceSeqId?: CodeableConcept|undefined; /** * A pointer to another MolecularSequence entity as reference sequence. */ - referenceSeqPointer?: Reference; + referenceSeqPointer?: Reference|undefined; /** * A string like "ACGT". */ - referenceSeqString?: string; - _referenceSeqString?: Element; + referenceSeqString?: string|undefined; + _referenceSeqString?: Element|undefined; /** * An absolute reference to a strand. The Watson strand is the strand whose 5'-end is on the short arm of the chromosome, and the Crick strand as the one whose 5'-end is on the long arm. */ - strand?: MolecularSequenceReferenceSeqStrandCodes; - _strand?: Element; + strand?: MolecularSequenceReferenceSeqStrandCodes|undefined; + _strand?: Element|undefined; /** * End position of the window on the reference sequence. If the coordinate system is 0-based then end is exclusive and does not include the last position. If the coordinate system is 1-base, then end is inclusive and includes the last position. */ - windowEnd?: number; + windowEnd?: number|undefined; /** * Start position of the window on the reference sequence. If the coordinate system is either 0-based or 1-based, then start position is inclusive. */ - windowStart?: number; + windowStart?: number|undefined; } /** * Code Values for the MolecularSequence.referenceSeq.orientation field @@ -22291,30 +22291,30 @@ export interface MolecularSequenceVariant extends BackboneElement { /** * Extended CIGAR string for aligning the sequence with reference bases. See detailed documentation [here](http://support.illumina.com/help/SequencingAnalysisWorkflow/Content/Vault/Informatics/Sequencing_Analysis/CASAVA/swSEQ_mCA_ExtendedCIGARFormat.htm). */ - cigar?: string; - _cigar?: Element; + cigar?: string|undefined; + _cigar?: Element|undefined; /** * End position of the variant on the reference sequence. If the coordinate system is 0-based then end is exclusive and does not include the last position. If the coordinate system is 1-base, then end is inclusive and includes the last position. */ - end?: number; + end?: number|undefined; /** * An allele is one of a set of coexisting sequence variants of a gene ([SO:0001023](http://www.sequenceontology.org/browser/current_svn/term/SO:0001023)). Nucleotide(s)/amino acids from start position of sequence to stop position of sequence on the positive (+) strand of the observed sequence. When the sequence type is DNA, it should be the sequence on the positive (+) strand. This will lay in the range between variant.start and variant.end. */ - observedAllele?: string; - _observedAllele?: Element; + observedAllele?: string|undefined; + _observedAllele?: Element|undefined; /** * An allele is one of a set of coexisting sequence variants of a gene ([SO:0001023](http://www.sequenceontology.org/browser/current_svn/term/SO:0001023)). Nucleotide(s)/amino acids from start position of sequence to stop position of sequence on the positive (+) strand of the reference sequence. When the sequence type is DNA, it should be the sequence on the positive (+) strand. This will lay in the range between variant.start and variant.end. */ - referenceAllele?: string; - _referenceAllele?: Element; + referenceAllele?: string|undefined; + _referenceAllele?: Element|undefined; /** * Start position of the variant on the reference sequence. If the coordinate system is either 0-based or 1-based, then start position is inclusive. */ - start?: number; + start?: number|undefined; /** * A pointer to an Observation containing variant information. */ - variantPointer?: Reference; + variantPointer?: Reference|undefined; } /** * Receiver Operator Characteristic (ROC) Curve to give sensitivity/specificity tradeoff. @@ -22323,31 +22323,31 @@ export interface MolecularSequenceQualityRoc extends BackboneElement { /** * Calculated fScore if the GQ score threshold was set to "score" field value. */ - fMeasure?: number[]; + fMeasure?: number[]|undefined; /** * The number of false negatives if the GQ score threshold was set to "score" field value. */ - numFN?: number[]; + numFN?: number[]|undefined; /** * The number of false positives if the GQ score threshold was set to "score" field value. */ - numFP?: number[]; + numFP?: number[]|undefined; /** * The number of true positives if the GQ score threshold was set to "score" field value. */ - numTP?: number[]; + numTP?: number[]|undefined; /** * Calculated precision if the GQ score threshold was set to "score" field value. */ - precision?: number[]; + precision?: number[]|undefined; /** * Invidual data point representing the GQ (genotype quality) score threshold. */ - score?: number[]; + score?: number[]|undefined; /** * Calculated sensitivity if the GQ score threshold was set to "score" field value. */ - sensitivity?: number[]; + sensitivity?: number[]|undefined; } /** * An experimental feature attribute that defines the quality of the feature in a quantitative way, such as a phred quality score ([SO:0001686](http://www.sequenceontology.org/browser/current_svn/term/SO:0001686)). @@ -22356,64 +22356,64 @@ export interface MolecularSequenceQuality extends BackboneElement { /** * End position of the sequence. If the coordinate system is 0-based then end is exclusive and does not include the last position. If the coordinate system is 1-base, then end is inclusive and includes the last position. */ - end?: number; + end?: number|undefined; /** * Harmonic mean of Recall and Precision, computed as: 2 * precision * recall / (precision + recall). */ - fScore?: number; + fScore?: number|undefined; /** * The number of false positives where the non-REF alleles in the Truth and Query Call Sets match (i.e. cases where the truth is 1/1 and the query is 0/1 or similar). */ - gtFP?: number; + gtFP?: number|undefined; /** * Which method is used to get sequence quality. */ - method?: CodeableConcept; + method?: CodeableConcept|undefined; /** * QUERY.TP / (QUERY.TP + QUERY.FP). */ - precision?: number; + precision?: number|undefined; /** * False positives, i.e. the number of sites in the Query Call Set for which there is no path through the Truth Call Set that is consistent with this site. Sites with correct variant but incorrect genotype are counted here. */ - queryFP?: number; + queryFP?: number|undefined; /** * True positives, from the perspective of the query data, i.e. the number of sites in the Query Call Set for which there are paths through the Truth Call Set that are consistent with all of the alleles at this site, and for which there is an accurate genotype call for the event. */ - queryTP?: number; + queryTP?: number|undefined; /** * TRUTH.TP / (TRUTH.TP + TRUTH.FN). */ - recall?: number; + recall?: number|undefined; /** * Receiver Operator Characteristic (ROC) Curve to give sensitivity/specificity tradeoff. */ - roc?: MolecularSequenceQualityRoc; + roc?: MolecularSequenceQualityRoc|undefined; /** * The score of an experimentally derived feature such as a p-value ([SO:0001685](http://www.sequenceontology.org/browser/current_svn/term/SO:0001685)). */ - score?: Quantity; + score?: Quantity|undefined; /** * Gold standard sequence used for comparing against. */ - standardSequence?: CodeableConcept; + standardSequence?: CodeableConcept|undefined; /** * Start position of the sequence. If the coordinate system is either 0-based or 1-based, then start position is inclusive. */ - start?: number; + start?: number|undefined; /** * False negatives, i.e. the number of sites in the Truth Call Set for which there is no path through the Query Call Set that is consistent with all of the alleles at this site, or sites for which there is an inaccurate genotype call for the event. Sites with correct variant but incorrect genotype are counted here. */ - truthFN?: number; + truthFN?: number|undefined; /** * True positives, from the perspective of the truth data, i.e. the number of sites in the Truth Call Set for which there are paths through the Query Call Set that are consistent with all of the alleles at this site, and for which there is an accurate genotype call for the event. */ - truthTP?: number; + truthTP?: number|undefined; /** * INDEL / SNP / Undefined variant. */ type: MolecularSequenceQualityTypeCodes; - _type?: Element; + _type?: Element|undefined; } /** * Code Values for the MolecularSequence.quality.type field @@ -22430,33 +22430,33 @@ export interface MolecularSequenceRepository extends BackboneElement { /** * Id of the variant in this external repository. The server will understand how to use this id to call for more info about datasets in external repository. */ - datasetId?: string; - _datasetId?: Element; + datasetId?: string|undefined; + _datasetId?: Element|undefined; /** * URI of an external repository which contains further details about the genetics data. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Id of the read in this external repository. */ - readsetId?: string; - _readsetId?: Element; + readsetId?: string|undefined; + _readsetId?: Element|undefined; /** * Click and see / RESTful API / Need login to see / RESTful API with authentication / Other ways to see resource. */ type: MolecularSequenceRepositoryTypeCodes; - _type?: Element; + _type?: Element|undefined; /** * URI of an external repository which contains further details about the genetics data. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * Id of the variantset in this external repository. The server will understand how to use this id to call for more info about variantsets in external repository. */ - variantsetId?: string; - _variantsetId?: Element; + variantsetId?: string|undefined; + _variantsetId?: Element|undefined; } /** * Code Values for the MolecularSequence.repository.type field @@ -22475,11 +22475,11 @@ export interface MolecularSequenceStructureVariantOuter extends BackboneElement /** * Structural variant outer end. If the coordinate system is 0-based then end is exclusive and does not include the last position. If the coordinate system is 1-base, then end is inclusive and includes the last position. */ - end?: number; + end?: number|undefined; /** * Structural variant outer start. If the coordinate system is either 0-based or 1-based, then start position is inclusive. */ - start?: number; + start?: number|undefined; } /** * Structural variant inner. @@ -22488,11 +22488,11 @@ export interface MolecularSequenceStructureVariantInner extends BackboneElement /** * Structural variant inner end. If the coordinate system is 0-based then end is exclusive and does not include the last position. If the coordinate system is 1-base, then end is inclusive and includes the last position. */ - end?: number; + end?: number|undefined; /** * Structural variant inner start. If the coordinate system is either 0-based or 1-based, then start position is inclusive. */ - start?: number; + start?: number|undefined; } /** * Information about chromosome structure variation. @@ -22501,24 +22501,24 @@ export interface MolecularSequenceStructureVariant extends BackboneElement { /** * Used to indicate if the outer and inner start-end values have the same meaning. */ - exact?: boolean; - _exact?: Element; + exact?: boolean|undefined; + _exact?: Element|undefined; /** * Structural variant inner. */ - inner?: MolecularSequenceStructureVariantInner; + inner?: MolecularSequenceStructureVariantInner|undefined; /** * Length of the variant chromosome. */ - length?: number; + length?: number|undefined; /** * Structural variant outer. */ - outer?: MolecularSequenceStructureVariantOuter; + outer?: MolecularSequenceStructureVariantOuter|undefined; /** * Information about chromosome structure variation DNA change type. */ - variantType?: CodeableConcept; + variantType?: CodeableConcept|undefined; } /** * Raw data describing a biological sequence. @@ -22533,65 +22533,65 @@ export interface MolecularSequence extends DomainResource { /** * The method for sequencing, for example, chip information. */ - device?: Reference; + device?: Reference|undefined; /** * A unique identifier for this particular sequence instance. This is a FHIR-defined id. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Sequence that was observed. It is the result marked by referenceSeq along with variant records on referenceSeq. This shall start from referenceSeq.windowStart and end by referenceSeq.windowEnd. */ - observedSeq?: string; - _observedSeq?: Element; + observedSeq?: string|undefined; + _observedSeq?: Element|undefined; /** * The patient whose sequencing results are described by this resource. */ - patient?: Reference; + patient?: Reference|undefined; /** * The organization or lab that should be responsible for this result. */ - performer?: Reference; + performer?: Reference|undefined; /** * Pointer to next atomic sequence which at most contains one variant. */ - pointer?: Reference[]; + pointer?: Reference[]|undefined; /** * An experimental feature attribute that defines the quality of the feature in a quantitative way, such as a phred quality score ([SO:0001686](http://www.sequenceontology.org/browser/current_svn/term/SO:0001686)). */ - quality?: MolecularSequenceQuality[]; + quality?: MolecularSequenceQuality[]|undefined; /** * The number of copies of the sequence of interest. (RNASeq). */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * Coverage (read depth or depth) is the average number of reads representing a given nucleotide in the reconstructed sequence. */ - readCoverage?: number; + readCoverage?: number|undefined; /** * A sequence that is used as a reference to describe variants that are present in a sequence analyzed. */ - referenceSeq?: MolecularSequenceReferenceSeq; + referenceSeq?: MolecularSequenceReferenceSeq|undefined; /** * Configurations of the external repository. The repository shall store target's observedSeq or records related with target's observedSeq. */ - repository?: MolecularSequenceRepository[]; + repository?: MolecularSequenceRepository[]|undefined; /** * Specimen used for sequencing. */ - specimen?: Reference; + specimen?: Reference|undefined; /** * Information about chromosome structure variation. */ - structureVariant?: MolecularSequenceStructureVariant[]; + structureVariant?: MolecularSequenceStructureVariant[]|undefined; /** * Amino Acid Sequence/ DNA Sequence / RNA Sequence. */ - type?: MolecularSequenceTypeCodes; - _type?: Element; + type?: MolecularSequenceTypeCodes|undefined; + _type?: Element|undefined; /** * The definition of variant here originates from Sequence ontology ([variant_of](http://www.sequenceontology.org/browser/current_svn/term/variant_of)). This element can represent amino acid or nucleic sequence change(including insertion,deletion,SNP,etc.) It can represent some complex mutation or segment variation with the assist of CIGAR string. */ - variant?: MolecularSequenceVariant[]; + variant?: MolecularSequenceVariant[]|undefined; } /** * Code Values for the MolecularSequence.type field @@ -22608,32 +22608,32 @@ export interface NamingSystemUniqueId extends BackboneElement { /** * Indicates whether this identifier ie endorsed by the official owner of the associated naming system. */ - authoritative?: boolean; - _authoritative?: Element; + authoritative?: boolean|undefined; + _authoritative?: Element|undefined; /** * e.g. "must be used in Germany" or "was initially published in error with this value". */ - comment?: string; - _comment?: Element; + comment?: string|undefined; + _comment?: Element|undefined; /** * Within a registry, a given identifier should only be "active" for a single namespace at a time. (Ideally, an identifier should only ever be associated with a single namespace across all time). */ - period?: Period; + period?: Period|undefined; /** * Indicates whether this identifier is the "preferred" identifier of this type. */ - preferred?: boolean; - _preferred?: Element; + preferred?: boolean|undefined; + _preferred?: Element|undefined; /** * Different identifier types may be used in different types of communications (OIDs for v3, URIs for FHIR, etc.). Other includes RUIDs from v3, standard v2 code name strings, etc. */ type: NamingSystemUniqueIdTypeCodes; - _type?: Element; + _type?: Element|undefined; /** * If the value is a URI intended for use as FHIR system identifier, the URI should not contain "\" or "?" or "," since this makes escaping very difficult. */ value: string; - _value?: Element; + _value?: Element|undefined; } /** * Code Values for the NamingSystem.uniqueId.type field @@ -22654,55 +22654,55 @@ export interface NamingSystem extends DomainResource { /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the naming system. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ date: string; - _date?: Element; + _date?: Element|undefined; /** * This description can be used to capture details such as why the naming system was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the naming system as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the naming system is presumed to be the predominant language in the place the naming system was created). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * It may be possible for the naming system to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * Indicates the purpose for the naming system - what kinds of things does it make unique? */ kind: NamingSystemKindCodes; - _kind?: Element; + _kind?: Element|undefined; /** * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly.The"symbolic name" for an OID would be captured as an extension. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * Usually an organization but may be an individual. The publisher (or steward) of the naming system is the organization or individual primarily responsible for the maintenance and upkeep of the naming system. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the naming system. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * This is the primary organization. Responsibility for some aspects of a namespace may be delegated. */ - responsible?: string; - _responsible?: Element; + responsible?: string|undefined; + _responsible?: Element|undefined; /** * Allows filtering of naming systems that are appropriate for use versus not. */ status: NamingSystemStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * This title does not need to be machine-processing friendly and may contain punctuation, white-space, etc. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * This will most commonly be used for identifier namespaces, but categories could potentially be useful for code systems and authorities as well. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; /** * Multiple identifiers may exist, either due to duplicate registration, regional rules, needs of different communication technologies, etc. */ @@ -22712,22 +22712,22 @@ export interface NamingSystem extends DomainResource { * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * Provides guidance on the use of the namespace, including the handling of formatting characters, use of upper vs. lower case, etc. */ - usage?: string; - _usage?: Element; + usage?: string|undefined; + _usage?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different naming system instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the naming system with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the NamingSystem.kind field @@ -22753,16 +22753,16 @@ export interface NutritionIntakeConsumedItem extends BackboneElement { /** * Quantity of the specified food. */ - amount?: Quantity; + amount?: Quantity|undefined; /** * Indicator when a patient is in a setting where it is helpful to know if food was not consumed, such as it was refused, held (as in tube feedings), or otherwise not provided. If a consumption is being recorded from an app, such as MyFitnessPal, this indicator will likely not be used. */ - notConsumed?: boolean; - _notConsumed?: Element; + notConsumed?: boolean|undefined; + _notConsumed?: Element|undefined; /** * Document the reason the food or fluid was not consumed, such as refused, held, etc. */ - notConsumedReason?: CodeableConcept; + notConsumedReason?: CodeableConcept|undefined; /** * If only a code is specified, then it needs to be a code for a specific product. If more information is required, then the use of a new nutritionProduct resource is recommended. */ @@ -22770,11 +22770,11 @@ export interface NutritionIntakeConsumedItem extends BackboneElement { /** * Rate at which enteral feeding was administered. */ - rate?: Quantity; + rate?: Quantity|undefined; /** * Scheduled frequency of consumption. */ - schedule?: Timing; + schedule?: Timing|undefined; /** * Indicates what a category of item that was consumed: eg., food, fluid, enteral, etc. */ @@ -22804,7 +22804,7 @@ export interface NutritionIntakePerformer extends BackboneElement { /** * Type of performer. */ - function?: CodeableConcept; + function?: CodeableConcept|undefined; } /** * A record of food or fluid that is being consumed by a patient. A NutritionIntake may indicate that the patient may be consuming the food or fluid now or has consumed the food or fluid in the past. The source of this information can be the patient, significant other (such as a family member or spouse), or a clinician. A common scenario where this information is captured is during the history taking process during a patient visit or stay or through an app that tracks food or fluids consumed. The consumption information may come from sources such as the patient's memory, from a nutrition label, or from a clinician documenting observed intake. @@ -22815,11 +22815,11 @@ export interface NutritionIntake extends DomainResource { /** * A plan, proposal or order that is fulfilled in whole or in part by this event. */ - basedOn?: Reference[]; + basedOn?: Reference[]|undefined; /** * Type of nutrition intake setting/reporting. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * What food or fluid product or item was consumed. */ @@ -22827,82 +22827,82 @@ export interface NutritionIntake extends DomainResource { /** * Likely references would be to AllergyIntolerance, Observation or QuestionnaireAnswers. */ - derivedFrom?: Reference[]; + derivedFrom?: Reference[]|undefined; /** * The encounter that establishes the context for this NutritionIntake. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * This is a business identifier, not a resource identifier. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Individual item nutrients are not currently included in the resource and will likely end up as a reference in nutritionProduct to represent the individual items. */ - ingredientLabel?: NutritionIntakeIngredientLabel[]; + ingredientLabel?: NutritionIntakeIngredientLabel[]|undefined; /** * Instantiates FHIR protocol or definition. */ - instantiatesCanonical?: string[]; - _instantiatesCanonical?: Element[]; + instantiatesCanonical?: string[]|undefined; + _instantiatesCanonical?: Element[]|undefined; /** * Instantiates external protocol or definition. */ - instantiatesUri?: string[]; - _instantiatesUri?: Element[]; + instantiatesUri?: string[]|undefined; + _instantiatesUri?: Element[]|undefined; /** * Where the intake occurred. */ - location?: Reference; + location?: Reference|undefined; /** * Provides extra information about the Nutrition Intake that is not conveyed by the other attributes. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * This attribute reflects the period over which the patient consumed the food fluid and is expected to be populated on the majority of NutritionIntake. If the food or fluid is still being taken and is expected to continue indefinitely at the time the usage is recorded, the "end" date will be omitted. If the end date is known, then it is included as the "end date". The date/time attribute supports a variety of dates - year, year/month and exact date. If something more than this is required, this should be conveyed as text. */ - occurrenceDateTime?: string; - _occurrenceDateTime?: Element; + occurrenceDateTime?: string|undefined; + _occurrenceDateTime?: Element|undefined; /** * This attribute reflects the period over which the patient consumed the food fluid and is expected to be populated on the majority of NutritionIntake. If the food or fluid is still being taken and is expected to continue indefinitely at the time the usage is recorded, the "end" date will be omitted. If the end date is known, then it is included as the "end date". The date/time attribute supports a variety of dates - year, year/month and exact date. If something more than this is required, this should be conveyed as text. */ - occurrencePeriod?: Period; + occurrencePeriod?: Period|undefined; /** * A larger event of which this particular event is a component or step. */ - partOf?: Reference[]; + partOf?: Reference[]|undefined; /** * Who performed the intake and how they were involved. */ - performer?: NutritionIntakePerformer[]; + performer?: NutritionIntakePerformer[]|undefined; /** * A reason, Condition or observation for why the food or fluid is /was consumed. */ - reason?: CodeableReference[]; + reason?: CodeableReference[]|undefined; /** * The date when the Nutrition Intake was asserted by the information source. */ - recorded?: string; - _recorded?: Element; + recorded?: string|undefined; + _recorded?: Element|undefined; /** * The person or organization that provided the information about the consumption of this food or fluid. Note: Use derivedFrom when a NutritionIntake is derived from other resources. */ - reportedBoolean?: boolean; - _reportedBoolean?: Element; + reportedBoolean?: boolean|undefined; + _reportedBoolean?: Element|undefined; /** * The person or organization that provided the information about the consumption of this food or fluid. Note: Use derivedFrom when a NutritionIntake is derived from other resources. */ - reportedReference?: Reference; + reportedReference?: Reference|undefined; /** * NutritionIntake is a statement at a point in time. The status is only representative at the point when it was asserted. The value set for NutritionIntake.status contains codes that assert the status of the consumption of the food or fluid by the patient (for example, stopped or on hold) as well as codes that assert the status of the Nutrition Intake itself (for example, entered in error). * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: NutritionIntakeStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * This is generally only used for "exception" statuses such as "not-taken", "on-hold", "cancelled" or "entered-in-error". The reason for performing the event at all is captured in reasonCode, not here. */ - statusReason?: CodeableConcept[]; + statusReason?: CodeableConcept[]|undefined; /** * The person, animal or group who is/was consuming the food or fluid. */ @@ -22928,11 +22928,11 @@ export interface NutritionOrderOralDietNutrient extends BackboneElement { /** * The quantity of the specified nutrient to include in diet. */ - amount?: Quantity; + amount?: Quantity|undefined; /** * The nutrient that is being modified such as carbohydrate or sodium. */ - modifier?: CodeableConcept; + modifier?: CodeableConcept|undefined; } /** * Class that describes any texture modifications required for the patient to safely consume various types of solid foods. @@ -22941,11 +22941,11 @@ export interface NutritionOrderOralDietTexture extends BackboneElement { /** * Coupled with the `texture.modifier`; could be (All Foods). */ - foodType?: CodeableConcept; + foodType?: CodeableConcept|undefined; /** * Coupled with the foodType (Meat). */ - modifier?: CodeableConcept; + modifier?: CodeableConcept|undefined; } /** * Diet given orally in contrast to enteral (tube) feeding. @@ -22954,28 +22954,28 @@ export interface NutritionOrderOralDiet extends BackboneElement { /** * The required consistency (e.g. honey-thick, nectar-thick, thin, thickened.) of liquids or fluids served to the patient. */ - fluidConsistencyType?: CodeableConcept[]; + fluidConsistencyType?: CodeableConcept[]|undefined; /** * Free text dosage instructions can be used for cases where the instructions are too complex to code. */ - instruction?: string; - _instruction?: Element; + instruction?: string|undefined; + _instruction?: Element|undefined; /** * Class that defines the quantity and type of nutrient modifications (for example carbohydrate, fiber or sodium) required for the oral diet. */ - nutrient?: NutritionOrderOralDietNutrient[]; + nutrient?: NutritionOrderOralDietNutrient[]|undefined; /** * The time period and frequency at which the diet should be given. The diet should be given for the combination of all schedules if more than one schedule is present. */ - schedule?: Timing[]; + schedule?: Timing[]|undefined; /** * Class that describes any texture modifications required for the patient to safely consume various types of solid foods. */ - texture?: NutritionOrderOralDietTexture[]; + texture?: NutritionOrderOralDietTexture[]|undefined; /** * The kind of diet or dietary restriction such as fiber restricted diet or diabetic diet. */ - type?: CodeableConcept[]; + type?: CodeableConcept[]|undefined; } /** * Oral nutritional products given in order to add further nutritional value to the patient's diet. @@ -22984,25 +22984,25 @@ export interface NutritionOrderSupplement extends BackboneElement { /** * Free text dosage instructions can be used for cases where the instructions are too complex to code. */ - instruction?: string; - _instruction?: Element; + instruction?: string|undefined; + _instruction?: Element|undefined; /** * The product or brand name of the nutritional supplement such as "Acme Protein Shake". */ - productName?: string; - _productName?: Element; + productName?: string|undefined; + _productName?: Element|undefined; /** * The amount of the nutritional supplement to be given. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * The time period and frequency at which the supplement(s) should be given. The supplement should be given for the combination of all schedules if more than one schedule is present. */ - schedule?: Timing[]; + schedule?: Timing[]|undefined; /** * The kind of nutritional supplement product required such as a high protein or pediatric clear liquid supplement. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * See implementation notes below for further discussion on how to order continuous vs bolus enteral feeding using this resource. @@ -23011,19 +23011,19 @@ export interface NutritionOrderEnteralFormulaAdministration extends BackboneElem /** * The volume of formula to provide to the patient per the specified administration schedule. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * Ratio is used when the quantity value in the denominator is not "1", otherwise use Quantity. For example, the Ratio datatype is used for "200 mL/4 hrs" versus the Quantity datatype for "50 mL/hr". */ - rateQuantity?: Quantity; + rateQuantity?: Quantity|undefined; /** * Ratio is used when the quantity value in the denominator is not "1", otherwise use Quantity. For example, the Ratio datatype is used for "200 mL/4 hrs" versus the Quantity datatype for "50 mL/hr". */ - rateRatio?: Ratio; + rateRatio?: Ratio|undefined; /** * The time period and frequency at which the enteral formula should be delivered to the patient. */ - schedule?: Timing; + schedule?: Timing|undefined; } /** * Feeding provided through the gastrointestinal tract via a tube, catheter, or stoma that delivers nutrition distal to the oral cavity. @@ -23032,42 +23032,42 @@ export interface NutritionOrderEnteralFormula extends BackboneElement { /** * The product or brand name of the type of modular component to be added to the formula. */ - additiveProductName?: string; - _additiveProductName?: Element; + additiveProductName?: string|undefined; + _additiveProductName?: Element|undefined; /** * Indicates the type of modular component such as protein, carbohydrate, fat or fiber to be provided in addition to or mixed with the base formula. */ - additiveType?: CodeableConcept; + additiveType?: CodeableConcept|undefined; /** * See implementation notes below for further discussion on how to order continuous vs bolus enteral feeding using this resource. */ - administration?: NutritionOrderEnteralFormulaAdministration[]; + administration?: NutritionOrderEnteralFormulaAdministration[]|undefined; /** * Free text dosage instructions can be used for cases where the instructions are too complex to code. */ - administrationInstruction?: string; - _administrationInstruction?: Element; + administrationInstruction?: string|undefined; + _administrationInstruction?: Element|undefined; /** * The product or brand name of the enteral or infant formula product such as "ACME Adult Standard Formula". */ - baseFormulaProductName?: string; - _baseFormulaProductName?: Element; + baseFormulaProductName?: string|undefined; + _baseFormulaProductName?: Element|undefined; /** * The type of enteral or infant formula such as an adult standard formula with fiber or a soy-based infant formula. */ - baseFormulaType?: CodeableConcept; + baseFormulaType?: CodeableConcept|undefined; /** * The amount of energy (calories) that the formula should provide per specified volume, typically per mL or fluid oz. For example, an infant may require a formula that provides 24 calories per fluid ounce or an adult may require an enteral formula that provides 1.5 calorie/mL. */ - caloricDensity?: Quantity; + caloricDensity?: Quantity|undefined; /** * The maximum total quantity of formula that may be administered to a subject over the period of time, e.g. 1440 mL over 24 hours. */ - maxVolumeToDeliver?: Quantity; + maxVolumeToDeliver?: Quantity|undefined; /** * The route or physiological path of administration into the patient's gastrointestinal tract for purposes of providing the formula feeding, e.g. nasogastric tube. */ - routeofAdministration?: CodeableConcept; + routeofAdministration?: CodeableConcept|undefined; } /** * A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident. @@ -23078,64 +23078,64 @@ export interface NutritionOrder extends DomainResource { /** * Information on a patient's food allergies and intolerances to inform healthcare personnel about the type of foods that the patient shouldn't receive or consume. */ - allergyIntolerance?: Reference[]; + allergyIntolerance?: Reference[]|undefined; /** * The date and time that this nutrition order was requested. */ dateTime: string; - _dateTime?: Element; + _dateTime?: Element|undefined; /** * An encounter that provides additional information about the healthcare context in which this request is made. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * Feeding provided through the gastrointestinal tract via a tube, catheter, or stoma that delivers nutrition distal to the oral cavity. */ - enteralFormula?: NutritionOrderEnteralFormula; + enteralFormula?: NutritionOrderEnteralFormula|undefined; /** * Information on a patient's food allergies, intolerances and preferences to inform healthcare personnel about the type of foods that the patient shouldn't receive or consume. */ - excludeFoodModifier?: CodeableConcept[]; + excludeFoodModifier?: CodeableConcept[]|undefined; /** * Information on a patient's food preferences that inform healthcare personnel about the food that the patient should receive or consume. */ - foodPreferenceModifier?: CodeableConcept[]; + foodPreferenceModifier?: CodeableConcept[]|undefined; /** * The Identifier.type element can be to indicate filler vs. placer if needed. This is explained in further detail [here](servicerequest.html#notes). */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The URL pointing to a protocol, guideline, orderset or other definition that is adhered to in whole or in part by this NutritionOrder. */ - instantiates?: string[]; - _instantiates?: Element[]; + instantiates?: string[]|undefined; + _instantiates?: Element[]|undefined; /** * Note: This is a business identifier, not a resource identifier (see [discussion](resource.html#identifiers)). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and a Person resource instance might share the same social insurance number. */ - instantiatesCanonical?: string[]; - _instantiatesCanonical?: Element[]; + instantiatesCanonical?: string[]|undefined; + _instantiatesCanonical?: Element[]|undefined; /** * This might be an HTML page, PDF, etc. or could just be a non-resolvable URI identifier. */ - instantiatesUri?: string[]; - _instantiatesUri?: Element[]; + instantiatesUri?: string[]|undefined; + _instantiatesUri?: Element[]|undefined; /** * When resources map to this element, they are free to define as many codes as necessary to cover their space and will map to "proposal, plan or order". Can have multiple codes that map to one of these. E.g. "original order", "encoded order", "reflex order" would all map to "order". Expectation is that the set of codes is mutually exclusive or a strict all-encompassing hierarchy. */ intent: NutritionOrderIntentCodes; - _intent?: Element; + _intent?: Element|undefined; /** * This element SHALL NOT be used to supply free text instructions for the diet which are represented in the `.oralDiet.instruction`, `supplement.instruction`, or `enteralFormula.administrationInstruction` elements. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * Diet given orally in contrast to enteral (tube) feeding. */ - oralDiet?: NutritionOrderOralDiet; + oralDiet?: NutritionOrderOralDiet|undefined; /** * The practitioner that holds legal responsibility for ordering the diet, nutritional supplement, or formula feedings. */ - orderer?: Reference; + orderer?: Reference|undefined; /** * The person (patient) who needs the nutrition order for an oral diet, nutritional supplement and/or enteral or formula feeding. */ @@ -23144,11 +23144,11 @@ export interface NutritionOrder extends DomainResource { * Typically the system placing the order sets the status to "requested". Thereafter, the order is maintained by the receiver that updates the status as the request is handled. This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: NutritionOrderStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Oral nutritional products given in order to add further nutritional value to the patient's diet. */ - supplement?: NutritionOrderSupplement[]; + supplement?: NutritionOrderSupplement[]|undefined; } /** * Code Values for the NutritionOrder.intent field @@ -23183,11 +23183,11 @@ export interface NutritionProductNutrient extends BackboneElement { /** * The amount of nutrient expressed in one or more units: X per pack / per serving / per dose. */ - amount?: Ratio[]; + amount?: Ratio[]|undefined; /** * The (relevant) nutrients in the product. */ - item?: CodeableReference; + item?: CodeableReference|undefined; } /** * Ingredients contained in this product. @@ -23196,7 +23196,7 @@ export interface NutritionProductIngredient extends BackboneElement { /** * The amount of ingredient that is in the product. */ - amount?: Ratio[]; + amount?: Ratio[]|undefined; /** * The ingredient contained in the product. */ @@ -23213,30 +23213,30 @@ export interface NutritionProductProductCharacteristic extends BackboneElement { /** * The description should be provided as a CodeableConcept, SimpleQuantity or an image. The description can be a string only when these others are not available. */ - valueCodeableConcept?: CodeableConcept; + valueCodeableConcept?: CodeableConcept|undefined; /** * The description should be provided as a CodeableConcept, SimpleQuantity or an image. The description can be a string only when these others are not available. */ - valueString?: string; - _valueString?: Element; + valueString?: string|undefined; + _valueString?: Element|undefined; /** * The description should be provided as a CodeableConcept, SimpleQuantity or an image. The description can be a string only when these others are not available. */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; /** * The description should be provided as a CodeableConcept, SimpleQuantity or an image. The description can be a string only when these others are not available. */ - valueBase64Binary?: string; - _valueBase64Binary?: Element; + valueBase64Binary?: string|undefined; + _valueBase64Binary?: Element|undefined; /** * The description should be provided as a CodeableConcept, SimpleQuantity or an image. The description can be a string only when these others are not available. */ - valueAttachment?: Attachment; + valueAttachment?: Attachment|undefined; /** * The description should be provided as a CodeableConcept, SimpleQuantity or an image. The description can be a string only when these others are not available. */ - valueBoolean?: boolean; - _valueBoolean?: Element; + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; } /** * Conveys instance-level information about this product item. One or several physical, countable instances or occurrences of the product. @@ -23245,26 +23245,26 @@ export interface NutritionProductInstance extends BackboneElement { /** * The time after which the product is no longer expected to be in proper condition, or its use is not advised or not allowed. */ - expiry?: string; - _expiry?: Element; + expiry?: string|undefined; + _expiry?: Element|undefined; /** * The identifier for the physical instance, typically a serial number. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The identification of the batch or lot of the product. */ - lotNumber?: string; - _lotNumber?: Element; + lotNumber?: string|undefined; + _lotNumber?: Element|undefined; /** * The amount of items or instances that the resource considers, for instance when referring to 2 identical units together. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * The time after which the product is no longer expected to be in proper condition, or its use is not advised or not allowed. */ - useBy?: string; - _useBy?: Element; + useBy?: string|undefined; + _useBy?: Element|undefined; } /** * A food or fluid product that is consumed by patients. @@ -23275,44 +23275,44 @@ export interface NutritionProduct extends DomainResource { /** * Nutrition products can have different classifications - according to its nutritional properties, preparation methods, etc. */ - category?: CodeableConcept[]; + category?: CodeableConcept[]|undefined; /** * The code assigned to the product, for example a manufacturer number or other terminology. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * Ingredients contained in this product. */ - ingredient?: NutritionProductIngredient[]; + ingredient?: NutritionProductIngredient[]|undefined; /** * Conveys instance-level information about this product item. One or several physical, countable instances or occurrences of the product. */ - instance?: NutritionProductInstance; + instance?: NutritionProductInstance|undefined; /** * Allergens that are known or suspected to be a part of this nutrition product. */ - knownAllergen?: CodeableReference[]; + knownAllergen?: CodeableReference[]|undefined; /** * The organisation (manufacturer, representative or legal authorisation holder) that is responsible for the device. */ - manufacturer?: Reference[]; + manufacturer?: Reference[]|undefined; /** * Comments made about the product. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * Note: This is a business identifier, not a resource identifier (see [discussion](resource.html#identifiers)). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and a Person resource instance might share the same social insurance number. */ - nutrient?: NutritionProductNutrient[]; + nutrient?: NutritionProductNutrient[]|undefined; /** * Specifies descriptive properties of the nutrition product. */ - productCharacteristic?: NutritionProductProductCharacteristic[]; + productCharacteristic?: NutritionProductProductCharacteristic[]|undefined; /** * Unknown does not represent "other" - one of the defined statuses must apply. Unknown is used when the authoring system is not sure what the current status is. */ status: NutritionProductStatusCodes; - _status?: Element; + _status?: Element|undefined; } /** * Code Values for the NutritionProduct.status field @@ -23329,28 +23329,28 @@ export interface ObservationReferenceRange extends BackboneElement { /** * The age at which this reference range is applicable. This is a neonatal age (e.g. number of weeks at term) if the meaning says so. */ - age?: Range; + age?: Range|undefined; /** * This SHOULD be populated if there is more than one range. If this element is not present then the normal population is assumed. */ - appliesTo?: CodeableConcept[]; + appliesTo?: CodeableConcept[]|undefined; /** * The value of the high bound of the reference range. The high bound of the reference range endpoint is inclusive of the value (e.g. reference range is >=5 - <=9). If the high bound is omitted, it is assumed to be meaningless (e.g. reference range is >= 2.3). */ - high?: Quantity; + high?: Quantity|undefined; /** * The value of the low bound of the reference range. The low bound of the reference range endpoint is inclusive of the value (e.g. reference range is >=5 - <=9). If the low bound is omitted, it is assumed to be meaningless (e.g. reference range is <=2.3). */ - low?: Quantity; + low?: Quantity|undefined; /** * Text based reference range in an observation which may be used when a quantitative range is not appropriate for an observation. An example would be a reference value of "Negative" or a list or table of "normals". */ - text?: string; - _text?: Element; + text?: string|undefined; + _text?: Element|undefined; /** * This SHOULD be populated if there is more than one range. If this element is not present then the normal range is assumed. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * For a discussion on the ways Observations can be assembled in groups together see [Notes](observation.html#notes) below. @@ -23364,15 +23364,15 @@ export interface ObservationComponent extends BackboneElement { * "Null" or exceptional values can be represented two ways in FHIR Observations. One way is to simply include them in the value set and represent the exceptions in the value. For example, measurement values for a serology test could be "detected", "not detected", "inconclusive", or "test not done". * The alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values. For example, the dataAbsentReason code "error" could be used when the measurement was not completed. Because of these options, use-case agreements are required to interpret general observations for exceptional values. */ - dataAbsentReason?: CodeableConcept; + dataAbsentReason?: CodeableConcept|undefined; /** * Historically used for laboratory results (known as 'abnormal flag' ), its use extends to other use cases where coded interpretations are relevant. Often reported as one or more simple compact codes this element is often placed adjacent to the result value in reports and flow sheets to signal the meaning/normalcy status of the result. */ - interpretation?: CodeableConcept[]; + interpretation?: CodeableConcept[]|undefined; /** * Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this might not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties. */ - referenceRange?: ObservationReferenceRange[]; + referenceRange?: ObservationReferenceRange[]|undefined; /** * Used when observation has a set of component observations: * - An observation may have both a value (e.g. an Apgar score) and component observations (the observations from which the Apgar score was derived). @@ -23381,7 +23381,7 @@ export interface ObservationComponent extends BackboneElement { * - *Attachment* is used if the observation result value is a binary file such as an image. If the observation result value is derived from the binary file (for example 'X' detected and here is the the proof in this image), the binary file may be directly represented using *DocumentReference* and referenced by `derivedFrom`. * - For additional guidance, see the [Notes section](observation.html#notes) below. */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; /** * Used when observation has a set of component observations: * - An observation may have both a value (e.g. an Apgar score) and component observations (the observations from which the Apgar score was derived). @@ -23390,7 +23390,7 @@ export interface ObservationComponent extends BackboneElement { * - *Attachment* is used if the observation result value is a binary file such as an image. If the observation result value is derived from the binary file (for example 'X' detected and here is the the proof in this image), the binary file may be directly represented using *DocumentReference* and referenced by `derivedFrom`. * - For additional guidance, see the [Notes section](observation.html#notes) below. */ - valueCodeableConcept?: CodeableConcept; + valueCodeableConcept?: CodeableConcept|undefined; /** * Used when observation has a set of component observations: * - An observation may have both a value (e.g. an Apgar score) and component observations (the observations from which the Apgar score was derived). @@ -23399,8 +23399,8 @@ export interface ObservationComponent extends BackboneElement { * - *Attachment* is used if the observation result value is a binary file such as an image. If the observation result value is derived from the binary file (for example 'X' detected and here is the the proof in this image), the binary file may be directly represented using *DocumentReference* and referenced by `derivedFrom`. * - For additional guidance, see the [Notes section](observation.html#notes) below. */ - valueString?: string; - _valueString?: Element; + valueString?: string|undefined; + _valueString?: Element|undefined; /** * Used when observation has a set of component observations: * - An observation may have both a value (e.g. an Apgar score) and component observations (the observations from which the Apgar score was derived). @@ -23409,8 +23409,8 @@ export interface ObservationComponent extends BackboneElement { * - *Attachment* is used if the observation result value is a binary file such as an image. If the observation result value is derived from the binary file (for example 'X' detected and here is the the proof in this image), the binary file may be directly represented using *DocumentReference* and referenced by `derivedFrom`. * - For additional guidance, see the [Notes section](observation.html#notes) below. */ - valueBoolean?: boolean; - _valueBoolean?: Element; + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; /** * Used when observation has a set of component observations: * - An observation may have both a value (e.g. an Apgar score) and component observations (the observations from which the Apgar score was derived). @@ -23419,7 +23419,7 @@ export interface ObservationComponent extends BackboneElement { * - *Attachment* is used if the observation result value is a binary file such as an image. If the observation result value is derived from the binary file (for example 'X' detected and here is the the proof in this image), the binary file may be directly represented using *DocumentReference* and referenced by `derivedFrom`. * - For additional guidance, see the [Notes section](observation.html#notes) below. */ - valueInteger?: number; + valueInteger?: number|undefined; /** * Used when observation has a set of component observations: * - An observation may have both a value (e.g. an Apgar score) and component observations (the observations from which the Apgar score was derived). @@ -23428,7 +23428,7 @@ export interface ObservationComponent extends BackboneElement { * - *Attachment* is used if the observation result value is a binary file such as an image. If the observation result value is derived from the binary file (for example 'X' detected and here is the the proof in this image), the binary file may be directly represented using *DocumentReference* and referenced by `derivedFrom`. * - For additional guidance, see the [Notes section](observation.html#notes) below. */ - valueRange?: Range; + valueRange?: Range|undefined; /** * Used when observation has a set of component observations: * - An observation may have both a value (e.g. an Apgar score) and component observations (the observations from which the Apgar score was derived). @@ -23437,7 +23437,7 @@ export interface ObservationComponent extends BackboneElement { * - *Attachment* is used if the observation result value is a binary file such as an image. If the observation result value is derived from the binary file (for example 'X' detected and here is the the proof in this image), the binary file may be directly represented using *DocumentReference* and referenced by `derivedFrom`. * - For additional guidance, see the [Notes section](observation.html#notes) below. */ - valueRatio?: Ratio; + valueRatio?: Ratio|undefined; /** * Used when observation has a set of component observations: * - An observation may have both a value (e.g. an Apgar score) and component observations (the observations from which the Apgar score was derived). @@ -23446,7 +23446,7 @@ export interface ObservationComponent extends BackboneElement { * - *Attachment* is used if the observation result value is a binary file such as an image. If the observation result value is derived from the binary file (for example 'X' detected and here is the the proof in this image), the binary file may be directly represented using *DocumentReference* and referenced by `derivedFrom`. * - For additional guidance, see the [Notes section](observation.html#notes) below. */ - valueSampledData?: SampledData; + valueSampledData?: SampledData|undefined; /** * Used when observation has a set of component observations: * - An observation may have both a value (e.g. an Apgar score) and component observations (the observations from which the Apgar score was derived). @@ -23455,8 +23455,8 @@ export interface ObservationComponent extends BackboneElement { * - *Attachment* is used if the observation result value is a binary file such as an image. If the observation result value is derived from the binary file (for example 'X' detected and here is the the proof in this image), the binary file may be directly represented using *DocumentReference* and referenced by `derivedFrom`. * - For additional guidance, see the [Notes section](observation.html#notes) below. */ - valueTime?: string; - _valueTime?: Element; + valueTime?: string|undefined; + _valueTime?: Element|undefined; /** * Used when observation has a set of component observations: * - An observation may have both a value (e.g. an Apgar score) and component observations (the observations from which the Apgar score was derived). @@ -23465,8 +23465,8 @@ export interface ObservationComponent extends BackboneElement { * - *Attachment* is used if the observation result value is a binary file such as an image. If the observation result value is derived from the binary file (for example 'X' detected and here is the the proof in this image), the binary file may be directly represented using *DocumentReference* and referenced by `derivedFrom`. * - For additional guidance, see the [Notes section](observation.html#notes) below. */ - valueDateTime?: string; - _valueDateTime?: Element; + valueDateTime?: string|undefined; + _valueDateTime?: Element|undefined; /** * Used when observation has a set of component observations: * - An observation may have both a value (e.g. an Apgar score) and component observations (the observations from which the Apgar score was derived). @@ -23475,7 +23475,7 @@ export interface ObservationComponent extends BackboneElement { * - *Attachment* is used if the observation result value is a binary file such as an image. If the observation result value is derived from the binary file (for example 'X' detected and here is the the proof in this image), the binary file may be directly represented using *DocumentReference* and referenced by `derivedFrom`. * - For additional guidance, see the [Notes section](observation.html#notes) below. */ - valuePeriod?: Period; + valuePeriod?: Period|undefined; /** * Used when observation has a set of component observations: * - An observation may have both a value (e.g. an Apgar score) and component observations (the observations from which the Apgar score was derived). @@ -23484,7 +23484,7 @@ export interface ObservationComponent extends BackboneElement { * - *Attachment* is used if the observation result value is a binary file such as an image. If the observation result value is derived from the binary file (for example 'X' detected and here is the the proof in this image), the binary file may be directly represented using *DocumentReference* and referenced by `derivedFrom`. * - For additional guidance, see the [Notes section](observation.html#notes) below. */ - valueAttachment?: Attachment; + valueAttachment?: Attachment|undefined; } /** * Measurements and simple assertions made about a patient, device or other subject. @@ -23495,16 +23495,16 @@ export interface Observation extends DomainResource { /** * A plan, proposal or order that is fulfilled in whole or in part by this event. For example, a MedicationRequest may require a patient to have laboratory test performed before it is dispensed. */ - basedOn?: Reference[]; + basedOn?: Reference[]|undefined; /** * Only used if not implicit in code found in Observation.code. In many systems, this may be represented as a related observation instead of an inline component. * If the use case requires BodySite to be handled as a separate resource (e.g. to identify and track separately) then use the standard extension[ bodySite](extension-bodysite.html). */ - bodySite?: CodeableConcept; + bodySite?: CodeableConcept|undefined; /** * In addition to the required category valueset, this element allows various categorization schemes based on the owner’s definition of the category and effectively multiple categories can be used at once. The level of granularity is defined by the category concepts in the value set. */ - category?: CodeableConcept[]; + category?: CodeableConcept[]|undefined; /** * *All* code-value and, if present, component.code-component.value pairs need to be taken into account to correctly understand the meaning of the observation. */ @@ -23512,105 +23512,105 @@ export interface Observation extends DomainResource { /** * For a discussion on the ways Observations can be assembled in groups together see [Notes](observation.html#notes) below. */ - component?: ObservationComponent[]; + component?: ObservationComponent[]|undefined; /** * Null or exceptional values can be represented two ways in FHIR Observations. One way is to simply include them in the value set and represent the exceptions in the value. For example, measurement values for a serology test could be "detected", "not detected", "inconclusive", or "specimen unsatisfactory". * The alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values. For example, the dataAbsentReason code "error" could be used when the measurement was not completed. Note that an observation may only be reported if there are values to report. For example differential cell counts values may be reported only when > 0. Because of these options, use-case agreements are required to interpret general observations for null or exceptional values. */ - dataAbsentReason?: CodeableConcept; + dataAbsentReason?: CodeableConcept|undefined; /** * All the reference choices that are listed in this element can represent clinical observations and other measurements that may be the source for a derived value. The most common reference will be another Observation. For a discussion on the ways Observations can assembled in groups together, see [Notes](observation.html#obsgrouping) below. */ - derivedFrom?: Reference[]; + derivedFrom?: Reference[]|undefined; /** * Note that this is not meant to represent a device involved in the transmission of the result, e.g., a gateway. Such devices may be documented using the Provenance resource where relevant. */ - device?: Reference; + device?: Reference|undefined; /** * At least a date should be present unless this observation is a historical report. For recording imprecise or "fuzzy" times (For example, a blood glucose measurement taken "after breakfast") use the [Timing](datatypes.html#timing) datatype which allow the measurement to be tied to regular life events. */ - effectiveDateTime?: string; - _effectiveDateTime?: Element; + effectiveDateTime?: string|undefined; + _effectiveDateTime?: Element|undefined; /** * At least a date should be present unless this observation is a historical report. For recording imprecise or "fuzzy" times (For example, a blood glucose measurement taken "after breakfast") use the [Timing](datatypes.html#timing) datatype which allow the measurement to be tied to regular life events. */ - effectivePeriod?: Period; + effectivePeriod?: Period|undefined; /** * At least a date should be present unless this observation is a historical report. For recording imprecise or "fuzzy" times (For example, a blood glucose measurement taken "after breakfast") use the [Timing](datatypes.html#timing) datatype which allow the measurement to be tied to regular life events. */ - effectiveTiming?: Timing; + effectiveTiming?: Timing|undefined; /** * At least a date should be present unless this observation is a historical report. For recording imprecise or "fuzzy" times (For example, a blood glucose measurement taken "after breakfast") use the [Timing](datatypes.html#timing) datatype which allow the measurement to be tied to regular life events. */ - effectiveInstant?: string; - _effectiveInstant?: Element; + effectiveInstant?: string|undefined; + _effectiveInstant?: Element|undefined; /** * This will typically be the encounter the event occurred within, but some events may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter (e.g. pre-admission laboratory tests). */ - encounter?: Reference; + encounter?: Reference|undefined; /** * Typically, an observation is made about the subject - a patient, or group of patients, location, or device - and the distinction between the subject and what is directly measured for an observation is specified in the observation code itself ( e.g., "Blood Glucose") and does not need to be represented separately using this element. Use `specimen` if a reference to a specimen is required. If a code is required instead of a resource use either `bodysite` for bodysites or the standard extension [focusCode](extension-observation-focuscode.html). */ - focus?: Reference[]; + focus?: Reference[]|undefined; /** * When using this element, an observation will typically have either a value or a set of related resources, although both may be present in some cases. For a discussion on the ways Observations can assembled in groups together, see [Notes](observation.html#obsgrouping) below. Note that a system may calculate results from [QuestionnaireResponse](questionnaireresponse.html) into a final score and represent the score as an Observation. */ - hasMember?: Reference[]; + hasMember?: Reference[]|undefined; /** * A unique identifier assigned to this observation. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * ObservationDefinition can be referenced by its canonical url using instantiatesCanonical, or by a name or an identifier using the appropriate sub-elements of instantiatesReference. */ - instantiatesCanonical?: string; - _instantiatesCanonical?: Element; + instantiatesCanonical?: string|undefined; + _instantiatesCanonical?: Element|undefined; /** * ObservationDefinition can be referenced by its canonical url using instantiatesCanonical, or by a name or an identifier using the appropriate sub-elements of instantiatesReference. */ - instantiatesReference?: Reference; + instantiatesReference?: Reference|undefined; /** * Historically used for laboratory results (known as 'abnormal flag' ), its use extends to other use cases where coded interpretations are relevant. Often reported as one or more simple compact codes this element is often placed adjacent to the result value in reports and flow sheets to signal the meaning/normalcy status of the result. */ - interpretation?: CodeableConcept[]; + interpretation?: CodeableConcept[]|undefined; /** * For Observations that don’t require review and verification, it may be the same as the [`lastUpdated` ](resource-definitions.html#Meta.lastUpdated) time of the resource itself. For Observations that do require review and verification for certain updates, it might not be the same as the `lastUpdated` time of the resource itself due to a non-clinically significant update that doesn’t require the new version to be reviewed and verified again. */ - issued?: string; - _issued?: Element; + issued?: string|undefined; + _issued?: Element|undefined; /** * Only used if not implicit in code for Observation.code. */ - method?: CodeableConcept; + method?: CodeableConcept|undefined; /** * May include general statements about the observation, or statements about significant, unexpected or unreliable results values, or information about its source when relevant to its interpretation. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * To link an Observation to an Encounter use `encounter`. See the [Notes](observation.html#obsgrouping) below for guidance on referencing another Observation. */ - partOf?: Reference[]; + partOf?: Reference[]|undefined; /** * Who was responsible for asserting the observed value as "true". */ - performer?: Reference[]; + performer?: Reference[]|undefined; /** * Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this might not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties. */ - referenceRange?: ObservationReferenceRange[]; + referenceRange?: ObservationReferenceRange[]|undefined; /** * Should only be used if not implicit in code found in `Observation.code`. Observations are not made on specimens themselves; they are made on a subject, but in many cases by the means of a specimen. Note that although specimens are often involved, they are not always tracked and reported explicitly. Also note that observation resources may be used in contexts that track the specimen explicitly (e.g. Diagnostic Report). */ - specimen?: Reference; + specimen?: Reference|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: ObservationStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * One would expect this element to be a cardinality of 1..1. The only circumstance in which the subject can be missing is when the observation is made by a device that does not know the patient. In this case, the observation SHALL be matched to a patient through some context/channel matching technique, and at this point, the observation should be updated. The subject of an Observation may in some cases be a procedure. This supports the regulatory inspection use case where observations are captured during inspections of a procedure that is being performed (independent of any particular patient or whether patient related at all). */ - subject?: Reference; + subject?: Reference|undefined; /** * - An observation may have: * 1. a single value here @@ -23621,7 +23621,7 @@ export interface Observation extends DomainResource { * - *Attachment* is used if the observation result value is a binary file such as an image. If the observation result value is derived from the binary file (for example 'X' detected and here is the the proof in this image), the binary file may be directly represented using *DocumentReference* and referenced by `derivedFrom`. * - For additional guidance, see the [Notes section](observation.html#notes) below. */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; /** * - An observation may have: * 1. a single value here @@ -23632,7 +23632,7 @@ export interface Observation extends DomainResource { * - *Attachment* is used if the observation result value is a binary file such as an image. If the observation result value is derived from the binary file (for example 'X' detected and here is the the proof in this image), the binary file may be directly represented using *DocumentReference* and referenced by `derivedFrom`. * - For additional guidance, see the [Notes section](observation.html#notes) below. */ - valueCodeableConcept?: CodeableConcept; + valueCodeableConcept?: CodeableConcept|undefined; /** * - An observation may have: * 1. a single value here @@ -23643,8 +23643,8 @@ export interface Observation extends DomainResource { * - *Attachment* is used if the observation result value is a binary file such as an image. If the observation result value is derived from the binary file (for example 'X' detected and here is the the proof in this image), the binary file may be directly represented using *DocumentReference* and referenced by `derivedFrom`. * - For additional guidance, see the [Notes section](observation.html#notes) below. */ - valueString?: string; - _valueString?: Element; + valueString?: string|undefined; + _valueString?: Element|undefined; /** * - An observation may have: * 1. a single value here @@ -23655,8 +23655,8 @@ export interface Observation extends DomainResource { * - *Attachment* is used if the observation result value is a binary file such as an image. If the observation result value is derived from the binary file (for example 'X' detected and here is the the proof in this image), the binary file may be directly represented using *DocumentReference* and referenced by `derivedFrom`. * - For additional guidance, see the [Notes section](observation.html#notes) below. */ - valueBoolean?: boolean; - _valueBoolean?: Element; + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; /** * - An observation may have: * 1. a single value here @@ -23667,7 +23667,7 @@ export interface Observation extends DomainResource { * - *Attachment* is used if the observation result value is a binary file such as an image. If the observation result value is derived from the binary file (for example 'X' detected and here is the the proof in this image), the binary file may be directly represented using *DocumentReference* and referenced by `derivedFrom`. * - For additional guidance, see the [Notes section](observation.html#notes) below. */ - valueInteger?: number; + valueInteger?: number|undefined; /** * - An observation may have: * 1. a single value here @@ -23678,7 +23678,7 @@ export interface Observation extends DomainResource { * - *Attachment* is used if the observation result value is a binary file such as an image. If the observation result value is derived from the binary file (for example 'X' detected and here is the the proof in this image), the binary file may be directly represented using *DocumentReference* and referenced by `derivedFrom`. * - For additional guidance, see the [Notes section](observation.html#notes) below. */ - valueRange?: Range; + valueRange?: Range|undefined; /** * - An observation may have: * 1. a single value here @@ -23689,7 +23689,7 @@ export interface Observation extends DomainResource { * - *Attachment* is used if the observation result value is a binary file such as an image. If the observation result value is derived from the binary file (for example 'X' detected and here is the the proof in this image), the binary file may be directly represented using *DocumentReference* and referenced by `derivedFrom`. * - For additional guidance, see the [Notes section](observation.html#notes) below. */ - valueRatio?: Ratio; + valueRatio?: Ratio|undefined; /** * - An observation may have: * 1. a single value here @@ -23700,7 +23700,7 @@ export interface Observation extends DomainResource { * - *Attachment* is used if the observation result value is a binary file such as an image. If the observation result value is derived from the binary file (for example 'X' detected and here is the the proof in this image), the binary file may be directly represented using *DocumentReference* and referenced by `derivedFrom`. * - For additional guidance, see the [Notes section](observation.html#notes) below. */ - valueSampledData?: SampledData; + valueSampledData?: SampledData|undefined; /** * - An observation may have: * 1. a single value here @@ -23711,8 +23711,8 @@ export interface Observation extends DomainResource { * - *Attachment* is used if the observation result value is a binary file such as an image. If the observation result value is derived from the binary file (for example 'X' detected and here is the the proof in this image), the binary file may be directly represented using *DocumentReference* and referenced by `derivedFrom`. * - For additional guidance, see the [Notes section](observation.html#notes) below. */ - valueTime?: string; - _valueTime?: Element; + valueTime?: string|undefined; + _valueTime?: Element|undefined; /** * - An observation may have: * 1. a single value here @@ -23723,8 +23723,8 @@ export interface Observation extends DomainResource { * - *Attachment* is used if the observation result value is a binary file such as an image. If the observation result value is derived from the binary file (for example 'X' detected and here is the the proof in this image), the binary file may be directly represented using *DocumentReference* and referenced by `derivedFrom`. * - For additional guidance, see the [Notes section](observation.html#notes) below. */ - valueDateTime?: string; - _valueDateTime?: Element; + valueDateTime?: string|undefined; + _valueDateTime?: Element|undefined; /** * - An observation may have: * 1. a single value here @@ -23735,7 +23735,7 @@ export interface Observation extends DomainResource { * - *Attachment* is used if the observation result value is a binary file such as an image. If the observation result value is derived from the binary file (for example 'X' detected and here is the the proof in this image), the binary file may be directly represented using *DocumentReference* and referenced by `derivedFrom`. * - For additional guidance, see the [Notes section](observation.html#notes) below. */ - valuePeriod?: Period; + valuePeriod?: Period|undefined; /** * - An observation may have: * 1. a single value here @@ -23746,7 +23746,7 @@ export interface Observation extends DomainResource { * - *Attachment* is used if the observation result value is a binary file such as an image. If the observation result value is derived from the binary file (for example 'X' detected and here is the the proof in this image), the binary file may be directly represented using *DocumentReference* and referenced by `derivedFrom`. * - For additional guidance, see the [Notes section](observation.html#notes) below. */ - valueAttachment?: Attachment; + valueAttachment?: Attachment|undefined; } /** * Code Values for the Observation.status field @@ -23768,19 +23768,19 @@ export interface ObservationDefinitionQuantitativeDetails extends BackboneElemen /** * Factor for converting value expressed with primary unit to value expressed with secondary unit. */ - conversionFactor?: number; + conversionFactor?: number|undefined; /** * Secondary unit used to report quantitative results of observations conforming to this ObservationDefinition. */ - customaryUnit?: CodeableConcept; + customaryUnit?: CodeableConcept|undefined; /** * Number of digits after decimal separator when the results of such observations are of type Quantity. */ - decimalPrecision?: number; + decimalPrecision?: number|undefined; /** * Primary unit used to report quantitative results of observations conforming to this ObservationDefinition. */ - unit?: CodeableConcept; + unit?: CodeableConcept|undefined; } /** * A set of qualified values associated with a context and a set of conditions - provides a range for quantitative and ordinal observations and a collection of value sets for qualitative observations. @@ -23789,58 +23789,58 @@ export interface ObservationDefinitionQualifiedValue extends BackboneElement { /** * The set of abnormal coded results for qualitative observations that match the criteria of this set of qualified values. */ - abnormalCodedValueSet?: string; - _abnormalCodedValueSet?: Element; + abnormalCodedValueSet?: string|undefined; + _abnormalCodedValueSet?: Element|undefined; /** * Some analytes vary greatly over age. */ - age?: Range; + age?: Range|undefined; /** * If this element is not present then the global population is assumed. */ - appliesTo?: CodeableConcept[]; + appliesTo?: CodeableConcept[]|undefined; /** * Text based condition for which the the set of qualified values is valid. */ - condition?: string; - _condition?: Element; + condition?: string|undefined; + _condition?: Element|undefined; /** * A concept defining the context for this set of qualified values. */ - context?: CodeableConcept; + context?: CodeableConcept|undefined; /** * The set of critical coded results for qualitative observations that match the criteria of this set of qualified values. */ - criticalCodedValueSet?: string; - _criticalCodedValueSet?: Element; + criticalCodedValueSet?: string|undefined; + _criticalCodedValueSet?: Element|undefined; /** * The gender this set of qualified values applies to. */ - gender?: ObservationDefinitionQualifiedValueGenderCodes; - _gender?: Element; + gender?: ObservationDefinitionQualifiedValueGenderCodes|undefined; + _gender?: Element|undefined; /** * The gestational age this set of qualified values applies to. */ - gestationalAge?: Range; + gestationalAge?: Range|undefined; /** * The set of normal coded results for qualitative observations that match the criteria of this set of qualified values. */ - normalCodedValueSet?: string; - _normalCodedValueSet?: Element; + normalCodedValueSet?: string|undefined; + _normalCodedValueSet?: Element|undefined; /** * The range of values defined for continuous or ordinal observations that match the criteria of this set of qualified values. */ - range?: Range; + range?: Range|undefined; /** * The category of range of values for continuous or ordinal observations that match the criteria of this set of qualified values. */ - rangeCategory?: ObservationDefinitionQualifiedValueRangeCategoryCodes; - _rangeCategory?: Element; + rangeCategory?: ObservationDefinitionQualifiedValueRangeCategoryCodes|undefined; + _rangeCategory?: Element|undefined; /** * The set of valid coded results for qualitative observations that match the criteria of this set of qualified values. */ - validCodedValueSet?: string; - _validCodedValueSet?: Element; + validCodedValueSet?: string|undefined; + _validCodedValueSet?: Element|undefined; } /** * Code Values for the ObservationDefinition.qualifiedValue.gender field @@ -23870,16 +23870,16 @@ export interface ObservationDefinitionComponent extends BackboneElement { /** * The data types allowed for the value element of the instance of this component observations. */ - permittedDataType?: ObservationDefinitionComponentPermittedDataTypeCodes[]; - _permittedDataType?: Element[]; + permittedDataType?: ObservationDefinitionComponentPermittedDataTypeCodes[]|undefined; + _permittedDataType?: Element[]|undefined; /** * A set of qualified values associated with a context and a set of conditions - provides a range for quantitative and ordinal observations and a collection of value sets for qualitative observations. */ - qualifiedValue?: ObservationDefinitionQualifiedValue[]; + qualifiedValue?: ObservationDefinitionQualifiedValue[]|undefined; /** * Characteristics for quantitative results of this observation. */ - quantitativeDetails?: ObservationDefinitionQuantitativeDetails; + quantitativeDetails?: ObservationDefinitionQuantitativeDetails|undefined; } /** * Code Values for the ObservationDefinition.component.permittedDataType field @@ -23906,17 +23906,17 @@ export interface ObservationDefinition extends DomainResource { /** * The date may be more recent than the approval date because of minor changes / editorial corrections. */ - approvalDate?: string; - _approvalDate?: Element; + approvalDate?: string|undefined; + _approvalDate?: Element|undefined; /** * Only used if the defined observation is to be made directly on a body part and if this body part is not implied by code found in ObservationDefinition.code. Not used for in vitro diagnostic observations. * Example: 14975008 |Forearm structure|. */ - bodySite?: CodeableConcept; + bodySite?: CodeableConcept|undefined; /** * This element allows various categorization schemes based on the owner’s definition of the category and effectively multiple categories can be used for one instance of ObservationDefinition. The level of granularity is defined by the category concepts in the value set. */ - category?: CodeableConcept[]; + category?: CodeableConcept[]|undefined; /** * Describes what will be observed. Sometimes this is called the observation "name". */ @@ -23924,145 +23924,145 @@ export interface ObservationDefinition extends DomainResource { /** * Some observations have multiple component observations, expressed as separate code value pairs. */ - component?: ObservationDefinitionComponent[]; + component?: ObservationDefinitionComponent[]|undefined; /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * Copyright statement relating to the ObservationDefinition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the ObservationDefinition. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the ObservationDefinition. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * The canonical URL pointing to another FHIR-defined ObservationDefinition that is adhered to in whole or in part by this definition. */ - derivedFromCanonical?: string[]; - _derivedFromCanonical?: Element[]; + derivedFromCanonical?: string[]|undefined; + _derivedFromCanonical?: Element[]|undefined; /** * The URL pointing to an externally-defined observation definition, guideline or other definition that is adhered to in whole or in part by this definition. */ - derivedFromUri?: string[]; - _derivedFromUri?: Element[]; + derivedFromUri?: string[]|undefined; + _derivedFromUri?: Element[]|undefined; /** * This description can be used to capture details such as why the ObservationDefinition was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the module as conveyed in the text field of the resource itself. This item SHOULD be populated unless the information is available from context. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * When multiple occurrences of device are present, they are to be combined with a logical OR: at least one of the specified devices is used to produce the observation. */ - device?: Reference[]; + device?: Reference[]|undefined; /** * The effective period for an ObservationDefinition determines when the content is applicable for usage and is independent of publication and review dates. For example, an observation intended to be used for the year 2021 might be published in 2020. */ - effectivePeriod?: Period; + effectivePeriod?: Period|undefined; /** * Allows filtering of ObservationDefinition that are appropriate for use vs. not. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * This ObservationDefinition defines a group observation (e.g. a battery, a panel of tests, a set of vital sign measurements) that includes the target as a member of the group. */ - hasMember?: Reference[]; + hasMember?: Reference[]|undefined; /** * This is a business identifier, not a resource identifier. It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * It may be possible for the ObservationDefinition to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * If specified, this is usually after the approval date. */ - lastReviewDate?: string; - _lastReviewDate?: Element; + lastReviewDate?: string|undefined; + _lastReviewDate?: Element|undefined; /** * Only used if not implicit in observation code * Example: 702659008 |Automated count technique|. */ - method?: CodeableConcept; + method?: CodeableConcept|undefined; /** * An example of observation allowing multiple results is "bacteria identified by culture". Conversely, the measurement of a potassium level allows a single result. */ - multipleResultsAllowed?: boolean; - _multipleResultsAllowed?: Element; + multipleResultsAllowed?: boolean|undefined; + _multipleResultsAllowed?: Element|undefined; /** * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * The type of individual/organization/device that is expected to act upon instances of this definition. */ - performerType?: CodeableConcept; + performerType?: CodeableConcept|undefined; /** * The data types allowed for the value element of the instance observations conforming to this ObservationDefinition. */ - permittedDataType?: ObservationDefinitionPermittedDataTypeCodes[]; - _permittedDataType?: Element[]; + permittedDataType?: ObservationDefinitionPermittedDataTypeCodes[]|undefined; + _permittedDataType?: Element[]|undefined; /** * The preferred name to be used when reporting the results of observations conforming to this ObservationDefinition. */ - preferredReportName?: string; - _preferredReportName?: Element; + preferredReportName?: string|undefined; + _preferredReportName?: Element|undefined; /** * Helps establish the "authority/credibility" of the ObservationDefinition. May also allow for contact. */ - publisher?: Reference; + publisher?: Reference|undefined; /** * This element does not describe the usage of the ObservationDefinition. Rather it is for traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this ObservationDefinition. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * A set of qualified values associated with a context and a set of conditions - provides a range for quantitative and ordinal observations and a collection of value sets for qualitative observations. */ - qualifiedValue?: ObservationDefinitionQualifiedValue[]; + qualifiedValue?: ObservationDefinitionQualifiedValue[]|undefined; /** * Characteristics for quantitative results of observations conforming to this ObservationDefinition. */ - quantitativeDetails?: ObservationDefinitionQuantitativeDetails; + quantitativeDetails?: ObservationDefinitionQuantitativeDetails|undefined; /** * Only used for in vitro observations. When multiple occurrences of specimen are present, they are to be combined with a logical AND: all specified specimens are needed for the observation. */ - specimen?: Reference[]; + specimen?: Reference[]|undefined; /** * A nominal state-transition diagram can be found in the [[definition.html#statemachine | Definition pattern]] documentation * Unknown does not represent "other" - one of the defined statuses must apply. Unknown is used when the authoring system is not sure what the current status is. */ status: ObservationDefinitionStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Examples: person, animal, device, air, surface …. */ - subject?: CodeableConcept; + subject?: CodeableConcept|undefined; /** * A short, descriptive, user-friendly title for the ObservationDefinition. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred. This is the URI that will be used when making canonical references to this resource. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * When multiple usageContexts are specified, there is no expectation for whether all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be multiple different instances of a ObservationDefinition that have the same identifier but different versions. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the ObservationDefinition.permittedDataType field @@ -24097,12 +24097,12 @@ export interface OperationDefinitionParameterBinding extends BackboneElement { * For further discussion, see [Using Terminologies](terminologies.html). */ strength: OperationDefinitionParameterBindingStrengthCodes; - _strength?: Element; + _strength?: Element|undefined; /** * For value sets with a referenceResource, the display can contain the value set description. The reference may be version-specific or not. */ valueSet: string; - _valueSet?: Element; + _valueSet?: Element|undefined; } /** * Code Values for the OperationDefinition.parameter.binding.strength field @@ -24121,12 +24121,12 @@ export interface OperationDefinitionParameterReferencedFrom extends BackboneElem * The name of the parameter or dot-separated path of parameter names pointing to the resource parameter that is expected to contain a reference to this resource. */ source: string; - _source?: Element; + _source?: Element|undefined; /** * The id of the element in the referencing resource that is expected to resolve to this resource. */ - sourceId?: string; - _sourceId?: Element; + sourceId?: string|undefined; + _sourceId?: Element|undefined; } /** * Query Definitions only have one output parameter, named "result". This might not be described, but can be to allow a profile to be defined. @@ -24135,17 +24135,17 @@ export interface OperationDefinitionParameter extends BackboneElement { /** * Binds to a value set if this parameter is coded (code, Coding, CodeableConcept). */ - binding?: OperationDefinitionParameterBinding; + binding?: OperationDefinitionParameterBinding|undefined; /** * Describes the meaning or use of this parameter. */ - documentation?: string; - _documentation?: Element; + documentation?: string|undefined; + _documentation?: Element|undefined; /** * The maximum number of times this element is permitted to appear in the request or response. */ max: string; - _max?: Element; + _max?: Element|undefined; /** * The minimum number of times this parameter SHALL appear in the request or response. */ @@ -24154,35 +24154,35 @@ export interface OperationDefinitionParameter extends BackboneElement { * This name must be a token (start with a letter in a..z, and only contain letters, numerals, and underscore. Note that for search parameters (type = string, with a search type), the name may be altered by the search modifiers. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * Query Definitions only have one output parameter, named "result". This might not be described, but can be to allow a profile to be defined. */ - part?: OperationDefinitionParameter[]; + part?: OperationDefinitionParameter[]|undefined; /** * Resolution applies if the referenced parameter exists. */ - referencedFrom?: OperationDefinitionParameterReferencedFrom[]; + referencedFrom?: OperationDefinitionParameterReferencedFrom[]|undefined; /** * How the parameter is understood as a search parameter. This is only used if the parameter type is 'string'. */ - searchType?: OperationDefinitionParameterSearchTypeCodes; - _searchType?: Element; + searchType?: OperationDefinitionParameterSearchTypeCodes|undefined; + _searchType?: Element|undefined; /** * Often, these profiles are the base definitions from the spec (e.g. http://hl7.org/fhir/StructureDefinition/Patient). */ - targetProfile?: string[]; - _targetProfile?: Element[]; + targetProfile?: string[]|undefined; + _targetProfile?: Element[]|undefined; /** * if there is no stated parameter, then the parameter is a multi-part parameter; type and must have at least one part defined. */ - type?: string; - _type?: Element; + type?: string|undefined; + _type?: Element|undefined; /** * If a parameter name is used for both an input and an output parameter, the parameter should be defined twice. */ use: OperationDefinitionParameterUseCodes; - _use?: Element; + _use?: Element|undefined; } /** * Code Values for the OperationDefinition.parameter.searchType field @@ -24212,13 +24212,13 @@ export interface OperationDefinitionOverload extends BackboneElement { /** * Comments to go on overload. */ - comment?: string; - _comment?: Element; + comment?: string|undefined; + _comment?: Element|undefined; /** * Name of parameter to include in overload. */ - parameterName?: string[]; - _parameterName?: Element[]; + parameterName?: string[]|undefined; + _parameterName?: Element[]|undefined; } /** * A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction). @@ -24231,130 +24231,130 @@ export interface OperationDefinition extends DomainResource { * 1. Servers SHALL support POST method for all operations. * 2. Servers SHALL support GET method if all the parameters for the operation are primitive or there are no parameters and the operation has affectsState = false. */ - affectsState?: boolean; - _affectsState?: Element; + affectsState?: boolean|undefined; + _affectsState?: Element|undefined; /** * A constrained profile can make optional parameters required or not used and clarify documentation. */ - base?: string; - _base?: Element; + base?: string|undefined; + _base?: Element|undefined; /** * The name used to invoke the operation. */ code: string; - _code?: Element; + _code?: Element|undefined; /** * Additional information about how to use this operation or named query. */ - comment?: string; - _comment?: Element; + comment?: string|undefined; + _comment?: Element|undefined; /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the operation definition. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * This description can be used to capture details such as why the operation definition was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the operation definition as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the operation definition is presumed to be the predominant language in the place the operation definition was created). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Allows filtering of operation definitions that are appropriate for use versus not. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * If present the profile shall not conflict with what is specified in the parameters in the operation definition (max/min etc.), though it may provide additional constraints. The constraints expressed in the profile apply whether the operation is invoked by a POST wih parameters or not. */ - inputProfile?: string; - _inputProfile?: Element; + inputProfile?: string|undefined; + _inputProfile?: Element|undefined; /** * Indicates whether this operation can be invoked on a particular instance of one of the given types. */ instance: boolean; - _instance?: Element; + _instance?: Element|undefined; /** * It may be possible for the operation definition to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * Named queries are invoked differently, and have different capabilities. */ kind: OperationDefinitionKindCodes; - _kind?: Element; + _kind?: Element|undefined; /** * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * If present the profile shall not conflict with what is specified in the parameters in the operation definition (max/min etc.), though it may provide additional constraints. The constraints expressed in the profile apply whether the operation is invoked by a POST wih parameters or not. */ - outputProfile?: string; - _outputProfile?: Element; + outputProfile?: string|undefined; + _outputProfile?: Element|undefined; /** * The combinations are suggestions as to which sets of parameters to use together, but the combinations are not intended to be authoritative. */ - overload?: OperationDefinitionOverload[]; + overload?: OperationDefinitionOverload[]|undefined; /** * Query Definitions only have one output parameter, named "result". This might not be described, but can be to allow a profile to be defined. */ - parameter?: OperationDefinitionParameter[]; + parameter?: OperationDefinitionParameter[]|undefined; /** * Usually an organization but may be an individual. The publisher (or steward) of the operation definition is the organization or individual primarily responsible for the maintenance and upkeep of the operation definition. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the operation definition. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * This element does not describe the usage of the operation definition. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this operation definition. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * If the type is an abstract resource ("Resource" or "DomainResource") then the operation can be invoked on any concrete specialization. */ - resource?: string[]; - _resource?: Element[]; + resource?: string[]|undefined; + _resource?: Element[]|undefined; /** * Allows filtering of operation definitions that are appropriate for use versus not. */ status: OperationDefinitionStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Indicates whether this operation or named query can be invoked at the system level (e.g. without needing to choose a resource type for the context). */ system: boolean; - _system?: Element; + _system?: Element|undefined; /** * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Indicates whether this operation or named query can be invoked at the resource type level for any given resource type level (e.g. without needing to choose a specific resource id for the context). */ type: boolean; - _type?: Element; + _type?: Element|undefined; /** * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different operation definition instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the operation definition with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the OperationDefinition.kind field @@ -24380,31 +24380,31 @@ export interface OperationOutcomeIssue extends BackboneElement { * Describes the type of the issue. The system that creates an OperationOutcome SHALL choose the most applicable code from the IssueType value set, and may additional provide its own code for the error in the details element. */ code: string; - _code?: Element; + _code?: Element|undefined; /** * A human readable description of the error issue SHOULD be placed in details.text. */ - details?: CodeableConcept; + details?: CodeableConcept|undefined; /** * This may be a description of how a value is erroneous, a stack dump to help trace the issue or other troubleshooting information. */ - diagnostics?: string; - _diagnostics?: Element; + diagnostics?: string|undefined; + _diagnostics?: Element|undefined; /** * The root of the FHIRPath is the resource or bundle that generated OperationOutcome. Each FHIRPath SHALL resolve to a single node. */ - expression?: string[]; - _expression?: Element[]; + expression?: string[]|undefined; + _expression?: Element[]|undefined; /** * The root of the XPath is the resource or bundle that generated OperationOutcome. Each XPath SHALL resolve to a single node. This element is deprecated, and is being replaced by expression. */ - location?: string[]; - _location?: Element[]; + location?: string[]|undefined; + _location?: Element[]|undefined; /** * This is labeled as "Is Modifier" because applications should not confuse hints and warnings with errors. */ severity: OperationOutcomeIssueSeverityCodes; - _severity?: Element; + _severity?: Element|undefined; } /** * Code Values for the OperationOutcome.issue.severity field @@ -24433,19 +24433,19 @@ export interface OrganizationContact extends BackboneElement { /** * Visiting or postal addresses for the contact. */ - address?: Address; + address?: Address|undefined; /** * A name associated with the contact. */ - name?: HumanName; + name?: HumanName|undefined; /** * Indicates a purpose for which the contact can be reached. */ - purpose?: CodeableConcept; + purpose?: CodeableConcept|undefined; /** * A contact detail (e.g. a telephone number or an email address) by which the party may be contacted. */ - telecom?: ContactPoint[]; + telecom?: ContactPoint[]|undefined; } /** * A formally or informally recognized grouping of people or organizations formed for the purpose of achieving some form of collective action. Includes companies, institutions, corporations, departments, community groups, healthcare practice groups, payer/insurer, etc. @@ -24457,48 +24457,48 @@ export interface Organization extends DomainResource { * This active flag is not intended to be used to mark an organization as temporarily closed or under construction. Instead the Location(s) within the Organization should have the suspended status. If further details of the reason for the suspension are required, then an extension on this element should be used. * This element is labeled as a modifier because it may be used to mark that the resource was created in error. */ - active?: boolean; - _active?: Element; + active?: boolean|undefined; + _active?: Element|undefined; /** * Organization may have multiple addresses with different uses or applicable periods. The use code 'home' is not to be used. */ - address?: Address[]; + address?: Address[]|undefined; /** * There are no dates associated with the alias/historic names, as this is not intended to track when names were used, but to assist in searching so that older names can still result in identifying the organization. */ - alias?: string[]; - _alias?: Element[]; + alias?: string[]|undefined; + _alias?: Element[]|undefined; /** * Where multiple contacts for the same purpose are provided there is a standard extension that can be used to determine which one is the preferred contact to use. */ - contact?: OrganizationContact[]; + contact?: OrganizationContact[]|undefined; /** * Technical endpoints providing access to services operated for the organization. */ - endpoint?: Reference[]; + endpoint?: Reference[]|undefined; /** * Identifier for the organization that is used to identify the organization across multiple disparate systems. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * If the name of an organization changes, consider putting the old name in the alias column so that it can still be located through searches. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * The organization of which this organization forms a part. */ - partOf?: Reference; + partOf?: Reference|undefined; /** * The use code 'home' is not to be used. Note that these contacts are not the contact details of people who are employed by or represent the organization, but official contacts for the organization itself. */ - telecom?: ContactPoint[]; + telecom?: ContactPoint[]|undefined; /** * Organizations can be corporations, wards, sections, clinical teams, government departments, etc. Note that code is generally a classifier of the type of organization; in many applications, codes are used to identity a particular organization (say, ward) as opposed to another of the same type - these are identifiers, not codes * When considering if multiple types are appropriate, you should evaluate if child organizations would be a more appropriate use of the concept, as different types likely are in different sub-areas of the organization. This is most likely to be used where type values have orthogonal values, such as a religious, academic and medical center. * We expect that some jurisdictions will profile this optionality to be a single cardinality. */ - type?: CodeableConcept[]; + type?: CodeableConcept[]|undefined; } /** * Defines an affiliation/assotiation/relationship between 2 distinct oganizations, that is not a part-of relationship/sub-division relationship. @@ -24509,52 +24509,52 @@ export interface OrganizationAffiliation extends DomainResource { /** * If this value is false, you may refer to the period to see when the role was in active use. If there is no period specified, no inference can be made about when it was active. */ - active?: boolean; - _active?: Element; + active?: boolean|undefined; + _active?: Element|undefined; /** * Definition of the role the participatingOrganization plays in the association. */ - code?: CodeableConcept[]; + code?: CodeableConcept[]|undefined; /** * Technical endpoints providing access to services operated for this role. */ - endpoint?: Reference[]; + endpoint?: Reference[]|undefined; /** * Healthcare services provided through the role. */ - healthcareService?: Reference[]; + healthcareService?: Reference[]|undefined; /** * Business identifiers that are specific to this role. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The location(s) at which the role occurs. */ - location?: Reference[]; + location?: Reference[]|undefined; /** * Health insurance provider network in which the participatingOrganization provides the role's services (if defined) at the indicated locations (if defined). */ - network?: Reference[]; + network?: Reference[]|undefined; /** * Organization where the role is available (primary organization/has members). */ - organization?: Reference; + organization?: Reference|undefined; /** * The Participating Organization provides/performs the role(s) defined by the code to the Primary Organization (e.g. providing services or is a member of). */ - participatingOrganization?: Reference; + participatingOrganization?: Reference|undefined; /** * The period during which the participatingOrganization is affiliated with the primary organization. */ - period?: Period; + period?: Period|undefined; /** * Specific specialty of the participatingOrganization in the context of the role. */ - specialty?: CodeableConcept[]; + specialty?: CodeableConcept[]|undefined; /** * Contact details at the participatingOrganization relevant to this Affiliation. */ - telecom?: ContactPoint[]; + telecom?: ContactPoint[]|undefined; } /** * General characteristics of this item. @@ -24567,25 +24567,25 @@ export interface PackagedProductDefinitionPackageProperty extends BackboneElemen /** * A value for the characteristic. */ - valueCodeableConcept?: CodeableConcept; + valueCodeableConcept?: CodeableConcept|undefined; /** * A value for the characteristic. */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; /** * A value for the characteristic. */ - valueDate?: string; - _valueDate?: Element; + valueDate?: string|undefined; + _valueDate?: Element|undefined; /** * A value for the characteristic. */ - valueBoolean?: boolean; - _valueBoolean?: Element; + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; /** * A value for the characteristic. */ - valueAttachment?: Attachment; + valueAttachment?: Attachment|undefined; } /** * The item(s) within the packaging. @@ -24594,15 +24594,15 @@ export interface PackagedProductDefinitionPackageContainedItem extends BackboneE /** * The number of this type of item within this packaging. */ - amountQuantity?: Quantity; + amountQuantity?: Quantity|undefined; /** * The number of this type of item within this packaging. */ - amountInteger?: number; + amountInteger?: number|undefined; /** * The actual item(s) of medication, as manufactured, or a device (typically, but not necessarily, a co-packaged one), or other medically related item (such as food, biologicals, raw materials, medical fluids, gases etc.), as contained in the package. This also allows another packaged product to be included, which is solely for the case where a package of other entire packages is wanted - such as a wholesale or distribution pack. */ - item?: CodeableReference[]; + item?: CodeableReference[]|undefined; } /** * A packaging item, as a container for medically related items, possibly with other packaging items within, or a packaging component, such as bottle cap (which is not a device or a medication manufactured item). @@ -24611,43 +24611,43 @@ export interface PackagedProductDefinitionPackage extends BackboneElement { /** * A possible alternate material for the packaging. */ - alternateMaterial?: CodeableConcept[]; + alternateMaterial?: CodeableConcept[]|undefined; /** * The item(s) within the packaging. */ - containedItem?: PackagedProductDefinitionPackageContainedItem[]; + containedItem?: PackagedProductDefinitionPackageContainedItem[]|undefined; /** * Including possibly Data Carrier Identifier. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Manufacturer of this package Item. When there are multiple it means these are all possible manufacturers. */ - manufacturer?: Reference[]; + manufacturer?: Reference[]|undefined; /** * Material type of the package item. */ - material?: CodeableConcept[]; + material?: CodeableConcept[]|undefined; /** * Allows containers within containers. */ - package?: PackagedProductDefinitionPackage[]; + package?: PackagedProductDefinitionPackage[]|undefined; /** * General characteristics of this item. */ - property?: PackagedProductDefinitionPackageProperty[]; + property?: PackagedProductDefinitionPackageProperty[]|undefined; /** * The quantity of this level of packaging in the package that contains it. If specified, the outermost level is always 1. */ - quantity?: number; + quantity?: number|undefined; /** * Shelf Life and storage information. */ - shelfLifeStorage?: ProductShelfLife[]; + shelfLifeStorage?: ProductShelfLife[]|undefined; /** * The physical type of the container of the items. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * A medically related item or items, in a container or package. @@ -24658,71 +24658,71 @@ export interface PackagedProductDefinition extends DomainResource { /** * Additional information or supporting documentation about the packaged product. */ - attachedDocument?: Reference[]; + attachedDocument?: Reference[]|undefined; /** * Allows the key features to be recorded, such as "hospital pack", "nurse prescribable", "calendar pack". */ - characteristic?: CodeableConcept[]; + characteristic?: CodeableConcept[]|undefined; /** * A total of the amount of items in the package, per item type. This can be considered as the pack size. This attribite is repeatable so that the different item types in one pack type can be counted (e.g. a count of vials and count of syringes). Repeats are not to be used to represent differerent pack sizes (e.g. 20 pack vs 50 pack) - which would be different resource instances. This attribute differs from containedItem.amount in that it can give a single count of all tablet types in a pack, even when these are different manufactured items. */ - containedItemQuantity?: Quantity[]; + containedItemQuantity?: Quantity[]|undefined; /** * States whether a drug product is supplied with another item such as a diluent or adjuvant. */ - copackagedIndicator?: boolean; - _copackagedIndicator?: Element; + copackagedIndicator?: boolean|undefined; + _copackagedIndicator?: Element|undefined; /** * Textual description. Note that this is not the name of the package or product. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Unique identifier. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The legal status of supply of the packaged item as classified by the regulator. */ - legalStatusOfSupply?: CodeableConcept; + legalStatusOfSupply?: CodeableConcept|undefined; /** * Manufacturer of this package type. When there are multiple it means these are all possible manufacturers. */ - manufacturer?: Reference[]; + manufacturer?: Reference[]|undefined; /** * An authorization for this package type. */ - marketingAuthorization?: Reference; + marketingAuthorization?: Reference|undefined; /** * Marketing information. */ - marketingStatus?: MarketingStatus[]; + marketingStatus?: MarketingStatus[]|undefined; /** * A name for this package. Typically what it would be listed as in a drug formulary or catalogue, inventory etc. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * A packaging item, as a container for medically related items, possibly with other packaging items within, or a packaging component, such as bottle cap (which is not a device or a medication manufactured item). */ - package?: PackagedProductDefinitionPackage; + package?: PackagedProductDefinitionPackage|undefined; /** * The status within the lifecycle of this item. A high level status, this is not intended to duplicate details carried elsewhere such as legal status, or authorization or marketing status. */ - status?: CodeableConcept; + status?: CodeableConcept|undefined; /** * The date at which the given status became applicable. */ - statusDate?: string; - _statusDate?: Element; + statusDate?: string|undefined; + _statusDate?: Element|undefined; /** * The product that this is a pack for. */ - subject?: Reference[]; + subject?: Reference[]|undefined; /** * A high level category e.g. medicinal product, raw material, shipping/transport container, etc. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * A parameter passed to or received from the operation. @@ -24732,235 +24732,235 @@ export interface ParametersParameter extends BackboneElement { * The name of the parameter (reference to the operation definition). */ name: string; - _name?: Element; + _name?: Element|undefined; /** * Only one level of nested parameters is allowed. */ - part?: ParametersParameter[]; + part?: ParametersParameter[]|undefined; /** * When resolving references in resources, the operation definition may specify how references may be resolved between parameters. If a reference cannot be resolved between the parameters, the application should fall back to it's general resource resolution methods. */ - resource?: FhirResource; + resource?: FhirResource|undefined; /** * Conveys the content if the parameter is a data type. */ - valueBase64Binary?: string; - _valueBase64Binary?: Element; + valueBase64Binary?: string|undefined; + _valueBase64Binary?: Element|undefined; /** * Conveys the content if the parameter is a data type. */ - valueBoolean?: boolean; - _valueBoolean?: Element; + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; /** * Conveys the content if the parameter is a data type. */ - valueCanonical?: string; - _valueCanonical?: Element; + valueCanonical?: string|undefined; + _valueCanonical?: Element|undefined; /** * Conveys the content if the parameter is a data type. */ - valueCode?: string; - _valueCode?: Element; + valueCode?: string|undefined; + _valueCode?: Element|undefined; /** * Conveys the content if the parameter is a data type. */ - valueDate?: string; - _valueDate?: Element; + valueDate?: string|undefined; + _valueDate?: Element|undefined; /** * Conveys the content if the parameter is a data type. */ - valueDateTime?: string; - _valueDateTime?: Element; + valueDateTime?: string|undefined; + _valueDateTime?: Element|undefined; /** * Conveys the content if the parameter is a data type. */ - valueDecimal?: number; + valueDecimal?: number|undefined; /** * Conveys the content if the parameter is a data type. */ - valueId?: string; - _valueId?: Element; + valueId?: string|undefined; + _valueId?: Element|undefined; /** * Conveys the content if the parameter is a data type. */ - valueInstant?: string; - _valueInstant?: Element; + valueInstant?: string|undefined; + _valueInstant?: Element|undefined; /** * Conveys the content if the parameter is a data type. */ - valueInteger?: number; + valueInteger?: number|undefined; /** * Conveys the content if the parameter is a data type. */ - valueInteger64?: string; - _valueInteger64?: Element; + valueInteger64?: string|undefined; + _valueInteger64?: Element|undefined; /** * Conveys the content if the parameter is a data type. */ - valueMarkdown?: string; - _valueMarkdown?: Element; + valueMarkdown?: string|undefined; + _valueMarkdown?: Element|undefined; /** * Conveys the content if the parameter is a data type. */ - valueOid?: string; - _valueOid?: Element; + valueOid?: string|undefined; + _valueOid?: Element|undefined; /** * Conveys the content if the parameter is a data type. */ - valuePositiveInt?: number; + valuePositiveInt?: number|undefined; /** * Conveys the content if the parameter is a data type. */ - valueString?: string; - _valueString?: Element; + valueString?: string|undefined; + _valueString?: Element|undefined; /** * Conveys the content if the parameter is a data type. */ - valueTime?: string; - _valueTime?: Element; + valueTime?: string|undefined; + _valueTime?: Element|undefined; /** * Conveys the content if the parameter is a data type. */ - valueUnsignedInt?: number; + valueUnsignedInt?: number|undefined; /** * Conveys the content if the parameter is a data type. */ - valueUri?: string; - _valueUri?: Element; + valueUri?: string|undefined; + _valueUri?: Element|undefined; /** * Conveys the content if the parameter is a data type. */ - valueUrl?: string; - _valueUrl?: Element; + valueUrl?: string|undefined; + _valueUrl?: Element|undefined; /** * Conveys the content if the parameter is a data type. */ - valueUuid?: string; - _valueUuid?: Element; + valueUuid?: string|undefined; + _valueUuid?: Element|undefined; /** * Conveys the content if the parameter is a data type. */ - valueAddress?: Address; + valueAddress?: Address|undefined; /** * Conveys the content if the parameter is a data type. */ - valueAge?: Age; + valueAge?: Age|undefined; /** * Conveys the content if the parameter is a data type. */ - valueAnnotation?: Annotation; + valueAnnotation?: Annotation|undefined; /** * Conveys the content if the parameter is a data type. */ - valueAttachment?: Attachment; + valueAttachment?: Attachment|undefined; /** * Conveys the content if the parameter is a data type. */ - valueCodeableConcept?: CodeableConcept; + valueCodeableConcept?: CodeableConcept|undefined; /** * Conveys the content if the parameter is a data type. */ - valueCoding?: Coding; + valueCoding?: Coding|undefined; /** * Conveys the content if the parameter is a data type. */ - valueContactPoint?: ContactPoint; + valueContactPoint?: ContactPoint|undefined; /** * Conveys the content if the parameter is a data type. */ - valueCount?: Count; + valueCount?: Count|undefined; /** * Conveys the content if the parameter is a data type. */ - valueDistance?: Distance; + valueDistance?: Distance|undefined; /** * Conveys the content if the parameter is a data type. */ - valueDuration?: Duration; + valueDuration?: Duration|undefined; /** * Conveys the content if the parameter is a data type. */ - valueHumanName?: HumanName; + valueHumanName?: HumanName|undefined; /** * Conveys the content if the parameter is a data type. */ - valueIdentifier?: Identifier; + valueIdentifier?: Identifier|undefined; /** * Conveys the content if the parameter is a data type. */ - valueMoney?: Money; + valueMoney?: Money|undefined; /** * Conveys the content if the parameter is a data type. */ - valuePeriod?: Period; + valuePeriod?: Period|undefined; /** * Conveys the content if the parameter is a data type. */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; /** * Conveys the content if the parameter is a data type. */ - valueRange?: Range; + valueRange?: Range|undefined; /** * Conveys the content if the parameter is a data type. */ - valueRatio?: Ratio; + valueRatio?: Ratio|undefined; /** * Conveys the content if the parameter is a data type. */ - valueReference?: Reference; + valueReference?: Reference|undefined; /** * Conveys the content if the parameter is a data type. */ - valueSampledData?: SampledData; + valueSampledData?: SampledData|undefined; /** * Conveys the content if the parameter is a data type. */ - valueSignature?: Signature; + valueSignature?: Signature|undefined; /** * Conveys the content if the parameter is a data type. */ - valueTiming?: Timing; + valueTiming?: Timing|undefined; /** * Conveys the content if the parameter is a data type. */ - valueContactDetail?: ContactDetail; + valueContactDetail?: ContactDetail|undefined; /** * Conveys the content if the parameter is a data type. */ - valueContributor?: Contributor; + valueContributor?: Contributor|undefined; /** * Conveys the content if the parameter is a data type. */ - valueDataRequirement?: DataRequirement; + valueDataRequirement?: DataRequirement|undefined; /** * Conveys the content if the parameter is a data type. */ - valueExpression?: Expression; + valueExpression?: Expression|undefined; /** * Conveys the content if the parameter is a data type. */ - valueParameterDefinition?: ParameterDefinition; + valueParameterDefinition?: ParameterDefinition|undefined; /** * Conveys the content if the parameter is a data type. */ - valueRelatedArtifact?: RelatedArtifact; + valueRelatedArtifact?: RelatedArtifact|undefined; /** * Conveys the content if the parameter is a data type. */ - valueTriggerDefinition?: TriggerDefinition; + valueTriggerDefinition?: TriggerDefinition|undefined; /** * Conveys the content if the parameter is a data type. */ - valueUsageContext?: UsageContext; + valueUsageContext?: UsageContext|undefined; /** * Conveys the content if the parameter is a data type. */ - valueDosage?: Dosage; + valueDosage?: Dosage|undefined; /** * Conveys the content if the parameter is a data type. */ - valueMeta?: Meta; + valueMeta?: Meta|undefined; } /** * This resource is a non-persisted resource used to pass information into and back from an [operation](operations.html). It has no other use, and there is no RESTful endpoint associated with it. @@ -24971,7 +24971,7 @@ export interface Parameters extends Resource { /** * A parameter passed to or received from the operation. */ - parameter?: ParametersParameter[]; + parameter?: ParametersParameter[]|undefined; } /** * Contact covers all kinds of contact parties: family members, business contacts, guardians, caregivers. Not applicable to register pedigree and family ties beyond use of having contact. @@ -24980,32 +24980,32 @@ export interface PatientContact extends BackboneElement { /** * Address for the contact person. */ - address?: Address; + address?: Address|undefined; /** * Administrative Gender - the gender that the contact person is considered to have for administration and record keeping purposes. */ - gender?: PatientContactGenderCodes; - _gender?: Element; + gender?: PatientContactGenderCodes|undefined; + _gender?: Element|undefined; /** * A name associated with the contact person. */ - name?: HumanName; + name?: HumanName|undefined; /** * Organization on behalf of which the contact is acting or for which the contact is working. */ - organization?: Reference; + organization?: Reference|undefined; /** * The period during which this contact person or organization is valid to be contacted relating to this patient. */ - period?: Period; + period?: Period|undefined; /** * The nature of the relationship between the patient and the contact person. */ - relationship?: CodeableConcept[]; + relationship?: CodeableConcept[]|undefined; /** * Contact may have multiple ways to be contacted with different uses or applicable periods. May need to have options for contacting the person urgently, and also to help with identification. */ - telecom?: ContactPoint[]; + telecom?: ContactPoint[]|undefined; } /** * Code Values for the Patient.contact.gender field @@ -25027,8 +25027,8 @@ export interface PatientCommunication extends BackboneElement { /** * This language is specifically identified for communicating healthcare information. */ - preferred?: boolean; - _preferred?: Element; + preferred?: boolean|undefined; + _preferred?: Element|undefined; } /** * There is no assumption that linked patient records have mutual links. @@ -25042,7 +25042,7 @@ export interface PatientLink extends BackboneElement { * The type of link between this patient resource and another patient resource. */ type: PatientLinkTypeCodes; - _type?: Element; + _type?: Element|undefined; } /** * Code Values for the Patient.link.type field @@ -25062,86 +25062,86 @@ export interface Patient extends DomainResource { /** * If a record is inactive, and linked to an active record, then future patient/record updates should occur on the other patient. */ - active?: boolean; - _active?: Element; + active?: boolean|undefined; + _active?: Element|undefined; /** * Patient may have multiple addresses with different uses or applicable periods. */ - address?: Address[]; + address?: Address[]|undefined; /** * At least an estimated year should be provided as a guess if the real DOB is unknown There is a standard extension "patient-birthTime" available that should be used where Time is required (such as in maternity/infant care systems). */ - birthDate?: string; - _birthDate?: Element; + birthDate?: string|undefined; + _birthDate?: Element|undefined; /** * If no language is specified, this *implies* that the default local language is spoken. If you need to convey proficiency for multiple modes, then you need multiple Patient.Communication associations. For animals, language is not a relevant field, and should be absent from the instance. If the Patient does not speak the default local language, then the Interpreter Required Standard can be used to explicitly declare that an interpreter is required. */ - communication?: PatientCommunication[]; + communication?: PatientCommunication[]|undefined; /** * Contact covers all kinds of contact parties: family members, business contacts, guardians, caregivers. Not applicable to register pedigree and family ties beyond use of having contact. */ - contact?: PatientContact[]; + contact?: PatientContact[]|undefined; /** * If there's no value in the instance, it means there is no statement on whether or not the individual is deceased. Most systems will interpret the absence of a value as a sign of the person being alive. */ - deceasedBoolean?: boolean; - _deceasedBoolean?: Element; + deceasedBoolean?: boolean|undefined; + _deceasedBoolean?: Element|undefined; /** * If there's no value in the instance, it means there is no statement on whether or not the individual is deceased. Most systems will interpret the absence of a value as a sign of the person being alive. */ - deceasedDateTime?: string; - _deceasedDateTime?: Element; + deceasedDateTime?: string|undefined; + _deceasedDateTime?: Element|undefined; /** * The gender might not match the biological sex as determined by genetics or the individual's preferred identification. Note that for both humans and particularly animals, there are other legitimate possibilities than male and female, though the vast majority of systems and contexts only support male and female. Systems providing decision support or enforcing business rules should ideally do this on the basis of Observations dealing with the specific sex or gender aspect of interest (anatomical, chromosomal, social, etc.) However, because these observations are infrequently recorded, defaulting to the administrative gender is common practice. Where such defaulting occurs, rule enforcement should allow for the variation between administrative and biological, chromosomal and other gender aspects. For example, an alert about a hysterectomy on a male should be handled as a warning or overridable error, not a "hard" error. See the Patient Gender and Sex section for additional information about communicating patient gender and sex. */ - gender?: PatientGenderCodes; - _gender?: Element; + gender?: PatientGenderCodes|undefined; + _gender?: Element|undefined; /** * This may be the primary care provider (in a GP context), or it may be a patient nominated care manager in a community/disability setting, or even organization that will provide people to perform the care provider roles. It is not to be used to record Care Teams, these should be in a CareTeam resource that may be linked to the CarePlan or EpisodeOfCare resources. * Multiple GPs may be recorded against the patient for various reasons, such as a student that has his home GP listed along with the GP at university during the school semesters, or a "fly-in/fly-out" worker that has the onsite GP also included with his home GP to remain aware of medical issues. * Jurisdictions may decide that they can profile this down to 1 if desired, or 1 per type. */ - generalPractitioner?: Reference[]; + generalPractitioner?: Reference[]|undefined; /** * An identifier for this patient. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * There is no assumption that linked patient records have mutual links. */ - link?: PatientLink[]; + link?: PatientLink[]|undefined; /** * There is only one managing organization for a specific patient record. Other organizations will have their own Patient record, and may use the Link property to join the records together (or a Person resource which can include confidence ratings for the association). */ - managingOrganization?: Reference; + managingOrganization?: Reference|undefined; /** * This field contains a patient's most recent marital (civil) status. */ - maritalStatus?: CodeableConcept; + maritalStatus?: CodeableConcept|undefined; /** * Where the valueInteger is provided, the number is the birth number in the sequence. E.g. The middle birth in triplets would be valueInteger=2 and the third born would have valueInteger=3 If a boolean value was provided for this triplets example, then all 3 patient records would have valueBoolean=true (the ordering is not indicated). */ - multipleBirthBoolean?: boolean; - _multipleBirthBoolean?: Element; + multipleBirthBoolean?: boolean|undefined; + _multipleBirthBoolean?: Element|undefined; /** * Where the valueInteger is provided, the number is the birth number in the sequence. E.g. The middle birth in triplets would be valueInteger=2 and the third born would have valueInteger=3 If a boolean value was provided for this triplets example, then all 3 patient records would have valueBoolean=true (the ordering is not indicated). */ - multipleBirthInteger?: number; + multipleBirthInteger?: number|undefined; /** * A patient may have multiple names with different uses or applicable periods. For animals, the name is a "HumanName" in the sense that is assigned and used by humans and has the same patterns. */ - name?: HumanName[]; + name?: HumanName[]|undefined; /** * Guidelines: * * Use id photos, not clinical photos. * * Limit dimensions to thumbnail. * * Keep byte count low to ease resource updates. */ - photo?: Attachment[]; + photo?: Attachment[]|undefined; /** * A Patient may have multiple ways to be contacted with different uses or applicable periods. May need to have options for contacting the person urgently and also to help with identification. The address might not go directly to the individual, but may reach another party that is able to proxy for the patient (i.e. home phone, or pet owner's phone). */ - telecom?: ContactPoint[]; + telecom?: ContactPoint[]|undefined; } /** * Code Values for the Patient.gender field @@ -25166,15 +25166,15 @@ export interface PaymentNotice extends DomainResource { * The date when this resource was created. */ created: string; - _created?: Element; + _created?: Element|undefined; /** * A unique identifier assigned to this payment notice. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The party who will receive or has received payment that is the subject of this notification. */ - payee?: Reference; + payee?: Reference|undefined; /** * A reference to the payment which is the subject of this notice. */ @@ -25182,16 +25182,16 @@ export interface PaymentNotice extends DomainResource { /** * The date when the above payment action occurred. */ - paymentDate?: string; - _paymentDate?: Element; + paymentDate?: string|undefined; + _paymentDate?: Element|undefined; /** * Typically paid: payment sent, cleared: payment received. */ - paymentStatus?: CodeableConcept; + paymentStatus?: CodeableConcept|undefined; /** * The practitioner who is responsible for the services rendered to the patient. */ - provider?: Reference; + provider?: Reference|undefined; /** * The party who is notified of the payment status. */ @@ -25199,16 +25199,16 @@ export interface PaymentNotice extends DomainResource { /** * Reference of resource for which payment is being made. */ - request?: Reference; + request?: Reference|undefined; /** * Reference of response to resource for which payment is being made. */ - response?: Reference; + response?: Reference|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: PaymentNoticeStatusCodes; - _status?: Element; + _status?: Element|undefined; } /** * Code Values for the PaymentNotice.status field @@ -25226,40 +25226,40 @@ export interface PaymentReconciliationDetail extends BackboneElement { /** * The monetary amount allocated from the total payment to the payable. */ - amount?: Money; + amount?: Money|undefined; /** * The date from the response resource containing a commitment to pay. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * Unique identifier for the current payment item for the referenced payable. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * The party which is receiving the payment. */ - payee?: Reference; + payee?: Reference|undefined; /** * Unique identifier for the prior payment item for the referenced payable. */ - predecessor?: Identifier; + predecessor?: Identifier|undefined; /** * A resource, such as a Claim, the evaluation of which could lead to payment. */ - request?: Reference; + request?: Reference|undefined; /** * A resource, such as a ClaimResponse, which contains a commitment to payment. */ - response?: Reference; + response?: Reference|undefined; /** * A reference to the individual who is responsible for inquiries regarding the response and its payment. */ - responsible?: Reference; + responsible?: Reference|undefined; /** * The party which submitted the claim or financial transaction. */ - submitter?: Reference; + submitter?: Reference|undefined; /** * For example: payment, adjustment, funds advance, etc. */ @@ -25272,13 +25272,13 @@ export interface PaymentReconciliationProcessNote extends BackboneElement { /** * The explanation or description associated with the processing. */ - text?: string; - _text?: Element; + text?: string|undefined; + _text?: Element|undefined; /** * The business purpose of the note text. */ - type?: PaymentReconciliationProcessNoteTypeCodes; - _type?: Element; + type?: PaymentReconciliationProcessNoteTypeCodes|undefined; + _type?: Element|undefined; } /** * Code Values for the PaymentReconciliation.processNote.type field @@ -25298,29 +25298,29 @@ export interface PaymentReconciliation extends DomainResource { * The date when the resource was created. */ created: string; - _created?: Element; + _created?: Element|undefined; /** * Distribution of the payment amount for a previously acknowledged payable. */ - detail?: PaymentReconciliationDetail[]; + detail?: PaymentReconciliationDetail[]|undefined; /** * A human readable description of the status of the request for the reconciliation. */ - disposition?: string; - _disposition?: Element; + disposition?: string|undefined; + _disposition?: Element|undefined; /** * May be needed to identify specific jurisdictional forms. */ - formCode?: CodeableConcept; + formCode?: CodeableConcept|undefined; /** * A unique identifier assigned to this payment reconciliation. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The resource may be used to indicate that: the request has been held (queued) for processing; that it has been processed and errors found (error); that no errors were found and that some of the adjudication has been undertaken (partial) or that all of the adjudication has been undertaken (complete). */ - outcome?: PaymentReconciliationOutcomeCodes; - _outcome?: Element; + outcome?: PaymentReconciliationOutcomeCodes|undefined; + _outcome?: Element|undefined; /** * Total payment amount as indicated on the financial instrument. */ @@ -25329,36 +25329,36 @@ export interface PaymentReconciliation extends DomainResource { * The date of payment as indicated on the financial instrument. */ paymentDate: string; - _paymentDate?: Element; + _paymentDate?: Element|undefined; /** * For example: EFT number or check number. */ - paymentIdentifier?: Identifier; + paymentIdentifier?: Identifier|undefined; /** * This party is also responsible for the reconciliation. */ - paymentIssuer?: Reference; + paymentIssuer?: Reference|undefined; /** * The period of time for which payments have been gathered into this bulk payment for settlement. */ - period?: Period; + period?: Period|undefined; /** * A note that describes or explains the processing in a human readable form. */ - processNote?: PaymentReconciliationProcessNote[]; + processNote?: PaymentReconciliationProcessNote[]|undefined; /** * Original request resource reference. */ - request?: Reference; + request?: Reference|undefined; /** * The practitioner who is responsible for the services rendered to the patient. */ - requestor?: Reference; + requestor?: Reference|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: PaymentReconciliationStatusCodes; - _status?: Element; + _status?: Element|undefined; } /** * Code Values for the PaymentReconciliation.outcome field @@ -25386,15 +25386,15 @@ export interface PermissionProcessingActivity extends BackboneElement { * If the processing is a transfer, or involves another party, we must capture where it the data allowed or expected to be shared - with a party or person. This can be a party instance or party type * § Purpose – a specific purpose of the data. */ - partyCodeableConcept?: CodeableConcept[]; + partyCodeableConcept?: CodeableConcept[]|undefined; /** * If the processing is a transfer, we must capture where it the data allowed or expected to be shared - with a party or person. */ - partyReference?: Reference[]; + partyReference?: Reference[]|undefined; /** * The purpose for which the permission is given. */ - purpose?: CodeableConcept[]; + purpose?: CodeableConcept[]|undefined; } /** * The asserted justification for using the data. @@ -25403,11 +25403,11 @@ export interface PermissionJustification extends BackboneElement { /** * Evidence – reference to consent, or a contract, or a policy, or a regulation, or an attachment that contains a screenshot. */ - evidence?: Reference[]; + evidence?: Reference[]|undefined; /** * This would be a codeableconcept, or a coding, which can be constrained to , for example, the 6 grounds for processing in GDPR. */ - grounds?: CodeableConcept[]; + grounds?: CodeableConcept[]|undefined; } /** * Permission. @@ -25418,45 +25418,45 @@ export interface Permission extends DomainResource { /** * The person or entity that asserts the permission. */ - asserter?: Reference; + asserter?: Reference|undefined; /** * The date that permission was asserted. */ - assertionDate?: string[]; - _assertionDate?: Element[]; + assertionDate?: string[]|undefined; + _assertionDate?: Element[]|undefined; /** * This can be 1) the definition of data elements, or 2) a category or label) e.g. “sensitive”. It could also be a c) graph-like definition of a set of data elements. */ - dataScope?: Expression[]; + dataScope?: Expression[]|undefined; /** * grant|refuse. */ - intent?: CodeableConcept; + intent?: CodeableConcept|undefined; /** * The asserted justification for using the data. */ - justification?: PermissionJustification; + justification?: PermissionJustification|undefined; /** * A description or definition of which activities are allowed to be done on the data. */ - processingActivity?: PermissionProcessingActivity[]; + processingActivity?: PermissionProcessingActivity[]|undefined; /** * The purpose for which the permission is given. */ - purpose?: CodeableConcept[]; + purpose?: CodeableConcept[]|undefined; /** * Status. */ status: PermissionStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * What limits apply to the use of the data. */ - usageLimitations?: CodeableConcept[]; + usageLimitations?: CodeableConcept[]|undefined; /** * The period in which the permission is active. */ - validity?: Period; + validity?: Period|undefined; } /** * Code Values for the Permission.status field @@ -25474,8 +25474,8 @@ export interface PersonLink extends BackboneElement { /** * Level of assurance that this link is associated with the target resource. */ - assurance?: PersonLinkAssuranceCodes; - _assurance?: Element; + assurance?: PersonLinkAssuranceCodes|undefined; + _assurance?: Element|undefined; /** * The resource to which this actual person is associated. */ @@ -25499,46 +25499,46 @@ export interface Person extends DomainResource { /** * Whether this person's record is in active use. */ - active?: boolean; - _active?: Element; + active?: boolean|undefined; + _active?: Element|undefined; /** * Person may have multiple addresses with different uses or applicable periods. */ - address?: Address[]; + address?: Address[]|undefined; /** * At least an estimated year should be provided as a guess if the real DOB is unknown. */ - birthDate?: string; - _birthDate?: Element; + birthDate?: string|undefined; + _birthDate?: Element|undefined; /** * The gender might not match the biological sex as determined by genetics, or the individual's preferred identification. Note that for both humans and particularly animals, there are other legitimate possibilities than M and F, though a clear majority of systems and contexts only support M and F. */ - gender?: PersonGenderCodes; - _gender?: Element; + gender?: PersonGenderCodes|undefined; + _gender?: Element|undefined; /** * Identifier for a person within a particular scope. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Link to a resource that concerns the same actual person. */ - link?: PersonLink[]; + link?: PersonLink[]|undefined; /** * The organization that is the custodian of the person record. */ - managingOrganization?: Reference; + managingOrganization?: Reference|undefined; /** * Person may have multiple names with different uses or applicable periods. */ - name?: HumanName[]; + name?: HumanName[]|undefined; /** * An image that can be displayed as a thumbnail of the person to enhance the identification of the individual. */ - photo?: Attachment; + photo?: Attachment|undefined; /** * Person may have multiple ways to be contacted with different uses or applicable periods. May need to have options for contacting the person urgently and also to help with identification. */ - telecom?: ContactPoint[]; + telecom?: ContactPoint[]|undefined; } /** * Code Values for the Person.gender field @@ -25556,23 +25556,23 @@ export interface PlanDefinitionGoalTarget extends BackboneElement { /** * The target value of the measure to be achieved to signify fulfillment of the goal, e.g. 150 pounds or 7.0%, or in the case of pharmaceutical quality - NMT 0.6%, Clear solution, etc. Either the high or low or both values of the range can be specified. When a low value is missing, it indicates that the goal is achieved at any value at or below the high value. Similarly, if the high value is missing, it indicates that the goal is achieved at any value at or above the low value. */ - detailQuantity?: Quantity; + detailQuantity?: Quantity|undefined; /** * The target value of the measure to be achieved to signify fulfillment of the goal, e.g. 150 pounds or 7.0%, or in the case of pharmaceutical quality - NMT 0.6%, Clear solution, etc. Either the high or low or both values of the range can be specified. When a low value is missing, it indicates that the goal is achieved at any value at or below the high value. Similarly, if the high value is missing, it indicates that the goal is achieved at any value at or above the low value. */ - detailRange?: Range; + detailRange?: Range|undefined; /** * The target value of the measure to be achieved to signify fulfillment of the goal, e.g. 150 pounds or 7.0%, or in the case of pharmaceutical quality - NMT 0.6%, Clear solution, etc. Either the high or low or both values of the range can be specified. When a low value is missing, it indicates that the goal is achieved at any value at or below the high value. Similarly, if the high value is missing, it indicates that the goal is achieved at any value at or above the low value. */ - detailCodeableConcept?: CodeableConcept; + detailCodeableConcept?: CodeableConcept|undefined; /** * Indicates the timeframe after the start of the goal in which the goal should be met. */ - due?: Duration; + due?: Duration|undefined; /** * The parameter whose value is to be tracked, e.g. body weight, blood pressure, or hemoglobin A1c level. */ - measure?: CodeableConcept; + measure?: CodeableConcept|undefined; } /** * A goal describes an expected outcome that activities within the plan are intended to achieve. For example, weight loss, restoring an activity of daily living, obtaining herd immunity via immunization, meeting a process improvement objective, meeting the acceptance criteria for a test as specified by a quality specification, etc. @@ -25581,11 +25581,11 @@ export interface PlanDefinitionGoal extends BackboneElement { /** * Identifies problems, conditions, issues, or concerns the goal is intended to address. */ - addresses?: CodeableConcept[]; + addresses?: CodeableConcept[]|undefined; /** * Indicates a category the goal falls within. */ - category?: CodeableConcept; + category?: CodeableConcept|undefined; /** * If no code is available, use CodeableConcept.text. */ @@ -25593,19 +25593,19 @@ export interface PlanDefinitionGoal extends BackboneElement { /** * Didactic or other informational resources associated with the goal that provide further supporting information about the goal. Information resources can include inline text commentary and links to web resources. */ - documentation?: RelatedArtifact[]; + documentation?: RelatedArtifact[]|undefined; /** * Identifies the expected level of importance associated with reaching/sustaining the defined goal. */ - priority?: CodeableConcept; + priority?: CodeableConcept|undefined; /** * The event after which the goal should begin being pursued. */ - start?: CodeableConcept; + start?: CodeableConcept|undefined; /** * Indicates what should be done and within what timeframe. */ - target?: PlanDefinitionGoalTarget[]; + target?: PlanDefinitionGoalTarget[]|undefined; } /** * The characteristics of the candidates that could serve as the actor. @@ -25614,16 +25614,16 @@ export interface PlanDefinitionActorOption extends BackboneElement { /** * The role the participant should play in performing the described action. */ - role?: CodeableConcept; + role?: CodeableConcept|undefined; /** * The type of participant in the action. */ - type?: PlanDefinitionActorOptionTypeCodes; - _type?: Element; + type?: PlanDefinitionActorOptionTypeCodes|undefined; + _type?: Element|undefined; /** * When this element is a reference, it SHOULD be a reference to a definitional resource (for example, a location type, rather than a specific location). */ - typeReference?: Reference; + typeReference?: Reference|undefined; } /** * Code Values for the PlanDefinition.actor.option.type field @@ -25647,8 +25647,8 @@ export interface PlanDefinitionActor extends BackboneElement { /** * A description of how the actor fits into the overall actions of the plan definition. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * The characteristics of the candidates that could serve as the actor. */ @@ -25656,8 +25656,8 @@ export interface PlanDefinitionActor extends BackboneElement { /** * A descriptive label for the actor. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; } /** * When multiple conditions of the same kind are present, the effects are combined using AND semantics, so the overall condition is true only if all the conditions are true. @@ -25666,12 +25666,12 @@ export interface PlanDefinitionActionCondition extends BackboneElement { /** * The expression may be inlined or may be a reference to a named expression within a logic library referenced by the library element. */ - expression?: Expression; + expression?: Expression|undefined; /** * Applicability criteria are used to determine immediate applicability when a plan definition is applied to a given context. Start and stop criteria are carried through application and used to describe enter/exit criteria for an action. */ kind: PlanDefinitionActionConditionKindCodes; - _kind?: Element; + _kind?: Element|undefined; } /** * Code Values for the PlanDefinition.action.condition.kind field @@ -25688,17 +25688,17 @@ export interface PlanDefinitionActionInput extends BackboneElement { /** * The relatedData element allows indicating that an input to a parent action is an input to specific child actions. It also allows the output of one action to be identified as the input to a different action */ - relatedData?: string; - _relatedData?: Element; + relatedData?: string|undefined; + _relatedData?: Element|undefined; /** * Defines the data that is to be provided as input to the action. */ - requirement?: DataRequirement; + requirement?: DataRequirement|undefined; /** * A human-readable label for the data requirement used to label data flows in BPMN or similar diagrams. Also provides a human readable label when rendering the data requirement that conveys its purpose to human readers. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; } /** * Defines the outputs of the action, if any. @@ -25707,17 +25707,17 @@ export interface PlanDefinitionActionOutput extends BackboneElement { /** * The relatedData element allows indicating that the output of child action is also the output of a parent action. It also allows the input of one action to be identified as the output of a different action */ - relatedData?: string; - _relatedData?: Element; + relatedData?: string|undefined; + _relatedData?: Element|undefined; /** * Defines the data that results as output from the action. */ - requirement?: DataRequirement; + requirement?: DataRequirement|undefined; /** * A human-readable label for the data requirement used to label data flows in BPMN or similar diagrams. Also provides a human readable label when rendering the data requirement that conveys its purpose to human readers. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; } /** * When an action depends on multiple actions, the meaning is that all actions are dependencies, rather than that any of the actions are a dependency. @@ -25726,21 +25726,21 @@ export interface PlanDefinitionActionRelatedAction extends BackboneElement { /** * A duration or range of durations to apply to the relationship. For example, 30-60 minutes before. */ - offsetDuration?: Duration; + offsetDuration?: Duration|undefined; /** * A duration or range of durations to apply to the relationship. For example, 30-60 minutes before. */ - offsetRange?: Range; + offsetRange?: Range|undefined; /** * The relationship of this action to the related action. */ relationship: PlanDefinitionActionRelatedActionRelationshipCodes; - _relationship?: Element; + _relationship?: Element|undefined; /** * The element id of the target related action. */ targetId: string; - _targetId?: Element; + _targetId?: Element|undefined; } /** * Code Values for the PlanDefinition.action.relatedAction.relationship field @@ -25763,25 +25763,25 @@ export interface PlanDefinitionActionParticipant extends BackboneElement { /** * A reference to the id element of the actor who will participate in this action. */ - actorId?: string; - _actorId?: Element; + actorId?: string|undefined; + _actorId?: Element|undefined; /** * Indicates how the actor will be involved in the action - author, reviewer, witness, etc. */ - function?: CodeableConcept; + function?: CodeableConcept|undefined; /** * The role the participant should play in performing the described action. */ - role?: CodeableConcept; + role?: CodeableConcept|undefined; /** * The type of participant in the action. */ - type?: PlanDefinitionActionParticipantTypeCodes; - _type?: Element; + type?: PlanDefinitionActionParticipantTypeCodes|undefined; + _type?: Element|undefined; /** * When this element is a reference, it SHOULD be a reference to a definitional resource (for example, a location type, rather than a specific location). */ - typeReference?: Reference; + typeReference?: Reference|undefined; } /** * Code Values for the PlanDefinition.action.participant.type field @@ -25805,12 +25805,12 @@ export interface PlanDefinitionActionDynamicValue extends BackboneElement { /** * The expression may be inlined or may be a reference to a named expression within a logic library referenced by the library element. */ - expression?: Expression; + expression?: Expression|undefined; /** * To specify the path to the current action being realized, the %action environment variable is available in this path. For example, to specify the description element of the target action, the path would be %action.description. The path attribute contains a [Simple FHIRPath Subset](fhirpath.html#simple) that allows path traversal, but not calculation. */ - path?: string; - _path?: Element; + path?: string|undefined; + _path?: Element|undefined; } /** * Note that there is overlap between many of the elements defined here and the ActivityDefinition resource. When an ActivityDefinition is referenced (using the definition element), the overlapping elements in the plan override the content of the referenced ActivityDefinition unless otherwise documented in the specific elements. See the PlanDefinition resource for more detailed information. @@ -25819,157 +25819,157 @@ export interface PlanDefinitionAction extends BackboneElement { /** * Sub actions that are contained within the action. The behavior of this action determines the functionality of the sub-actions. For example, a selection behavior of at-most-one indicates that of the sub-actions, at most one may be chosen as part of realizing the action definition. */ - action?: PlanDefinitionAction[]; + action?: PlanDefinitionAction[]|undefined; /** * Defines whether the action can be selected multiple times. */ - cardinalityBehavior?: PlanDefinitionActionCardinalityBehaviorCodes; - _cardinalityBehavior?: Element; + cardinalityBehavior?: PlanDefinitionActionCardinalityBehaviorCodes|undefined; + _cardinalityBehavior?: Element|undefined; /** * A code that provides a meaning, grouping, or classification for the action or action group. For example, a section may have a LOINC code for the section of a documentation template. In pharmaceutical quality, an action (Test) such as pH could be classified as a physical property. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * When multiple conditions of the same kind are present, the effects are combined using AND semantics, so the overall condition is true only if all the conditions are true. */ - condition?: PlanDefinitionActionCondition[]; + condition?: PlanDefinitionActionCondition[]|undefined; /** * Note that the definition is optional, and if no definition is specified, a dynamicValue with a root ($this) path can be used to define the entire resource dynamically. */ - definitionCanonical?: string; - _definitionCanonical?: Element; + definitionCanonical?: string|undefined; + _definitionCanonical?: Element|undefined; /** * Note that the definition is optional, and if no definition is specified, a dynamicValue with a root ($this) path can be used to define the entire resource dynamically. */ - definitionUri?: string; - _definitionUri?: Element; + definitionUri?: string|undefined; + _definitionUri?: Element|undefined; /** * A brief description of the action used to provide a summary to display to the user. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Didactic or other informational resources associated with the action that can be provided to the CDS recipient. Information resources can include inline text commentary and links to web resources. */ - documentation?: RelatedArtifact[]; + documentation?: RelatedArtifact[]|undefined; /** * Dynamic values are applied in the order in which they are defined in the PlanDefinition resource. Note that when dynamic values are also specified by a referenced ActivityDefinition, the dynamicValues from the ActivityDefinition are applied first, followed by the dynamicValues specified here. In addition, if both a transform and dynamic values are specific, the dynamic values are applied to the result of the transform. */ - dynamicValue?: PlanDefinitionActionDynamicValue[]; + dynamicValue?: PlanDefinitionActionDynamicValue[]|undefined; /** * Identifies goals that this action supports. The reference must be to a goal element defined within this plan definition. In pharmaceutical quality, a goal represents acceptance criteria (Goal) for a given action (Test), so the goalId would be the unique id of a defined goal element establishing the acceptance criteria for the action. */ - goalId?: string[]; - _goalId?: Element[]; + goalId?: string[]|undefined; + _goalId?: Element[]|undefined; /** * Defines the grouping behavior for the action and its children. */ - groupingBehavior?: PlanDefinitionActionGroupingBehaviorCodes; - _groupingBehavior?: Element; + groupingBehavior?: PlanDefinitionActionGroupingBehaviorCodes|undefined; + _groupingBehavior?: Element|undefined; /** * Defines input data requirements for the action. */ - input?: PlanDefinitionActionInput[]; + input?: PlanDefinitionActionInput[]|undefined; /** * May reference a specific clinical location or may just identify a type of location. */ - location?: CodeableReference; + location?: CodeableReference|undefined; /** * Defines the outputs of the action, if any. */ - output?: PlanDefinitionActionOutput[]; + output?: PlanDefinitionActionOutput[]|undefined; /** * Indicates who should participate in performing the action described. */ - participant?: PlanDefinitionActionParticipant[]; + participant?: PlanDefinitionActionParticipant[]|undefined; /** * Defines whether the action should usually be preselected. */ - precheckBehavior?: PlanDefinitionActionPrecheckBehaviorCodes; - _precheckBehavior?: Element; + precheckBehavior?: PlanDefinitionActionPrecheckBehaviorCodes|undefined; + _precheckBehavior?: Element|undefined; /** * A user-visible prefix for the action. */ - prefix?: string; - _prefix?: Element; + prefix?: string|undefined; + _prefix?: Element|undefined; /** * Indicates how quickly the action should be addressed with respect to other actions. */ - priority?: PlanDefinitionActionPriorityCodes; - _priority?: Element; + priority?: PlanDefinitionActionPriorityCodes|undefined; + _priority?: Element|undefined; /** * This is different than the clinical evidence documentation, it's an actual business description of the reason for performing the action. */ - reason?: CodeableConcept[]; + reason?: CodeableConcept[]|undefined; /** * When an action depends on multiple actions, the meaning is that all actions are dependencies, rather than that any of the actions are a dependency. */ - relatedAction?: PlanDefinitionActionRelatedAction[]; + relatedAction?: PlanDefinitionActionRelatedAction[]|undefined; /** * Defines the required behavior for the action. */ - requiredBehavior?: PlanDefinitionActionRequiredBehaviorCodes; - _requiredBehavior?: Element; + requiredBehavior?: PlanDefinitionActionRequiredBehaviorCodes|undefined; + _requiredBehavior?: Element|undefined; /** * Defines the selection behavior for the action and its children. */ - selectionBehavior?: PlanDefinitionActionSelectionBehaviorCodes; - _selectionBehavior?: Element; + selectionBehavior?: PlanDefinitionActionSelectionBehaviorCodes|undefined; + _selectionBehavior?: Element|undefined; /** * The subject of an action overrides the subject at a parent action or on the root of the PlanDefinition if specified. * In addition, because the subject needs to be resolved during realization, use of subjects in actions (or in the ActivityDefinition referenced by the action) resolves based on the set of subjects supplied in context and by type (i.e. the patient subject would resolve to a resource of type Patient). */ - subjectCodeableConcept?: CodeableConcept; + subjectCodeableConcept?: CodeableConcept|undefined; /** * The subject of an action overrides the subject at a parent action or on the root of the PlanDefinition if specified. * In addition, because the subject needs to be resolved during realization, use of subjects in actions (or in the ActivityDefinition referenced by the action) resolves based on the set of subjects supplied in context and by type (i.e. the patient subject would resolve to a resource of type Patient). */ - subjectReference?: Reference; + subjectReference?: Reference|undefined; /** * The subject of an action overrides the subject at a parent action or on the root of the PlanDefinition if specified. * In addition, because the subject needs to be resolved during realization, use of subjects in actions (or in the ActivityDefinition referenced by the action) resolves based on the set of subjects supplied in context and by type (i.e. the patient subject would resolve to a resource of type Patient). */ - subjectCanonical?: string; - _subjectCanonical?: Element; + subjectCanonical?: string|undefined; + _subjectCanonical?: Element|undefined; /** * A text equivalent of the action to be performed. This provides a human-interpretable description of the action when the definition is consumed by a system that might not be capable of interpreting it dynamically. */ - textEquivalent?: string; - _textEquivalent?: Element; + textEquivalent?: string|undefined; + _textEquivalent?: Element|undefined; /** * The intent of the timing element is to provide timing when the action should be performed. As a definitional resource, this timing is interpreted as part of an apply operation so that the timing of the result actions in a CarePlan or RequestGroup, for example, would be specified by evaluating the timing definition in the context of the apply and setting the resulting timing on the appropriate elements of the target resource. If the timing is an Age, the activity is expected to be performed when the subject is the given Age. When the timing is a Duration, the activity is expected to be performed within the specified duration from the apply. When the timing is a Range, it may be a range of Ages or Durations, providing a range for the expected timing of the resulting activity. When the timing is a Timing, it is establishing a schedule for the timing of the resulting activity. */ - timingAge?: Age; + timingAge?: Age|undefined; /** * The intent of the timing element is to provide timing when the action should be performed. As a definitional resource, this timing is interpreted as part of an apply operation so that the timing of the result actions in a CarePlan or RequestGroup, for example, would be specified by evaluating the timing definition in the context of the apply and setting the resulting timing on the appropriate elements of the target resource. If the timing is an Age, the activity is expected to be performed when the subject is the given Age. When the timing is a Duration, the activity is expected to be performed within the specified duration from the apply. When the timing is a Range, it may be a range of Ages or Durations, providing a range for the expected timing of the resulting activity. When the timing is a Timing, it is establishing a schedule for the timing of the resulting activity. */ - timingDuration?: Duration; + timingDuration?: Duration|undefined; /** * The intent of the timing element is to provide timing when the action should be performed. As a definitional resource, this timing is interpreted as part of an apply operation so that the timing of the result actions in a CarePlan or RequestGroup, for example, would be specified by evaluating the timing definition in the context of the apply and setting the resulting timing on the appropriate elements of the target resource. If the timing is an Age, the activity is expected to be performed when the subject is the given Age. When the timing is a Duration, the activity is expected to be performed within the specified duration from the apply. When the timing is a Range, it may be a range of Ages or Durations, providing a range for the expected timing of the resulting activity. When the timing is a Timing, it is establishing a schedule for the timing of the resulting activity. */ - timingRange?: Range; + timingRange?: Range|undefined; /** * The intent of the timing element is to provide timing when the action should be performed. As a definitional resource, this timing is interpreted as part of an apply operation so that the timing of the result actions in a CarePlan or RequestGroup, for example, would be specified by evaluating the timing definition in the context of the apply and setting the resulting timing on the appropriate elements of the target resource. If the timing is an Age, the activity is expected to be performed when the subject is the given Age. When the timing is a Duration, the activity is expected to be performed within the specified duration from the apply. When the timing is a Range, it may be a range of Ages or Durations, providing a range for the expected timing of the resulting activity. When the timing is a Timing, it is establishing a schedule for the timing of the resulting activity. */ - timingTiming?: Timing; + timingTiming?: Timing|undefined; /** * The textual description of the action displayed to a user. For example, when the action is a test to be performed, the title would be the title of the test such as Assay by HPLC. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Note that when a referenced ActivityDefinition also defines a transform, the transform specified here generally takes precedence. In addition, if both a transform and dynamic values are specific, the dynamic values are applied to the result of the transform. */ - transform?: string; - _transform?: Element; + transform?: string|undefined; + _transform?: Element|undefined; /** * A description of when the action should be triggered. */ - trigger?: TriggerDefinition[]; + trigger?: TriggerDefinition[]|undefined; /** * The type of action to perform (create, update, remove). */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Code Values for the PlanDefinition.action.cardinalityBehavior field @@ -26030,158 +26030,158 @@ export interface PlanDefinition extends DomainResource { /** * Note that there is overlap between many of the elements defined here and the ActivityDefinition resource. When an ActivityDefinition is referenced (using the definition element), the overlapping elements in the plan override the content of the referenced ActivityDefinition unless otherwise documented in the specific elements. See the PlanDefinition resource for more detailed information. */ - action?: PlanDefinitionAction[]; + action?: PlanDefinitionAction[]|undefined; /** * Actors represent the individuals or groups involved in the execution of the defined set of activities. */ - actor?: PlanDefinitionActor[]; + actor?: PlanDefinitionActor[]|undefined; /** * The 'date' element may be more recent than the approval date because of minor changes or editorial corrections. */ - approvalDate?: string; - _approvalDate?: Element; + approvalDate?: string|undefined; + _approvalDate?: Element|undefined; /** * An individiual or organization primarily involved in the creation and maintenance of the content. */ - author?: ContactDetail[]; + author?: ContactDetail[]|undefined; /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * A copyright statement relating to the plan definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the plan definition. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the plan definition. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * This description can be used to capture details such as why the plan definition was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the plan definition as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the plan definition is presumed to be the predominant language in the place the plan definition was created). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * An individual or organization primarily responsible for internal coherence of the content. */ - editor?: ContactDetail[]; + editor?: ContactDetail[]|undefined; /** * The effective period for a plan definition determines when the content is applicable for usage and is independent of publication and review dates. For example, a measure intended to be used for the year 2016 might be published in 2015. */ - effectivePeriod?: Period; + effectivePeriod?: Period|undefined; /** * An individual or organization responsible for officially endorsing the content for use in some setting. */ - endorser?: ContactDetail[]; + endorser?: ContactDetail[]|undefined; /** * Allows filtering of plan definitions that are appropriate for use versus not. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * A goal describes an expected outcome that activities within the plan are intended to achieve. For example, weight loss, restoring an activity of daily living, obtaining herd immunity via immunization, meeting a process improvement objective, meeting the acceptance criteria for a test as specified by a quality specification, etc. */ - goal?: PlanDefinitionGoal[]; + goal?: PlanDefinitionGoal[]|undefined; /** * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this plan definition outside of FHIR, where it is not possible to use the logical URI. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * It may be possible for the plan definition to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * If specified, this date follows the original approval date. */ - lastReviewDate?: string; - _lastReviewDate?: Element; + lastReviewDate?: string|undefined; + _lastReviewDate?: Element|undefined; /** * A reference to a Library resource containing any formal logic used by the plan definition. */ - library?: string[]; - _library?: Element[]; + library?: string[]|undefined; + _library?: Element[]|undefined; /** * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Usually an organization but may be an individual. The publisher (or steward) of the plan definition is the organization or individual primarily responsible for the maintenance and upkeep of the plan definition. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the plan definition. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * This element does not describe the usage of the plan definition. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this plan definition. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * Each related artifact is either an attachment, or a reference to another resource, but not both. */ - relatedArtifact?: RelatedArtifact[]; + relatedArtifact?: RelatedArtifact[]|undefined; /** * An individual or organization primarily responsible for review of some aspect of the content. */ - reviewer?: ContactDetail[]; + reviewer?: ContactDetail[]|undefined; /** * Allows filtering of plan definitions that are appropriate for use versus not. */ status: PlanDefinitionStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * A code, group definition, or canonical reference that describes or identifies the intended subject of the plan definition. Canonical references are allowed to support the definition of protocols for drug and substance quality specifications, and is allowed to reference a MedicinalProductDefinition, SubstanceDefinition, AdministrableProductDefinition, ManufacturedItemDefinition, or PackagedProductDefinition resource. */ - subjectCodeableConcept?: CodeableConcept; + subjectCodeableConcept?: CodeableConcept|undefined; /** * A code, group definition, or canonical reference that describes or identifies the intended subject of the plan definition. Canonical references are allowed to support the definition of protocols for drug and substance quality specifications, and is allowed to reference a MedicinalProductDefinition, SubstanceDefinition, AdministrableProductDefinition, ManufacturedItemDefinition, or PackagedProductDefinition resource. */ - subjectReference?: Reference; + subjectReference?: Reference|undefined; /** * A code, group definition, or canonical reference that describes or identifies the intended subject of the plan definition. Canonical references are allowed to support the definition of protocols for drug and substance quality specifications, and is allowed to reference a MedicinalProductDefinition, SubstanceDefinition, AdministrableProductDefinition, ManufacturedItemDefinition, or PackagedProductDefinition resource. */ - subjectCanonical?: string; - _subjectCanonical?: Element; + subjectCanonical?: string|undefined; + _subjectCanonical?: Element|undefined; /** * An explanatory or alternate title for the plan definition giving additional information about its content. */ - subtitle?: string; - _subtitle?: Element; + subtitle?: string|undefined; + _subtitle?: Element|undefined; /** * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Descriptive topics related to the content of the plan definition. Topics provide a high-level categorization of the definition that can be useful for filtering and searching. */ - topic?: CodeableConcept[]; + topic?: CodeableConcept[]|undefined; /** * A high-level category for the plan definition that distinguishes the kinds of systems that would be interested in the plan definition. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; /** * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * A detailed description of how the plan definition is used from a clinical perspective. */ - usage?: string; - _usage?: Element; + usage?: string|undefined; + _usage?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different plan definition instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the plan definition with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the PlanDefinition.status field @@ -26203,15 +26203,15 @@ export interface PractitionerQualification extends BackboneElement { /** * An identifier that applies to this person's qualification in this role. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Organization that regulates and issues the qualification. */ - issuer?: Reference; + issuer?: Reference|undefined; /** * Period during which the qualification is valid. */ - period?: Period; + period?: Period|undefined; } /** * A person who is directly or indirectly involved in the provisioning of healthcare. @@ -26222,30 +26222,30 @@ export interface Practitioner extends DomainResource { /** * If the practitioner is not in use by one organization, then it should mark the period on the PractitonerRole with an end date (even if they are active) as they may be active in another role. */ - active?: boolean; - _active?: Element; + active?: boolean|undefined; + _active?: Element|undefined; /** * The PractitionerRole does not have an address value on it, as it is expected that the location property be used for this purpose (which has an address). */ - address?: Address[]; + address?: Address[]|undefined; /** * The date of birth for the practitioner. */ - birthDate?: string; - _birthDate?: Element; + birthDate?: string|undefined; + _birthDate?: Element|undefined; /** * The structure aa-BB with this exact casing is one the most widely used notations for locale. However not all systems code this but instead have it as free text. Hence CodeableConcept instead of code as the data type. */ - communication?: CodeableConcept[]; + communication?: CodeableConcept[]|undefined; /** * Administrative Gender - the gender that the person is considered to have for administration and record keeping purposes. */ - gender?: PractitionerGenderCodes; - _gender?: Element; + gender?: PractitionerGenderCodes|undefined; + _gender?: Element|undefined; /** * An identifier that applies to this person in this role. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The selection of the use property should ensure that there is a single usual name specified, and others use the nickname (alias), old, or other values as appropriate. * In general, select the value to be used in the ResourceReference.display based on this: @@ -26255,19 +26255,19 @@ export interface Practitioner extends DomainResource { * 4. Use = official * 5. Other order as decided by internal business rules. */ - name?: HumanName[]; + name?: HumanName[]|undefined; /** * Image of the person. */ - photo?: Attachment[]; + photo?: Attachment[]|undefined; /** * The official certifications, training, and licenses that authorize or otherwise pertain to the provision of care by the practitioner. For example, a medical license issued by a medical board authorizing the practitioner to practice medicine within a certian locality. */ - qualification?: PractitionerQualification[]; + qualification?: PractitionerQualification[]|undefined; /** * Person may have multiple ways to be contacted with different uses or applicable periods. May need to have options for contacting the person urgently and to help with identification. These typically will have home numbers, or mobile numbers that are not role specific. */ - telecom?: ContactPoint[]; + telecom?: ContactPoint[]|undefined; } /** * Code Values for the Practitioner.gender field @@ -26285,23 +26285,23 @@ export interface PractitionerRoleAvailableTime extends BackboneElement { /** * Indicates always available, hence times are irrelevant. (e.g. 24-hour service). */ - allDay?: boolean; - _allDay?: Element; + allDay?: boolean|undefined; + _allDay?: Element|undefined; /** * The timezone is expected to be for where this HealthcareService is provided at. */ - availableEndTime?: string; - _availableEndTime?: Element; + availableEndTime?: string|undefined; + _availableEndTime?: Element|undefined; /** * The timezone is expected to be for where this HealthcareService is provided at. */ - availableStartTime?: string; - _availableStartTime?: Element; + availableStartTime?: string|undefined; + _availableStartTime?: Element|undefined; /** * Indicates which days of the week are available between the start and end times. */ - daysOfWeek?: PractitionerRoleAvailableTimeDaysOfWeekCodes[]; - _daysOfWeek?: Element[]; + daysOfWeek?: PractitionerRoleAvailableTimeDaysOfWeekCodes[]|undefined; + _daysOfWeek?: Element[]|undefined; } /** * Code Values for the PractitionerRole.availableTime.daysOfWeek field @@ -26323,11 +26323,11 @@ export interface PractitionerRoleNotAvailable extends BackboneElement { * The reason that can be presented to the user as to why this time is not available. */ description: string; - _description?: Element; + _description?: Element|undefined; /** * Service is not available (seasonally or for a public holiday) from this date. */ - during?: Period; + during?: Period|undefined; } /** * A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time. @@ -26338,61 +26338,61 @@ export interface PractitionerRole extends DomainResource { /** * If this value is false, you may refer to the period to see when the role was in active use. If there is no period specified, no inference can be made about when it was active. */ - active?: boolean; - _active?: Element; + active?: boolean|undefined; + _active?: Element|undefined; /** * A description of site availability exceptions, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as details in the available Times and not available Times. */ - availabilityExceptions?: string; - _availabilityExceptions?: Element; + availabilityExceptions?: string|undefined; + _availabilityExceptions?: Element|undefined; /** * More detailed availability information may be provided in associated Schedule/Slot resources. */ - availableTime?: PractitionerRoleAvailableTime[]; + availableTime?: PractitionerRoleAvailableTime[]|undefined; /** * A person may have more than one role. */ - code?: CodeableConcept[]; + code?: CodeableConcept[]|undefined; /** * Technical endpoints providing access to services operated for the practitioner with this role. */ - endpoint?: Reference[]; + endpoint?: Reference[]|undefined; /** * The list of healthcare services that this worker provides for this role's Organization/Location(s). */ - healthcareService?: Reference[]; + healthcareService?: Reference[]|undefined; /** * Business Identifiers that are specific to a role/location. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The location(s) at which this practitioner provides care. */ - location?: Reference[]; + location?: Reference[]|undefined; /** * The practitioner is not available or performing this role during this period of time due to the provided reason. */ - notAvailable?: PractitionerRoleNotAvailable[]; + notAvailable?: PractitionerRoleNotAvailable[]|undefined; /** * The organization where the Practitioner performs the roles associated. */ - organization?: Reference; + organization?: Reference|undefined; /** * The period during which the person is authorized to act as a practitioner in these role(s) for the organization. */ - period?: Period; + period?: Period|undefined; /** * Practitioner that is able to provide the defined services for the organization. */ - practitioner?: Reference; + practitioner?: Reference|undefined; /** * Specific specialty of the practitioner. */ - specialty?: CodeableConcept[]; + specialty?: CodeableConcept[]|undefined; /** * Contact details that are specific to the role/location/service. */ - telecom?: ContactPoint[]; + telecom?: ContactPoint[]|undefined; } /** * Limited to "real" people rather than equipment. @@ -26405,11 +26405,11 @@ export interface ProcedurePerformer extends BackboneElement { /** * Distinguishes the type of involvement of the performer in the procedure. For example, surgeon, anaesthetist, endoscopist. */ - function?: CodeableConcept; + function?: CodeableConcept|undefined; /** * The organization the device or practitioner was acting on behalf of. */ - onBehalfOf?: Reference; + onBehalfOf?: Reference|undefined; } /** * A device that is implanted, removed or otherwise manipulated (calibration, battery replacement, fitting a prosthesis, attaching a wound-vac, etc.) as a focal portion of the Procedure. @@ -26418,7 +26418,7 @@ export interface ProcedureFocalDevice extends BackboneElement { /** * The kind of change that happened to the device during the procedure. */ - action?: CodeableConcept; + action?: CodeableConcept|undefined; /** * The device that was manipulated (changed) during the procedure. */ @@ -26433,141 +26433,141 @@ export interface Procedure extends DomainResource { /** * A reference to a resource that contains details of the request for this procedure. */ - basedOn?: Reference[]; + basedOn?: Reference[]|undefined; /** * If the use case requires attributes from the BodySite resource (e.g. to identify and track separately) then use the standard extension [procedure-targetbodystructure](extension-procedure-targetbodystructure.html). */ - bodySite?: CodeableConcept[]; + bodySite?: CodeableConcept[]|undefined; /** * A code that classifies the procedure for searching, sorting and display purposes (e.g. "Surgical Procedure"). */ - category?: CodeableConcept[]; + category?: CodeableConcept[]|undefined; /** * The specific procedure that is performed. Use text if the exact nature of the procedure cannot be coded (e.g. "Laparoscopic Appendectomy"). */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * If complications are only expressed by the narrative text, they can be captured using the CodeableConcept.text. */ - complication?: CodeableConcept[]; + complication?: CodeableConcept[]|undefined; /** * Any complications that occurred during the procedure, or in the immediate post-performance period. */ - complicationDetail?: Reference[]; + complicationDetail?: Reference[]|undefined; /** * This will typically be the encounter the event occurred within, but some activities may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * A device that is implanted, removed or otherwise manipulated (calibration, battery replacement, fitting a prosthesis, attaching a wound-vac, etc.) as a focal portion of the Procedure. */ - focalDevice?: ProcedureFocalDevice[]; + focalDevice?: ProcedureFocalDevice[]|undefined; /** * If the procedure required specific follow up - e.g. removal of sutures. The follow up may be represented as a simple note or could potentially be more complex, in which case the CarePlan resource can be used. */ - followUp?: CodeableConcept[]; + followUp?: CodeableConcept[]|undefined; /** * This is a business identifier, not a resource identifier (see [discussion](resource.html#identifiers)). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and Person resource instances might share the same social insurance number. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The URL pointing to a FHIR-defined protocol, guideline, order set or other definition that is adhered to in whole or in part by this Procedure. */ - instantiatesCanonical?: string[]; - _instantiatesCanonical?: Element[]; + instantiatesCanonical?: string[]|undefined; + _instantiatesCanonical?: Element[]|undefined; /** * This might be an HTML page, PDF, etc. or could just be a non-resolvable URI identifier. */ - instantiatesUri?: string[]; - _instantiatesUri?: Element[]; + instantiatesUri?: string[]|undefined; + _instantiatesUri?: Element[]|undefined; /** * The location where the procedure actually happened. E.g. a newborn at home, a tracheostomy at a restaurant. */ - location?: Reference; + location?: Reference|undefined; /** * Any other notes and comments about the procedure. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * This indicates when the procedure actually occurred or is occurring, not when it was asked/requested/ordered to occur. For the latter, look at the occurence element of the Request this Procedure is "basedOn". The status code allows differentiation of whether the timing reflects a historic event or an ongoing event. Ongoing events should not include an upper bound in the Period or Timing.bounds. * Age is generally used when the patient reports an age at which the procedure was performed. Range is generally used when the patient reports an age range when the procedure was performed, such as sometime between 20-25 years old. dateTime supports a range of precision due to some procedures being reported as past procedures that might not have millisecond precision while other procedures performed and documented during the encounter might have more precise UTC timestamps with timezone. */ - occurrenceDateTime?: string; - _occurrenceDateTime?: Element; + occurrenceDateTime?: string|undefined; + _occurrenceDateTime?: Element|undefined; /** * This indicates when the procedure actually occurred or is occurring, not when it was asked/requested/ordered to occur. For the latter, look at the occurence element of the Request this Procedure is "basedOn". The status code allows differentiation of whether the timing reflects a historic event or an ongoing event. Ongoing events should not include an upper bound in the Period or Timing.bounds. * Age is generally used when the patient reports an age at which the procedure was performed. Range is generally used when the patient reports an age range when the procedure was performed, such as sometime between 20-25 years old. dateTime supports a range of precision due to some procedures being reported as past procedures that might not have millisecond precision while other procedures performed and documented during the encounter might have more precise UTC timestamps with timezone. */ - occurrencePeriod?: Period; + occurrencePeriod?: Period|undefined; /** * This indicates when the procedure actually occurred or is occurring, not when it was asked/requested/ordered to occur. For the latter, look at the occurence element of the Request this Procedure is "basedOn". The status code allows differentiation of whether the timing reflects a historic event or an ongoing event. Ongoing events should not include an upper bound in the Period or Timing.bounds. * Age is generally used when the patient reports an age at which the procedure was performed. Range is generally used when the patient reports an age range when the procedure was performed, such as sometime between 20-25 years old. dateTime supports a range of precision due to some procedures being reported as past procedures that might not have millisecond precision while other procedures performed and documented during the encounter might have more precise UTC timestamps with timezone. */ - occurrenceString?: string; - _occurrenceString?: Element; + occurrenceString?: string|undefined; + _occurrenceString?: Element|undefined; /** * This indicates when the procedure actually occurred or is occurring, not when it was asked/requested/ordered to occur. For the latter, look at the occurence element of the Request this Procedure is "basedOn". The status code allows differentiation of whether the timing reflects a historic event or an ongoing event. Ongoing events should not include an upper bound in the Period or Timing.bounds. * Age is generally used when the patient reports an age at which the procedure was performed. Range is generally used when the patient reports an age range when the procedure was performed, such as sometime between 20-25 years old. dateTime supports a range of precision due to some procedures being reported as past procedures that might not have millisecond precision while other procedures performed and documented during the encounter might have more precise UTC timestamps with timezone. */ - occurrenceAge?: Age; + occurrenceAge?: Age|undefined; /** * This indicates when the procedure actually occurred or is occurring, not when it was asked/requested/ordered to occur. For the latter, look at the occurence element of the Request this Procedure is "basedOn". The status code allows differentiation of whether the timing reflects a historic event or an ongoing event. Ongoing events should not include an upper bound in the Period or Timing.bounds. * Age is generally used when the patient reports an age at which the procedure was performed. Range is generally used when the patient reports an age range when the procedure was performed, such as sometime between 20-25 years old. dateTime supports a range of precision due to some procedures being reported as past procedures that might not have millisecond precision while other procedures performed and documented during the encounter might have more precise UTC timestamps with timezone. */ - occurrenceRange?: Range; + occurrenceRange?: Range|undefined; /** * This indicates when the procedure actually occurred or is occurring, not when it was asked/requested/ordered to occur. For the latter, look at the occurence element of the Request this Procedure is "basedOn". The status code allows differentiation of whether the timing reflects a historic event or an ongoing event. Ongoing events should not include an upper bound in the Period or Timing.bounds. * Age is generally used when the patient reports an age at which the procedure was performed. Range is generally used when the patient reports an age range when the procedure was performed, such as sometime between 20-25 years old. dateTime supports a range of precision due to some procedures being reported as past procedures that might not have millisecond precision while other procedures performed and documented during the encounter might have more precise UTC timestamps with timezone. */ - occurrenceTiming?: Timing; + occurrenceTiming?: Timing|undefined; /** * If outcome contains narrative text only, it can be captured using the CodeableConcept.text. */ - outcome?: CodeableConcept; + outcome?: CodeableConcept|undefined; /** * The MedicationAdministration resource has a partOf reference to Procedure, but this is not a circular reference. For example, the anesthesia MedicationAdministration is part of the surgical Procedure (MedicationAdministration.partOf = Procedure). For example, the procedure to insert the IV port for an IV medication administration is part of the medication administration (Procedure.partOf = MedicationAdministration). */ - partOf?: Reference[]; + partOf?: Reference[]|undefined; /** * Limited to "real" people rather than equipment. */ - performer?: ProcedurePerformer[]; + performer?: ProcedurePerformer[]|undefined; /** * Use Procedure.reason.concept when a code sufficiently describes the reason. Use Procedure.reason.reference when referencing a resource, which allows more information to be conveyed, such as onset date. Procedure.reason.concept and Procedure.reason.reference are not meant to be duplicative. For a single reason, either Procedure.reason.concept or Procedure.reason.reference can be used. Procedure.reason.concept may be a summary code, or Procedure.reason.reference may be used to reference a very precise definition of the reason using Condition | Observation | Procedure | DiagnosticReport | DocumentReference. Both Procedure.reason.concept and Procedure.reason.reference can be used if they are describing different reasons for the procedure. */ - reason?: CodeableReference[]; + reason?: CodeableReference[]|undefined; /** * The date the occurrence of the procedure was first captured in the record regardless of Procedure.status (potentially after the occurrence of the event). */ - recorded?: string; - _recorded?: Element; + recorded?: string|undefined; + _recorded?: Element|undefined; /** * Individual who recorded the record and takes responsibility for its content. */ - recorder?: Reference; + recorder?: Reference|undefined; /** * There could potentially be multiple reports - e.g. if this was a procedure which took multiple biopsies resulting in a number of anatomical pathology reports. */ - report?: Reference[]; + report?: Reference[]|undefined; /** * Indicates if this record was captured as a secondary 'reported' record rather than as an original primary source-of-truth record. It may also indicate the source of the report. */ - reportedBoolean?: boolean; - _reportedBoolean?: Element; + reportedBoolean?: boolean|undefined; + _reportedBoolean?: Element|undefined; /** * Indicates if this record was captured as a secondary 'reported' record rather than as an original primary source-of-truth record. It may also indicate the source of the report. */ - reportedReference?: Reference; + reportedReference?: Reference|undefined; /** * The "unknown" code is not to be used to convey other statuses. The "unknown" code should be used when one of the statuses applies, but the authoring system doesn't know the current state of the procedure. * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: ProcedureStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * This is generally only used for "exception" statuses such as "not-done", "suspended" or "aborted". The reason for performing the event at all is captured in reasonCode, not here. */ - statusReason?: CodeableConcept; + statusReason?: CodeableConcept|undefined; /** * On whom or what the procedure was performed. This is usually an individual human, but can also be performed on animals, groups of humans or animals, organizations or practitioners (for licensing), locations or devices (for safety inspections or regulatory authorizations). */ @@ -26575,11 +26575,11 @@ export interface Procedure extends DomainResource { /** * Other resources from the patient record that may be relevant to the procedure. The information from these resources was either used to create the instance or is provided to help with its interpretation. This extension should not be used if more specific inline elements or extensions are available. */ - supportingInfo?: Reference[]; + supportingInfo?: Reference[]|undefined; /** * For devices actually implanted or removed, use Procedure.device. */ - used?: CodeableReference[]; + used?: CodeableReference[]|undefined; } /** * Code Values for the Procedure.status field @@ -26601,15 +26601,15 @@ export interface ProvenanceAgent extends BackboneElement { /** * The agent that delegated authority to perform the activity performed by the agent.who element. */ - onBehalfOf?: Reference; + onBehalfOf?: Reference|undefined; /** * For example: Chief-of-Radiology, Nurse, Physician, Medical-Student, etc. */ - role?: CodeableConcept[]; + role?: CodeableConcept[]|undefined; /** * For example: assembler, author, prescriber, signer, investigator, etc. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; /** * The individual, device or organization that participated in the event. */ @@ -26622,12 +26622,12 @@ export interface ProvenanceEntity extends BackboneElement { /** * A usecase where one Provenance.entity.agent is used where the Entity that was used in the creation/updating of the Target, is not in the context of the same custodianship as the Target, and thus the meaning of Provenance.entity.agent is to say that the entity referenced is managed elsewhere and that this Agent provided access to it. This would be similar to where the Entity being referenced is managed outside FHIR, such as through HL7 v2, v3, or XDS. This might be where the Entity being referenced is managed in another FHIR resource server. Thus it explains the Provenance of that Entity's use in the context of this Provenance activity. */ - agent?: ProvenanceAgent[]; + agent?: ProvenanceAgent[]|undefined; /** * How the entity was used during the activity. */ role: ProvenanceEntityRoleCodes; - _role?: Element; + _role?: Element|undefined; /** * whatIdentity should be used for entities that are not a Resource type. */ @@ -26652,7 +26652,7 @@ export interface Provenance extends DomainResource { /** * An activity is something that occurs over a period of time and acts upon or with entities; it may include consuming, processing, transforming, modifying, relocating, using, or generating entities. */ - activity?: CodeableConcept; + activity?: CodeableConcept|undefined; /** * Several agents may be associated (i.e. has some responsibility for an activity) with an activity and vice-versa. */ @@ -26660,46 +26660,46 @@ export interface Provenance extends DomainResource { /** * Allows tracing of authorizatino for the events and tracking whether proposals/recommendations were acted upon. */ - basedOn?: Reference[]; + basedOn?: Reference[]|undefined; /** * This will typically be the encounter the event occurred, but some events may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter (e.g. pre-admission lab tests). */ - encounter?: Reference; + encounter?: Reference|undefined; /** * An entity used in this activity. */ - entity?: ProvenanceEntity[]; + entity?: ProvenanceEntity[]|undefined; /** * Where the activity occurred, if relevant. */ - location?: Reference; + location?: Reference|undefined; /** * The period can be a little arbitrary; where possible, the time should correspond to human assessment of the activity time. */ - occurredPeriod?: Period; + occurredPeriod?: Period|undefined; /** * The period can be a little arbitrary; where possible, the time should correspond to human assessment of the activity time. */ - occurredDateTime?: string; - _occurredDateTime?: Element; + occurredDateTime?: string|undefined; + _occurredDateTime?: Element|undefined; /** * For example: Where an OAuth token authorizes, the unique identifier from the OAuth token is placed into the policy element Where a policy engine (e.g. XACML) holds policy logic, the unique policy identifier is placed into the policy element. */ - policy?: string[]; - _policy?: Element[]; + policy?: string[]|undefined; + _policy?: Element[]|undefined; /** * The reason that the activity was taking place. */ - reason?: CodeableConcept[]; + reason?: CodeableConcept[]|undefined; /** * This can be a little different from the time stamp on the resource if there is a delay between recording the event and updating the provenance and target resource. */ recorded: string; - _recorded?: Element; + _recorded?: Element|undefined; /** * A digital signature on the target Reference(s). The signer should match a Provenance.agent. The purpose of the signature is indicated. */ - signature?: Signature[]; + signature?: Signature[]|undefined; /** * Target references are usually version specific, but might not be, if a version has not been assigned or if the provenance information is part of the set of resources being maintained (i.e. a document). When using the RESTful API, the identity of the resource might not be known (especially not the version specific one); the client may either submit the resource first, and then the provenance, or it may submit both using a single transaction. See the notes on transaction for further discussion. */ @@ -26712,58 +26712,58 @@ export interface QuestionnaireItemEnableWhen extends BackboneElement { /** * A value that the referenced question is tested using the specified operator in order for the item to be enabled. If there are multiple answers, a match on any of the answers suffices. If different behavior is desired (all must match, at least 2 must match, etc.), consider using the enableWhenExpression extension. */ - answerBoolean?: boolean; - _answerBoolean?: Element; + answerBoolean?: boolean|undefined; + _answerBoolean?: Element|undefined; /** * A value that the referenced question is tested using the specified operator in order for the item to be enabled. If there are multiple answers, a match on any of the answers suffices. If different behavior is desired (all must match, at least 2 must match, etc.), consider using the enableWhenExpression extension. */ - answerDecimal?: number; + answerDecimal?: number|undefined; /** * A value that the referenced question is tested using the specified operator in order for the item to be enabled. If there are multiple answers, a match on any of the answers suffices. If different behavior is desired (all must match, at least 2 must match, etc.), consider using the enableWhenExpression extension. */ - answerInteger?: number; + answerInteger?: number|undefined; /** * A value that the referenced question is tested using the specified operator in order for the item to be enabled. If there are multiple answers, a match on any of the answers suffices. If different behavior is desired (all must match, at least 2 must match, etc.), consider using the enableWhenExpression extension. */ - answerDate?: string; - _answerDate?: Element; + answerDate?: string|undefined; + _answerDate?: Element|undefined; /** * A value that the referenced question is tested using the specified operator in order for the item to be enabled. If there are multiple answers, a match on any of the answers suffices. If different behavior is desired (all must match, at least 2 must match, etc.), consider using the enableWhenExpression extension. */ - answerDateTime?: string; - _answerDateTime?: Element; + answerDateTime?: string|undefined; + _answerDateTime?: Element|undefined; /** * A value that the referenced question is tested using the specified operator in order for the item to be enabled. If there are multiple answers, a match on any of the answers suffices. If different behavior is desired (all must match, at least 2 must match, etc.), consider using the enableWhenExpression extension. */ - answerTime?: string; - _answerTime?: Element; + answerTime?: string|undefined; + _answerTime?: Element|undefined; /** * A value that the referenced question is tested using the specified operator in order for the item to be enabled. If there are multiple answers, a match on any of the answers suffices. If different behavior is desired (all must match, at least 2 must match, etc.), consider using the enableWhenExpression extension. */ - answerString?: string; - _answerString?: Element; + answerString?: string|undefined; + _answerString?: Element|undefined; /** * A value that the referenced question is tested using the specified operator in order for the item to be enabled. If there are multiple answers, a match on any of the answers suffices. If different behavior is desired (all must match, at least 2 must match, etc.), consider using the enableWhenExpression extension. */ - answerCoding?: Coding; + answerCoding?: Coding|undefined; /** * A value that the referenced question is tested using the specified operator in order for the item to be enabled. If there are multiple answers, a match on any of the answers suffices. If different behavior is desired (all must match, at least 2 must match, etc.), consider using the enableWhenExpression extension. */ - answerQuantity?: Quantity; + answerQuantity?: Quantity|undefined; /** * A value that the referenced question is tested using the specified operator in order for the item to be enabled. If there are multiple answers, a match on any of the answers suffices. If different behavior is desired (all must match, at least 2 must match, etc.), consider using the enableWhenExpression extension. */ - answerReference?: Reference; + answerReference?: Reference|undefined; /** * Specifies the criteria by which the question is enabled. */ operator: QuestionnaireItemEnableWhenOperatorCodes; - _operator?: Element; + _operator?: Element|undefined; /** * If multiple question occurrences are present for the same question (same linkId), then this refers to the nearest question occurrence reachable by tracing first the "ancestor" axis and then the "preceding" axis and then the "following" axis. If there are multiple items with the same linkId and all are equadistant (e.g. a question references a question that appears in a separate repeating group), that is an error. (Consider using the enableWhenExpression extension to define logic to handle such a situation.) */ question: string; - _question?: Element; + _question?: Element|undefined; } /** * Code Values for the Questionnaire.item.enableWhen.operator field @@ -26784,35 +26784,35 @@ export interface QuestionnaireItemAnswerOption extends BackboneElement { /** * Indicates whether the answer value is selected when the list of possible answers is initially shown. */ - initialSelected?: boolean; - _initialSelected?: Element; + initialSelected?: boolean|undefined; + _initialSelected?: Element|undefined; /** * The data type of the value must agree with the item.type. */ - valueInteger?: number; + valueInteger?: number|undefined; /** * The data type of the value must agree with the item.type. */ - valueDate?: string; - _valueDate?: Element; + valueDate?: string|undefined; + _valueDate?: Element|undefined; /** * The data type of the value must agree with the item.type. */ - valueTime?: string; - _valueTime?: Element; + valueTime?: string|undefined; + _valueTime?: Element|undefined; /** * The data type of the value must agree with the item.type. */ - valueString?: string; - _valueString?: Element; + valueString?: string|undefined; + _valueString?: Element|undefined; /** * The data type of the value must agree with the item.type. */ - valueCoding?: Coding; + valueCoding?: Coding|undefined; /** * The data type of the value must agree with the item.type. */ - valueReference?: Reference; + valueReference?: Reference|undefined; } /** * The user is allowed to change the value and override the default (unless marked as read-only). If the user doesn't change the value, then this initial value will be persisted when the QuestionnaireResponse is initially created. Note that initial values can influence results. The data type of initial.answer[x] must agree with the item.type, and only repeating items can have more then one initial value. @@ -26821,57 +26821,57 @@ export interface QuestionnaireItemInitial extends BackboneElement { /** * The type of the initial value must be consistent with the type of the item. */ - valueBoolean?: boolean; - _valueBoolean?: Element; + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; /** * The type of the initial value must be consistent with the type of the item. */ - valueDecimal?: number; + valueDecimal?: number|undefined; /** * The type of the initial value must be consistent with the type of the item. */ - valueInteger?: number; + valueInteger?: number|undefined; /** * The type of the initial value must be consistent with the type of the item. */ - valueDate?: string; - _valueDate?: Element; + valueDate?: string|undefined; + _valueDate?: Element|undefined; /** * The type of the initial value must be consistent with the type of the item. */ - valueDateTime?: string; - _valueDateTime?: Element; + valueDateTime?: string|undefined; + _valueDateTime?: Element|undefined; /** * The type of the initial value must be consistent with the type of the item. */ - valueTime?: string; - _valueTime?: Element; + valueTime?: string|undefined; + _valueTime?: Element|undefined; /** * The type of the initial value must be consistent with the type of the item. */ - valueString?: string; - _valueString?: Element; + valueString?: string|undefined; + _valueString?: Element|undefined; /** * The type of the initial value must be consistent with the type of the item. */ - valueUri?: string; - _valueUri?: Element; + valueUri?: string|undefined; + _valueUri?: Element|undefined; /** * The type of the initial value must be consistent with the type of the item. */ - valueAttachment?: Attachment; + valueAttachment?: Attachment|undefined; /** * The type of the initial value must be consistent with the type of the item. */ - valueCoding?: Coding; + valueCoding?: Coding|undefined; /** * The type of the initial value must be consistent with the type of the item. */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; /** * The type of the initial value must be consistent with the type of the item. */ - valueReference?: Reference; + valueReference?: Reference|undefined; } /** * The content of the questionnaire is constructed from an ordered, hierarchical collection of items. @@ -26880,89 +26880,89 @@ export interface QuestionnaireItem extends BackboneElement { /** * For items that have a defined set of allowed answers (via answerOption or answerValueset), indicates whether values *other* than those specified can be selected. */ - answerConstraint?: QuestionnaireItemAnswerConstraintCodes; - _answerConstraint?: Element; + answerConstraint?: QuestionnaireItemAnswerConstraintCodes|undefined; + _answerConstraint?: Element|undefined; /** * This element can be used when the value set machinery of answerValueSet is deemed too cumbersome or when there's a need to capture possible answers that are not codes. */ - answerOption?: QuestionnaireItemAnswerOption[]; + answerOption?: QuestionnaireItemAnswerOption[]|undefined; /** * LOINC defines many useful value sets for questionnaire responses. See [LOINC Answer Lists](loinc.html#alist). The value may come from the ElementDefinition referred to by .definition. */ - answerValueSet?: string; - _answerValueSet?: Element; + answerValueSet?: string|undefined; + _answerValueSet?: Element|undefined; /** * The value may come from the ElementDefinition referred to by .definition. */ - code?: Coding[]; + code?: Coding[]|undefined; /** * The uri refers to an ElementDefinition in a [StructureDefinition](structuredefinition.html#) and always starts with the [canonical URL](references.html#canonical) for the target resource. When referring to a StructureDefinition, a fragment identifier is used to specify the element definition by its id [Element.id](types-definitions.html#Element.id). E.g. http://hl7.org/fhir/StructureDefinition/Observation#Observation.value[x]. In the absence of a fragment identifier, the first/root element definition in the target is the matching element definition. */ - definition?: string; - _definition?: Element; + definition?: string|undefined; + _definition?: Element|undefined; /** * If not specified, rendering behavior is up to the client. This element is only meaningful if enableWhen or an equivalent extension is present */ - disabledDisplay?: QuestionnaireItemDisabledDisplayCodes; - _disabledDisplay?: Element; + disabledDisplay?: QuestionnaireItemDisabledDisplayCodes|undefined; + _disabledDisplay?: Element|undefined; /** * This element must be specified if more than one enableWhen value is provided. */ - enableBehavior?: QuestionnaireItemEnableBehaviorCodes; - _enableBehavior?: Element; + enableBehavior?: QuestionnaireItemEnableBehaviorCodes|undefined; + _enableBehavior?: Element|undefined; /** * If multiple repetitions of this extension are present, the interpretation is driven by enableBehavior (either all repetitions must evaluate to true for this item to be enabled, or only one must evaluate to true for the item to be enabled). If the enableWhen.question has multiple answers, the condition evaluates to true if *any* of the answers for the referenced item match the enableWhen condition. This element is a modifier because if enableWhen is present for an item, "required" is ignored unless one of the enableWhen conditions is met. When an item is disabled, all of its descendants are disabled, regardless of what their own enableWhen logic might evaluate to. If enableWhen logic depends on an item that is disabled, the logic should proceed as though the item is not valued - even if a default value or other value might be retained in memory in the event of the item being re-enabled. */ - enableWhen?: QuestionnaireItemEnableWhen[]; + enableWhen?: QuestionnaireItemEnableWhen[]|undefined; /** * The user is allowed to change the value and override the default (unless marked as read-only). If the user doesn't change the value, then this initial value will be persisted when the QuestionnaireResponse is initially created. Note that initial values can influence results. The data type of initial.answer[x] must agree with the item.type, and only repeating items can have more then one initial value. */ - initial?: QuestionnaireItemInitial[]; + initial?: QuestionnaireItemInitial[]|undefined; /** * There is no specified limit to the depth of nesting. However, Questionnaire authors are encouraged to consider the impact on the user and user interface of overly deep nesting. */ - item?: QuestionnaireItem[]; + item?: QuestionnaireItem[]|undefined; /** * This ''can'' be a meaningful identifier (e.g. a LOINC code) but is not intended to have any meaning. GUIDs or sequential numbers are appropriate here. */ linkId: string; - _linkId?: Element; + _linkId?: Element|undefined; /** * For base64binary, reflects the number of characters representing the encoded data, not the number of bytes of the binary data. The value may come from the ElementDefinition referred to by .definition. */ - maxLength?: number; + maxLength?: number|undefined; /** * These are generally unique within a questionnaire, though this is not guaranteed. Some questionnaires may have multiple questions with the same label with logic to control which gets exposed. Typically, these won't be used for "display" items, though such use is not prohibited. Systems SHOULD NOT generate their own prefixes if prefixes are defined for any items within a Questionnaire. */ - prefix?: string; - _prefix?: Element; + prefix?: string|undefined; + _prefix?: Element|undefined; /** * If specified on a 'group', then all items beneath the specified group are read only. For questions, this only marks the answer associated with the specific item read only. Descendant questions are not impacted. The value of readOnly elements can be established by asserting extensions for defaultValues, linkages that support pre-population and/or extensions that support calculation based on other answers. */ - readOnly?: boolean; - _readOnly?: Element; + readOnly?: boolean|undefined; + _readOnly?: Element|undefined; /** * If a question is marked as repeats=true, then multiple answers can be provided for the question in the corresponding QuestionnaireResponse. When rendering the questionnaire, it is up to the rendering software whether to render the question text for each answer repetition (i.e. "repeat the question") or to simply allow entry/selection of multiple answers for the question (repeat the answers). Which is most appropriate visually may depend on the type of answer as well as whether there are nested items. * The resulting QuestionnaireResponse will be populated the same way regardless of rendering - one 'question' item with multiple answer values. * The value may come from the ElementDefinition referred to by .definition. */ - repeats?: boolean; - _repeats?: Element; + repeats?: boolean|undefined; + _repeats?: Element|undefined; /** * Questionnaire.item.required only has meaning for elements that are conditionally enabled with enableWhen if the condition evaluates to true. It also only has meaning if the parent element is present. If a non-required 'group' item contains a 'required' question item, it's completely fine to omit the group (because it's not required) despite it having a required child. Similarly, if an item that contains other items is marked as required, that does not automatically make the contained elements required (though required groups must contain at least one descendant item with a populated answer). The value for 'required' may come from the ElementDefinition referred to by .definition. */ - required?: boolean; - _required?: Element; + required?: boolean|undefined; + _required?: Element|undefined; /** * When using this element to represent the name of a section, use group type item and also make sure to limit the text element to a short string suitable for display as a section heading. Group item instructions should be included as a display type item within the group. */ - text?: string; - _text?: Element; + text?: string|undefined; + _text?: Element|undefined; /** * Additional constraints on the type of answer can be conveyed by extensions. The value may come from the ElementDefinition referred to by .definition. */ type: QuestionnaireItemTypeCodes; - _type?: Element; + _type?: Element|undefined; } /** * Code Values for the Questionnaire.item.answerConstraint field @@ -27016,106 +27016,106 @@ export interface Questionnaire extends DomainResource { /** * The 'date' element may be more recent than the approval date because of minor changes or editorial corrections. */ - approvalDate?: string; - _approvalDate?: Element; + approvalDate?: string|undefined; + _approvalDate?: Element|undefined; /** * An identifier for this question or group of questions in a particular terminology such as LOINC. */ - code?: Coding[]; + code?: Coding[]|undefined; /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * A copyright statement relating to the questionnaire and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the questionnaire. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the questionnaire. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * The URL of a Questionnaire that this Questionnaire is based on. */ - derivedFrom?: string[]; - _derivedFrom?: Element[]; + derivedFrom?: string[]|undefined; + _derivedFrom?: Element[]|undefined; /** * This description can be used to capture details such as why the questionnaire was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the questionnaire as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the questionnaire is presumed to be the predominant language in the place the questionnaire was created). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * The effective period for a questionnaire determines when the content is applicable for usage and is independent of publication and review dates. For example, a measure intended to be used for the year 2016 might be published in 2015. */ - effectivePeriod?: Period; + effectivePeriod?: Period|undefined; /** * Allows filtering of questionnaires that are appropriate for use versus not. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this questionnaire outside of FHIR, where it is not possible to use the logical URI. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The content of the questionnaire is constructed from an ordered, hierarchical collection of items. */ - item?: QuestionnaireItem[]; + item?: QuestionnaireItem[]|undefined; /** * It may be possible for the questionnaire to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * If specified, this date follows the original approval date. */ - lastReviewDate?: string; - _lastReviewDate?: Element; + lastReviewDate?: string|undefined; + _lastReviewDate?: Element|undefined; /** * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Usually an organization but may be an individual. The publisher (or steward) of the questionnaire is the organization or individual primarily responsible for the maintenance and upkeep of the questionnaire. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the questionnaire. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * This element does not describe the usage of the questionnaire. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this questionnaire. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * Allows filtering of questionnaires that are appropriate for use versus not. */ status: QuestionnaireStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * If none are specified, then the subject is unlimited. */ - subjectType?: string[]; - _subjectType?: Element[]; + subjectType?: string[]|undefined; + _subjectType?: Element[]|undefined; /** * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * The name of the referenced questionnaire can be conveyed using the http://hl7.org/fhir/StructureDefinition/display extension. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different questionnaire instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the questionnaire with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the Questionnaire.status field @@ -27133,61 +27133,61 @@ export interface QuestionnaireResponseItemAnswer extends BackboneElement { /** * Only used when nesting beneath a question - see item.item for nesting beneath groups */ - item?: QuestionnaireResponseItem[]; + item?: QuestionnaireResponseItem[]|undefined; /** * More complex structures (Attachment, Resource and Quantity) will typically be limited to electronic forms that can expose an appropriate user interface to capture the components and enforce the constraints of a complex data type. Additional complex types can be introduced through extensions. Must match the datatype specified by Questionnaire.item.type in the corresponding Questionnaire. */ - valueBoolean?: boolean; - _valueBoolean?: Element; + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; /** * More complex structures (Attachment, Resource and Quantity) will typically be limited to electronic forms that can expose an appropriate user interface to capture the components and enforce the constraints of a complex data type. Additional complex types can be introduced through extensions. Must match the datatype specified by Questionnaire.item.type in the corresponding Questionnaire. */ - valueDecimal?: number; + valueDecimal?: number|undefined; /** * More complex structures (Attachment, Resource and Quantity) will typically be limited to electronic forms that can expose an appropriate user interface to capture the components and enforce the constraints of a complex data type. Additional complex types can be introduced through extensions. Must match the datatype specified by Questionnaire.item.type in the corresponding Questionnaire. */ - valueInteger?: number; + valueInteger?: number|undefined; /** * More complex structures (Attachment, Resource and Quantity) will typically be limited to electronic forms that can expose an appropriate user interface to capture the components and enforce the constraints of a complex data type. Additional complex types can be introduced through extensions. Must match the datatype specified by Questionnaire.item.type in the corresponding Questionnaire. */ - valueDate?: string; - _valueDate?: Element; + valueDate?: string|undefined; + _valueDate?: Element|undefined; /** * More complex structures (Attachment, Resource and Quantity) will typically be limited to electronic forms that can expose an appropriate user interface to capture the components and enforce the constraints of a complex data type. Additional complex types can be introduced through extensions. Must match the datatype specified by Questionnaire.item.type in the corresponding Questionnaire. */ - valueDateTime?: string; - _valueDateTime?: Element; + valueDateTime?: string|undefined; + _valueDateTime?: Element|undefined; /** * More complex structures (Attachment, Resource and Quantity) will typically be limited to electronic forms that can expose an appropriate user interface to capture the components and enforce the constraints of a complex data type. Additional complex types can be introduced through extensions. Must match the datatype specified by Questionnaire.item.type in the corresponding Questionnaire. */ - valueTime?: string; - _valueTime?: Element; + valueTime?: string|undefined; + _valueTime?: Element|undefined; /** * More complex structures (Attachment, Resource and Quantity) will typically be limited to electronic forms that can expose an appropriate user interface to capture the components and enforce the constraints of a complex data type. Additional complex types can be introduced through extensions. Must match the datatype specified by Questionnaire.item.type in the corresponding Questionnaire. */ - valueString?: string; - _valueString?: Element; + valueString?: string|undefined; + _valueString?: Element|undefined; /** * More complex structures (Attachment, Resource and Quantity) will typically be limited to electronic forms that can expose an appropriate user interface to capture the components and enforce the constraints of a complex data type. Additional complex types can be introduced through extensions. Must match the datatype specified by Questionnaire.item.type in the corresponding Questionnaire. */ - valueUri?: string; - _valueUri?: Element; + valueUri?: string|undefined; + _valueUri?: Element|undefined; /** * More complex structures (Attachment, Resource and Quantity) will typically be limited to electronic forms that can expose an appropriate user interface to capture the components and enforce the constraints of a complex data type. Additional complex types can be introduced through extensions. Must match the datatype specified by Questionnaire.item.type in the corresponding Questionnaire. */ - valueAttachment?: Attachment; + valueAttachment?: Attachment|undefined; /** * More complex structures (Attachment, Resource and Quantity) will typically be limited to electronic forms that can expose an appropriate user interface to capture the components and enforce the constraints of a complex data type. Additional complex types can be introduced through extensions. Must match the datatype specified by Questionnaire.item.type in the corresponding Questionnaire. */ - valueCoding?: Coding; + valueCoding?: Coding|undefined; /** * More complex structures (Attachment, Resource and Quantity) will typically be limited to electronic forms that can expose an appropriate user interface to capture the components and enforce the constraints of a complex data type. Additional complex types can be introduced through extensions. Must match the datatype specified by Questionnaire.item.type in the corresponding Questionnaire. */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; /** * More complex structures (Attachment, Resource and Quantity) will typically be limited to electronic forms that can expose an appropriate user interface to capture the components and enforce the constraints of a complex data type. Additional complex types can be introduced through extensions. Must match the datatype specified by Questionnaire.item.type in the corresponding Questionnaire. */ - valueReference?: Reference; + valueReference?: Reference|undefined; } /** * Groups cannot have answers and therefore must nest directly within item. When dealing with questions, nesting must occur within each answer because some questions may have multiple answers (and the nesting occurs for each answer).\nWhen dealing with repeating items, each group repetition will be handled by a separate item. However, repeating questions are handled with a single question item and potentially multiple answers. @@ -27196,27 +27196,27 @@ export interface QuestionnaireResponseItem extends BackboneElement { /** * The value is nested because we cannot have a repeating structure that has variable type. */ - answer?: QuestionnaireResponseItemAnswer[]; + answer?: QuestionnaireResponseItemAnswer[]|undefined; /** * The ElementDefinition must be in a [StructureDefinition](structuredefinition.html#), and must have a fragment identifier that identifies the specific data element by its id (Element.id). E.g. http://hl7.org/fhir/StructureDefinition/Observation#Observation.value[x]. * There is no need for this element if the item pointed to by the linkId has a definition listed. */ - definition?: string; - _definition?: Element; + definition?: string|undefined; + _definition?: Element|undefined; /** * Only used when nesting beneath a group - see item.answer.item for nesting beneath questions */ - item?: QuestionnaireResponseItem[]; + item?: QuestionnaireResponseItem[]|undefined; /** * The item from the Questionnaire that corresponds to this item in the QuestionnaireResponse resource. */ linkId: string; - _linkId?: Element; + _linkId?: Element|undefined; /** * The text for an item SHOULD be identical to the text from the corresponding Questionnaire.item. This can't be strictly enforced because it's possible for the Questionnaire to be updated subsequent to the QuestionnaireResponse having been created, however the intention is that the text in the QuestionnaireResponse reflects what the user saw when completing the Questionnaire. */ - text?: string; - _text?: Element; + text?: string|undefined; + _text?: Element|undefined; } /** * A structured set of questions and their answers. The questions are ordered and grouped into coherent subsets, corresponding to the structure of the grouping of the questionnaire being responded to. @@ -27227,51 +27227,51 @@ export interface QuestionnaireResponse extends DomainResource { /** * Mapping a subject's answers to multiple choice options and determining what to put in the textual answer is a matter of interpretation. Authoring by device would indicate that some portion of the questionnaire had been auto-populated. */ - author?: Reference; + author?: Reference|undefined; /** * May be different from the lastUpdateTime of the resource itself, because that reflects when the data was known to the server, not when the data was captured. * This element is optional to allow for systems that might not know the value, however it SHOULD be populated if possible. */ - authored?: string; - _authored?: Element; + authored?: string|undefined; + _authored?: Element|undefined; /** * The order, proposal or plan that is fulfilled in whole or in part by this QuestionnaireResponse. For example, a ServiceRequest seeking an intake assessment or a decision support recommendation to assess for post-partum depression. */ - basedOn?: Reference[]; + basedOn?: Reference[]|undefined; /** * This will typically be the encounter the event occurred within, but some activities may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter. A questionnaire that was initiated during an encounter but not fully completed during the encounter would still generally be associated with the encounter. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * A business identifier assigned to a particular completed (or partially completed) questionnaire. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * Groups cannot have answers and therefore must nest directly within item. When dealing with questions, nesting must occur within each answer because some questions may have multiple answers (and the nesting occurs for each answer).\nWhen dealing with repeating items, each group repetition will be handled by a separate item. However, repeating questions are handled with a single question item and potentially multiple answers. */ - item?: QuestionnaireResponseItem[]; + item?: QuestionnaireResponseItem[]|undefined; /** * Composition of questionnaire responses will be handled by the parent questionnaire having answers that reference the child questionnaire. For relationships to referrals, and other types of requests, use basedOn. */ - partOf?: Reference[]; + partOf?: Reference[]|undefined; /** * If a QuestionnaireResponse references a Questionnaire, then the QuestionnaireResponse structure must be consistent with the Questionnaire (i.e. questions must be organized into the same groups, nested questions must still be nested, etc.). */ - questionnaire?: string; - _questionnaire?: Element; + questionnaire?: string|undefined; + _questionnaire?: Element|undefined; /** * If not specified, no inference can be made about who provided the data. */ - source?: Reference; + source?: Reference|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: QuestionnaireResponseStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * If the Questionnaire declared a subjectType, the resource pointed to by this element must be an instance of one of the listed types. */ - subject?: Reference; + subject?: Reference|undefined; } /** * Code Values for the QuestionnaireResponse.status field @@ -27290,12 +27290,12 @@ export interface RegulatedAuthorizationRelatedDate extends BackboneElement { /** * Another date associated with the authorization. */ - datePeriod?: Period; + datePeriod?: Period|undefined; /** * Another date associated with the authorization. */ - dateDateTime?: string; - _dateDateTime?: Element; + dateDateTime?: string|undefined; + _dateDateTime?: Element|undefined; /** * The meaning of the related date for a regulated product, treatment, facility or activity. As an example, the data exclusivity period for a regulated product. */ @@ -27308,28 +27308,28 @@ export interface RegulatedAuthorizationCase extends BackboneElement { /** * Applications submitted to obtain a marketing authorization. Steps within the longer running case or procedure. */ - application?: RegulatedAuthorizationCase[]; + application?: RegulatedAuthorizationCase[]|undefined; /** * Relevant date for this of case. */ - datePeriod?: Period; + datePeriod?: Period|undefined; /** * Relevant date for this of case. */ - dateDateTime?: string; - _dateDateTime?: Element; + dateDateTime?: string|undefined; + _dateDateTime?: Element|undefined; /** * Identifier by which this case can be referenced. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * The status associated with the case. */ - status?: CodeableConcept; + status?: CodeableConcept|undefined; /** * The defining type of case. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Regulatory approval, clearance or licencing related to a regulated product, treatment, facility or activity that is cited in a guidance, regulation, rule or legislative act. An example is Market Authorization relating to a Medicinal Product. @@ -27340,73 +27340,73 @@ export interface RegulatedAuthorization extends DomainResource { /** * Additional information or supporting documentation about the authorization. */ - attachedDocument?: Reference[]; + attachedDocument?: Reference[]|undefined; /** * The legal or regulatory framework against which this authorization is granted, or other reasons for it. */ - basis?: CodeableConcept[]; + basis?: CodeableConcept[]|undefined; /** * The case or regulatory procedure for granting or amending a marketing authorization. Note: This area is subject to ongoing review and the workgroup is seeking implementer feedback on its use (see link at bottom of page). */ - case?: RegulatedAuthorizationCase; + case?: RegulatedAuthorizationCase|undefined; /** * General textual supporting information. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * The organization that holds the granted authorization. */ - holder?: Reference; + holder?: Reference|undefined; /** * Business identifier for the authorization, typically this is assigned by the authorizing body. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Condition for which the use of the regulated product applies. */ - indication?: CodeableReference; + indication?: CodeableReference|undefined; /** * The intended use of the product, e.g. prevention, treatment. */ - intendedUse?: CodeableConcept; + intendedUse?: CodeableConcept|undefined; /** * Authorization in areas within a country. */ - jurisdictionalAuthorization?: Reference[]; + jurisdictionalAuthorization?: Reference[]|undefined; /** * The territory (e.g., country, jurisdiction etc.) in which the authorization has been granted. */ - region?: CodeableConcept[]; + region?: CodeableConcept[]|undefined; /** * The regulatory authority or authorizing body granting the authorization. For example, European Medicines Agency (EMA), Food and Drug Administration (FDA), Health Canada (HC), etc. */ - regulator?: Reference; + regulator?: Reference|undefined; /** * Other dates associated with the authorization. It is common for an authorization to have renewal dates, initial time limited phases and so on. */ - relatedDate?: RegulatedAuthorizationRelatedDate[]; + relatedDate?: RegulatedAuthorizationRelatedDate[]|undefined; /** * The status that is authorised e.g. approved. Intermediate states can be tracked with cases and applications. */ - status?: CodeableConcept; + status?: CodeableConcept|undefined; /** * The date at which the current status was assigned. */ - statusDate?: string; - _statusDate?: Element; + statusDate?: string|undefined; + _statusDate?: Element|undefined; /** * The type of regulated product, treatment, facility or activity that is being authorized. */ - subject?: Reference; + subject?: Reference|undefined; /** * Overall type of this authorization, for example drug marketing approval, orphan drug designation. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; /** * The time period in which the regulatory approval, clearance or licencing is in effect. As an example, a Marketing Authorization includes the date of authorization and/or an expiration date. */ - validityPeriod?: Period; + validityPeriod?: Period|undefined; } /** * If no language is specified, this *implies* that the default local language is spoken. If you need to convey proficiency for multiple modes, then you need multiple RelatedPerson.Communication associations. If the RelatedPerson does not speak the default local language, then the Interpreter Required Standard can be used to explicitly declare that an interpreter is required. @@ -27419,8 +27419,8 @@ export interface RelatedPersonCommunication extends BackboneElement { /** * This language is specifically identified for communicating healthcare information. */ - preferred?: boolean; - _preferred?: Element; + preferred?: boolean|undefined; + _preferred?: Element|undefined; } /** * Information about a person that is involved in the care for a patient, but who is not the target of healthcare, nor has a formal responsibility in the care process. @@ -27431,34 +27431,34 @@ export interface RelatedPerson extends DomainResource { /** * This element is labeled as a modifier because it may be used to mark that the resource was created in error. */ - active?: boolean; - _active?: Element; + active?: boolean|undefined; + _active?: Element|undefined; /** * Address where the related person can be contacted or visited. */ - address?: Address[]; + address?: Address[]|undefined; /** * The date on which the related person was born. */ - birthDate?: string; - _birthDate?: Element; + birthDate?: string|undefined; + _birthDate?: Element|undefined; /** * If no language is specified, this *implies* that the default local language is spoken. If you need to convey proficiency for multiple modes, then you need multiple RelatedPerson.Communication associations. If the RelatedPerson does not speak the default local language, then the Interpreter Required Standard can be used to explicitly declare that an interpreter is required. */ - communication?: RelatedPersonCommunication[]; + communication?: RelatedPersonCommunication[]|undefined; /** * Administrative Gender - the gender that the person is considered to have for administration and record keeping purposes. */ - gender?: RelatedPersonGenderCodes; - _gender?: Element; + gender?: RelatedPersonGenderCodes|undefined; + _gender?: Element|undefined; /** * Identifier for a person within a particular scope. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * A name associated with the person. */ - name?: HumanName[]; + name?: HumanName[]|undefined; /** * The patient this person is related to. */ @@ -27466,19 +27466,19 @@ export interface RelatedPerson extends DomainResource { /** * The period of time during which this relationship is or was active. If there are no dates defined, then the interval is unknown. */ - period?: Period; + period?: Period|undefined; /** * Image of the person. */ - photo?: Attachment[]; + photo?: Attachment[]|undefined; /** * The nature of the relationship between a patient and the related person. */ - relationship?: CodeableConcept[]; + relationship?: CodeableConcept[]|undefined; /** * Person may have multiple ways to be contacted with different uses or applicable periods. May need to have options for contacting the person urgently, and also to help with identification. */ - telecom?: ContactPoint[]; + telecom?: ContactPoint[]|undefined; } /** * Code Values for the RelatedPerson.gender field @@ -27496,12 +27496,12 @@ export interface RequestGroupActionCondition extends BackboneElement { /** * The expression may be inlined, or may be a reference to a named expression within a logic library referenced by the library element. */ - expression?: Expression; + expression?: Expression|undefined; /** * Applicability criteria are used to determine immediate applicability when a plan definition is applied to a given context. Start and stop criteria are carried through application and used to describe enter/exit criteria for an action. */ kind: RequestGroupActionConditionKindCodes; - _kind?: Element; + _kind?: Element|undefined; } /** * Code Values for the RequestGroup.action.condition.kind field @@ -27518,21 +27518,21 @@ export interface RequestGroupActionRelatedAction extends BackboneElement { /** * A duration or range of durations to apply to the relationship. For example, 30-60 minutes before. */ - offsetDuration?: Duration; + offsetDuration?: Duration|undefined; /** * A duration or range of durations to apply to the relationship. For example, 30-60 minutes before. */ - offsetRange?: Range; + offsetRange?: Range|undefined; /** * The relationship of this action to the related action. */ relationship: RequestGroupActionRelatedActionRelationshipCodes; - _relationship?: Element; + _relationship?: Element|undefined; /** * The element id of the target related action. */ targetId: string; - _targetId?: Element; + _targetId?: Element|undefined; } /** * Code Values for the RequestGroup.action.relatedAction.relationship field @@ -27555,24 +27555,24 @@ export interface RequestGroupActionParticipant extends BackboneElement { /** * A reference to the actual participant. */ - actor?: Reference; + actor?: Reference|undefined; /** * Indicates how the actor will be involved in the action - author, reviewer, witness, etc. */ - function?: CodeableConcept; + function?: CodeableConcept|undefined; /** * The role the participant should play in performing the described action. */ - role?: CodeableConcept; + role?: CodeableConcept|undefined; /** * The type of participant in the action. */ - type?: RequestGroupActionParticipantTypeCodes; - _type?: Element; + type?: RequestGroupActionParticipantTypeCodes|undefined; + _type?: Element|undefined; /** * When this element is a reference, it SHOULD be a reference to a definitional resource (for example, a location type, rather than a specific location). */ - typeReference?: Reference; + typeReference?: Reference|undefined; } /** * Code Values for the RequestGroup.action.participant.type field @@ -27596,114 +27596,114 @@ export interface RequestGroupAction extends BackboneElement { /** * Sub actions. */ - action?: RequestGroupAction[]; + action?: RequestGroupAction[]|undefined; /** * Defines whether the action can be selected multiple times. */ - cardinalityBehavior?: RequestGroupActionCardinalityBehaviorCodes; - _cardinalityBehavior?: Element; + cardinalityBehavior?: RequestGroupActionCardinalityBehaviorCodes|undefined; + _cardinalityBehavior?: Element|undefined; /** * A code that provides meaning for the action or action group. For example, a section may have a LOINC code for a section of a documentation template. */ - code?: CodeableConcept[]; + code?: CodeableConcept[]|undefined; /** * When multiple conditions of the same kind are present, the effects are combined using AND semantics, so the overall condition is true only if all of the conditions are true. */ - condition?: RequestGroupActionCondition[]; + condition?: RequestGroupActionCondition[]|undefined; /** * A short description of the action used to provide a summary to display to the user. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Didactic or other informational resources associated with the action that can be provided to the CDS recipient. Information resources can include inline text commentary and links to web resources. */ - documentation?: RelatedArtifact[]; + documentation?: RelatedArtifact[]|undefined; /** * Defines the grouping behavior for the action and its children. */ - groupingBehavior?: RequestGroupActionGroupingBehaviorCodes; - _groupingBehavior?: Element; + groupingBehavior?: RequestGroupActionGroupingBehaviorCodes|undefined; + _groupingBehavior?: Element|undefined; /** * May reference a specific clinical location or may just identify a type of location. */ - location?: CodeableReference; + location?: CodeableReference|undefined; /** * Because request groups represent potential options for performing activities, some specific participants may still be unknown, so this element allows for both definitional participants (in the same way they are specified in ActivityDefinition and PlanDefinition resources) as well as identifying specific participants when they are known. */ - participant?: RequestGroupActionParticipant[]; + participant?: RequestGroupActionParticipant[]|undefined; /** * Defines whether the action should usually be preselected. */ - precheckBehavior?: RequestGroupActionPrecheckBehaviorCodes; - _precheckBehavior?: Element; + precheckBehavior?: RequestGroupActionPrecheckBehaviorCodes|undefined; + _precheckBehavior?: Element|undefined; /** * A user-visible prefix for the action. */ - prefix?: string; - _prefix?: Element; + prefix?: string|undefined; + _prefix?: Element|undefined; /** * Indicates how quickly the action should be addressed with respect to other actions. */ - priority?: RequestGroupActionPriorityCodes; - _priority?: Element; + priority?: RequestGroupActionPriorityCodes|undefined; + _priority?: Element|undefined; /** * A relationship to another action such as "before" or "30-60 minutes after start of". */ - relatedAction?: RequestGroupActionRelatedAction[]; + relatedAction?: RequestGroupActionRelatedAction[]|undefined; /** * Defines expectations around whether an action is required. */ - requiredBehavior?: RequestGroupActionRequiredBehaviorCodes; - _requiredBehavior?: Element; + requiredBehavior?: RequestGroupActionRequiredBehaviorCodes|undefined; + _requiredBehavior?: Element|undefined; /** * The target resource SHALL be a [Request](request.html) resource with a Request.intent set to "option". */ - resource?: Reference; + resource?: Reference|undefined; /** * Defines the selection behavior for the action and its children. */ - selectionBehavior?: RequestGroupActionSelectionBehaviorCodes; - _selectionBehavior?: Element; + selectionBehavior?: RequestGroupActionSelectionBehaviorCodes|undefined; + _selectionBehavior?: Element|undefined; /** * A text equivalent of the action to be performed. This provides a human-interpretable description of the action when the definition is consumed by a system that might not be capable of interpreting it dynamically. */ - textEquivalent?: string; - _textEquivalent?: Element; + textEquivalent?: string|undefined; + _textEquivalent?: Element|undefined; /** * The intent of the timing element is to provide timing for when the action should be performed. The timing may be absolute (specified as a dateTime or Period) or relative (specified as an Age, Duration, or Range), or it may be a more complex, potentially repeating timing specified using Timing. */ - timingDateTime?: string; - _timingDateTime?: Element; + timingDateTime?: string|undefined; + _timingDateTime?: Element|undefined; /** * The intent of the timing element is to provide timing for when the action should be performed. The timing may be absolute (specified as a dateTime or Period) or relative (specified as an Age, Duration, or Range), or it may be a more complex, potentially repeating timing specified using Timing. */ - timingAge?: Age; + timingAge?: Age|undefined; /** * The intent of the timing element is to provide timing for when the action should be performed. The timing may be absolute (specified as a dateTime or Period) or relative (specified as an Age, Duration, or Range), or it may be a more complex, potentially repeating timing specified using Timing. */ - timingPeriod?: Period; + timingPeriod?: Period|undefined; /** * The intent of the timing element is to provide timing for when the action should be performed. The timing may be absolute (specified as a dateTime or Period) or relative (specified as an Age, Duration, or Range), or it may be a more complex, potentially repeating timing specified using Timing. */ - timingDuration?: Duration; + timingDuration?: Duration|undefined; /** * The intent of the timing element is to provide timing for when the action should be performed. The timing may be absolute (specified as a dateTime or Period) or relative (specified as an Age, Duration, or Range), or it may be a more complex, potentially repeating timing specified using Timing. */ - timingRange?: Range; + timingRange?: Range|undefined; /** * The intent of the timing element is to provide timing for when the action should be performed. The timing may be absolute (specified as a dateTime or Period) or relative (specified as an Age, Duration, or Range), or it may be a more complex, potentially repeating timing specified using Timing. */ - timingTiming?: Timing; + timingTiming?: Timing|undefined; /** * The title of the action displayed to a user. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * The type of action to perform (create, update, remove). */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Code Values for the RequestGroup.action.cardinalityBehavior field @@ -27764,77 +27764,77 @@ export interface RequestGroup extends DomainResource { /** * The actions, if any, produced by the evaluation of the artifact. */ - action?: RequestGroupAction[]; + action?: RequestGroupAction[]|undefined; /** * Provides a reference to the author of the request group. */ - author?: Reference; + author?: Reference|undefined; /** * Indicates when the request group was created. */ - authoredOn?: string; - _authoredOn?: Element; + authoredOn?: string|undefined; + _authoredOn?: Element|undefined; /** * A plan, proposal or order that is fulfilled in whole or in part by this request. */ - basedOn?: Reference[]; + basedOn?: Reference[]|undefined; /** * This element can be used to provide a code that captures the meaning of the request group as a whole, as opposed to the code of the action element, which captures the meaning of the individual actions within the request group. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * Describes the context of the request group, if any. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * Requests are linked either by a "basedOn" relationship (i.e. one request is fulfilling another) or by having a common requisition. Requests that are part of the same requisition are generally treated independently from the perspective of changing their state or maintaining them after initial creation. */ - groupIdentifier?: Identifier; + groupIdentifier?: Identifier|undefined; /** * Allows a service to provide a unique, business identifier for the request. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * A canonical URL referencing a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this request. */ - instantiatesCanonical?: string[]; - _instantiatesCanonical?: Element[]; + instantiatesCanonical?: string[]|undefined; + _instantiatesCanonical?: Element[]|undefined; /** * A URL referencing an externally defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this request. */ - instantiatesUri?: string[]; - _instantiatesUri?: Element[]; + instantiatesUri?: string[]|undefined; + _instantiatesUri?: Element[]|undefined; /** * Indicates the level of authority/intentionality associated with the request and where the request fits into the workflow chain. */ intent: RequestGroupIntentCodes; - _intent?: Element; + _intent?: Element|undefined; /** * Provides a mechanism to communicate additional information about the response. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * Indicates how quickly the request should be addressed with respect to other requests. */ - priority?: RequestGroupPriorityCodes; - _priority?: Element; + priority?: RequestGroupPriorityCodes|undefined; + _priority?: Element|undefined; /** * Describes the reason for the request group in coded or textual form. */ - reason?: CodeableReference[]; + reason?: CodeableReference[]|undefined; /** * The replacement could be because the initial request was immediately rejected (due to an issue) or because the previous request was completed, but the need for the action described by the request remains ongoing. */ - replaces?: Reference[]; + replaces?: Reference[]|undefined; /** * The current state of the request. For request groups, the status reflects the status of all the requests in the group. */ status: RequestGroupStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * The subject for which the request group was created. */ - subject?: Reference; + subject?: Reference|undefined; } /** * Code Values for the RequestGroup.intent field @@ -27878,12 +27878,12 @@ export interface ResearchStudyLabel extends BackboneElement { /** * Kind of name. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; /** * The name. */ - value?: string; - _value?: Element; + value?: string|undefined; + _value?: Element|undefined; } /** * The medication(s), food(s), therapy(ies), device(s) or other concerns or interventions that the study is seeking to gain more information about. @@ -27892,16 +27892,16 @@ export interface ResearchStudyFocus extends BackboneElement { /** * A factor corresponds to an independent variable manipulated by the experimentalist with the intention to affect biological systems in a way that can be measured by an assay. */ - factor?: string; - _factor?: Element; + factor?: string|undefined; + _factor?: Element|undefined; /** * Indicates whether the focus is a medication, a device, a procedure, a specific factor or some other intervention or characteristic. */ - focusType?: CodeableConcept[]; + focusType?: CodeableConcept[]|undefined; /** * Identification of product under study. This may be any combination of code and/or name. */ - productCode?: CodeableConcept; + productCode?: CodeableConcept|undefined; } /** * Classification for the study. @@ -27910,11 +27910,11 @@ export interface ResearchStudyClassification extends BackboneElement { /** * Value of classifier. */ - classifier?: CodeableConcept[]; + classifier?: CodeableConcept[]|undefined; /** * Type of classifier. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * For a Sponsor or a PrincipalInvestigator use the dedicated attributes provided. @@ -27923,16 +27923,16 @@ export interface ResearchStudyAssociatedParty extends BackboneElement { /** * Organisational type of association. */ - classifier?: CodeableConcept[]; + classifier?: CodeableConcept[]|undefined; /** * Name of associated party. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Suggestions of a better attribute name are appreciated */ - party?: Reference; + party?: Reference|undefined; /** * Type of association. */ @@ -27949,8 +27949,8 @@ export interface ResearchStudyStatusDate extends BackboneElement { /** * Actual if true else anticipated. */ - actual?: boolean; - _actual?: Element; + actual?: boolean|undefined; + _actual?: Element|undefined; /** * Date range. */ @@ -27963,19 +27963,19 @@ export interface ResearchStudyRecruitment extends BackboneElement { /** * Group of participants who were enrolled in study. */ - actualGroup?: Reference; + actualGroup?: Reference|undefined; /** * Actual total number of participants enrolled in study. */ - actualNumber?: number; + actualNumber?: number|undefined; /** * Inclusion and exclusion criteria. */ - eligibility?: Reference; + eligibility?: Reference|undefined; /** * Estimated total number of participants to be enrolled. */ - targetNumber?: number; + targetNumber?: number|undefined; } /** * In many clinical trials this is refered to as the ARM of the study, but such a term is not used in other sorts of trials even when there is a comparison between two or more groups. @@ -27984,34 +27984,34 @@ export interface ResearchStudyComparisonGroup extends BackboneElement { /** * A succinct description of the path through the study that would be followed by a subject adhering to this comparisonGroup. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Allows the comparisonGroup for the study and the comparisonGroup for the subject to be linked easily. */ - identifierUri?: string; - _identifierUri?: Element; + identifierUri?: string|undefined; + _identifierUri?: Element|undefined; /** * Allows the comparisonGroup for the study and the comparisonGroup for the subject to be linked easily. */ - identifierIdentifier?: Identifier; + identifierIdentifier?: Identifier|undefined; /** * Interventions or exposures in this comparisonGroup or cohort. */ - intendedExposure?: Reference[]; + intendedExposure?: Reference[]|undefined; /** * Unique, human-readable label for this comparisonGroup of the study. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * Group of participants who were enrolled in study comparisonGroup. */ - observedGroup?: Reference; + observedGroup?: Reference|undefined; /** * Categorization of study comparisonGroup, e.g. experimental, active comparator, placebo comparater. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * A goal that the study is aiming to achieve in terms of a scientific question to be answered by the analysis of data collected during the study. @@ -28020,17 +28020,17 @@ export interface ResearchStudyObjective extends BackboneElement { /** * Free text description of the objective of the study. This is what the study is trying to achieve rather than how it is going to achieve it (see ResearchStudy.description). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Unique, human-readable label for this objective of the study. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * The kind of study objective. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * An outcome or planned variable to measure during the study. @@ -28039,21 +28039,21 @@ export interface ResearchStudyOutcomeMeasure extends BackboneElement { /** * Description of the outcome. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Label for the outcome. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Structured outcome definition. */ - reference?: Reference; + reference?: Reference|undefined; /** * The parameter or characteristic being assessed as one of the values by which the study is assessed. */ - type?: CodeableConcept[]; + type?: CodeableConcept[]|undefined; } /** * A general storage or archive location for the study. This may contain an assortment of content which is not specified in advance. @@ -28062,12 +28062,12 @@ export interface ResearchStudyWebLocation extends BackboneElement { /** * Describes the nature of the location being specified. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; /** * The location address. */ url: string; - _url?: Element; + _url?: Element|undefined; } /** * A process where a researcher or organization plans and then executes a series of steps intended to increase the field of healthcare-related knowledge. This includes studies of safety, efficacy, comparative effectiveness and other information about medications, devices, therapies and other interventional and investigative techniques. A ResearchStudy involves the gathering of information about human or animal subjects or stability data about drug products or drug substances. @@ -28078,159 +28078,159 @@ export interface ResearchStudy extends DomainResource { /** * For a Sponsor or a PrincipalInvestigator use the dedicated attributes provided. */ - associatedParty?: ResearchStudyAssociatedParty[]; + associatedParty?: ResearchStudyAssociatedParty[]|undefined; /** * Codes categorizing the type of study such as investigational vs. observational, type of blinding, type of randomization, safety vs. efficacy, etc. */ - category?: CodeableConcept[]; + category?: CodeableConcept[]|undefined; /** * Classification for the study. */ - classification?: ResearchStudyClassification[]; + classification?: ResearchStudyClassification[]|undefined; /** * In many clinical trials this is refered to as the ARM of the study, but such a term is not used in other sorts of trials even when there is a comparison between two or more groups. */ - comparisonGroup?: ResearchStudyComparisonGroup[]; + comparisonGroup?: ResearchStudyComparisonGroup[]|undefined; /** * The condition that is the focus of the study. For example, In a study to examine risk factors for Lupus, might have as an inclusion criterion "healthy volunteer", but the target condition code would be a Lupus SNOMED code. */ - condition?: CodeableConcept[]; + condition?: CodeableConcept[]|undefined; /** * Contact details to assist a user in learning more about or engaging with the study. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * Current status of the study. */ - currentState?: CodeableConcept[]; + currentState?: CodeableConcept[]|undefined; /** * Date the resource last changed. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * A full description of how the study is being conducted. For a description of what the study objectives are see ResearchStudy.objective.description. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * A brief summary of the study description. */ - descriptionSummary?: string; - _descriptionSummary?: Element; + descriptionSummary?: string|undefined; + _descriptionSummary?: Element|undefined; /** * The medication(s), food(s), therapy(ies), device(s) or other concerns or interventions that the study is seeking to gain more information about. */ - focus?: ResearchStudyFocus[]; + focus?: ResearchStudyFocus[]|undefined; /** * Identifiers assigned to this research study by the sponsor or other systems. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Key terms to aid in searching for or filtering the study. */ - keyword?: CodeableConcept[]; + keyword?: CodeableConcept[]|undefined; /** * Additional names for the study. */ - label?: ResearchStudyLabel[]; + label?: ResearchStudyLabel[]|undefined; /** * Indicates a country, state or other region where the study is taking place. */ - location?: CodeableConcept[]; + location?: CodeableConcept[]|undefined; /** * Name for this study (computer friendly). */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Comments made about the study by the performer, subject or other participants. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * A goal that the study is aiming to achieve in terms of a scientific question to be answered by the analysis of data collected during the study. */ - objective?: ResearchStudyObjective[]; + objective?: ResearchStudyObjective[]|undefined; /** * An outcome or planned variable to measure during the study. */ - outcomeMeasure?: ResearchStudyOutcomeMeasure[]; + outcomeMeasure?: ResearchStudyOutcomeMeasure[]|undefined; /** * A larger research study of which this particular study is a component or step. */ - partOf?: Reference[]; + partOf?: Reference[]|undefined; /** * Identifies the start date and the expected (or actual, depending on status) end date for the study. */ - period?: Period; + period?: Period|undefined; /** * The stage in the progression of a therapy from initial experimental use in humans in clinical trials to post-market evaluation. */ - phase?: CodeableConcept; + phase?: CodeableConcept|undefined; /** * The type of study based upon the intent of the study activities. A classification of the intent of the study. */ - primaryPurposeType?: CodeableConcept; + primaryPurposeType?: CodeableConcept|undefined; /** * A researcher in a study who oversees multiple aspects of the study, such as concept development, protocol writing, protocol submission for IRB approval, participant recruitment, informed consent, data collection, analysis, interpretation and presentation. */ - principalInvestigator?: Reference; + principalInvestigator?: Reference|undefined; /** * The set of steps expected to be performed as part of the execution of the study. */ - protocol?: Reference[]; + protocol?: Reference[]|undefined; /** * Target or actual group of participants enrolled in study. */ - recruitment?: ResearchStudyRecruitment; + recruitment?: ResearchStudyRecruitment|undefined; /** * Citations, references and other related documents. */ - relatedArtifact?: RelatedArtifact[]; + relatedArtifact?: RelatedArtifact[]|undefined; /** * Link to one or more sets of results generated by the study. Could also link to a research registry holding the results such as ClinicalTrials.gov. */ - result?: Reference[]; + result?: Reference[]|undefined; /** * A facility in which study activities are conducted. */ - site?: Reference[]; + site?: Reference[]|undefined; /** * An organization that initiates the investigation and is legally responsible for the study. */ - sponsor?: Reference; + sponsor?: Reference|undefined; /** * The publication state of the resource (not of the study). */ status: ResearchStudyStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Status of study with time for that status. */ - statusDate?: ResearchStudyStatusDate[]; + statusDate?: ResearchStudyStatusDate[]|undefined; /** * A short, descriptive label for the study particularly for compouter use. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Canonical identifier for this study resource, represented as a globally unique URI. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * Business identifier for the study record. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; /** * A general storage or archive location for the study. This may contain an assortment of content which is not specified in advance. */ - webLocation?: ResearchStudyWebLocation[]; + webLocation?: ResearchStudyWebLocation[]|undefined; /** * A description and/or code explaining the premature termination of the study. */ - whyStopped?: CodeableConcept; + whyStopped?: CodeableConcept|undefined; } /** * Code Values for the ResearchStudy.status field @@ -28249,29 +28249,29 @@ export interface ResearchSubjectProgress extends BackboneElement { /** * The date when the state ended. */ - endDate?: string; - _endDate?: Element; + endDate?: string|undefined; + _endDate?: Element|undefined; /** * There can be multiple entries but it is also valid to just have the most recent. This should npt be rlied upon as the full path the subject has taken. */ - milestone?: CodeableConcept; + milestone?: CodeableConcept|undefined; /** * The reason for the state change. If coded it should follow the formal subject state model. */ - reason?: CodeableConcept; + reason?: CodeableConcept|undefined; /** * This is NOT the date the change in state was recorded. */ - startDate?: string; - _startDate?: Element; + startDate?: string|undefined; + _startDate?: Element|undefined; /** * The current state of the subject. */ - subjectState?: CodeableConcept; + subjectState?: CodeableConcept|undefined; /** * Identifies the aspect of the subject's journey that the state refers to. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * A physical entity which is the primary unit of operational and/or administrative interest in a study. @@ -28282,35 +28282,35 @@ export interface ResearchSubject extends DomainResource { /** * The name of the arm in the study the subject actually followed as part of this study. */ - actualArm?: string; - _actualArm?: Element; + actualArm?: string|undefined; + _actualArm?: Element|undefined; /** * Maybe this is really PlanDefinition. */ - assignedArm?: string; - _assignedArm?: Element; + assignedArm?: string|undefined; + _assignedArm?: Element|undefined; /** * A record of the patient's informed agreement to participate in the study. */ - consent?: Reference; + consent?: Reference|undefined; /** * Identifiers assigned to this research subject for a study. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The dates the subject began and ended their participation in the study. */ - period?: Period; + period?: Period|undefined; /** * This is intended to deal with the confusion routinely created by haing two conflated concepts of being in a particular state and having achieved a particular milestone. In strict terms a milestone is a point of time event that results in a change from one state to another. The state before the milestone is achieved is often given the same name as the milestone, and sometimes the state may have the same description. For instance "Randomised" and "Visit 1" may be different milestones but the state remains at "on study" after each of them. * It is likely that more than one "state" pattern will be recorded for a subject and a type has been introduced to allow this simultaneous recording. */ - progress?: ResearchSubjectProgress[]; + progress?: ResearchSubjectProgress[]|undefined; /** * The publication state of the resource (not of the subject). */ status: ResearchSubjectStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Reference to the study the subject is participating in. */ @@ -28338,22 +28338,22 @@ export interface Resource extends Base { /** * Typically, the resource has an id except for cases like the create operation, conditional updates. */ - id?: string; - _id?: Element; + id?: string|undefined; + _id?: Element|undefined; /** * Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc. */ - implicitRules?: string; - _implicitRules?: Element; + implicitRules?: string|undefined; + _implicitRules?: Element|undefined; /** * Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute). */ - language?: string; - _language?: Element; + language?: string|undefined; + _language?: Element|undefined; /** * The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource. */ - meta?: Meta; + meta?: Meta|undefined; } /** * Multiple repetitions can be used to identify the same type of outcome in different timeframes as well as different types of outcomes. @@ -28362,36 +28362,36 @@ export interface RiskAssessmentPrediction extends BackboneElement { /** * One of the potential outcomes for the patient (e.g. remission, death, a particular condition). */ - outcome?: CodeableConcept; + outcome?: CodeableConcept|undefined; /** * If range is used, it represents the lower and upper bounds of certainty; e.g. 40-60% Decimal values are expressed as percentages as well (max = 100). */ - probabilityDecimal?: number; + probabilityDecimal?: number|undefined; /** * If range is used, it represents the lower and upper bounds of certainty; e.g. 40-60% Decimal values are expressed as percentages as well (max = 100). */ - probabilityRange?: Range; + probabilityRange?: Range|undefined; /** * Indicates how likely the outcome is (in the specified timeframe), expressed as a qualitative value (e.g. low, medium, or high). */ - qualitativeRisk?: CodeableConcept; + qualitativeRisk?: CodeableConcept|undefined; /** * Additional information explaining the basis for the prediction. */ - rationale?: string; - _rationale?: Element; + rationale?: string|undefined; + _rationale?: Element|undefined; /** * Indicates the risk for this particular subject (with their specific characteristics) divided by the risk of the population in general. (Numbers greater than 1 = higher risk than the population, numbers less than 1 = lower risk.). */ - relativeRisk?: number; + relativeRisk?: number|undefined; /** * If not specified, the risk applies "over the subject's lifespan". */ - whenPeriod?: Period; + whenPeriod?: Period|undefined; /** * If not specified, the risk applies "over the subject's lifespan". */ - whenRange?: Range; + whenRange?: Range|undefined; } /** * An assessment of the likely outcome(s) for a patient or other subject as well as the likelihood of each outcome. @@ -28402,70 +28402,70 @@ export interface RiskAssessment extends DomainResource { /** * A reference to the request that is fulfilled by this risk assessment. */ - basedOn?: Reference; + basedOn?: Reference|undefined; /** * Indicates the source data considered as part of the assessment (for example, FamilyHistory, Observations, Procedures, Conditions, etc.). */ - basis?: Reference[]; + basis?: Reference[]|undefined; /** * The type of the risk assessment performed. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * For assessments or prognosis specific to a particular condition, indicates the condition being assessed. */ - condition?: Reference; + condition?: Reference|undefined; /** * The encounter where the assessment was performed. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * Business identifier assigned to the risk assessment. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The algorithm, process or mechanism used to evaluate the risk. */ - method?: CodeableConcept; + method?: CodeableConcept|undefined; /** * A description of the steps that might be taken to reduce the identified risk(s). */ - mitigation?: string; - _mitigation?: Element; + mitigation?: string|undefined; + _mitigation?: Element|undefined; /** * Additional comments about the risk assessment. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * The date (and possibly time) the risk assessment was performed. */ - occurrenceDateTime?: string; - _occurrenceDateTime?: Element; + occurrenceDateTime?: string|undefined; + _occurrenceDateTime?: Element|undefined; /** * The date (and possibly time) the risk assessment was performed. */ - occurrencePeriod?: Period; + occurrencePeriod?: Period|undefined; /** * A reference to a resource that this risk assessment is part of, such as a Procedure. */ - parent?: Reference; + parent?: Reference|undefined; /** * The provider or software application that performed the assessment. */ - performer?: Reference; + performer?: Reference|undefined; /** * Multiple repetitions can be used to identify the same type of outcome in different timeframes as well as different types of outcomes. */ - prediction?: RiskAssessmentPrediction[]; + prediction?: RiskAssessmentPrediction[]|undefined; /** * The reason the risk assessment was performed. */ - reason?: CodeableReference[]; + reason?: CodeableReference[]|undefined; /** * The status of the RiskAssessment, using the same statuses as an Observation. */ status: RiskAssessmentStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * The patient or group the risk assessment applies to. */ @@ -28493,8 +28493,8 @@ export interface Schedule extends DomainResource { /** * This element is labeled as a modifier because it may be used to mark that the resource was created in error. */ - active?: boolean; - _active?: Element; + active?: boolean|undefined; + _active?: Element|undefined; /** * The capacity to support multiple referenced resource types should be used in cases where the specific resources themselves cannot be scheduled without the other, and thus only make sense to the system exposing them as a group. Common examples of this are where the combination of a practitioner and a room (Location) are always required by a system. */ @@ -28502,28 +28502,28 @@ export interface Schedule extends DomainResource { /** * Comments on the availability to describe any extended information. Such as custom constraints on the slots that may be associated. */ - comment?: string; - _comment?: Element; + comment?: string|undefined; + _comment?: Element|undefined; /** * External Ids for this item. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The period of time that the slots that reference this Schedule resource cover (even if none exist). These cover the amount of time that an organization's planning horizon; the interval for which they are currently accepting appointments. This does not define a "template" for planning outside these dates. */ - planningHorizon?: Period; + planningHorizon?: Period|undefined; /** * A broad categorization of the service that is to be performed during this appointment. */ - serviceCategory?: CodeableConcept[]; + serviceCategory?: CodeableConcept[]|undefined; /** * The specific service that is to be performed during this appointment. */ - serviceType?: CodeableConcept[]; + serviceType?: CodeableConcept[]|undefined; /** * The specialty of a practitioner that would be required to perform the service requested in this appointment. */ - specialty?: CodeableConcept[]; + specialty?: CodeableConcept[]|undefined; } /** * Used to define the parts of a composite search parameter. @@ -28533,12 +28533,12 @@ export interface SearchParameterComponent extends BackboneElement { * The definition of the search parameter that describes this part. */ definition: string; - _definition?: Element; + _definition?: Element|undefined; /** * This expression overrides the expression in the definition and extracts the index values from the outcome of the composite expression. */ expression: string; - _expression?: Element; + _expression?: Element|undefined; } /** * A search parameter that defines a named search item that can be used to search/filter on a resource. @@ -28550,130 +28550,130 @@ export interface SearchParameter extends DomainResource { * A search parameter must always apply to at least one resource type. When search parameters apply to more than one resource type, they can be used against any of the listed resource types, or in a cross-type search (see [Cross Resource Search](http.html#xres-search)). */ base: string[]; - _base?: Element[]; + _base?: Element[]|undefined; /** * Systems are not required to list all the chain names they support, but if they don't list them, clients might not know to use them. */ - chain?: string[]; - _chain?: Element[]; + chain?: string[]|undefined; + _chain?: Element[]|undefined; /** * For maximum compatibility, use only lowercase ASCII characters. */ code: string; - _code?: Element; + _code?: Element|undefined; /** * If no comparators are listed, clients should not expect servers to support any comparators. */ - comparator?: SearchParameterComparatorCodes[]; - _comparator?: Element[]; + comparator?: SearchParameterComparatorCodes[]|undefined; + _comparator?: Element[]|undefined; /** * Used to define the parts of a composite search parameter. */ - component?: SearchParameterComponent[]; + component?: SearchParameterComponent[]|undefined; /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the search parameter. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * The intent of this is that a server can designate that it provides support for a search parameter defined in the specification itself (e.g. [`value-quantity`](http://hl7.org/fhir/SearchParameter/Observation-value-quantity), but detail how it is supported by the server. */ - derivedFrom?: string; - _derivedFrom?: Element; + derivedFrom?: string|undefined; + _derivedFrom?: Element|undefined; /** * This description can be used to capture details such as why the search parameter was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the search parameter as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the search parameter is presumed to be the predominant language in the place the search parameter was created). */ description: string; - _description?: Element; + _description?: Element|undefined; /** * Allows filtering of search parameters that are appropriate for use versus not. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * Note that the elements returned by the expression are sometimes complex elements where logic is required to determine quite how to handle them; e.g. CodeableConcepts may contain text and/or multiple codings, where the codings themselves contain a code and a system. For composite search parameters, the outcome of the expression must a collection of base elements from which the composites are derived. */ - expression?: string; - _expression?: Element; + expression?: string|undefined; + _expression?: Element|undefined; /** * It may be possible for the search parameter to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * A modifier supported for the search parameter. */ - modifier?: SearchParameterModifierCodes[]; - _modifier?: Element[]; + modifier?: SearchParameterModifierCodes[]|undefined; + _modifier?: Element[]|undefined; /** * Whether multiple parameters are allowed - e.g. more than one parameter with the same name. The search matches if all the parameters match. */ - multipleAnd?: boolean; - _multipleAnd?: Element; + multipleAnd?: boolean|undefined; + _multipleAnd?: Element|undefined; /** * Whether multiple values are allowed for each time the parameter exists. Values are separated by commas, and the parameter matches if any of the values match. */ - multipleOr?: boolean; - _multipleOr?: Element; + multipleOr?: boolean|undefined; + _multipleOr?: Element|undefined; /** * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * Usually an organization but may be an individual. The publisher (or steward) of the search parameter is the organization or individual primarily responsible for the maintenance and upkeep of the search parameter. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the search parameter. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * This element does not describe the usage of the search parameter. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this search parameter. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * Allows filtering of search parameters that are appropriate for use versus not. */ status: SearchParameterStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Types of resource (if a resource is referenced). */ - target?: string[]; - _target?: Element[]; + target?: string[]|undefined; + _target?: Element[]|undefined; /** * The type of value that a search parameter may contain, and how the content is interpreted. */ type: SearchParameterTypeCodes; - _type?: Element; + _type?: Element|undefined; /** * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. */ url: string; - _url?: Element; + _url?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different search parameter instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the search parameter with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; /** * Note that the elements returned by the XPath are sometimes complex elements where logic is required to determine quite how to handle them; e.g. CodeableConcepts may contain text and/or multiple codings, where the codings themselves contain a code and a system. */ - xpath?: string; - _xpath?: Element; + xpath?: string|undefined; + _xpath?: Element|undefined; /** * How the search parameter relates to the set of elements returned by evaluating the xpath query. */ - xpathUsage?: SearchParameterXpathUsageCodes; - _xpathUsage?: Element; + xpathUsage?: SearchParameterXpathUsageCodes|undefined; + _xpathUsage?: Element|undefined; } /** * Code Values for the SearchParameter.comparator field @@ -28748,151 +28748,151 @@ export interface ServiceRequest extends DomainResource { /** * If a CodeableConcept is present, it indicates the pre-condition for performing the service. For example "pain", "on flare-up", etc. */ - asNeededBoolean?: boolean; - _asNeededBoolean?: Element; + asNeededBoolean?: boolean|undefined; + _asNeededBoolean?: Element|undefined; /** * If a CodeableConcept is present, it indicates the pre-condition for performing the service. For example "pain", "on flare-up", etc. */ - asNeededCodeableConcept?: CodeableConcept; + asNeededCodeableConcept?: CodeableConcept|undefined; /** * When the request transitioned to being actionable. */ - authoredOn?: string; - _authoredOn?: Element; + authoredOn?: string|undefined; + _authoredOn?: Element|undefined; /** * Plan/proposal/order fulfilled by this request. */ - basedOn?: Reference[]; + basedOn?: Reference[]|undefined; /** * Only used if not implicit in the code found in ServiceRequest.code. If the use case requires BodySite to be handled as a separate resource instead of an inline coded element (e.g. to identify and track separately) then use the standard extension [procedure-targetBodyStructure](extension-procedure-targetbodystructure.html). */ - bodySite?: CodeableConcept[]; + bodySite?: CodeableConcept[]|undefined; /** * There may be multiple axis of categorization depending on the context or use case for retrieving or displaying the resource. The level of granularity is defined by the category concepts in the value set. */ - category?: CodeableConcept[]; + category?: CodeableConcept[]|undefined; /** * Many laboratory and radiology procedure codes embed the specimen/organ system in the test order name, for example, serum or serum/plasma glucose, or a chest x-ray. The specimen might not be recorded separately from the test code. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * In general, only the code and timeframe will be present, though occasional additional qualifiers such as body site or even performer could be included to narrow the scope of the prohibition. If the ServiceRequest.code and ServiceRequest.doNotPerform both contain negation, that will reinforce prohibition and should not have a double negative interpretation. */ - doNotPerform?: boolean; - _doNotPerform?: Element; + doNotPerform?: boolean|undefined; + _doNotPerform?: Element|undefined; /** * An encounter that provides additional information about the healthcare context in which this request is made. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * The identifier.type element is used to distinguish between the identifiers assigned by the orderer (known as the 'Placer' in HL7 v2) and the producer of the observations in response to the order (known as the 'Filler' in HL7 v2). For further discussion and examples see the resource notes section below. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Note: This is a business identifier, not a resource identifier (see [discussion](resource.html#identifiers)). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and a Person resource instance might share the same social insurance number. */ - instantiatesCanonical?: string[]; - _instantiatesCanonical?: Element[]; + instantiatesCanonical?: string[]|undefined; + _instantiatesCanonical?: Element[]|undefined; /** * This might be an HTML page, PDF, etc. or could just be a non-resolvable URI identifier. */ - instantiatesUri?: string[]; - _instantiatesUri?: Element[]; + instantiatesUri?: string[]|undefined; + _instantiatesUri?: Element[]|undefined; /** * Insurance plans, coverage extensions, pre-authorizations and/or pre-determinations that may be needed for delivering the requested service. */ - insurance?: Reference[]; + insurance?: Reference[]|undefined; /** * This element is labeled as a modifier because the intent alters when and how the resource is actually applicable. */ intent: ServiceRequestIntentCodes; - _intent?: Element; + _intent?: Element|undefined; /** * The preferred location(s) where the procedure should actually happen in coded or free text form. E.g. at home or nursing day care center. */ - location?: CodeableReference[]; + location?: CodeableReference[]|undefined; /** * Any other notes and comments made about the service request. For example, internal billing notes. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * The date/time at which the requested service should occur. */ - occurrenceDateTime?: string; - _occurrenceDateTime?: Element; + occurrenceDateTime?: string|undefined; + _occurrenceDateTime?: Element|undefined; /** * The date/time at which the requested service should occur. */ - occurrencePeriod?: Period; + occurrencePeriod?: Period|undefined; /** * The date/time at which the requested service should occur. */ - occurrenceTiming?: Timing; + occurrenceTiming?: Timing|undefined; /** * For information from the medical record intended to support the delivery of the requested services, use the `supportingInformation` element. */ - orderDetail?: CodeableConcept[]; + orderDetail?: CodeableConcept[]|undefined; /** * Instructions in terms that are understood by the patient or consumer. */ - patientInstruction?: string; - _patientInstruction?: Element; + patientInstruction?: string|undefined; + _patientInstruction?: Element|undefined; /** * If multiple performers are present, it is interpreted as a list of *alternative* performers without any preference regardless of order. If order of preference is needed use the [request-performerOrder extension](extension-request-performerorder.html). Use CareTeam to represent a group of performers (for example, Practitioner A *and* Practitioner B). */ - performer?: Reference[]; + performer?: Reference[]|undefined; /** * This is a role, not a participation type. In other words, does not describe the task but describes the capacity. For example, “compounding pharmacy”, “psychiatrist” or “internal referral”. */ - performerType?: CodeableConcept; + performerType?: CodeableConcept|undefined; /** * Indicates how quickly the ServiceRequest should be addressed with respect to other requests. */ - priority?: ServiceRequestPriorityCodes; - _priority?: Element; + priority?: ServiceRequestPriorityCodes|undefined; + _priority?: Element|undefined; /** * An amount of service being requested which can be a quantity ( for example $1,500 home modification), a ratio ( for example, 20 half day visits per month), or a range (2.0 to 1.8 Gy per fraction). */ - quantityQuantity?: Quantity; + quantityQuantity?: Quantity|undefined; /** * An amount of service being requested which can be a quantity ( for example $1,500 home modification), a ratio ( for example, 20 half day visits per month), or a range (2.0 to 1.8 Gy per fraction). */ - quantityRatio?: Ratio; + quantityRatio?: Ratio|undefined; /** * An amount of service being requested which can be a quantity ( for example $1,500 home modification), a ratio ( for example, 20 half day visits per month), or a range (2.0 to 1.8 Gy per fraction). */ - quantityRange?: Range; + quantityRange?: Range|undefined; /** * This element represents why the referral is being made and may be used to decide how the service will be performed, or even if it will be performed at all. To be as specific as possible, a reference to *Observation* or *Condition* should be used if available. Otherwise, use `concept.text` element if the data is free (uncoded) text as shown in the [CT Scan example](servicerequest-example-di.html). */ - reason?: CodeableReference[]; + reason?: CodeableReference[]|undefined; /** * This might not include provenances for all versions of the request – only those deemed “relevant” or important. * This SHALL NOT include the Provenance associated with this current version of the resource. (If that provenance is deemed to be a “relevant” change, it will need to be added as part of a later update. Until then, it can be queried directly as the Provenance that points to this version using _revinclude * All Provenances should have some historical version of this Request as their subject. */ - relevantHistory?: Reference[]; + relevantHistory?: Reference[]|undefined; /** * The request takes the place of the referenced completed or terminated request(s). */ - replaces?: Reference[]; + replaces?: Reference[]|undefined; /** * This not the dispatcher, but rather who is the authorizer. This element is not intended to handle delegation which would generally be managed through the Provenance resource. */ - requester?: Reference; + requester?: Reference|undefined; /** * Requests are linked either by a "basedOn" relationship (i.e. one request is fulfilling another) or by having a common requisition. Requests that are part of the same requisition are generally treated independently from the perspective of changing their state or maintaining them after initial creation. */ - requisition?: Identifier; + requisition?: Identifier|undefined; /** * Many diagnostic procedures need a specimen, but the request itself is not actually about the specimen. This element is for when the diagnostic is requested on already existing specimens and the request points to the specimen it applies to. Conversely, if the request is entered first with an unknown specimen, then the [Specimen](specimen.html) resource points to the ServiceRequest. */ - specimen?: Reference[]; + specimen?: Reference[]|undefined; /** * The status is generally fully in the control of the requester - they determine whether the order is draft or active and, after it has been activated, competed, cancelled or suspended. States relating to the activities of the performer are reflected on either the corresponding event (see [Event Pattern](event.html) for general discussion) or using the [Task](task.html) resource. */ status: ServiceRequestStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * On whom or what the service is to be performed. This is usually a human patient, but can also be requested on animals, groups of humans or animals, devices such as dialysis machines, or even locations (typically for environmental scans). */ @@ -28900,7 +28900,7 @@ export interface ServiceRequest extends DomainResource { /** * To represent information about how the services are to be delivered use the `instructions` element. */ - supportingInfo?: Reference[]; + supportingInfo?: Reference[]|undefined; } /** * Code Values for the ServiceRequest.intent field @@ -28946,26 +28946,26 @@ export interface Slot extends DomainResource { /** * The style of appointment or patient that may be booked in the slot (not service type). */ - appointmentType?: CodeableConcept; + appointmentType?: CodeableConcept|undefined; /** * Comments on the slot to describe any extended information. Such as custom constraints on the slot. */ - comment?: string; - _comment?: Element; + comment?: string|undefined; + _comment?: Element|undefined; /** * Date/Time that the slot is to conclude. */ end: string; - _end?: Element; + _end?: Element|undefined; /** * External Ids for this item. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * This slot has already been overbooked, appointments are unlikely to be accepted for this time. */ - overbooked?: boolean; - _overbooked?: Element; + overbooked?: boolean|undefined; + _overbooked?: Element|undefined; /** * The schedule resource that this slot defines an interval of status information. */ @@ -28973,25 +28973,25 @@ export interface Slot extends DomainResource { /** * A broad categorization of the service that is to be performed during this appointment. */ - serviceCategory?: CodeableConcept[]; + serviceCategory?: CodeableConcept[]|undefined; /** * The type of appointments that can be booked into this slot (ideally this would be an identifiable service - which is at a location, rather than the location itself). If provided then this overrides the value provided on the availability resource. */ - serviceType?: CodeableConcept[]; + serviceType?: CodeableConcept[]|undefined; /** * The specialty of a practitioner that would be required to perform the service requested in this appointment. */ - specialty?: CodeableConcept[]; + specialty?: CodeableConcept[]|undefined; /** * Date/Time that the slot is to begin. */ start: string; - _start?: Element; + _start?: Element|undefined; /** * busy | free | busy-unavailable | busy-tentative | entered-in-error. */ status: SlotStatusCodes; - _status?: Element; + _status?: Element|undefined; } /** * Code Values for the Slot.status field @@ -29010,40 +29010,40 @@ export interface SpecimenCollection extends BackboneElement { /** * If the use case requires BodySite to be handled as a separate resource instead of an inline coded element (e.g. to identify and track separately) then use the standard extension [bodySite](extension-bodysite.html). */ - bodySite?: CodeableConcept; + bodySite?: CodeableConcept|undefined; /** * Time when specimen was collected from subject - the physiologically relevant time. */ - collectedDateTime?: string; - _collectedDateTime?: Element; + collectedDateTime?: string|undefined; + _collectedDateTime?: Element|undefined; /** * Time when specimen was collected from subject - the physiologically relevant time. */ - collectedPeriod?: Period; + collectedPeriod?: Period|undefined; /** * Person who collected the specimen. */ - collector?: Reference; + collector?: Reference|undefined; /** * The span of time over which the collection of a specimen occurred. */ - duration?: Duration; + duration?: Duration|undefined; /** * Representing fasting status using this element is preferred to representing it with an observation using a 'pre-coordinated code' such as LOINC 2005-7 (Calcium [Moles/​time] in 2 hour Urine --12 hours fasting), or using a component observation ` such as `Observation.component code` = LOINC 49541-6 (Fasting status - Reported). */ - fastingStatusCodeableConcept?: CodeableConcept; + fastingStatusCodeableConcept?: CodeableConcept|undefined; /** * Representing fasting status using this element is preferred to representing it with an observation using a 'pre-coordinated code' such as LOINC 2005-7 (Calcium [Moles/​time] in 2 hour Urine --12 hours fasting), or using a component observation ` such as `Observation.component code` = LOINC 49541-6 (Fasting status - Reported). */ - fastingStatusDuration?: Duration; + fastingStatusDuration?: Duration|undefined; /** * A coded value specifying the technique that is used to perform the procedure. */ - method?: CodeableConcept; + method?: CodeableConcept|undefined; /** * The quantity of specimen collected; for instance the volume of a blood sample, or the physical measurement of an anatomic pathology sample. */ - quantity?: Quantity; + quantity?: Quantity|undefined; } /** * Details concerning processing and processing steps for the specimen. @@ -29052,25 +29052,25 @@ export interface SpecimenProcessing extends BackboneElement { /** * Material used in the processing step. */ - additive?: Reference[]; + additive?: Reference[]|undefined; /** * Textual description of procedure. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * A coded value specifying the procedure used to process the specimen. */ - procedure?: CodeableConcept; + procedure?: CodeableConcept|undefined; /** * A record of the time or period when the specimen processing occurred. For example the time of sample fixation or the period of time the sample was in formalin. */ - timeDateTime?: string; - _timeDateTime?: Element; + timeDateTime?: string|undefined; + _timeDateTime?: Element|undefined; /** * A record of the time or period when the specimen processing occurred. For example the time of sample fixation or the period of time the sample was in formalin. */ - timePeriod?: Period; + timePeriod?: Period|undefined; } /** * The container holding the specimen. The recursive nature of containers; i.e. blood in tube in tray in rack is not addressed here. @@ -29079,32 +29079,32 @@ export interface SpecimenContainer extends BackboneElement { /** * Introduced substance to preserve, maintain or enhance the specimen. Examples: Formalin, Citrate, EDTA. */ - additiveCodeableConcept?: CodeableConcept; + additiveCodeableConcept?: CodeableConcept|undefined; /** * Introduced substance to preserve, maintain or enhance the specimen. Examples: Formalin, Citrate, EDTA. */ - additiveReference?: Reference; + additiveReference?: Reference|undefined; /** * The capacity (volume or other measure) the container may contain. */ - capacity?: Quantity; + capacity?: Quantity|undefined; /** * Textual description of the container. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Id for container. There may be multiple; a manufacturer's bar code, lab assigned identifier, etc. The container ID may differ from the specimen id in some circumstances. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * The quantity of specimen in the container; may be volume, dimensions, or other appropriate measurements, depending on the specimen type. */ - specimenQuantity?: Quantity; + specimenQuantity?: Quantity|undefined; /** * The type of container associated with the specimen (e.g. slide, aliquot, etc.). */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * A sample to be used for analysis. @@ -29115,57 +29115,57 @@ export interface Specimen extends DomainResource { /** * The identifier assigned by the lab when accessioning specimen(s). This is not necessarily the same as the specimen identifier, depending on local lab procedures. */ - accessionIdentifier?: Identifier; + accessionIdentifier?: Identifier|undefined; /** * Details concerning the specimen collection. */ - collection?: SpecimenCollection; + collection?: SpecimenCollection|undefined; /** * Specimen condition is an observation made about the specimen. It's a point-in-time assessment. It can be used to assess its quality or appropriateness for a specific test. */ - condition?: CodeableConcept[]; + condition?: CodeableConcept[]|undefined; /** * The container holding the specimen. The recursive nature of containers; i.e. blood in tube in tray in rack is not addressed here. */ - container?: SpecimenContainer[]; + container?: SpecimenContainer[]|undefined; /** * Id for specimen. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * To communicate any details or issues about the specimen or during the specimen collection. (for example: broken vial, sent with patient, frozen). */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * The parent specimen could be the source from which the current specimen is derived by some processing step (e.g. an aliquot or isolate or extracted nucleic acids from clinical samples) or one of many specimens that were combined to create a pooled sample. */ - parent?: Reference[]; + parent?: Reference[]|undefined; /** * Details concerning processing and processing steps for the specimen. */ - processing?: SpecimenProcessing[]; + processing?: SpecimenProcessing[]|undefined; /** * Time when specimen was received for processing or testing. */ - receivedTime?: string; - _receivedTime?: Element; + receivedTime?: string|undefined; + _receivedTime?: Element|undefined; /** * The request may be explicit or implied such with a ServiceRequest that requires a blood draw. */ - request?: Reference[]; + request?: Reference[]|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ - status?: SpecimenStatusCodes; - _status?: Element; + status?: SpecimenStatusCodes|undefined; + _status?: Element|undefined; /** * Where the specimen came from. This may be from patient(s), from a location (e.g., the source of an environmental sample), or a sampling of a substance or a device. */ - subject?: Reference; + subject?: Reference|undefined; /** * The type can change the way that a specimen is handled and drives what kind of analyses can properly be performed on the specimen. It is frequently used in diagnostic work flow decision making systems. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Code Values for the Specimen.status field @@ -29183,11 +29183,11 @@ export interface SpecimenDefinitionTypeTestedContainerAdditive extends BackboneE /** * Substance introduced in the kind of container to preserve, maintain or enhance the specimen. Examples: Formalin, Citrate, EDTA. */ - additiveCodeableConcept?: CodeableConcept; + additiveCodeableConcept?: CodeableConcept|undefined; /** * Substance introduced in the kind of container to preserve, maintain or enhance the specimen. Examples: Formalin, Citrate, EDTA. */ - additiveReference?: Reference; + additiveReference?: Reference|undefined; } /** * The specimen's container. @@ -29196,42 +29196,42 @@ export interface SpecimenDefinitionTypeTestedContainer extends BackboneElement { /** * Substance introduced in the kind of container to preserve, maintain or enhance the specimen. Examples: Formalin, Citrate, EDTA. */ - additive?: SpecimenDefinitionTypeTestedContainerAdditive[]; + additive?: SpecimenDefinitionTypeTestedContainerAdditive[]|undefined; /** * Color of container cap. */ - cap?: CodeableConcept; + cap?: CodeableConcept|undefined; /** * The capacity (volume or other measure) of this kind of container. */ - capacity?: Quantity; + capacity?: Quantity|undefined; /** * The textual description of the kind of container. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Examples: glass, plastic, metal. */ - material?: CodeableConcept; + material?: CodeableConcept|undefined; /** * The minimum volume to be conditioned in the container. */ - minimumVolumeQuantity?: Quantity; + minimumVolumeQuantity?: Quantity|undefined; /** * The minimum volume to be conditioned in the container. */ - minimumVolumeString?: string; - _minimumVolumeString?: Element; + minimumVolumeString?: string|undefined; + _minimumVolumeString?: Element|undefined; /** * Special processing that should be applied to the container for this kind of specimen. */ - preparation?: string; - _preparation?: Element; + preparation?: string|undefined; + _preparation?: Element|undefined; /** * The type of container used to contain this kind of specimen. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Set of instructions for preservation/transport of the specimen at a defined temperature interval, prior the testing process. @@ -29240,20 +29240,20 @@ export interface SpecimenDefinitionTypeTestedHandling extends BackboneElement { /** * Additional textual instructions for the preservation or transport of the specimen. For instance, 'Protect from light exposure'. */ - instruction?: string; - _instruction?: Element; + instruction?: string|undefined; + _instruction?: Element|undefined; /** * The maximum time interval of preservation of the specimen with these conditions. */ - maxDuration?: Duration; + maxDuration?: Duration|undefined; /** * It qualifies the interval of temperature, which characterizes an occurrence of handling. Conditions that are not related to temperature may be handled in the instruction element. */ - temperatureQualifier?: CodeableConcept; + temperatureQualifier?: CodeableConcept|undefined; /** * The temperature interval for this set of handling instructions. */ - temperatureRange?: Range; + temperatureRange?: Range|undefined; } /** * Specimen conditioned in a container as expected by the testing laboratory. @@ -29262,47 +29262,47 @@ export interface SpecimenDefinitionTypeTested extends BackboneElement { /** * The specimen's container. */ - container?: SpecimenDefinitionTypeTestedContainer; + container?: SpecimenDefinitionTypeTestedContainer|undefined; /** * Set of instructions for preservation/transport of the specimen at a defined temperature interval, prior the testing process. */ - handling?: SpecimenDefinitionTypeTestedHandling[]; + handling?: SpecimenDefinitionTypeTestedHandling[]|undefined; /** * Primary of secondary specimen. */ - isDerived?: boolean; - _isDerived?: Element; + isDerived?: boolean|undefined; + _isDerived?: Element|undefined; /** * The preference for this type of conditioned specimen. */ preference: SpecimenDefinitionTypeTestedPreferenceCodes; - _preference?: Element; + _preference?: Element|undefined; /** * Criterion for rejection of the specimen in its container by the laboratory. */ - rejectionCriterion?: CodeableConcept[]; + rejectionCriterion?: CodeableConcept[]|undefined; /** * Requirements for delivery and special handling of this kind of conditioned specimen. */ - requirement?: string; - _requirement?: Element; + requirement?: string|undefined; + _requirement?: Element|undefined; /** * The usual time that a specimen of this kind is retained after the ordered tests are completed, for the purpose of additional testing. */ - retentionTime?: Duration; + retentionTime?: Duration|undefined; /** * Specimen can be used by only one test or panel if the value is "true". */ - singleUse?: boolean; - _singleUse?: Element; + singleUse?: boolean|undefined; + _singleUse?: Element|undefined; /** * Where the specimen will be tested: e.g., lab, sector, device or any combination of these. */ - testingDestination?: CodeableConcept[]; + testingDestination?: CodeableConcept[]|undefined; /** * The kind of specimen conditioned for testing expected by lab. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Code Values for the SpecimenDefinition.typeTested.preference field @@ -29320,122 +29320,122 @@ export interface SpecimenDefinition extends DomainResource { /** * The date may be more recent than the approval date because of minor changes / editorial corrections. */ - approvalDate?: string; - _approvalDate?: Element; + approvalDate?: string|undefined; + _approvalDate?: Element|undefined; /** * The action to be performed for collecting the specimen. */ - collection?: CodeableConcept[]; + collection?: CodeableConcept[]|undefined; /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * Copyright statement relating to the SpecimenDefinition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the SpecimenDefinition. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * For draft definitions, indicates the date of initial creation. For active definitions, represents the date of activation. For withdrawn definitions, indicates the date of withdrawal. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * The canonical URL pointing to another FHIR-defined SpecimenDefinition that is adhered to in whole or in part by this definition. */ - derivedFromCanonical?: string[]; - _derivedFromCanonical?: Element[]; + derivedFromCanonical?: string[]|undefined; + _derivedFromCanonical?: Element[]|undefined; /** * The URL pointing to an externally-defined type of specimen, guideline or other definition that is adhered to in whole or in part by this definition. */ - derivedFromUri?: string[]; - _derivedFromUri?: Element[]; + derivedFromUri?: string[]|undefined; + _derivedFromUri?: Element[]|undefined; /** * This description can be used to capture details such as why the SpecimenDefinition was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the module as conveyed in the text field of the resource itself. This item SHOULD be populated unless the information is available from context. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * The effective period for a SpecimenDefinition determines when the content is applicable for usage and is independent of publication and review dates. */ - effectivePeriod?: Period; + effectivePeriod?: Period|undefined; /** * Allows filtering of SpecimenDefinition that are appropriate for use vs. not. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * A business identifier assigned to this SpecimenDefinition. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * A jurisdiction in which the SpecimenDefinition is intended to be used. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * If specified, this is usually after the approval date. */ - lastReviewDate?: string; - _lastReviewDate?: Element; + lastReviewDate?: string|undefined; + _lastReviewDate?: Element|undefined; /** * Preparation of the patient for specimen collection. */ - patientPreparation?: CodeableConcept[]; + patientPreparation?: CodeableConcept[]|undefined; /** * Helps establish the "authority/credibility" of the SpecimenDefinition. May also allow for contact. */ - publisher?: Reference; + publisher?: Reference|undefined; /** * This element does not describe the usage of the SpecimenDefinition. Rather it is for traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this SpecimenDefinition. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * A nominal state-transition diagram can be found in the [[definition.html#statemachine | Definition pattern]] documentation * Unknown does not represent "other" - one of the defined statuses must apply. Unknown is used when the authoring system is not sure what the current status is. */ status: SpecimenDefinitionStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * Examples: person, animal, device, water …. */ - subjectCodeableConcept?: CodeableConcept; + subjectCodeableConcept?: CodeableConcept|undefined; /** * Examples: person, animal, device, water …. */ - subjectReference?: Reference; + subjectReference?: Reference|undefined; /** * Time aspect of specimen collection (duration or offset). */ - timeAspect?: string; - _timeAspect?: Element; + timeAspect?: string|undefined; + _timeAspect?: Element|undefined; /** * A short, descriptive, user-friendly title for the SpecimenDefinition. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * The kind of material to be collected. */ - typeCollected?: CodeableConcept; + typeCollected?: CodeableConcept|undefined; /** * Specimen conditioned in a container as expected by the testing laboratory. */ - typeTested?: SpecimenDefinitionTypeTested[]; + typeTested?: SpecimenDefinitionTypeTested[]|undefined; /** * Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred. This is the URI that will be used when making canonical references to this resource. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * When multiple usageContexts are specified, there is no expectation for whether all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be multiple different instances of a SpecimenDefinition that have the same identifier but different versions. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the SpecimenDefinition.status field @@ -29453,23 +29453,23 @@ export interface StructureDefinitionMapping extends BackboneElement { /** * Comments about this mapping, including version notes, issues, scope limitations, and other important notes for usage. */ - comment?: string; - _comment?: Element; + comment?: string|undefined; + _comment?: Element|undefined; /** * The specification is described once, with general comments, and then specific mappings are made that reference this declaration. */ identity: string; - _identity?: Element; + _identity?: Element|undefined; /** * A name for the specification that is being mapped to. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * A formal identity for the specification being mapped to helps with identifying maps consistently. */ - uri?: string; - _uri?: Element; + uri?: string|undefined; + _uri?: Element|undefined; } /** * Identifies the types of resource or data type elements to which the extension can be applied. @@ -29479,12 +29479,12 @@ export interface StructureDefinitionContext extends BackboneElement { * An expression that defines where an extension can be used in resources. */ expression: string; - _expression?: Element; + _expression?: Element|undefined; /** * Defines how to interpret the expression that defines what the context of the extension is. */ type: StructureDefinitionContextTypeCodes; - _type?: Element; + _type?: Element|undefined; } /** * Code Values for the StructureDefinition.context.type field @@ -29522,80 +29522,80 @@ export interface StructureDefinition extends DomainResource { * Abstract Resources cannot be instantiated - a concrete sub-type must be used. Abstract datatypes and extensions cannot be used in an instance. For logical models, the exact implication of "abstract" will rest with the author, depending how the logical model is used. Flagging a constraint structure as abstract conveys design intent but makes no difference to how the structure definition is handled. Note that inline declared elements that are given the type "Element" in the StructureDefinition, but have children described, are anonymous concrete types that specialize Element. */ abstract: boolean; - _abstract?: Element; + _abstract?: Element|undefined; /** * If differential constraints are specified in this structure, they are applied to the base in a "differential" fashion. If there is no base, then the differential constraints cannot be provided (snapshot only). Differential structures are useful for the editing perspective, and snapshot structures are suitable for operational use. The FHIR Project provides a number of tools/services to populate snapshots from differential constraints. Logical Models have a base of "Element" or another logical model. */ - baseDefinition?: string; - _baseDefinition?: Element; + baseDefinition?: string|undefined; + _baseDefinition?: Element|undefined; /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * Identifies the types of resource or data type elements to which the extension can be applied. */ - context?: StructureDefinitionContext[]; + context?: StructureDefinitionContext[]|undefined; /** * The rules are only evaluated when the extension is present. When evaluating the invariant, the FHIRPath focus is the element that holds the extension, and %extension refers to the extension itself. */ - contextInvariant?: string[]; - _contextInvariant?: Element[]; + contextInvariant?: string[]|undefined; + _contextInvariant?: Element[]|undefined; /** * A copyright statement relating to the structure definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the structure definition. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the structure definition. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * If the definition is a specialization, then it adds new elements in the differential, and the snapshot includes the inherited elements. If the definition is a constraint, then it cannot define new elements, it can only make new rules about existing content (see [Profiling Resources](profiling.html#resources)). */ - derivation?: StructureDefinitionDerivationCodes; - _derivation?: Element; + derivation?: StructureDefinitionDerivationCodes|undefined; + _derivation?: Element|undefined; /** * This description can be used to capture details such as why the structure definition was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the structure definition as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the structure definition is presumed to be the predominant language in the place the structure definition was created). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * A differential view is expressed relative to the base StructureDefinition - a statement of differences that it applies. */ - differential?: StructureDefinitionDifferential; + differential?: StructureDefinitionDifferential|undefined; /** * Allows filtering of structure definitions that are appropriate for use versus not. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * A StructureDefinition does not need to specify the target it applies to as StructureDefinitions will often be valid across multiple versions of FHIR. FHIR tooling can determine whether a StructureDefinition is consistent with a particular StructureDefinition if desired. */ - fhirVersion?: string; - _fhirVersion?: Element; + fhirVersion?: string|undefined; + _fhirVersion?: Element|undefined; /** * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this structure definition outside of FHIR, where it is not possible to use the logical URI. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * It may be possible for the structure definition to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * A set of key words or terms from external terminologies that may be used to assist with indexing and searching of templates nby describing the use of this structure definition, or the content it describes. */ - keyword?: Coding[]; + keyword?: Coding[]|undefined; /** * Defines the kind of structure that this definition is describing. */ kind: StructureDefinitionKindCodes; - _kind?: Element; + _kind?: Element|undefined; /** * An external specification that the content is mapped to. */ - mapping?: StructureDefinitionMapping[]; + mapping?: StructureDefinitionMapping[]|undefined; /** * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly.Some Examples: * * O2SatObservation @@ -29604,53 +29604,53 @@ export interface StructureDefinition extends DomainResource { * * AcmeAdmissionRecordOld. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * Usually an organization but may be an individual. The publisher (or steward) of the structure definition is the organization or individual primarily responsible for the maintenance and upkeep of the structure definition. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the structure definition. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * This element does not describe the usage of the structure definition. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this structure definition. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * A snapshot view is expressed in a standalone form that can be used and interpreted without considering the base StructureDefinition. */ - snapshot?: StructureDefinitionSnapshot; + snapshot?: StructureDefinitionSnapshot|undefined; /** * Allows filtering of structure definitions that are appropriate for use versus not. */ status: StructureDefinitionStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc.Applications don't have to use this name but can always fall back to it. The title also corresponds to the label for the root element. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Note that in the case of constraints, the type could be determined by chasing through the baseDefinition references until a concrete structure (derivation = specialization) is reached, or by looking at the path of the first element in the snapshot - if present - but providing the type directly makes for simpler tooling and indexing. * The type must match the elements defined in the differential and the snapshot. For all FHIR defined types, the path name of the element will start with the type name. For logical models, where the type is a URL, the type name SHOULD start with the tail of the type URL where required. */ type: string; - _type?: Element; + _type?: Element|undefined; /** * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. */ url: string; - _url?: Element; + _url?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different structure definition instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the structure definition with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the StructureDefinition.derivation field @@ -29684,23 +29684,23 @@ export interface StructureMapStructure extends BackboneElement { /** * This is needed if both types have the same name (e.g. version conversion). */ - alias?: string; - _alias?: Element; + alias?: string|undefined; + _alias?: Element|undefined; /** * Documentation that describes how the structure is used in the mapping. */ - documentation?: string; - _documentation?: Element; + documentation?: string|undefined; + _documentation?: Element|undefined; /** * How the referenced structure is used in this mapping. */ mode: StructureMapStructureModeCodes; - _mode?: Element; + _mode?: Element|undefined; /** * The canonical reference to the structure. */ url: string; - _url?: Element; + _url?: Element|undefined; } /** * Code Values for the StructureMap.structure.mode field @@ -29718,23 +29718,23 @@ export interface StructureMapGroupInput extends BackboneElement { /** * Documentation for this instance of data. */ - documentation?: string; - _documentation?: Element; + documentation?: string|undefined; + _documentation?: Element|undefined; /** * Mode for this instance of data. */ mode: StructureMapGroupInputModeCodes; - _mode?: Element; + _mode?: Element|undefined; /** * Name for this instance of data. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * Type for this instance of data. */ - type?: string; - _type?: Element; + type?: string|undefined; + _type?: Element|undefined; } /** * Code Values for the StructureMap.group.input.mode field @@ -29750,272 +29750,272 @@ export interface StructureMapGroupRuleSource extends BackboneElement { /** * FHIRPath expression - must be true or the mapping engine throws an error instead of completing. */ - check?: string; - _check?: Element; + check?: string|undefined; + _check?: Element|undefined; /** * FHIRPath expression - must be true or the rule does not apply. */ - condition?: string; - _condition?: Element; + condition?: string|undefined; + _condition?: Element|undefined; /** * Type or variable this rule applies to. */ context: string; - _context?: Element; + _context?: Element|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueBase64Binary?: string; - _defaultValueBase64Binary?: Element; + defaultValueBase64Binary?: string|undefined; + _defaultValueBase64Binary?: Element|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueBoolean?: boolean; - _defaultValueBoolean?: Element; + defaultValueBoolean?: boolean|undefined; + _defaultValueBoolean?: Element|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueCanonical?: string; - _defaultValueCanonical?: Element; + defaultValueCanonical?: string|undefined; + _defaultValueCanonical?: Element|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueCode?: string; - _defaultValueCode?: Element; + defaultValueCode?: string|undefined; + _defaultValueCode?: Element|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueDate?: string; - _defaultValueDate?: Element; + defaultValueDate?: string|undefined; + _defaultValueDate?: Element|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueDateTime?: string; - _defaultValueDateTime?: Element; + defaultValueDateTime?: string|undefined; + _defaultValueDateTime?: Element|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueDecimal?: number; + defaultValueDecimal?: number|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueId?: string; - _defaultValueId?: Element; + defaultValueId?: string|undefined; + _defaultValueId?: Element|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueInstant?: string; - _defaultValueInstant?: Element; + defaultValueInstant?: string|undefined; + _defaultValueInstant?: Element|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueInteger?: number; + defaultValueInteger?: number|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueInteger64?: string; - _defaultValueInteger64?: Element; + defaultValueInteger64?: string|undefined; + _defaultValueInteger64?: Element|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueMarkdown?: string; - _defaultValueMarkdown?: Element; + defaultValueMarkdown?: string|undefined; + _defaultValueMarkdown?: Element|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueOid?: string; - _defaultValueOid?: Element; + defaultValueOid?: string|undefined; + _defaultValueOid?: Element|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValuePositiveInt?: number; + defaultValuePositiveInt?: number|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueString?: string; - _defaultValueString?: Element; + defaultValueString?: string|undefined; + _defaultValueString?: Element|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueTime?: string; - _defaultValueTime?: Element; + defaultValueTime?: string|undefined; + _defaultValueTime?: Element|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueUnsignedInt?: number; + defaultValueUnsignedInt?: number|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueUri?: string; - _defaultValueUri?: Element; + defaultValueUri?: string|undefined; + _defaultValueUri?: Element|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueUrl?: string; - _defaultValueUrl?: Element; + defaultValueUrl?: string|undefined; + _defaultValueUrl?: Element|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueUuid?: string; - _defaultValueUuid?: Element; + defaultValueUuid?: string|undefined; + _defaultValueUuid?: Element|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueAddress?: Address; + defaultValueAddress?: Address|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueAge?: Age; + defaultValueAge?: Age|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueAnnotation?: Annotation; + defaultValueAnnotation?: Annotation|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueAttachment?: Attachment; + defaultValueAttachment?: Attachment|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueCodeableConcept?: CodeableConcept; + defaultValueCodeableConcept?: CodeableConcept|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueCoding?: Coding; + defaultValueCoding?: Coding|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueContactPoint?: ContactPoint; + defaultValueContactPoint?: ContactPoint|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueCount?: Count; + defaultValueCount?: Count|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueDistance?: Distance; + defaultValueDistance?: Distance|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueDuration?: Duration; + defaultValueDuration?: Duration|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueHumanName?: HumanName; + defaultValueHumanName?: HumanName|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueIdentifier?: Identifier; + defaultValueIdentifier?: Identifier|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueMoney?: Money; + defaultValueMoney?: Money|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValuePeriod?: Period; + defaultValuePeriod?: Period|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueQuantity?: Quantity; + defaultValueQuantity?: Quantity|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueRange?: Range; + defaultValueRange?: Range|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueRatio?: Ratio; + defaultValueRatio?: Ratio|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueReference?: Reference; + defaultValueReference?: Reference|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueSampledData?: SampledData; + defaultValueSampledData?: SampledData|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueSignature?: Signature; + defaultValueSignature?: Signature|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueTiming?: Timing; + defaultValueTiming?: Timing|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueContactDetail?: ContactDetail; + defaultValueContactDetail?: ContactDetail|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueContributor?: Contributor; + defaultValueContributor?: Contributor|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueDataRequirement?: DataRequirement; + defaultValueDataRequirement?: DataRequirement|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueExpression?: Expression; + defaultValueExpression?: Expression|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueParameterDefinition?: ParameterDefinition; + defaultValueParameterDefinition?: ParameterDefinition|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueRelatedArtifact?: RelatedArtifact; + defaultValueRelatedArtifact?: RelatedArtifact|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueTriggerDefinition?: TriggerDefinition; + defaultValueTriggerDefinition?: TriggerDefinition|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueUsageContext?: UsageContext; + defaultValueUsageContext?: UsageContext|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueDosage?: Dosage; + defaultValueDosage?: Dosage|undefined; /** * If there's a default value on an item that can repeat, it will only be used once. */ - defaultValueMeta?: Meta; + defaultValueMeta?: Meta|undefined; /** * Optional field for this source. */ - element?: string; - _element?: Element; + element?: string|undefined; + _element?: Element|undefined; /** * How to handle the list mode for this element. */ - listMode?: StructureMapGroupRuleSourceListModeCodes; - _listMode?: Element; + listMode?: StructureMapGroupRuleSourceListModeCodes|undefined; + _listMode?: Element|undefined; /** * This is typically used for recording that something Is not transformed to the target for some reason. */ - logMessage?: string; - _logMessage?: Element; + logMessage?: string|undefined; + _logMessage?: Element|undefined; /** * Specified maximum cardinality for the element - a number or a "*". This is optional; if present, it acts an implicit check on the input content (* just serves as documentation; it's the default value). */ - max?: string; - _max?: Element; + max?: string|undefined; + _max?: Element|undefined; /** * Specified minimum cardinality for the element. This is optional; if present, it acts an implicit check on the input content. */ - min?: number; + min?: number|undefined; /** * Specified type for the element. This works as a condition on the mapping - use for polymorphic elements. */ - type?: string; - _type?: Element; + type?: string|undefined; + _type?: Element|undefined; /** * Named context for field, if a field is specified. */ - variable?: string; - _variable?: Element; + variable?: string|undefined; + _variable?: Element|undefined; } /** * Code Values for the StructureMap.group.rule.source.listMode field @@ -30034,26 +30034,26 @@ export interface StructureMapGroupRuleTargetParameter extends BackboneElement { /** * Parameter value - variable or literal. */ - valueId?: string; - _valueId?: Element; + valueId?: string|undefined; + _valueId?: Element|undefined; /** * Parameter value - variable or literal. */ - valueString?: string; - _valueString?: Element; + valueString?: string|undefined; + _valueString?: Element|undefined; /** * Parameter value - variable or literal. */ - valueBoolean?: boolean; - _valueBoolean?: Element; + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; /** * Parameter value - variable or literal. */ - valueInteger?: number; + valueInteger?: number|undefined; /** * Parameter value - variable or literal. */ - valueDecimal?: number; + valueDecimal?: number|undefined; } /** * Content to create because of this mapping rule. @@ -30062,37 +30062,37 @@ export interface StructureMapGroupRuleTarget extends BackboneElement { /** * Variable this rule applies to. */ - context?: string; - _context?: Element; + context?: string|undefined; + _context?: Element|undefined; /** * Field to create in the context. */ - element?: string; - _element?: Element; + element?: string|undefined; + _element?: Element|undefined; /** * If field is a list, how to manage the list. */ - listMode?: StructureMapGroupRuleTargetListModeCodes[]; - _listMode?: Element[]; + listMode?: StructureMapGroupRuleTargetListModeCodes[]|undefined; + _listMode?: Element[]|undefined; /** * Internal rule reference for shared list items. */ - listRuleId?: string; - _listRuleId?: Element; + listRuleId?: string|undefined; + _listRuleId?: Element|undefined; /** * Parameters to the transform. */ - parameter?: StructureMapGroupRuleTargetParameter[]; + parameter?: StructureMapGroupRuleTargetParameter[]|undefined; /** * How the data is copied / created. */ - transform?: StructureMapGroupRuleTargetTransformCodes; - _transform?: Element; + transform?: StructureMapGroupRuleTargetTransformCodes|undefined; + _transform?: Element|undefined; /** * Named context for field, if desired, and a field is specified. */ - variable?: string; - _variable?: Element; + variable?: string|undefined; + _variable?: Element|undefined; } /** * Code Values for the StructureMap.group.rule.target.listMode field @@ -30133,12 +30133,12 @@ export interface StructureMapGroupRuleDependent extends BackboneElement { * Name of a rule or group to apply. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * Variable to pass to the rule or group. */ variable: string[]; - _variable?: Element[]; + _variable?: Element[]|undefined; } /** * Transform Rule from source to target. @@ -30147,21 +30147,21 @@ export interface StructureMapGroupRule extends BackboneElement { /** * Which other rules to apply in the context of this rule. */ - dependent?: StructureMapGroupRuleDependent[]; + dependent?: StructureMapGroupRuleDependent[]|undefined; /** * Documentation for this instance of data. */ - documentation?: string; - _documentation?: Element; + documentation?: string|undefined; + _documentation?: Element|undefined; /** * Name of the rule for internal references. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Rules contained in this rule. */ - rule?: StructureMapGroupRule[]; + rule?: StructureMapGroupRule[]|undefined; /** * Source inputs to the mapping. */ @@ -30169,7 +30169,7 @@ export interface StructureMapGroupRule extends BackboneElement { /** * Content to create because of this mapping rule. */ - target?: StructureMapGroupRuleTarget[]; + target?: StructureMapGroupRuleTarget[]|undefined; } /** * Organizes the mapping into manageable chunks for human review/ease of maintenance. @@ -30178,13 +30178,13 @@ export interface StructureMapGroup extends BackboneElement { /** * Additional supporting documentation that explains the purpose of the group and the types of mappings within it. */ - documentation?: string; - _documentation?: Element; + documentation?: string|undefined; + _documentation?: Element|undefined; /** * Another group that this group adds rules to. */ - extends?: string; - _extends?: Element; + extends?: string|undefined; + _extends?: Element|undefined; /** * If no inputs are named, then the entry mappings are type based. */ @@ -30193,16 +30193,16 @@ export interface StructureMapGroup extends BackboneElement { * A unique name for the group for the convenience of human readers. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * Transform Rule from source to target. */ - rule?: StructureMapGroupRule[]; + rule?: StructureMapGroupRule[]|undefined; /** * Not applicable if the underlying model is untyped. There can only be one default mapping for any particular type combination. */ - typeMode?: StructureMapGroupTypeModeCodes; - _typeMode?: Element; + typeMode?: StructureMapGroupTypeModeCodes|undefined; + _typeMode?: Element|undefined; } /** * Code Values for the StructureMap.group.typeMode field @@ -30220,27 +30220,27 @@ export interface StructureMap extends DomainResource { /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * A copyright statement relating to the structure map and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the structure map. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the structure map. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * This description can be used to capture details such as why the structure map was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the structure map as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the structure map is presumed to be the predominant language in the place the structure map was created). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Allows filtering of structure maps that are appropriate for use versus not. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * Organizes the mapping into manageable chunks for human review/ease of maintenance. */ @@ -30248,61 +30248,61 @@ export interface StructureMap extends DomainResource { /** * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this structure map outside of FHIR, where it is not possible to use the logical URI. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Other maps used by this map (canonical URLs). */ - import?: string[]; - _import?: Element[]; + import?: string[]|undefined; + _import?: Element[]|undefined; /** * It may be possible for the structure map to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * Usually an organization but may be an individual. The publisher (or steward) of the structure map is the organization or individual primarily responsible for the maintenance and upkeep of the structure map. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the structure map. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * This element does not describe the usage of the structure map. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this structure map. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * Allows filtering of structure maps that are appropriate for use versus not. */ status: StructureMapStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * It is not necessary for a structure map to identify any dependent structures, though not listing them may restrict its usefulness. */ - structure?: StructureMapStructure[]; + structure?: StructureMapStructure[]|undefined; /** * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. */ url: string; - _url?: Element; + _url?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different structure map instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the structure map with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the StructureMap.status field @@ -30320,23 +30320,23 @@ export interface SubscriptionFilterBy extends BackboneElement { /** * If the element is a reference to another resource, this element contains "Reference", and the targetProfile element defines what resources can be referenced. The targetProfile may be a reference to the general definition of a resource (e.g. http://hl7.org/fhir/StructureDefinition/Patient). */ - resourceType?: string; - _resourceType?: Element; + resourceType?: string|undefined; + _resourceType?: Element|undefined; /** * The operator to apply to the filter value when determining matches (Search modifiers). */ - searchModifier?: SubscriptionFilterBySearchModifierCodes; - _searchModifier?: Element; + searchModifier?: SubscriptionFilterBySearchModifierCodes|undefined; + _searchModifier?: Element|undefined; /** * The filter label (=key) as defined in the `SubscriptionTopic.canfilterBy.searchParamName` element. */ searchParamName: string; - _searchParamName?: Element; + _searchParamName?: Element|undefined; /** * The literal value or resource path as is legal in search - for example, "Patient/123" or "le1950". */ value: string; - _value?: Element; + _value?: Element|undefined; } /** * Code Values for the Subscription.filterBy.searchModifier field @@ -30371,78 +30371,78 @@ export interface Subscription extends DomainResource { /** * Contact details for a human to contact about the subscription. The primary use of this for system administrator troubleshooting. */ - contact?: ContactPoint[]; + contact?: ContactPoint[]|undefined; /** * Sending the payload has obvious security implications. The server is responsible for ensuring that the content is appropriately secured. */ - content?: SubscriptionContentCodes; - _content?: Element; + content?: SubscriptionContentCodes|undefined; + _content?: Element|undefined; /** * The mime type to send the payload in - either application/fhir+xml, or application/fhir+json. The MIME types "text/plain" and "text/html" may also be used for Email subscriptions. */ - contentType?: string; - _contentType?: Element; + contentType?: string|undefined; + _contentType?: Element|undefined; /** * The server is permitted to deviate from this time but should observe it. */ - end?: string; - _end?: Element; + end?: string|undefined; + _end?: Element|undefined; /** * For rest-hook the end-point must be an http: or https: URL; for websocket ws: or wss:; for email, a mailto: url; and for message the endpoint can be in any form of url the server understands (usually, http/s: or mllp:). The URI is allowed to be relative; in which case, it is relative to the server end-point (since there may be more than one, clients should avoid using relative URIs). */ - endpoint?: string; - _endpoint?: Element; + endpoint?: string|undefined; + _endpoint?: Element|undefined; /** * The filter properties to be applied to narrow the subscription topic stream. When multiple filters are applied, evaluates to true if all the conditions are met; otherwise it returns false. (i.e., logical AND). */ - filterBy?: SubscriptionFilterBy[]; + filterBy?: SubscriptionFilterBy[]|undefined; /** * Exactly what these mean depend on the channel type. They can convey additional information to the recipient and/or meet security requirements; for example, support of multiple headers in the outgoing notifications for rest-hook type subscriptions. */ - header?: string[]; - _header?: Element[]; + header?: string[]|undefined; + _header?: Element[]|undefined; /** * If present, a 'hearbeat" notification (keepalive) is sent via this channel with an the interval period equal to this elements integer value in seconds. If not present, a heartbeat notification is not sent. */ - heartbeatPeriod?: number; + heartbeatPeriod?: number|undefined; /** * A formal identifier that is used to identify this code system when it is represented in other formats, or referenced in a specification, model, design or an instance. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * If present, the maximum number of triggering resources that will be included in a notification bundle (e.g., a server will not include more than this number of trigger resources in a single notification). Note that this is not a strict limit on the number of entries in a bundle, as dependent resources can be included. */ - maxCount?: number; + maxCount?: number|undefined; /** * A natural language name identifying the subscription. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * If present, where to place URLs of resources in notifications. */ - notificationUrlLocation?: SubscriptionNotificationUrlLocationCodes; - _notificationUrlLocation?: Element; + notificationUrlLocation?: SubscriptionNotificationUrlLocationCodes|undefined; + _notificationUrlLocation?: Element|undefined; /** * A description of why this subscription is defined. */ - reason?: string; - _reason?: Element; + reason?: string|undefined; + _reason?: Element|undefined; /** * A client can only submit subscription resources in the requested or off state. Only the server can move a subscription from requested to active, and then to error. Either the server or the client can turn a subscription off. * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: SubscriptionStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * If present, the maximum amount of time a server will allow before failing a notification attempt. */ - timeout?: number; + timeout?: number|undefined; /** * The reference to the subscription topic to be notified about. */ topic: string; - _topic?: Element; + _topic?: Element|undefined; } /** * Code Values for the Subscription.content field @@ -30480,21 +30480,21 @@ export interface SubscriptionStatus extends DomainResource { /** * Recommended practice: clear errors when status is updated. */ - error?: CodeableConcept[]; + error?: CodeableConcept[]|undefined; /** * The total number of actual events represented within this notification. For handshake and heartbeat notifications, this will be zero or not present. For event-notifications, this number may be one or more, depending on server batching. */ - eventsInNotification?: number; + eventsInNotification?: number|undefined; /** * The total number of actual events which have been generated since the Subscription was created (inclusive of this notification) - regardless of how many have been successfully communicated. This number is NOT incremented for handshake and heartbeat notifications. */ - eventsSinceSubscriptionStart?: string; - _eventsSinceSubscriptionStart?: Element; + eventsSinceSubscriptionStart?: string|undefined; + _eventsSinceSubscriptionStart?: Element|undefined; /** * The status of the subscription, which marks the server state for managing the subscription. */ - status?: SubscriptionStatusStatusCodes; - _status?: Element; + status?: SubscriptionStatusStatusCodes|undefined; + _status?: Element|undefined; /** * The reference to the Subscription which generated this notification. */ @@ -30503,12 +30503,12 @@ export interface SubscriptionStatus extends DomainResource { * The reference to the SubscriptionTopic for the Subscription which generated this notification. */ topic: string; - _topic?: Element; + _topic?: Element|undefined; /** * The type of event being conveyed with this notificaiton. */ type: SubscriptionStatusTypeCodes; - _type?: Element; + _type?: Element|undefined; } /** * Code Values for the SubscriptionStatus.status field @@ -30536,28 +30536,28 @@ export interface SubscriptionTopicResourceTriggerQueryCriteria extends BackboneE /** * The rules are search criteria (without the [base] part). Like Bundle.entry.request.url, it has no leading "/". */ - current?: string; - _current?: Element; + current?: string|undefined; + _current?: Element|undefined; /** * The rules are search criteria (without the [base] part). Like Bundle.entry.request.url, it has no leading "/". */ - previous?: string; - _previous?: Element; + previous?: string|undefined; + _previous?: Element|undefined; /** * If set to true, both current and previous criteria must evaluate true to trigger a notification for this topic. Otherwise a notification for this topic will be triggered if either one evaluates to true. */ - requireBoth?: boolean; - _requireBoth?: Element; + requireBoth?: boolean|undefined; + _requireBoth?: Element|undefined; /** * What behavior a server will exhibit if the previous state of a resource does NOT exist (e.g., during a CREATE). */ - resultForCreate?: SubscriptionTopicResourceTriggerQueryCriteriaResultForCreateCodes; - _resultForCreate?: Element; + resultForCreate?: SubscriptionTopicResourceTriggerQueryCriteriaResultForCreateCodes|undefined; + _resultForCreate?: Element|undefined; /** * What behavior a server will exhibit if the current state of a resource does NOT exist (e.g., during a DELETE). */ - resultForDelete?: SubscriptionTopicResourceTriggerQueryCriteriaResultForDeleteCodes; - _resultForDelete?: Element; + resultForDelete?: SubscriptionTopicResourceTriggerQueryCriteriaResultForDeleteCodes|undefined; + _resultForDelete?: Element|undefined; } /** * Code Values for the SubscriptionTopic.resourceTrigger.queryCriteria.resultForCreate field @@ -30580,18 +30580,18 @@ export interface SubscriptionTopicResourceTriggerCanFilterBy extends BackboneEle /** * Description of how this filter parameter is intended to be used. */ - documentation?: string; - _documentation?: Element; + documentation?: string|undefined; + _documentation?: Element|undefined; /** * Allowable operators to apply when determining matches (Search Modifiers). */ - searchModifier?: SubscriptionTopicResourceTriggerCanFilterBySearchModifierCodes[]; - _searchModifier?: Element[]; + searchModifier?: SubscriptionTopicResourceTriggerCanFilterBySearchModifierCodes[]|undefined; + _searchModifier?: Element[]|undefined; /** * Chained parameters are allowed (like "patient.gender") - but can not use colons or modifiers. */ - searchParamName?: string; - _searchParamName?: Element; + searchParamName?: string|undefined; + _searchParamName?: Element|undefined; } /** * Code Values for the SubscriptionTopic.resourceTrigger.canFilterBy.searchModifier field @@ -30620,31 +30620,31 @@ export interface SubscriptionTopicResourceTrigger extends BackboneElement { /** * List of properties by which Subscriptions on the subscription topic can be filtered. */ - canFilterBy?: SubscriptionTopicResourceTriggerCanFilterBy[]; + canFilterBy?: SubscriptionTopicResourceTriggerCanFilterBy[]|undefined; /** * Implementation of particular subscription topics might not use a computable definition and instead base their design on the definition. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * FHIRPath expression with %previous and %current vars. */ - fhirPathCriteria?: string[]; - _fhirPathCriteria?: Element[]; + fhirPathCriteria?: string[]|undefined; + _fhirPathCriteria?: Element[]|undefined; /** * The REST interaction based rules that the server should use to determine when to trigger a notification for this topic. */ - methodCriteria?: SubscriptionTopicResourceTriggerMethodCriteriaCodes[]; - _methodCriteria?: Element[]; + methodCriteria?: SubscriptionTopicResourceTriggerMethodCriteriaCodes[]|undefined; + _methodCriteria?: Element[]|undefined; /** * The FHIR query based rules that the server should use to determine when to trigger a notification for this subscription topic. */ - queryCriteria?: SubscriptionTopicResourceTriggerQueryCriteria; + queryCriteria?: SubscriptionTopicResourceTriggerQueryCriteria|undefined; /** * URL of the Resource that is the type used in this trigger. Relative URLs are relative to the StructureDefinition root of the implemented FHIR version (e.g., http://hl7.org/fhir/StructureDefinition). For example, "Patient" maps to http://hl7.org/fhir/StructureDefinition/Patient. For more information, see ElementDefinition.type.code. */ - resourceType?: string; - _resourceType?: Element; + resourceType?: string|undefined; + _resourceType?: Element|undefined; } /** * Code Values for the SubscriptionTopic.resourceTrigger.methodCriteria field @@ -30663,92 +30663,92 @@ export interface SubscriptionTopic extends DomainResource { /** * The date may be more recent than the approval date because of minor changes / editorial corrections. */ - approvalDate?: string; - _approvalDate?: Element; + approvalDate?: string|undefined; + _approvalDate?: Element|undefined; /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * A copyright statement relating to the SubscriptionTopic and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the SubscriptionTopic. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * For draft definitions, indicates the date of initial creation. For active definitions, represents the date of activation. For withdrawn definitions, indicates the date of withdrawal. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * The canonical URL pointing to another FHIR-defined SubscriptionTopic that is adhered to in whole or in part by this SubscriptionTopic. */ - derivedFrom?: string[]; - _derivedFrom?: Element[]; + derivedFrom?: string[]|undefined; + _derivedFrom?: Element[]|undefined; /** * This description can be used to capture details such as why the Topic was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the module as conveyed in the text field of the resource itself. This item SHOULD be populated unless the information is available from context. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * The effective period for a SubscriptionTopic determines when the content is applicable for usage and is independent of publication and review dates. For example, a measure intended to be used for the year 2016 would be published in 2015. */ - effectivePeriod?: Period; + effectivePeriod?: Period|undefined; /** * Allows filtering of SubscriptionTopic that are appropriate for use vs. not. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * Note: This is a business identifier, not a resource identifier (see [discussion](resource.html#identifiers)). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and a Person resource instance might share the same social insurance number. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * A jurisdiction in which the Topic is intended to be used. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * If specified, this is usually after the approval date. */ - lastReviewDate?: string; - _lastReviewDate?: Element; + lastReviewDate?: string|undefined; + _lastReviewDate?: Element|undefined; /** * Helps establish the "authority/credibility" of the SubscriptionTopic. May also allow for contact. */ - publisher?: Reference; + publisher?: Reference|undefined; /** * This element does not describe the usage of the Topic. Rather it is for traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this Topic. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * The criteria for including updates to a nominated resource in the subscription topic. Thie criteria may be just a human readable description and/or a full FHIR search string or FHIRPath expression. */ - resourceTrigger?: SubscriptionTopicResourceTrigger[]; + resourceTrigger?: SubscriptionTopicResourceTrigger[]|undefined; /** * A nominal state-transition diagram can be found in the [[definition.html#statemachine | Definition pattern]] documentation * Unknown does not represent "other" - one of the defined statuses must apply. Unknown is used when the authoring system is not sure what the current status is. */ status: SubscriptionTopicStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * A short, descriptive, user-friendly title for the SubscriptionTopic, for example, "admission". */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred. This is the URI that will be used when making canonical references to this resource. */ url: string; - _url?: Element; + _url?: Element|undefined; /** * When multiple usageContexts are specified, there is no expectation for whether all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be multiple different instances of a SubscriptionTopic that have the same identifier but different versions. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the SubscriptionTopic.status field @@ -30766,15 +30766,15 @@ export interface SubstanceIngredient extends BackboneElement { /** * The amount of the ingredient in the substance - a concentration ratio. */ - quantity?: Ratio; + quantity?: Ratio|undefined; /** * Another substance that is a component of this substance. */ - substanceCodeableConcept?: CodeableConcept; + substanceCodeableConcept?: CodeableConcept|undefined; /** * Another substance that is a component of this substance. */ - substanceReference?: Reference; + substanceReference?: Reference|undefined; } /** * A homogeneous material with a definite composition. @@ -30785,7 +30785,7 @@ export interface Substance extends DomainResource { /** * The level of granularity is defined by the category concepts in the value set. More fine-grained filtering can be performed using the metadata and/or terminology hierarchy in Substance.code. */ - category?: CodeableConcept[]; + category?: CodeableConcept[]|undefined; /** * This could be a reference to an externally defined code. It could also be a locally assigned code (e.g. a formulary), optionally with translations to the standard drug codes. */ @@ -30793,35 +30793,35 @@ export interface Substance extends DomainResource { /** * A description of the substance - its appearance, handling requirements, and other usage notes. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * When the substance is no longer valid to use. For some substances, a single arbitrary date is used for expiry. */ - expiry?: string; - _expiry?: Element; + expiry?: string|undefined; + _expiry?: Element|undefined; /** * This identifier is associated with the kind of substance in contrast to the Substance.instance.identifier which is associated with the package/container. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * A substance can be composed of other substances. */ - ingredient?: SubstanceIngredient[]; + ingredient?: SubstanceIngredient[]|undefined; /** * A boolean to indicate if this an instance of a substance or a kind of one (a definition). */ instance: boolean; - _instance?: Element; + _instance?: Element|undefined; /** * The amount of the substance. */ - quantity?: Quantity; + quantity?: Quantity|undefined; /** * A code to indicate if the substance is actively used. */ - status?: SubstanceStatusCodes; - _status?: Element; + status?: SubstanceStatusCodes|undefined; + _status?: Element|undefined; } /** * Code Values for the Substance.status field @@ -30838,42 +30838,42 @@ export interface SubstanceDefinitionMoiety extends BackboneElement { /** * Quantitative value for this moiety. */ - amountQuantity?: Quantity; + amountQuantity?: Quantity|undefined; /** * Quantitative value for this moiety. */ - amountString?: string; - _amountString?: Element; + amountString?: string|undefined; + _amountString?: Element|undefined; /** * The measurement type of the quantitative value. */ - amountType?: CodeableConcept; + amountType?: CodeableConcept|undefined; /** * Identifier by which this moiety substance is known. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * Molecular formula for this moiety of this substance, typically using the Hill system. */ - molecularFormula?: string; - _molecularFormula?: Element; + molecularFormula?: string|undefined; + _molecularFormula?: Element|undefined; /** * Textual name for this moiety substance. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Optical activity type. */ - opticalActivity?: CodeableConcept; + opticalActivity?: CodeableConcept|undefined; /** * Role that the moiety is playing. */ - role?: CodeableConcept; + role?: CodeableConcept|undefined; /** * Stereochemistry type. */ - stereochemistry?: CodeableConcept; + stereochemistry?: CodeableConcept|undefined; } /** * General specifications for this substance, including how it is related to other substances. @@ -30882,37 +30882,37 @@ export interface SubstanceDefinitionProperty extends BackboneElement { /** * Quantitative value for this property. */ - amountQuantity?: Quantity; + amountQuantity?: Quantity|undefined; /** * Quantitative value for this property. */ - amountString?: string; - _amountString?: Element; + amountString?: string|undefined; + _amountString?: Element|undefined; /** * A category for this property, e.g. Physical, Chemical, Enzymatic. */ - category?: CodeableConcept; + category?: CodeableConcept|undefined; /** * Property type e.g. viscosity, pH, isoelectric point. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * A substance upon which a defining property depends (e.g. for solubility: in water, in alcohol). */ - definingSubstance?: CodeableReference; + definingSubstance?: CodeableReference|undefined; /** * Parameters that were used in the measurement of a property (e.g. for viscosity: measured at 20C with a pH of 7.1). */ - parameters?: string; - _parameters?: Element; + parameters?: string|undefined; + _parameters?: Element|undefined; /** * Range of typical values. */ - referenceRange?: Range; + referenceRange?: Range|undefined; /** * Supporting literature. */ - source?: Reference[]; + source?: Reference[]|undefined; } /** * The molecular weight or weight range (for proteins, polymers or nucleic acids). @@ -30921,15 +30921,15 @@ export interface SubstanceDefinitionStructureIsotopeMolecularWeight extends Back /** * Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field. */ - amount?: Quantity; + amount?: Quantity|undefined; /** * The method by which the molecular weight was determined. */ - method?: CodeableConcept; + method?: CodeableConcept|undefined; /** * Type of molecular weight such as exact, average (also known as. number average), weight average. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Applicable for single substances that contain a radionuclide or a non-natural isotopic ratio. @@ -30938,23 +30938,23 @@ export interface SubstanceDefinitionStructureIsotope extends BackboneElement { /** * Half life - for a non-natural nuclide. */ - halfLife?: Quantity; + halfLife?: Quantity|undefined; /** * Substance identifier for each non-natural or radioisotope. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * The molecular weight or weight range (for proteins, polymers or nucleic acids). */ - molecularWeight?: SubstanceDefinitionStructureIsotopeMolecularWeight; + molecularWeight?: SubstanceDefinitionStructureIsotopeMolecularWeight|undefined; /** * Substance name for each non-natural or radioisotope. */ - name?: CodeableConcept; + name?: CodeableConcept|undefined; /** * The type of isotopic substitution present in a single substance. */ - substitution?: CodeableConcept; + substitution?: CodeableConcept|undefined; } /** * A depiction of the structure or characterization of the substance. @@ -30963,20 +30963,20 @@ export interface SubstanceDefinitionStructureRepresentation extends BackboneElem /** * An attached file with the structural representation or characterization e.g. a molecular structure graphic of the substance, a JCAMP or AnIML file. */ - document?: Reference; + document?: Reference|undefined; /** * The format of the representation e.g. InChI, SMILES, MOLFILE, CDX, SDF, PDB, mmCIF. The logical content type rather than the physical file format of a document. */ - format?: CodeableConcept; + format?: CodeableConcept|undefined; /** * The structural representation or characterization as a text string in a standard format. */ - representation?: string; - _representation?: Element; + representation?: string|undefined; + _representation?: Element|undefined; /** * The kind of structural representation (e.g. full, partial) or the technique used to derive the analytical characterization of the substance (e.g. x-ray, HPLC, NMR, peptide mapping, ligand binding assay, etc.). */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Structural information. @@ -30985,41 +30985,41 @@ export interface SubstanceDefinitionStructure extends BackboneElement { /** * Applicable for single substances that contain a radionuclide or a non-natural isotopic ratio. */ - isotope?: SubstanceDefinitionStructureIsotope[]; + isotope?: SubstanceDefinitionStructureIsotope[]|undefined; /** * Molecular formula of this substance, typically using the Hill system. */ - molecularFormula?: string; - _molecularFormula?: Element; + molecularFormula?: string|undefined; + _molecularFormula?: Element|undefined; /** * Specified per moiety according to the Hill system, i.e. first C, then H, then alphabetical, each moiety separated by a dot. */ - molecularFormulaByMoiety?: string; - _molecularFormulaByMoiety?: Element; + molecularFormulaByMoiety?: string|undefined; + _molecularFormulaByMoiety?: Element|undefined; /** * The molecular weight or weight range (for proteins, polymers or nucleic acids). */ - molecularWeight?: SubstanceDefinitionStructureIsotopeMolecularWeight; + molecularWeight?: SubstanceDefinitionStructureIsotopeMolecularWeight|undefined; /** * Optical activity type. */ - opticalActivity?: CodeableConcept; + opticalActivity?: CodeableConcept|undefined; /** * A depiction of the structure or characterization of the substance. */ - representation?: SubstanceDefinitionStructureRepresentation[]; + representation?: SubstanceDefinitionStructureRepresentation[]|undefined; /** * Supporting literature about the source of information. */ - sourceDocument?: Reference[]; + sourceDocument?: Reference[]|undefined; /** * Stereochemistry type. */ - stereochemistry?: CodeableConcept; + stereochemistry?: CodeableConcept|undefined; /** * The method used to elucidate the structure or characterization of the drug substance. Examples: X-ray, HPLC, NMR, Peptide mapping, Ligand binding assay. */ - technique?: CodeableConcept[]; + technique?: CodeableConcept[]|undefined; } /** * Codes associated with the substance. @@ -31028,24 +31028,24 @@ export interface SubstanceDefinitionCode extends BackboneElement { /** * The specific code. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * Any comment can be provided in this field, if necessary. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * Supporting literature. */ - source?: Reference[]; + source?: Reference[]|undefined; /** * Status of the code assignment, for example 'provisional', 'approved'. */ - status?: CodeableConcept; + status?: CodeableConcept|undefined; /** * The date at which the code status is changed as part of the terminology maintenance. */ - statusDate?: string; - _statusDate?: Element; + statusDate?: string|undefined; + _statusDate?: Element|undefined; } /** * Details of the official nature of this name. @@ -31054,16 +31054,16 @@ export interface SubstanceDefinitionNameOfficial extends BackboneElement { /** * Which authority uses this official name. */ - authority?: CodeableConcept; + authority?: CodeableConcept|undefined; /** * Date of official name change. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * The status of the official name, for example 'provisional', 'approved'. */ - status?: CodeableConcept; + status?: CodeableConcept|undefined; } /** * Names applicable to this substance. @@ -31072,49 +31072,49 @@ export interface SubstanceDefinitionName extends BackboneElement { /** * The use context of this name for example if there is a different name a drug active ingredient as opposed to a food colour additive. */ - domain?: CodeableConcept[]; + domain?: CodeableConcept[]|undefined; /** * The jurisdiction where this name applies. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * Human language that the name is written in. */ - language?: CodeableConcept[]; + language?: CodeableConcept[]|undefined; /** * The actual name. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * Details of the official nature of this name. */ - official?: SubstanceDefinitionNameOfficial[]; + official?: SubstanceDefinitionNameOfficial[]|undefined; /** * If this is the preferred name for this substance. */ - preferred?: boolean; - _preferred?: Element; + preferred?: boolean|undefined; + _preferred?: Element|undefined; /** * Supporting literature. */ - source?: Reference[]; + source?: Reference[]|undefined; /** * The status of the name, for example 'current', 'proposed'. */ - status?: CodeableConcept; + status?: CodeableConcept|undefined; /** * A synonym of this particular name, by which the substance is also known. */ - synonym?: SubstanceDefinitionName[]; + synonym?: SubstanceDefinitionName[]|undefined; /** * A translation for this name into another human language. */ - translation?: SubstanceDefinitionName[]; + translation?: SubstanceDefinitionName[]|undefined; /** * Name type, for example 'systematic', 'scientific, 'brand'. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * A link between this substance and another, with details of the relationship. @@ -31123,49 +31123,49 @@ export interface SubstanceDefinitionRelationship extends BackboneElement { /** * A numeric factor for the relationship, for instance to express that the salt of a substance has some percentage of the active substance in relation to some other. */ - amountQuantity?: Quantity; + amountQuantity?: Quantity|undefined; /** * A numeric factor for the relationship, for instance to express that the salt of a substance has some percentage of the active substance in relation to some other. */ - amountRange?: Range; + amountRange?: Range|undefined; /** * A numeric factor for the relationship, for instance to express that the salt of a substance has some percentage of the active substance in relation to some other. */ - amountRatio?: Ratio; + amountRatio?: Ratio|undefined; /** * A numeric factor for the relationship, for instance to express that the salt of a substance has some percentage of the active substance in relation to some other. */ - amountString?: string; - _amountString?: Element; + amountString?: string|undefined; + _amountString?: Element|undefined; /** * For use when the numeric has an uncertain range. */ - amountRatioHighLimit?: Ratio; + amountRatioHighLimit?: Ratio|undefined; /** * An operator for the amount, for example "average", "approximately", "less than". */ - amountType?: CodeableConcept; + amountType?: CodeableConcept|undefined; /** * For example where an enzyme strongly bonds with a particular substance, this is a defining relationship for that enzyme, out of several possible substance relationships. */ - isDefining?: boolean; - _isDefining?: Element; + isDefining?: boolean|undefined; + _isDefining?: Element|undefined; /** * Supporting literature. */ - source?: Reference[]; + source?: Reference[]|undefined; /** * A pointer to another substance, as a resource or just a representational code. */ - substanceDefinitionReference?: Reference; + substanceDefinitionReference?: Reference|undefined; /** * A pointer to another substance, as a resource or just a representational code. */ - substanceDefinitionCodeableConcept?: CodeableConcept; + substanceDefinitionCodeableConcept?: CodeableConcept|undefined; /** * For example "salt to parent", "active moiety", "starting material", "polymorph", "impurity of". */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Material or taxonomic/anatomical source for the substance. @@ -31174,23 +31174,23 @@ export interface SubstanceDefinitionSourceMaterial extends BackboneElement { /** * The country or countries where the material is harvested. */ - countryOfOrigin?: CodeableConcept[]; + countryOfOrigin?: CodeableConcept[]|undefined; /** * The genus of an organism, typically referring to the Latin epithet of the genus element of the plant/animal scientific name. */ - genus?: CodeableConcept; + genus?: CodeableConcept|undefined; /** * An anatomical origin of the source material within an organism. */ - part?: CodeableConcept; + part?: CodeableConcept|undefined; /** * The species of an organism, typically referring to the Latin epithet of the species of the plant/animal. */ - species?: CodeableConcept; + species?: CodeableConcept|undefined; /** * A classification that provides the origin of the raw material. Example: cat hair would be an Animal source type. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * The detailed description of a substance, typically at a level beyond what is used for prescribing. @@ -31201,101 +31201,101 @@ export interface SubstanceDefinition extends DomainResource { /** * High level categorization, e.g. polymer or nucleic acid, or food, chemical, biological. */ - category?: CodeableConcept; + category?: CodeableConcept|undefined; /** * A lower level classification than category, such as the general types of polymer (linear or branch chain) or type of impurity (process related or contaminant). */ - classification?: CodeableConcept[]; + classification?: CodeableConcept[]|undefined; /** * Codes associated with the substance. */ - code?: SubstanceDefinitionCode[]; + code?: SubstanceDefinitionCode[]|undefined; /** * Textual description of the substance. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * If the substance applies to only human or veterinary use. */ - domain?: CodeableConcept; + domain?: CodeableConcept|undefined; /** * The quality standard, established benchmark, to which substance complies (e.g. USP/NF, Ph. Eur, JP, BP, Company Standard). */ - grade?: CodeableConcept[]; + grade?: CodeableConcept[]|undefined; /** * Identifier by which this substance is known. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * A company that makes this substance. */ - manufacturer?: Reference[]; + manufacturer?: Reference[]|undefined; /** * Moiety, for structural modifications. */ - moiety?: SubstanceDefinitionMoiety[]; + moiety?: SubstanceDefinitionMoiety[]|undefined; /** * The molecular weight or weight range (for proteins, polymers or nucleic acids). */ - molecularWeight?: SubstanceDefinitionStructureIsotopeMolecularWeight[]; + molecularWeight?: SubstanceDefinitionStructureIsotopeMolecularWeight[]|undefined; /** * Names applicable to this substance. */ - name?: SubstanceDefinitionName[]; + name?: SubstanceDefinitionName[]|undefined; /** * Textual comment about the substance's catalogue or registry record. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * Data items specific to nucleic acids. */ - nucleicAcid?: Reference; + nucleicAcid?: Reference|undefined; /** * Data items specific to polymers. */ - polymer?: Reference; + polymer?: Reference|undefined; /** * General specifications for this substance, including how it is related to other substances. */ - property?: SubstanceDefinitionProperty[]; + property?: SubstanceDefinitionProperty[]|undefined; /** * Data items specific to proteins. */ - protein?: Reference; + protein?: Reference|undefined; /** * General information detailing this substance. */ - referenceInformation?: Reference; + referenceInformation?: Reference|undefined; /** * A link between this substance and another, with details of the relationship. */ - relationship?: SubstanceDefinitionRelationship[]; + relationship?: SubstanceDefinitionRelationship[]|undefined; /** * Supporting literature. */ - source?: Reference[]; + source?: Reference[]|undefined; /** * Material or taxonomic/anatomical source for the substance. */ - sourceMaterial?: SubstanceDefinitionSourceMaterial; + sourceMaterial?: SubstanceDefinitionSourceMaterial|undefined; /** * Status of substance within the catalogue e.g. approved. */ - status?: CodeableConcept; + status?: CodeableConcept|undefined; /** * Structural information. */ - structure?: SubstanceDefinitionStructure; + structure?: SubstanceDefinitionStructure|undefined; /** * A company that supplies this substance. */ - supplier?: Reference[]; + supplier?: Reference[]|undefined; /** * A business level identifier of the substance. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * The linkages between sugar residues will also be captured. @@ -31304,22 +31304,22 @@ export interface SubstanceNucleicAcidSubunitLinkage extends BackboneElement { /** * The entity that links the sugar residues together should also be captured for nearly all naturally occurring nucleic acid the linkage is a phosphate group. For many synthetic oligonucleotides phosphorothioate linkages are often seen. Linkage connectivity is assumed to be 3’-5’. If the linkage is either 3’-3’ or 5’-5’ this should be specified. */ - connectivity?: string; - _connectivity?: Element; + connectivity?: string|undefined; + _connectivity?: Element|undefined; /** * Each linkage will be registered as a fragment and have an ID. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * Each linkage will be registered as a fragment and have at least one name. A single name shall be assigned to each linkage. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Residues shall be captured as described in 5.3.6.8.3. */ - residueSite?: string; - _residueSite?: Element; + residueSite?: string|undefined; + _residueSite?: Element|undefined; } /** * 5.3.6.8.1 Sugar ID (Mandatory). @@ -31328,17 +31328,17 @@ export interface SubstanceNucleicAcidSubunitSugar extends BackboneElement { /** * The Substance ID of the sugar or sugar-like component that make up the nucleotide. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * The name of the sugar or sugar-like component that make up the nucleotide. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * The residues that contain a given sugar will be captured. The order of given residues will be captured in the 5‘-3‘direction consistent with the base sequences listed above. */ - residueSite?: string; - _residueSite?: Element; + residueSite?: string|undefined; + _residueSite?: Element|undefined; } /** * Subunits are listed in order of decreasing length; sequences of the same length will be ordered by molecular weight; subunits that have identical sequences will be repeated multiple times. @@ -31347,36 +31347,36 @@ export interface SubstanceNucleicAcidSubunit extends BackboneElement { /** * The nucleotide present at the 5’ terminal shall be specified based on a controlled vocabulary. Since the sequence is represented from the 5' to the 3' end, the 5’ prime nucleotide is the letter at the first position in the sequence. A separate representation would be redundant. */ - fivePrime?: CodeableConcept; + fivePrime?: CodeableConcept|undefined; /** * The length of the sequence shall be captured. */ - length?: number; + length?: number|undefined; /** * The linkages between sugar residues will also be captured. */ - linkage?: SubstanceNucleicAcidSubunitLinkage[]; + linkage?: SubstanceNucleicAcidSubunitLinkage[]|undefined; /** * Actual nucleotide sequence notation from 5' to 3' end using standard single letter codes. In addition to the base sequence, sugar and type of phosphate or non-phosphate linkage should also be captured. */ - sequence?: string; - _sequence?: Element; + sequence?: string|undefined; + _sequence?: Element|undefined; /** * (TBC). */ - sequenceAttachment?: Attachment; + sequenceAttachment?: Attachment|undefined; /** * Index of linear sequences of nucleic acids in order of decreasing length. Sequences of the same length will be ordered by molecular weight. Subunits that have identical sequences will be repeated and have sequential subscripts. */ - subunit?: number; + subunit?: number|undefined; /** * 5.3.6.8.1 Sugar ID (Mandatory). */ - sugar?: SubstanceNucleicAcidSubunitSugar[]; + sugar?: SubstanceNucleicAcidSubunitSugar[]|undefined; /** * The nucleotide present at the 3’ terminal shall be specified based on a controlled vocabulary. Since the sequence is represented from the 5' to the 3' end, the 5’ prime nucleotide is the letter at the last position in the sequence. A separate representation would be redundant. */ - threePrime?: CodeableConcept; + threePrime?: CodeableConcept|undefined; } /** * Nucleic acids are defined by three distinct elements: the base, sugar and linkage. Individual substance/moiety IDs will be created for each of these elements. The nucleotide sequence will be always entered in the 5’-3’ direction. @@ -31387,24 +31387,24 @@ export interface SubstanceNucleicAcid extends DomainResource { /** * The area of hybridisation shall be described if applicable for double stranded RNA or DNA. The number associated with the subunit followed by the number associated to the residue shall be specified in increasing order. The underscore “” shall be used as separator as follows: “Subunitnumber Residue”. */ - areaOfHybridisation?: string; - _areaOfHybridisation?: Element; + areaOfHybridisation?: string|undefined; + _areaOfHybridisation?: Element|undefined; /** * The number of linear sequences of nucleotides linked through phosphodiester bonds shall be described. Subunits would be strands of nucleic acids that are tightly associated typically through Watson-Crick base pairing. NOTE: If not specified in the reference source, the assumption is that there is 1 subunit. */ - numberOfSubunits?: number; + numberOfSubunits?: number|undefined; /** * (TBC). */ - oligoNucleotideType?: CodeableConcept; + oligoNucleotideType?: CodeableConcept|undefined; /** * The type of the sequence shall be specified based on a controlled vocabulary. */ - sequenceType?: CodeableConcept; + sequenceType?: CodeableConcept|undefined; /** * Subunits are listed in order of decreasing length; sequences of the same length will be ordered by molecular weight; subunits that have identical sequences will be repeated multiple times. */ - subunit?: SubstanceNucleicAcidSubunit[]; + subunit?: SubstanceNucleicAcidSubunit[]|undefined; } /** * The starting materials - monomer(s) used in the synthesis of the polymer. @@ -31413,20 +31413,20 @@ export interface SubstancePolymerMonomerSetStartingMaterial extends BackboneElem /** * A percentage. */ - amount?: Quantity; + amount?: Quantity|undefined; /** * Substance high level category, e.g. chemical substance. */ - category?: CodeableConcept; + category?: CodeableConcept|undefined; /** * The type of substance for this starting material. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * Used to specify whether the attribute described is a defining element for the unique identification of the polymer. */ - isDefining?: boolean; - _isDefining?: Element; + isDefining?: boolean|undefined; + _isDefining?: Element|undefined; } /** * Todo. @@ -31435,11 +31435,11 @@ export interface SubstancePolymerMonomerSet extends BackboneElement { /** * Captures the type of ratio to the entire polymer, e.g. Monomer/Polymer ratio, SRU/Polymer Ratio. */ - ratioType?: CodeableConcept; + ratioType?: CodeableConcept|undefined; /** * The starting materials - monomer(s) used in the synthesis of the polymer. */ - startingMaterial?: SubstancePolymerMonomerSetStartingMaterial[]; + startingMaterial?: SubstancePolymerMonomerSetStartingMaterial[]|undefined; } /** * Applies to homopolymer and block co-polymers where the degree of polymerisation within a block can be described. @@ -31448,19 +31448,19 @@ export interface SubstancePolymerRepeatRepeatUnitDegreeOfPolymerisation extends /** * An average amount of polymerisation. */ - average?: number; + average?: number|undefined; /** * A high expected limit of the amount. */ - high?: number; + high?: number|undefined; /** * A low expected limit of the amount. */ - low?: number; + low?: number|undefined; /** * The type of the degree of polymerisation shall be described, e.g. SRU/Polymer Ratio. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * A graphical structure for this SRU. @@ -31469,20 +31469,20 @@ export interface SubstancePolymerRepeatRepeatUnitStructuralRepresentation extend /** * An attached file with the structural representation. */ - attachment?: Attachment; + attachment?: Attachment|undefined; /** * The format of the representation e.g. InChI, SMILES, MOLFILE, CDX, SDF, PDB, mmCIF. */ - format?: CodeableConcept; + format?: CodeableConcept|undefined; /** * The structural representation as text string in a standard format e.g. InChI, SMILES, MOLFILE, CDX, SDF, PDB, mmCIF. */ - representation?: string; - _representation?: Element; + representation?: string|undefined; + _representation?: Element|undefined; /** * The type of structure (e.g. Full, Partial, Representative). */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * An SRU - Structural Repeat Unit. @@ -31491,24 +31491,24 @@ export interface SubstancePolymerRepeatRepeatUnit extends BackboneElement { /** * Number of repeats of this unit. */ - amount?: number; + amount?: number|undefined; /** * Applies to homopolymer and block co-polymers where the degree of polymerisation within a block can be described. */ - degreeOfPolymerisation?: SubstancePolymerRepeatRepeatUnitDegreeOfPolymerisation[]; + degreeOfPolymerisation?: SubstancePolymerRepeatRepeatUnitDegreeOfPolymerisation[]|undefined; /** * The orientation of the polymerisation, e.g. head-tail, head-head, random. */ - orientation?: CodeableConcept; + orientation?: CodeableConcept|undefined; /** * A graphical structure for this SRU. */ - structuralRepresentation?: SubstancePolymerRepeatRepeatUnitStructuralRepresentation[]; + structuralRepresentation?: SubstancePolymerRepeatRepeatUnitStructuralRepresentation[]|undefined; /** * Structural repeat units are essential elements for defining polymers. */ - unit?: string; - _unit?: Element; + unit?: string|undefined; + _unit?: Element|undefined; } /** * Specifies and quantifies the repeated units and their configuration. @@ -31517,16 +31517,16 @@ export interface SubstancePolymerRepeat extends BackboneElement { /** * A representation of an (average) molecular formula from a polymer. */ - averageMolecularFormula?: string; - _averageMolecularFormula?: Element; + averageMolecularFormula?: string|undefined; + _averageMolecularFormula?: Element|undefined; /** * An SRU - Structural Repeat Unit. */ - repeatUnit?: SubstancePolymerRepeatRepeatUnit[]; + repeatUnit?: SubstancePolymerRepeatRepeatUnit[]|undefined; /** * How the quantitative amount of Structural Repeat Units is captured (e.g. Exact, Numeric, Average). */ - repeatUnitAmountType?: CodeableConcept; + repeatUnitAmountType?: CodeableConcept|undefined; } /** * Properties of a substance specific to it being a polymer. @@ -31537,32 +31537,32 @@ export interface SubstancePolymer extends DomainResource { /** * Overall type of the polymer. */ - class?: CodeableConcept; + class?: CodeableConcept|undefined; /** * Descrtibes the copolymer sequence type (polymer connectivity). */ - copolymerConnectivity?: CodeableConcept[]; + copolymerConnectivity?: CodeableConcept[]|undefined; /** * Polymer geometry, e.g. linear, branched, cross-linked, network or dendritic. */ - geometry?: CodeableConcept; + geometry?: CodeableConcept|undefined; /** * A business idenfier for this polymer, but typically this is handled by a SubstanceDefinition identifier. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * Todo - this is intended to connect to a repeating full modification structure, also used by Protein and Nucleic Acid . String is just a placeholder. */ - modification?: string; - _modification?: Element; + modification?: string|undefined; + _modification?: Element|undefined; /** * Todo. */ - monomerSet?: SubstancePolymerMonomerSet[]; + monomerSet?: SubstancePolymerMonomerSet[]|undefined; /** * Specifies and quantifies the repeated units and their configuration. */ - repeat?: SubstancePolymerRepeat[]; + repeat?: SubstancePolymerRepeat[]|undefined; } /** * This subclause refers to the description of each subunit constituting the SubstanceProtein. A subunit is a linear sequence of amino acids linked through peptide bonds. The Subunit information shall be provided when the finished SubstanceProtein is a complex of multiple sequences; subunits are not used to delineate domains within a single sequence. Subunits are listed in order of decreasing length; sequences of the same length will be ordered by decreasing molecular weight; subunits that have identical sequences will be repeated multiple times. @@ -31571,38 +31571,38 @@ export interface SubstanceProteinSubunit extends BackboneElement { /** * The modification at the C-terminal shall be specified. */ - cTerminalModification?: string; - _cTerminalModification?: Element; + cTerminalModification?: string|undefined; + _cTerminalModification?: Element|undefined; /** * Unique identifier for molecular fragment modification based on the ISO 11238 Substance ID. */ - cTerminalModificationId?: Identifier; + cTerminalModificationId?: Identifier|undefined; /** * Length of linear sequences of amino acids contained in the subunit. */ - length?: number; + length?: number|undefined; /** * The name of the fragment modified at the N-terminal of the SubstanceProtein shall be specified. */ - nTerminalModification?: string; - _nTerminalModification?: Element; + nTerminalModification?: string|undefined; + _nTerminalModification?: Element|undefined; /** * Unique identifier for molecular fragment modification based on the ISO 11238 Substance ID. */ - nTerminalModificationId?: Identifier; + nTerminalModificationId?: Identifier|undefined; /** * The sequence information shall be provided enumerating the amino acids from N- to C-terminal end using standard single-letter amino acid codes. Uppercase shall be used for L-amino acids and lowercase for D-amino acids. Transcribed SubstanceProteins will always be described using the translated sequence; for synthetic peptide containing amino acids that are not represented with a single letter code an X should be used within the sequence. The modified amino acids will be distinguished by their position in the sequence. */ - sequence?: string; - _sequence?: Element; + sequence?: string|undefined; + _sequence?: Element|undefined; /** * The sequence information shall be provided enumerating the amino acids from N- to C-terminal end using standard single-letter amino acid codes. Uppercase shall be used for L-amino acids and lowercase for D-amino acids. Transcribed SubstanceProteins will always be described using the translated sequence; for synthetic peptide containing amino acids that are not represented with a single letter code an X should be used within the sequence. The modified amino acids will be distinguished by their position in the sequence. */ - sequenceAttachment?: Attachment; + sequenceAttachment?: Attachment|undefined; /** * Index of primary sequences of amino acids linked through peptide bonds in order of decreasing length. Sequences of the same length will be ordered by molecular weight. Subunits that have identical sequences will be repeated and have sequential subscripts. */ - subunit?: number; + subunit?: number|undefined; } /** * A SubstanceProtein is defined as a single unit of a linear amino acid sequence, or a combination of subunits that are either covalently linked or have a defined invariant stoichiometric relationship. This includes all synthetic, recombinant and purified SubstanceProteins of defined sequence, whether the use is therapeutic or prophylactic. This set of elements will be used to describe albumins, coagulation factors, cytokines, growth factors, peptide/SubstanceProtein hormones, enzymes, toxins, toxoids, recombinant vaccines, and immunomodulators. @@ -31613,20 +31613,20 @@ export interface SubstanceProtein extends DomainResource { /** * The disulphide bond between two cysteine residues either on the same subunit or on two different subunits shall be described. The position of the disulfide bonds in the SubstanceProtein shall be listed in increasing order of subunit number and position within subunit followed by the abbreviation of the amino acids involved. The disulfide linkage positions shall actually contain the amino acid Cysteine at the respective positions. */ - disulfideLinkage?: string[]; - _disulfideLinkage?: Element[]; + disulfideLinkage?: string[]|undefined; + _disulfideLinkage?: Element[]|undefined; /** * Number of linear sequences of amino acids linked through peptide bonds. The number of subunits constituting the SubstanceProtein shall be described. It is possible that the number of subunits can be variable. */ - numberOfSubunits?: number; + numberOfSubunits?: number|undefined; /** * The SubstanceProtein descriptive elements will only be used when a complete or partial amino acid sequence is available or derivable from a nucleic acid sequence. */ - sequenceType?: CodeableConcept; + sequenceType?: CodeableConcept|undefined; /** * This subclause refers to the description of each subunit constituting the SubstanceProtein. A subunit is a linear sequence of amino acids linked through peptide bonds. The Subunit information shall be provided when the finished SubstanceProtein is a complex of multiple sequences; subunits are not used to delineate domains within a single sequence. Subunits are listed in order of decreasing length; sequences of the same length will be ordered by decreasing molecular weight; subunits that have identical sequences will be repeated multiple times. */ - subunit?: SubstanceProteinSubunit[]; + subunit?: SubstanceProteinSubunit[]|undefined; } /** * Todo. @@ -31635,15 +31635,15 @@ export interface SubstanceReferenceInformationGene extends BackboneElement { /** * Todo. */ - gene?: CodeableConcept; + gene?: CodeableConcept|undefined; /** * Todo. */ - geneSequenceOrigin?: CodeableConcept; + geneSequenceOrigin?: CodeableConcept|undefined; /** * Todo. */ - source?: Reference[]; + source?: Reference[]|undefined; } /** * Todo. @@ -31652,15 +31652,15 @@ export interface SubstanceReferenceInformationGeneElement extends BackboneElemen /** * Todo. */ - element?: Identifier; + element?: Identifier|undefined; /** * Todo. */ - source?: Reference[]; + source?: Reference[]|undefined; /** * Todo. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Todo. @@ -31669,44 +31669,44 @@ export interface SubstanceReferenceInformationTarget extends BackboneElement { /** * Todo. */ - amountQuantity?: Quantity; + amountQuantity?: Quantity|undefined; /** * Todo. */ - amountRange?: Range; + amountRange?: Range|undefined; /** * Todo. */ - amountString?: string; - _amountString?: Element; + amountString?: string|undefined; + _amountString?: Element|undefined; /** * Todo. */ - amountType?: CodeableConcept; + amountType?: CodeableConcept|undefined; /** * Todo. */ - interaction?: CodeableConcept; + interaction?: CodeableConcept|undefined; /** * Todo. */ - organism?: CodeableConcept; + organism?: CodeableConcept|undefined; /** * Todo. */ - organismType?: CodeableConcept; + organismType?: CodeableConcept|undefined; /** * Todo. */ - source?: Reference[]; + source?: Reference[]|undefined; /** * Todo. */ - target?: Identifier; + target?: Identifier|undefined; /** * Todo. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Todo. @@ -31717,20 +31717,20 @@ export interface SubstanceReferenceInformation extends DomainResource { /** * Todo. */ - comment?: string; - _comment?: Element; + comment?: string|undefined; + _comment?: Element|undefined; /** * Todo. */ - gene?: SubstanceReferenceInformationGene[]; + gene?: SubstanceReferenceInformationGene[]|undefined; /** * Todo. */ - geneElement?: SubstanceReferenceInformationGeneElement[]; + geneElement?: SubstanceReferenceInformationGeneElement[]|undefined; /** * Todo. */ - target?: SubstanceReferenceInformationTarget[]; + target?: SubstanceReferenceInformationTarget[]|undefined; } /** * Many complex materials are fractions of parts of plants, animals, or minerals. Fraction elements are often necessary to define both Substances and Specified Group 1 Substances. For substances derived from Plants, fraction information will be captured at the Substance information level ( . Oils, Juices and Exudates). Additional information for Extracts, such as extraction solvent composition, will be captured at the Specified Substance Group 1 information level. For plasma-derived products fraction information will be captured at the Substance and the Specified Substance Group 1 levels. @@ -31739,12 +31739,12 @@ export interface SubstanceSourceMaterialFractionDescription extends BackboneElem /** * This element is capturing information about the fraction of a plant part, or human plasma for fractionation. */ - fraction?: string; - _fraction?: Element; + fraction?: string|undefined; + _fraction?: Element|undefined; /** * The specific type of the material constituting the component. For Herbal preparations the particulars of the extracts (liquid/dry) is described in Specified Substance Group 1. */ - materialType?: CodeableConcept; + materialType?: CodeableConcept|undefined; } /** * 4.9.13.6.1 Author type (Conditional). @@ -31753,12 +31753,12 @@ export interface SubstanceSourceMaterialOrganismAuthor extends BackboneElement { /** * The author of an organism species shall be specified. The author year of an organism shall also be specified when applicable; refers to the year in which the first author(s) published the infraspecific plant/animal name (of any rank). */ - authorDescription?: string; - _authorDescription?: Element; + authorDescription?: string|undefined; + _authorDescription?: Element|undefined; /** * The type of author of an organism species shall be specified. The parenthetical author of an organism species refers to the first author who published the plant/animal name (of any rank). The primary author of an organism species refers to the first author(s), who validly published the plant/animal name. */ - authorType?: CodeableConcept; + authorType?: CodeableConcept|undefined; } /** * 4.9.13.8.1 Hybrid species maternal organism ID (Optional). @@ -31767,27 +31767,27 @@ export interface SubstanceSourceMaterialOrganismHybrid extends BackboneElement { /** * The hybrid type of an organism shall be specified. */ - hybridType?: CodeableConcept; + hybridType?: CodeableConcept|undefined; /** * The identifier of the maternal species constituting the hybrid organism shall be specified based on a controlled vocabulary. For plants, the parents aren’t always known, and it is unlikely that it will be known which is maternal and which is paternal. */ - maternalOrganismId?: string; - _maternalOrganismId?: Element; + maternalOrganismId?: string|undefined; + _maternalOrganismId?: Element|undefined; /** * The name of the maternal species constituting the hybrid organism shall be specified. For plants, the parents aren’t always known, and it is unlikely that it will be known which is maternal and which is paternal. */ - maternalOrganismName?: string; - _maternalOrganismName?: Element; + maternalOrganismName?: string|undefined; + _maternalOrganismName?: Element|undefined; /** * The identifier of the paternal species constituting the hybrid organism shall be specified based on a controlled vocabulary. */ - paternalOrganismId?: string; - _paternalOrganismId?: Element; + paternalOrganismId?: string|undefined; + _paternalOrganismId?: Element|undefined; /** * The name of the paternal species constituting the hybrid organism shall be specified. */ - paternalOrganismName?: string; - _paternalOrganismName?: Element; + paternalOrganismName?: string|undefined; + _paternalOrganismName?: Element|undefined; } /** * 4.9.13.7.1 Kingdom (Conditional). @@ -31796,19 +31796,19 @@ export interface SubstanceSourceMaterialOrganismOrganismGeneral extends Backbone /** * The class of an organism shall be specified. */ - class?: CodeableConcept; + class?: CodeableConcept|undefined; /** * The kingdom of an organism shall be specified. */ - kingdom?: CodeableConcept; + kingdom?: CodeableConcept|undefined; /** * The order of an organism shall be specified,. */ - order?: CodeableConcept; + order?: CodeableConcept|undefined; /** * The phylum of an organism shall be specified. */ - phylum?: CodeableConcept; + phylum?: CodeableConcept|undefined; } /** * This subclause describes the organism which the substance is derived from. For vaccines, the parent organism shall be specified based on these subclause elements. As an example, full taxonomy will be described for the Substance Name: ., Leaf. @@ -31817,36 +31817,36 @@ export interface SubstanceSourceMaterialOrganism extends BackboneElement { /** * 4.9.13.6.1 Author type (Conditional). */ - author?: SubstanceSourceMaterialOrganismAuthor[]; + author?: SubstanceSourceMaterialOrganismAuthor[]|undefined; /** * The family of an organism shall be specified. */ - family?: CodeableConcept; + family?: CodeableConcept|undefined; /** * The genus of an organism shall be specified; refers to the Latin epithet of the genus element of the plant/animal scientific name; it is present in names for genera, species and infraspecies. */ - genus?: CodeableConcept; + genus?: CodeableConcept|undefined; /** * 4.9.13.8.1 Hybrid species maternal organism ID (Optional). */ - hybrid?: SubstanceSourceMaterialOrganismHybrid; + hybrid?: SubstanceSourceMaterialOrganismHybrid|undefined; /** * The intraspecific description of an organism shall be specified based on a controlled vocabulary. For Influenza Vaccine, the intraspecific description shall contain the syntax of the antigen in line with the WHO convention. */ - intraspecificDescription?: string; - _intraspecificDescription?: Element; + intraspecificDescription?: string|undefined; + _intraspecificDescription?: Element|undefined; /** * The Intraspecific type of an organism shall be specified. */ - intraspecificType?: CodeableConcept; + intraspecificType?: CodeableConcept|undefined; /** * 4.9.13.7.1 Kingdom (Conditional). */ - organismGeneral?: SubstanceSourceMaterialOrganismOrganismGeneral; + organismGeneral?: SubstanceSourceMaterialOrganismOrganismGeneral|undefined; /** * The species of an organism shall be specified; refers to the Latin epithet of the species of the plant/animal; it is present in names for species and infraspecies. */ - species?: CodeableConcept; + species?: CodeableConcept|undefined; } /** * To do. @@ -31855,11 +31855,11 @@ export interface SubstanceSourceMaterialPartDescription extends BackboneElement /** * Entity of anatomical origin of source material within an organism. */ - part?: CodeableConcept; + part?: CodeableConcept|undefined; /** * The detailed anatomic location when the part can be extracted from different anatomical locations of the organism. Multiple alternative locations may apply. */ - partLocation?: CodeableConcept; + partLocation?: CodeableConcept|undefined; } /** * Source material shall capture information on the taxonomic and anatomical origins as well as the fraction of a material that can result in or can be modified to form a substance. This set of data elements shall be used to define polymer substances isolated from biological matrices. Taxonomic and anatomical origins shall be described using a controlled vocabulary as required. This information is captured for naturally derived polymers ( . starch) and structurally diverse substances. For Organisms belonging to the Kingdom Plantae the Substance level defines the fresh material of a single species or infraspecies, the Herbal Drug and the Herbal preparation. For Herbal preparations, the fraction information will be captured at the Substance information level and additional information for herbal extracts will be captured at the Specified Substance Group 1 information level. See for further explanation the Substance Class: Structurally Diverse and the herbal annex. @@ -31870,58 +31870,58 @@ export interface SubstanceSourceMaterial extends DomainResource { /** * The country where the plant material is harvested or the countries where the plasma is sourced from as laid down in accordance with the Plasma Master File. For “Plasma-derived substances” the attribute country of origin provides information about the countries used for the manufacturing of the Cryopoor plama or Crioprecipitate. */ - countryOfOrigin?: CodeableConcept[]; + countryOfOrigin?: CodeableConcept[]|undefined; /** * Stage of life for animals, plants, insects and microorganisms. This information shall be provided only when the substance is significantly different in these stages (e.g. foetal bovine serum). */ - developmentStage?: CodeableConcept; + developmentStage?: CodeableConcept|undefined; /** * Many complex materials are fractions of parts of plants, animals, or minerals. Fraction elements are often necessary to define both Substances and Specified Group 1 Substances. For substances derived from Plants, fraction information will be captured at the Substance information level ( . Oils, Juices and Exudates). Additional information for Extracts, such as extraction solvent composition, will be captured at the Specified Substance Group 1 information level. For plasma-derived products fraction information will be captured at the Substance and the Specified Substance Group 1 levels. */ - fractionDescription?: SubstanceSourceMaterialFractionDescription[]; + fractionDescription?: SubstanceSourceMaterialFractionDescription[]|undefined; /** * The place/region where the plant is harvested or the places/regions where the animal source material has its habitat. */ - geographicalLocation?: string[]; - _geographicalLocation?: Element[]; + geographicalLocation?: string[]|undefined; + _geographicalLocation?: Element[]|undefined; /** * This subclause describes the organism which the substance is derived from. For vaccines, the parent organism shall be specified based on these subclause elements. As an example, full taxonomy will be described for the Substance Name: ., Leaf. */ - organism?: SubstanceSourceMaterialOrganism; + organism?: SubstanceSourceMaterialOrganism|undefined; /** * The unique identifier associated with the source material parent organism shall be specified. */ - organismId?: Identifier; + organismId?: Identifier|undefined; /** * The organism accepted Scientific name shall be provided based on the organism taxonomy. */ - organismName?: string; - _organismName?: Element; + organismName?: string|undefined; + _organismName?: Element|undefined; /** * The parent of the herbal drug Ginkgo biloba, Leaf is the substance ID of the substance (fresh) of Ginkgo biloba L. or Ginkgo biloba L. (Whole plant). */ - parentSubstanceId?: Identifier[]; + parentSubstanceId?: Identifier[]|undefined; /** * The parent substance of the Herbal Drug, or Herbal preparation. */ - parentSubstanceName?: string[]; - _parentSubstanceName?: Element[]; + parentSubstanceName?: string[]|undefined; + _parentSubstanceName?: Element[]|undefined; /** * To do. */ - partDescription?: SubstanceSourceMaterialPartDescription[]; + partDescription?: SubstanceSourceMaterialPartDescription[]|undefined; /** * General high level classification of the source material specific to the origin of the material. */ - sourceMaterialClass?: CodeableConcept; + sourceMaterialClass?: CodeableConcept|undefined; /** * The state of the source material when extracted. */ - sourceMaterialState?: CodeableConcept; + sourceMaterialState?: CodeableConcept|undefined; /** * The type of the source material shall be specified based on a controlled vocabulary. For vaccines, this subclause refers to the class of infectious agent. */ - sourceMaterialType?: CodeableConcept; + sourceMaterialType?: CodeableConcept|undefined; } /** * The item that is being delivered or has been supplied. @@ -31930,15 +31930,15 @@ export interface SupplyDeliverySuppliedItem extends BackboneElement { /** * Identifies the medication, substance or device being dispensed. This is either a link to a resource representing the details of the item or a code that identifies the item from a known list. */ - itemCodeableConcept?: CodeableConcept; + itemCodeableConcept?: CodeableConcept|undefined; /** * Identifies the medication, substance or device being dispensed. This is either a link to a resource representing the details of the item or a code that identifies the item from a known list. */ - itemReference?: Reference; + itemReference?: Reference|undefined; /** * The amount of supply that has been dispensed. Includes unit of measure. */ - quantity?: Quantity; + quantity?: Quantity|undefined; } /** * Record of delivery of what is supplied. @@ -31949,58 +31949,58 @@ export interface SupplyDelivery extends DomainResource { /** * A plan, proposal or order that is fulfilled in whole or in part by this event. */ - basedOn?: Reference[]; + basedOn?: Reference[]|undefined; /** * Identification of the facility/location where the Supply was shipped to, as part of the dispense event. */ - destination?: Reference; + destination?: Reference|undefined; /** * This identifier is typically assigned by the dispenser, and may be used to reference the delivery when exchanging information about it with other systems. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * [The list of types may be constrained as appropriate for the type of event]. */ - occurrenceDateTime?: string; - _occurrenceDateTime?: Element; + occurrenceDateTime?: string|undefined; + _occurrenceDateTime?: Element|undefined; /** * [The list of types may be constrained as appropriate for the type of event]. */ - occurrencePeriod?: Period; + occurrencePeriod?: Period|undefined; /** * [The list of types may be constrained as appropriate for the type of event]. */ - occurrenceTiming?: Timing; + occurrenceTiming?: Timing|undefined; /** * Not to be used to link an event to an Encounter - use Event.context for that. * [The allowed reference resources may be adjusted as appropriate for the event resource]. */ - partOf?: Reference[]; + partOf?: Reference[]|undefined; /** * A link to a resource representing the person whom the delivered item is for. */ - patient?: Reference; + patient?: Reference|undefined; /** * Identifies the person who picked up the Supply. */ - receiver?: Reference[]; + receiver?: Reference[]|undefined; /** * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ - status?: SupplyDeliveryStatusCodes; - _status?: Element; + status?: SupplyDeliveryStatusCodes|undefined; + _status?: Element|undefined; /** * The item that is being delivered or has been supplied. */ - suppliedItem?: SupplyDeliverySuppliedItem; + suppliedItem?: SupplyDeliverySuppliedItem|undefined; /** * The individual responsible for dispensing the medication, supplier or device. */ - supplier?: Reference; + supplier?: Reference|undefined; /** * Indicates the type of dispensing event that is performed. Examples include: Trial Fill, Completion of Trial, Partial Fill, Emergency Fill, Samples, etc. */ - type?: CodeableConcept; + type?: CodeableConcept|undefined; } /** * Code Values for the SupplyDelivery.status field @@ -32018,24 +32018,24 @@ export interface SupplyRequestParameter extends BackboneElement { /** * A code or string that identifies the device detail being asserted. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * Range means device should have a value that falls somewhere within the specified range. */ - valueCodeableConcept?: CodeableConcept; + valueCodeableConcept?: CodeableConcept|undefined; /** * Range means device should have a value that falls somewhere within the specified range. */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; /** * Range means device should have a value that falls somewhere within the specified range. */ - valueRange?: Range; + valueRange?: Range|undefined; /** * Range means device should have a value that falls somewhere within the specified range. */ - valueBoolean?: boolean; - _valueBoolean?: Element; + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; } /** * A record of a request for a medication, substance or device used in the healthcare setting. @@ -32046,24 +32046,24 @@ export interface SupplyRequest extends DomainResource { /** * When the request was made. */ - authoredOn?: string; - _authoredOn?: Element; + authoredOn?: string|undefined; + _authoredOn?: Element|undefined; /** * Category of supply, e.g. central, non-stock, etc. This is used to support work flows associated with the supply process. */ - category?: CodeableConcept; + category?: CodeableConcept|undefined; /** * Where the supply is expected to come from. */ - deliverFrom?: Reference; + deliverFrom?: Reference|undefined; /** * Where the supply is destined to go. */ - deliverTo?: Reference; + deliverTo?: Reference|undefined; /** * The identifier.type element is used to distinguish between the identifiers assigned by the requester/placer and the performer/filler. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Note that there's a difference between a prescription - an instruction to take a medication, along with a (sometimes) implicit supply, and an explicit request to supply, with no explicit instructions. */ @@ -32071,25 +32071,25 @@ export interface SupplyRequest extends DomainResource { /** * When the request should be fulfilled. */ - occurrenceDateTime?: string; - _occurrenceDateTime?: Element; + occurrenceDateTime?: string|undefined; + _occurrenceDateTime?: Element|undefined; /** * When the request should be fulfilled. */ - occurrencePeriod?: Period; + occurrencePeriod?: Period|undefined; /** * When the request should be fulfilled. */ - occurrenceTiming?: Timing; + occurrenceTiming?: Timing|undefined; /** * Specific parameters for the ordered item. For example, the size of the indicated item. */ - parameter?: SupplyRequestParameter[]; + parameter?: SupplyRequestParameter[]|undefined; /** * Indicates how quickly this SupplyRequest should be addressed with respect to other requests. */ - priority?: SupplyRequestPriorityCodes; - _priority?: Element; + priority?: SupplyRequestPriorityCodes|undefined; + _priority?: Element|undefined; /** * The amount that is being ordered of the indicated item. */ @@ -32097,20 +32097,20 @@ export interface SupplyRequest extends DomainResource { /** * The reason why the supply item was requested. */ - reason?: CodeableReference[]; + reason?: CodeableReference[]|undefined; /** * The device, practitioner, etc. who initiated the request. */ - requester?: Reference; + requester?: Reference|undefined; /** * Status of the supply request. */ - status?: SupplyRequestStatusCodes; - _status?: Element; + status?: SupplyRequestStatusCodes|undefined; + _status?: Element|undefined; /** * Who is intended to fulfill the request. */ - supplier?: Reference[]; + supplier?: Reference[]|undefined; } /** * Code Values for the SupplyRequest.priority field @@ -32140,15 +32140,15 @@ export interface TaskRestriction extends BackboneElement { /** * Note that period.high is the due date representing the time by which the task should be completed. */ - period?: Period; + period?: Period|undefined; /** * For requests that are targeted to more than one potential recipient/target, to identify who is fulfillment is sought for. */ - recipient?: Reference[]; + recipient?: Reference[]|undefined; /** * Indicates the number of times the requested action should occur. */ - repetitions?: number; + repetitions?: number|undefined; } /** * Additional information that may be needed in the execution of the task. @@ -32161,223 +32161,223 @@ export interface TaskInput extends BackboneElement { /** * The value of the input parameter as a basic type. */ - valueBase64Binary?: string; - _valueBase64Binary?: Element; + valueBase64Binary?: string|undefined; + _valueBase64Binary?: Element|undefined; /** * The value of the input parameter as a basic type. */ - valueBoolean?: boolean; - _valueBoolean?: Element; + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; /** * The value of the input parameter as a basic type. */ - valueCanonical?: string; - _valueCanonical?: Element; + valueCanonical?: string|undefined; + _valueCanonical?: Element|undefined; /** * The value of the input parameter as a basic type. */ - valueCode?: string; - _valueCode?: Element; + valueCode?: string|undefined; + _valueCode?: Element|undefined; /** * The value of the input parameter as a basic type. */ - valueDate?: string; - _valueDate?: Element; + valueDate?: string|undefined; + _valueDate?: Element|undefined; /** * The value of the input parameter as a basic type. */ - valueDateTime?: string; - _valueDateTime?: Element; + valueDateTime?: string|undefined; + _valueDateTime?: Element|undefined; /** * The value of the input parameter as a basic type. */ - valueDecimal?: number; + valueDecimal?: number|undefined; /** * The value of the input parameter as a basic type. */ - valueId?: string; - _valueId?: Element; + valueId?: string|undefined; + _valueId?: Element|undefined; /** * The value of the input parameter as a basic type. */ - valueInstant?: string; - _valueInstant?: Element; + valueInstant?: string|undefined; + _valueInstant?: Element|undefined; /** * The value of the input parameter as a basic type. */ - valueInteger?: number; + valueInteger?: number|undefined; /** * The value of the input parameter as a basic type. */ - valueInteger64?: string; - _valueInteger64?: Element; + valueInteger64?: string|undefined; + _valueInteger64?: Element|undefined; /** * The value of the input parameter as a basic type. */ - valueMarkdown?: string; - _valueMarkdown?: Element; + valueMarkdown?: string|undefined; + _valueMarkdown?: Element|undefined; /** * The value of the input parameter as a basic type. */ - valueOid?: string; - _valueOid?: Element; + valueOid?: string|undefined; + _valueOid?: Element|undefined; /** * The value of the input parameter as a basic type. */ - valuePositiveInt?: number; + valuePositiveInt?: number|undefined; /** * The value of the input parameter as a basic type. */ - valueString?: string; - _valueString?: Element; + valueString?: string|undefined; + _valueString?: Element|undefined; /** * The value of the input parameter as a basic type. */ - valueTime?: string; - _valueTime?: Element; + valueTime?: string|undefined; + _valueTime?: Element|undefined; /** * The value of the input parameter as a basic type. */ - valueUnsignedInt?: number; + valueUnsignedInt?: number|undefined; /** * The value of the input parameter as a basic type. */ - valueUri?: string; - _valueUri?: Element; + valueUri?: string|undefined; + _valueUri?: Element|undefined; /** * The value of the input parameter as a basic type. */ - valueUrl?: string; - _valueUrl?: Element; + valueUrl?: string|undefined; + _valueUrl?: Element|undefined; /** * The value of the input parameter as a basic type. */ - valueUuid?: string; - _valueUuid?: Element; + valueUuid?: string|undefined; + _valueUuid?: Element|undefined; /** * The value of the input parameter as a basic type. */ - valueAddress?: Address; + valueAddress?: Address|undefined; /** * The value of the input parameter as a basic type. */ - valueAge?: Age; + valueAge?: Age|undefined; /** * The value of the input parameter as a basic type. */ - valueAnnotation?: Annotation; + valueAnnotation?: Annotation|undefined; /** * The value of the input parameter as a basic type. */ - valueAttachment?: Attachment; + valueAttachment?: Attachment|undefined; /** * The value of the input parameter as a basic type. */ - valueCodeableConcept?: CodeableConcept; + valueCodeableConcept?: CodeableConcept|undefined; /** * The value of the input parameter as a basic type. */ - valueCoding?: Coding; + valueCoding?: Coding|undefined; /** * The value of the input parameter as a basic type. */ - valueContactPoint?: ContactPoint; + valueContactPoint?: ContactPoint|undefined; /** * The value of the input parameter as a basic type. */ - valueCount?: Count; + valueCount?: Count|undefined; /** * The value of the input parameter as a basic type. */ - valueDistance?: Distance; + valueDistance?: Distance|undefined; /** * The value of the input parameter as a basic type. */ - valueDuration?: Duration; + valueDuration?: Duration|undefined; /** * The value of the input parameter as a basic type. */ - valueHumanName?: HumanName; + valueHumanName?: HumanName|undefined; /** * The value of the input parameter as a basic type. */ - valueIdentifier?: Identifier; + valueIdentifier?: Identifier|undefined; /** * The value of the input parameter as a basic type. */ - valueMoney?: Money; + valueMoney?: Money|undefined; /** * The value of the input parameter as a basic type. */ - valuePeriod?: Period; + valuePeriod?: Period|undefined; /** * The value of the input parameter as a basic type. */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; /** * The value of the input parameter as a basic type. */ - valueRange?: Range; + valueRange?: Range|undefined; /** * The value of the input parameter as a basic type. */ - valueRatio?: Ratio; + valueRatio?: Ratio|undefined; /** * The value of the input parameter as a basic type. */ - valueReference?: Reference; + valueReference?: Reference|undefined; /** * The value of the input parameter as a basic type. */ - valueSampledData?: SampledData; + valueSampledData?: SampledData|undefined; /** * The value of the input parameter as a basic type. */ - valueSignature?: Signature; + valueSignature?: Signature|undefined; /** * The value of the input parameter as a basic type. */ - valueTiming?: Timing; + valueTiming?: Timing|undefined; /** * The value of the input parameter as a basic type. */ - valueContactDetail?: ContactDetail; + valueContactDetail?: ContactDetail|undefined; /** * The value of the input parameter as a basic type. */ - valueContributor?: Contributor; + valueContributor?: Contributor|undefined; /** * The value of the input parameter as a basic type. */ - valueDataRequirement?: DataRequirement; + valueDataRequirement?: DataRequirement|undefined; /** * The value of the input parameter as a basic type. */ - valueExpression?: Expression; + valueExpression?: Expression|undefined; /** * The value of the input parameter as a basic type. */ - valueParameterDefinition?: ParameterDefinition; + valueParameterDefinition?: ParameterDefinition|undefined; /** * The value of the input parameter as a basic type. */ - valueRelatedArtifact?: RelatedArtifact; + valueRelatedArtifact?: RelatedArtifact|undefined; /** * The value of the input parameter as a basic type. */ - valueTriggerDefinition?: TriggerDefinition; + valueTriggerDefinition?: TriggerDefinition|undefined; /** * The value of the input parameter as a basic type. */ - valueUsageContext?: UsageContext; + valueUsageContext?: UsageContext|undefined; /** * The value of the input parameter as a basic type. */ - valueDosage?: Dosage; + valueDosage?: Dosage|undefined; /** * The value of the input parameter as a basic type. */ - valueMeta?: Meta; + valueMeta?: Meta|undefined; } /** * Outputs produced by the Task. @@ -32390,223 +32390,223 @@ export interface TaskOutput extends BackboneElement { /** * The value of the Output parameter as a basic type. */ - valueBase64Binary?: string; - _valueBase64Binary?: Element; + valueBase64Binary?: string|undefined; + _valueBase64Binary?: Element|undefined; /** * The value of the Output parameter as a basic type. */ - valueBoolean?: boolean; - _valueBoolean?: Element; + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; /** * The value of the Output parameter as a basic type. */ - valueCanonical?: string; - _valueCanonical?: Element; + valueCanonical?: string|undefined; + _valueCanonical?: Element|undefined; /** * The value of the Output parameter as a basic type. */ - valueCode?: string; - _valueCode?: Element; + valueCode?: string|undefined; + _valueCode?: Element|undefined; /** * The value of the Output parameter as a basic type. */ - valueDate?: string; - _valueDate?: Element; + valueDate?: string|undefined; + _valueDate?: Element|undefined; /** * The value of the Output parameter as a basic type. */ - valueDateTime?: string; - _valueDateTime?: Element; + valueDateTime?: string|undefined; + _valueDateTime?: Element|undefined; /** * The value of the Output parameter as a basic type. */ - valueDecimal?: number; + valueDecimal?: number|undefined; /** * The value of the Output parameter as a basic type. */ - valueId?: string; - _valueId?: Element; + valueId?: string|undefined; + _valueId?: Element|undefined; /** * The value of the Output parameter as a basic type. */ - valueInstant?: string; - _valueInstant?: Element; + valueInstant?: string|undefined; + _valueInstant?: Element|undefined; /** * The value of the Output parameter as a basic type. */ - valueInteger?: number; + valueInteger?: number|undefined; /** * The value of the Output parameter as a basic type. */ - valueInteger64?: string; - _valueInteger64?: Element; + valueInteger64?: string|undefined; + _valueInteger64?: Element|undefined; /** * The value of the Output parameter as a basic type. */ - valueMarkdown?: string; - _valueMarkdown?: Element; + valueMarkdown?: string|undefined; + _valueMarkdown?: Element|undefined; /** * The value of the Output parameter as a basic type. */ - valueOid?: string; - _valueOid?: Element; + valueOid?: string|undefined; + _valueOid?: Element|undefined; /** * The value of the Output parameter as a basic type. */ - valuePositiveInt?: number; + valuePositiveInt?: number|undefined; /** * The value of the Output parameter as a basic type. */ - valueString?: string; - _valueString?: Element; + valueString?: string|undefined; + _valueString?: Element|undefined; /** * The value of the Output parameter as a basic type. */ - valueTime?: string; - _valueTime?: Element; + valueTime?: string|undefined; + _valueTime?: Element|undefined; /** * The value of the Output parameter as a basic type. */ - valueUnsignedInt?: number; + valueUnsignedInt?: number|undefined; /** * The value of the Output parameter as a basic type. */ - valueUri?: string; - _valueUri?: Element; + valueUri?: string|undefined; + _valueUri?: Element|undefined; /** * The value of the Output parameter as a basic type. */ - valueUrl?: string; - _valueUrl?: Element; + valueUrl?: string|undefined; + _valueUrl?: Element|undefined; /** * The value of the Output parameter as a basic type. */ - valueUuid?: string; - _valueUuid?: Element; + valueUuid?: string|undefined; + _valueUuid?: Element|undefined; /** * The value of the Output parameter as a basic type. */ - valueAddress?: Address; + valueAddress?: Address|undefined; /** * The value of the Output parameter as a basic type. */ - valueAge?: Age; + valueAge?: Age|undefined; /** * The value of the Output parameter as a basic type. */ - valueAnnotation?: Annotation; + valueAnnotation?: Annotation|undefined; /** * The value of the Output parameter as a basic type. */ - valueAttachment?: Attachment; + valueAttachment?: Attachment|undefined; /** * The value of the Output parameter as a basic type. */ - valueCodeableConcept?: CodeableConcept; + valueCodeableConcept?: CodeableConcept|undefined; /** * The value of the Output parameter as a basic type. */ - valueCoding?: Coding; + valueCoding?: Coding|undefined; /** * The value of the Output parameter as a basic type. */ - valueContactPoint?: ContactPoint; + valueContactPoint?: ContactPoint|undefined; /** * The value of the Output parameter as a basic type. */ - valueCount?: Count; + valueCount?: Count|undefined; /** * The value of the Output parameter as a basic type. */ - valueDistance?: Distance; + valueDistance?: Distance|undefined; /** * The value of the Output parameter as a basic type. */ - valueDuration?: Duration; + valueDuration?: Duration|undefined; /** * The value of the Output parameter as a basic type. */ - valueHumanName?: HumanName; + valueHumanName?: HumanName|undefined; /** * The value of the Output parameter as a basic type. */ - valueIdentifier?: Identifier; + valueIdentifier?: Identifier|undefined; /** * The value of the Output parameter as a basic type. */ - valueMoney?: Money; + valueMoney?: Money|undefined; /** * The value of the Output parameter as a basic type. */ - valuePeriod?: Period; + valuePeriod?: Period|undefined; /** * The value of the Output parameter as a basic type. */ - valueQuantity?: Quantity; + valueQuantity?: Quantity|undefined; /** * The value of the Output parameter as a basic type. */ - valueRange?: Range; + valueRange?: Range|undefined; /** * The value of the Output parameter as a basic type. */ - valueRatio?: Ratio; + valueRatio?: Ratio|undefined; /** * The value of the Output parameter as a basic type. */ - valueReference?: Reference; + valueReference?: Reference|undefined; /** * The value of the Output parameter as a basic type. */ - valueSampledData?: SampledData; + valueSampledData?: SampledData|undefined; /** * The value of the Output parameter as a basic type. */ - valueSignature?: Signature; + valueSignature?: Signature|undefined; /** * The value of the Output parameter as a basic type. */ - valueTiming?: Timing; + valueTiming?: Timing|undefined; /** * The value of the Output parameter as a basic type. */ - valueContactDetail?: ContactDetail; + valueContactDetail?: ContactDetail|undefined; /** * The value of the Output parameter as a basic type. */ - valueContributor?: Contributor; + valueContributor?: Contributor|undefined; /** * The value of the Output parameter as a basic type. */ - valueDataRequirement?: DataRequirement; + valueDataRequirement?: DataRequirement|undefined; /** * The value of the Output parameter as a basic type. */ - valueExpression?: Expression; + valueExpression?: Expression|undefined; /** * The value of the Output parameter as a basic type. */ - valueParameterDefinition?: ParameterDefinition; + valueParameterDefinition?: ParameterDefinition|undefined; /** * The value of the Output parameter as a basic type. */ - valueRelatedArtifact?: RelatedArtifact; + valueRelatedArtifact?: RelatedArtifact|undefined; /** * The value of the Output parameter as a basic type. */ - valueTriggerDefinition?: TriggerDefinition; + valueTriggerDefinition?: TriggerDefinition|undefined; /** * The value of the Output parameter as a basic type. */ - valueUsageContext?: UsageContext; + valueUsageContext?: UsageContext|undefined; /** * The value of the Output parameter as a basic type. */ - valueDosage?: Dosage; + valueDosage?: Dosage|undefined; /** * The value of the Output parameter as a basic type. */ - valueMeta?: Meta; + valueMeta?: Meta|undefined; } /** * A task to be performed. @@ -32617,136 +32617,136 @@ export interface Task extends DomainResource { /** * The date and time this task was created. */ - authoredOn?: string; - _authoredOn?: Element; + authoredOn?: string|undefined; + _authoredOn?: Element|undefined; /** * BasedOn refers to a higher-level authorization that triggered the creation of the task. It references a "request" resource such as a ServiceRequest, MedicationRequest, ServiceRequest, CarePlan, etc. which is distinct from the "request" resource the task is seeking to fulfill. This latter resource is referenced by FocusOn. For example, based on a ServiceRequest (= BasedOn), a task is created to fulfill a procedureRequest ( = FocusOn ) to collect a specimen from a patient. */ - basedOn?: Reference[]; + basedOn?: Reference[]|undefined; /** * Contains business-specific nuances of the business state. */ - businessStatus?: CodeableConcept; + businessStatus?: CodeableConcept|undefined; /** * The title (eg "My Tasks", "Outstanding Tasks for Patient X") should go into the code. */ - code?: CodeableConcept; + code?: CodeableConcept|undefined; /** * A free-text description of what is to be performed. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * The healthcare event (e.g. a patient and healthcare provider interaction) during which this task was created. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * Identifies the time action was first taken against the task (start) and/or the time final action was taken against the task prior to marking it as completed (end). */ - executionPeriod?: Period; + executionPeriod?: Period|undefined; /** * If multiple resources need to be manipulated, use sub-tasks. (This ensures that status can be tracked independently for each referenced resource.). */ - focus?: Reference; + focus?: Reference|undefined; /** * The entity who benefits from the performance of the service specified in the task (e.g., the patient). */ - for?: Reference; + for?: Reference|undefined; /** * An identifier that links together multiple tasks and other requests that were created in the same context. */ - groupIdentifier?: Identifier; + groupIdentifier?: Identifier|undefined; /** * The business identifier for this task. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Additional information that may be needed in the execution of the task. */ - input?: TaskInput[]; + input?: TaskInput[]|undefined; /** * The URL pointing to a *FHIR*-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this Task. */ - instantiatesCanonical?: string; - _instantiatesCanonical?: Element; + instantiatesCanonical?: string|undefined; + _instantiatesCanonical?: Element|undefined; /** * The URL pointing to an *externally* maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this Task. */ - instantiatesUri?: string; - _instantiatesUri?: Element; + instantiatesUri?: string|undefined; + _instantiatesUri?: Element|undefined; /** * Insurance plans, coverage extensions, pre-authorizations and/or pre-determinations that may be relevant to the Task. */ - insurance?: Reference[]; + insurance?: Reference[]|undefined; /** * This element is immutable. Proposed tasks, planned tasks, etc. must be distinct instances. * In most cases, Tasks will have an intent of "order". */ intent: TaskIntentCodes; - _intent?: Element; + _intent?: Element|undefined; /** * The date and time of last modification to this task. */ - lastModified?: string; - _lastModified?: Element; + lastModified?: string|undefined; + _lastModified?: Element|undefined; /** * Principal physical location where the this task is performed. */ - location?: Reference; + location?: Reference|undefined; /** * Free-text information captured about the task as it progresses. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * Outputs produced by the Task. */ - output?: TaskOutput[]; + output?: TaskOutput[]|undefined; /** * Tasks may be created with an owner not yet identified. */ - owner?: Reference; + owner?: Reference|undefined; /** * This should usually be 0..1. */ - partOf?: Reference[]; + partOf?: Reference[]|undefined; /** * The kind of participant that should perform the task. */ - performerType?: CodeableConcept[]; + performerType?: CodeableConcept[]|undefined; /** * Indicates how quickly the Task should be addressed with respect to other requests. */ - priority?: TaskPriorityCodes; - _priority?: Element; + priority?: TaskPriorityCodes|undefined; + _priority?: Element|undefined; /** * This should only be included if there is no focus or if it differs from the reason indicated on the focus. */ - reasonCode?: CodeableConcept; + reasonCode?: CodeableConcept|undefined; /** * Tasks might be justified based on an Observation, a Condition, a past or planned procedure, etc. This should only be included if there is no focus or if it differs from the reason indicated on the focus. Use the CodeableConcept text element in `Task.reasonCode` if the data is free (uncoded) text. */ - reasonReference?: Reference; + reasonReference?: Reference|undefined; /** * This element does not point to the Provenance associated with the *current* version of the resource - as it would be created after this version existed. The Provenance for the current version can be retrieved with a _revinclude. */ - relevantHistory?: Reference[]; + relevantHistory?: Reference[]|undefined; /** * The creator of the task. */ - requester?: Reference; + requester?: Reference|undefined; /** * If the Task.focus is a request resource and the task is seeking fulfillment (i.e. is asking for the request to be actioned), this element identifies any limitations on what parts of the referenced request should be actioned. */ - restriction?: TaskRestriction; + restriction?: TaskRestriction|undefined; /** * The current status of the task. */ status: TaskStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * This applies to the current status. Look at the history of the task to see reasons for past statuses. */ - statusReason?: CodeableConcept; + statusReason?: CodeableConcept|undefined; } /** * Code Values for the Task.intent field @@ -32796,12 +32796,12 @@ export interface TerminologyCapabilitiesSoftware extends BackboneElement { * Name the software is known by. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * If possible, a version should be specified, as statements are likely to be different for different versions of software. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Identifies a specific implementation instance that is described by the terminology capability statement - i.e. a particular installation, rather than the capabilities of a software program. @@ -32811,12 +32811,12 @@ export interface TerminologyCapabilitiesImplementation extends BackboneElement { * Information about the specific installation that this terminology capability statement relates to. */ description: string; - _description?: Element; + _description?: Element|undefined; /** * An absolute base URL for the implementation. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; } /** * Filter Properties supported. @@ -32826,12 +32826,12 @@ export interface TerminologyCapabilitiesCodeSystemVersionFilter extends Backbone * Code of the property supported. */ code: string; - _code?: Element; + _code?: Element|undefined; /** * Operations supported for the property. */ op: string[]; - _op?: Element[]; + _op?: Element[]|undefined; } /** * Language translations might not be available for all codes. @@ -32840,32 +32840,32 @@ export interface TerminologyCapabilitiesCodeSystemVersion extends BackboneElemen /** * For version-less code systems, there should be a single version with no identifier. */ - code?: string; - _code?: Element; + code?: string|undefined; + _code?: Element|undefined; /** * If the compositional grammar defined by the code system is supported. */ - compositional?: boolean; - _compositional?: Element; + compositional?: boolean|undefined; + _compositional?: Element|undefined; /** * Filter Properties supported. */ - filter?: TerminologyCapabilitiesCodeSystemVersionFilter[]; + filter?: TerminologyCapabilitiesCodeSystemVersionFilter[]|undefined; /** * If this is the default version for this code system. */ - isDefault?: boolean; - _isDefault?: Element; + isDefault?: boolean|undefined; + _isDefault?: Element|undefined; /** * Language Displays supported. */ - language?: string[]; - _language?: Element[]; + language?: string[]|undefined; + _language?: Element[]|undefined; /** * Properties supported for $lookup. */ - property?: string[]; - _property?: Element[]; + property?: string[]|undefined; + _property?: Element[]|undefined; } /** * The code system - identified by its system URL - may also be declared explicitly as a Code System Resource at /CodeSystem, but it might not be. @@ -32874,17 +32874,17 @@ export interface TerminologyCapabilitiesCodeSystem extends BackboneElement { /** * True if subsumption is supported for this version of the code system. */ - subsumption?: boolean; - _subsumption?: Element; + subsumption?: boolean|undefined; + _subsumption?: Element|undefined; /** * Canonical identifier for the code system, represented as a URI. */ - uri?: string; - _uri?: Element; + uri?: string|undefined; + _uri?: Element|undefined; /** * Language translations might not be available for all codes. */ - version?: TerminologyCapabilitiesCodeSystemVersion[]; + version?: TerminologyCapabilitiesCodeSystemVersion[]|undefined; } /** * Supported expansion parameter. @@ -32893,13 +32893,13 @@ export interface TerminologyCapabilitiesExpansionParameter extends BackboneEleme /** * Description of support for parameter. */ - documentation?: string; - _documentation?: Element; + documentation?: string|undefined; + _documentation?: Element|undefined; /** * Name of the supported expansion parameter. */ name: string; - _name?: Element; + _name?: Element|undefined; } /** * Information about the [ValueSet/$expand](valueset-operation-expand.html) operation. @@ -32908,27 +32908,27 @@ export interface TerminologyCapabilitiesExpansion extends BackboneElement { /** * Whether the server can return nested value sets. */ - hierarchical?: boolean; - _hierarchical?: Element; + hierarchical?: boolean|undefined; + _hierarchical?: Element|undefined; /** * True if requests for incomplete expansions are allowed. */ - incomplete?: boolean; - _incomplete?: Element; + incomplete?: boolean|undefined; + _incomplete?: Element|undefined; /** * Whether the server supports paging on expansion. */ - paging?: boolean; - _paging?: Element; + paging?: boolean|undefined; + _paging?: Element|undefined; /** * Supported expansion parameter. */ - parameter?: TerminologyCapabilitiesExpansionParameter[]; + parameter?: TerminologyCapabilitiesExpansionParameter[]|undefined; /** * This documentation should cover things like case sensitivity, use of punctuation if not ignored, what wild cards are supported (if any), whether text is starts with or contains, and whether word order matters. */ - textFilter?: string; - _textFilter?: Element; + textFilter?: string|undefined; + _textFilter?: Element|undefined; } /** * Information about the [ValueSet/$validate-code](valueset-operation-validate-code.html) operation. @@ -32938,7 +32938,7 @@ export interface TerminologyCapabilitiesValidateCode extends BackboneElement { * Whether translations are validated. */ translations: boolean; - _translations?: Element; + _translations?: Element|undefined; } /** * Information about the [ConceptMap/$translate](conceptmap-operation-translate.html) operation. @@ -32948,7 +32948,7 @@ export interface TerminologyCapabilitiesTranslation extends BackboneElement { * Whether the client must identify the map. */ needsMap: boolean; - _needsMap?: Element; + _needsMap?: Element|undefined; } /** * Whether the $closure operation is supported. @@ -32957,8 +32957,8 @@ export interface TerminologyCapabilitiesClosure extends BackboneElement { /** * If cross-system closure is supported. */ - translation?: boolean; - _translation?: Element; + translation?: boolean|undefined; + _translation?: Element|undefined; } /** * A TerminologyCapabilities resource documents a set of capabilities (behaviors) of a FHIR Terminology Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation. @@ -32969,119 +32969,119 @@ export interface TerminologyCapabilities extends DomainResource { /** * Whether the $closure operation is supported. */ - closure?: TerminologyCapabilitiesClosure; + closure?: TerminologyCapabilitiesClosure|undefined; /** * See notes on the [ValueSet](valueset.html#) resource. */ - codeSearch?: TerminologyCapabilitiesCodeSearchCodes; - _codeSearch?: Element; + codeSearch?: TerminologyCapabilitiesCodeSearchCodes|undefined; + _codeSearch?: Element|undefined; /** * The code system - identified by its system URL - may also be declared explicitly as a Code System Resource at /CodeSystem, but it might not be. */ - codeSystem?: TerminologyCapabilitiesCodeSystem[]; + codeSystem?: TerminologyCapabilitiesCodeSystem[]|undefined; /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * A copyright statement relating to the terminology capabilities and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the terminology capabilities. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the terminology capabilities. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ date: string; - _date?: Element; + _date?: Element|undefined; /** * This description can be used to capture details such as why the terminology capabilities was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the terminology capabilities as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the terminology capabilities is presumed to be the predominant language in the place the terminology capabilities was created).This does not need to be populated if the description is adequately implied by the software or implementation details. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Information about the [ValueSet/$expand](valueset-operation-expand.html) operation. */ - expansion?: TerminologyCapabilitiesExpansion; + expansion?: TerminologyCapabilitiesExpansion|undefined; /** * Allows filtering of terminology capabilitiess that are appropriate for use versus not. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this terminology capabilities outside of FHIR, where it is not possible to use the logical URI. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Identifies a specific implementation instance that is described by the terminology capability statement - i.e. a particular installation, rather than the capabilities of a software program. */ - implementation?: TerminologyCapabilitiesImplementation; + implementation?: TerminologyCapabilitiesImplementation|undefined; /** * It may be possible for the terminology capabilities to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * The way that this statement is intended to be used, to describe an actual running instance of software, a particular product (kind, not instance of software) or a class of implementation (e.g. a desired purchase). */ kind: TerminologyCapabilitiesKindCodes; - _kind?: Element; + _kind?: Element|undefined; /** * Whether the server supports lockedDate. */ - lockedDate?: boolean; - _lockedDate?: Element; + lockedDate?: boolean|undefined; + _lockedDate?: Element|undefined; /** * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Usually an organization but may be an individual. The publisher (or steward) of the terminology capabilities is the organization or individual primarily responsible for the maintenance and upkeep of the terminology capabilities. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the terminology capabilities. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * This element does not describe the usage of the terminology capabilities. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this terminology capabilities. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * Software that is covered by this terminology capability statement. It is used when the statement describes the capabilities of a particular software version, independent of an installation. */ - software?: TerminologyCapabilitiesSoftware; + software?: TerminologyCapabilitiesSoftware|undefined; /** * Allows filtering of terminology capabilitiess that are appropriate for use versus not.This is not intended for use with actual capability statements, but where capability statements are used to describe possible or desired systems. */ status: TerminologyCapabilitiesStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Information about the [ConceptMap/$translate](conceptmap-operation-translate.html) operation. */ - translation?: TerminologyCapabilitiesTranslation; + translation?: TerminologyCapabilitiesTranslation|undefined; /** * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * Information about the [ValueSet/$validate-code](valueset-operation-validate-code.html) operation. */ - validateCode?: TerminologyCapabilitiesValidateCode; + validateCode?: TerminologyCapabilitiesValidateCode|undefined; /** * There may be different terminology capabilities instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the terminology capabilities with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the TerminologyCapabilities.codeSearch field @@ -33114,18 +33114,18 @@ export interface TestReportParticipant extends BackboneElement { /** * The display name of the participant. */ - display?: string; - _display?: Element; + display?: string|undefined; + _display?: Element|undefined; /** * The type of participant. */ type: TestReportParticipantTypeCodes; - _type?: Element; + _type?: Element|undefined; /** * The uri of the participant. An absolute URL is preferred. */ uri: string; - _uri?: Element; + _uri?: Element|undefined; } /** * Code Values for the TestReport.participant.type field @@ -33142,18 +33142,18 @@ export interface TestReportSetupActionOperation extends BackboneElement { /** * A link to further details on the result. */ - detail?: string; - _detail?: Element; + detail?: string|undefined; + _detail?: Element|undefined; /** * An explanatory message associated with the result. */ - message?: string; - _message?: Element; + message?: string|undefined; + _message?: Element|undefined; /** * The result of this operation. */ result: TestReportSetupActionOperationResultCodes; - _result?: Element; + _result?: Element|undefined; } /** * Code Values for the TestReport.setup.action.operation.result field @@ -33172,18 +33172,18 @@ export interface TestReportSetupActionAssert extends BackboneElement { /** * A link to further details on the result. */ - detail?: string; - _detail?: Element; + detail?: string|undefined; + _detail?: Element|undefined; /** * An explanatory message associated with the result. */ - message?: string; - _message?: Element; + message?: string|undefined; + _message?: Element|undefined; /** * The result of this assertion. */ result: TestReportSetupActionAssertResultCodes; - _result?: Element; + _result?: Element|undefined; } /** * Code Values for the TestReport.setup.action.assert.result field @@ -33202,11 +33202,11 @@ export interface TestReportSetupAction extends BackboneElement { /** * The results of the assertion performed on the previous operations. */ - assert?: TestReportSetupActionAssert; + assert?: TestReportSetupActionAssert|undefined; /** * The operation performed. */ - operation?: TestReportSetupActionOperation; + operation?: TestReportSetupActionOperation|undefined; } /** * The results of the series of required setup operations before the tests were executed. @@ -33224,11 +33224,11 @@ export interface TestReportTestAction extends BackboneElement { /** * The results of the assertion performed on the previous operations. */ - assert?: TestReportSetupActionAssert; + assert?: TestReportSetupActionAssert|undefined; /** * An operation would involve a REST request to a server. */ - operation?: TestReportSetupActionOperation; + operation?: TestReportSetupActionOperation|undefined; } /** * A test executed from the test script. @@ -33241,13 +33241,13 @@ export interface TestReportTest extends BackboneElement { /** * A short description of the test used by test engines for tracking and reporting purposes. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * The name of this test used for tracking/logging purposes by test engines. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; } /** * An action should contain either an operation or an assertion but not both. It can contain any number of variables. @@ -33276,53 +33276,53 @@ export interface TestReport extends DomainResource { /** * Identifier for the TestScript assigned for external purposes outside the context of FHIR. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * Additional specific dates may be added as extensions. */ - issued?: string; - _issued?: Element; + issued?: string|undefined; + _issued?: Element|undefined; /** * Not expected to be globally unique. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * A participant in the test execution, either the execution engine, a client, or a server. */ - participant?: TestReportParticipant[]; + participant?: TestReportParticipant[]|undefined; /** * The pass and fail result represents a completed test script execution. The pending result represents a test script execution that has not yet started or is currently in progress. */ result: TestReportResultCodes; - _result?: Element; + _result?: Element|undefined; /** * The final score (percentage of tests passed) resulting from the execution of the TestScript. */ - score?: number; + score?: number|undefined; /** * The results of the series of required setup operations before the tests were executed. */ - setup?: TestReportSetup; + setup?: TestReportSetup|undefined; /** * The status represents where the execution is currently within the test script execution life cycle. * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: TestReportStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * The results of the series of operations required to clean up after all the tests were executed (successfully or otherwise). */ - teardown?: TestReportTeardown; + teardown?: TestReportTeardown|undefined; /** * A test executed from the test script. */ - test?: TestReportTest[]; + test?: TestReportTest[]|undefined; /** * Usually an organization, but may be an individual. This item SHOULD be populated unless the information is available from context. */ - tester?: string; - _tester?: Element; + tester?: string|undefined; + _tester?: Element|undefined; /** * Ideally this is an absolute URL that is used to identify the version-specific TestScript that was executed, matching the `TestScript.url`. */ @@ -33383,13 +33383,13 @@ export interface TestScriptMetadataLink extends BackboneElement { /** * Short description of the link. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * URL to a particular requirement or feature within the FHIR specification. */ url: string; - _url?: Element; + _url?: Element|undefined; } /** * When the metadata capabilities section is defined at TestScript.metadata or at TestScript.setup.metadata, and the server's conformance statement does not contain the elements defined in the minimal conformance statement, then all the tests in the TestScript are skipped. When the metadata capabilities section is defined at TestScript.test.metadata and the server's conformance statement does not contain the elements defined in the minimal conformance statement, then only that test is skipped. The "metadata.capabilities.required" and "metadata.capabilities.validated" elements only indicate whether the capabilities are the primary focus of the test script or not. They do not impact the skipping logic. Capabilities whose "metadata.capabilities.validated" flag is true are the primary focus of the test script. @@ -33399,35 +33399,35 @@ export interface TestScriptMetadataCapability extends BackboneElement { * The conformance statement of the server has to contain at a minimum the contents of the reference pointed to by this element. */ capabilities: string; - _capabilities?: Element; + _capabilities?: Element|undefined; /** * Description of the capabilities that this test script is requiring the server to support. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Which server these requirements apply to. */ - destination?: number; + destination?: number|undefined; /** * Links to the FHIR specification that describes this interaction and the resources involved in more detail. */ - link?: string[]; - _link?: Element[]; + link?: string[]|undefined; + _link?: Element[]|undefined; /** * Which origin server these requirements apply to. */ - origin?: number[]; + origin?: number[]|undefined; /** * Whether or not the test execution will require the given capabilities of the server in order for this test script to execute. */ required: boolean; - _required?: Element; + _required?: Element|undefined; /** * Whether or not the test execution will validate the given capabilities of the server in order for this test script to execute. */ validated: boolean; - _validated?: Element; + _validated?: Element|undefined; } /** * The required capability must exist and are assumed to function correctly on the FHIR server being tested. @@ -33440,7 +33440,7 @@ export interface TestScriptMetadata extends BackboneElement { /** * A link to the FHIR specification that this test is covering. */ - link?: TestScriptMetadataLink[]; + link?: TestScriptMetadataLink[]|undefined; } /** * The scope indicates a conformance artifact that is tested by the test(s) within this test case and the expectation of the test outcome(s) as well as the intended test phase inclusion. @@ -33450,15 +33450,15 @@ export interface TestScriptScope extends BackboneElement { * The specific conformance artifact being tested. The canonical reference can be version-specific. */ artifact: string; - _artifact?: Element; + _artifact?: Element|undefined; /** * The expectation of whether the test must pass for the system to be considered conformant with the artifact: required - all tests must pass, optional - all test are expected to pass but non-pass status may be allowed. */ - conformance?: CodeableConcept; + conformance?: CodeableConcept|undefined; /** * The phase of testing for this artifact: unit - development / implementation phase, integration - internal system to system phase, production - live system to system phase (Note, this may involve pii/phi data). */ - phase?: CodeableConcept; + phase?: CodeableConcept|undefined; } /** * Fixture in the test script - by reference (uri). All fixtures are required for the test script to execute. @@ -33468,16 +33468,16 @@ export interface TestScriptFixture extends BackboneElement { * Whether or not to implicitly create the fixture during setup. If true, the fixture is automatically created on each server being tested during setup, therefore no create operation is required for this fixture in the TestScript.setup section. */ autocreate: boolean; - _autocreate?: Element; + _autocreate?: Element|undefined; /** * Whether or not to implicitly delete the fixture during teardown. If true, the fixture is automatically deleted on each server being tested during teardown, therefore no delete operation is required for this fixture in the TestScript.teardown section. */ autodelete: boolean; - _autodelete?: Element; + _autodelete?: Element|undefined; /** * See http://build.fhir.org/resourcelist.html for complete list of resource types. */ - resource?: Reference; + resource?: Reference|undefined; } /** * Variables would be set based either on XPath/JSONPath expressions against fixtures (static and response), or headerField evaluations against response headers. If variable evaluates to nodelist or anything other than a primitive value, then test engine would report an error. Variables would be used to perform clean replacements in "operation.params", "operation.requestHeader.value", and "operation.url" element values during operation calls and in "assert.value" during assertion evaluations. This limits the places that test engines would need to look for placeholders "${}". Variables are scoped to the whole script. They are NOT evaluated at declaration. They are evaluated by test engine when used for substitutions in "operation.params", "operation.requestHeader.value", and "operation.url" element values during operation calls and in "assert.value" during assertion evaluations. See example testscript-search.xml. @@ -33486,43 +33486,43 @@ export interface TestScriptVariable extends BackboneElement { /** * The purpose of this element is to allow for a pre-defined value that can be used as a default or as an override value. Test engines can optionally use this as a placeholder for user-defined execution time values. */ - defaultValue?: string; - _defaultValue?: Element; + defaultValue?: string|undefined; + _defaultValue?: Element|undefined; /** * A free text natural language description of the variable and its purpose. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * If headerField is defined, then the variable will be evaluated against the headers that sourceId is pointing to. If expression or path is defined, then the variable will be evaluated against the fixture body that sourceId is pointing to. It is an error to define any combination of expression, headerField and path. */ - expression?: string; - _expression?: Element; + expression?: string|undefined; + _expression?: Element|undefined; /** * If headerField is defined, then the variable will be evaluated against the headers that sourceId is pointing to. If path is defined, then the variable will be evaluated against the fixture body that sourceId is pointing to. It is an error to define both headerField and path. */ - headerField?: string; - _headerField?: Element; + headerField?: string|undefined; + _headerField?: Element|undefined; /** * Displayable text string with hint help information to the user when entering a default value. */ - hint?: string; - _hint?: Element; + hint?: string|undefined; + _hint?: Element|undefined; /** * Placeholders would contain the variable name wrapped in ${} in "operation.params", "operation.requestHeader.value", and "operation.url" elements. These placeholders would need to be replaced by the variable value before the operation is executed. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * If headerField is defined, then the variable will be evaluated against the headers that sourceId is pointing to. If expression or path is defined, then the variable will be evaluated against the fixture body that sourceId is pointing to. It is an error to define any combination of expression, headerField and path. */ - path?: string; - _path?: Element; + path?: string|undefined; + _path?: Element|undefined; /** * This can be a statically defined fixture (at the top of the TestScript) or a dynamically set fixture created by responseId of the `action.operation` element. */ - sourceId?: string; - _sourceId?: Element; + sourceId?: string|undefined; + _sourceId?: Element|undefined; } /** * This gives control to test-script writers to set headers explicitly based on test requirements. It will allow for testing using: - "If-Modified-Since" and "If-None-Match" headers. See http://build.fhir.org/http.html#2.1.0.5.1 - "If-Match" header. See http://build.fhir.org/http.html#2.1.0.11 - Conditional Create using "If-None-Exist". See http://build.fhir.org/http.html#2.1.0.13.1 - Invalid "Content-Type" header for negative testing. - etc. @@ -33532,12 +33532,12 @@ export interface TestScriptSetupActionOperationRequestHeader extends BackboneEle * If header element is specified, then field is required. */ field: string; - _field?: Element; + _field?: Element|undefined; /** * If header element is specified, then value is required. No conversions will be done by the test engine e.g. "xml" to "application/fhir+xml". The values will be set in HTTP headers "as-is". Test engines do have to look for placeholders (${}) and replace the variable placeholders with the variable values at runtime before sending the request. */ value: string; - _value?: Element; + _value?: Element|undefined; } /** * The operation to perform. @@ -33546,84 +33546,84 @@ export interface TestScriptSetupActionOperation extends BackboneElement { /** * If this is specified, then test engine shall set the 'Accept' header to the corresponding value. If you'd like to explicitly set the 'Accept' to some other value then use the 'requestHeader' element. */ - accept?: string; - _accept?: Element; + accept?: string|undefined; + _accept?: Element|undefined; /** * If this is specified, then test engine shall set the 'Content-Type' header to the corresponding value. If you'd like to explicitly set the 'Content-Type' to some other value then use the 'requestHeader' element. */ - contentType?: string; - _contentType?: Element; + contentType?: string|undefined; + _contentType?: Element|undefined; /** * This has no impact on the verification itself. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * If multiple TestScript.destination elements are defined and operation.destination is undefined, test engine will report an error as it cannot determine what destination to use for the exchange. */ - destination?: number; + destination?: number|undefined; /** * Whether or not to implicitly send the request url in encoded format. The default is true to match the standard RESTful client behavior. Set to false when communicating with a server that does not support encoded url paths. */ encodeRequestUrl: boolean; - _encodeRequestUrl?: Element; + _encodeRequestUrl?: Element|undefined; /** * This has no impact on the verification itself. */ - label?: string; - _label?: Element; + label?: string|undefined; + _label?: Element|undefined; /** * The primary purpose of the explicit HTTP method is support of HTTP POST method invocation of the FHIR search. Other uses will include support of negative testing. */ - method?: TestScriptSetupActionOperationMethodCodes; - _method?: Element; + method?: TestScriptSetupActionOperationMethodCodes|undefined; + _method?: Element|undefined; /** * If absent, test engine will send the message. When present, test engine will not send the request message but will wait for the request message to be sent from this origin server. */ - origin?: number; + origin?: number|undefined; /** * If "url" element is specified, then "targetId", "params", and "resource" elements will be ignored as "url" element will have everything needed for constructing the request url. If "params" element is specified, then "targetId" element is ignored. For FHIR operations that require a resource (e.g. "read" and "vread" operations), the "resource" element must be specified when "params" element is specified. If "url" and "params" elements are absent, then the request url will be constructed from "targetId" fixture if present. For "read" operation, the resource and id values will be extracted from "targetId" fixture and used to construct the url. For "vread" and "history" operations, the versionId value will also be used. Test engines would append whatever is specified for "params" to the URL after the resource type without tampering with the string (beyond encoding the URL for HTTP). The "params" element does not correspond exactly to "search parameters". Nor is it the "path". It corresponds to the part of the URL that comes after the [type] (when "resource" element is specified); e.g. It corresponds to "/[id]/_history/[vid] {?_format=[mime-type]}" in the following operation: GET [base]/[type]/[id]/_history/[vid] {?_format=[mime-type]} Test engines do have to look for placeholders (${}) and replace the variable placeholders with the variable values at runtime before sending the request. */ - params?: string; - _params?: Element; + params?: string|undefined; + _params?: Element|undefined; /** * This gives control to test-script writers to set headers explicitly based on test requirements. It will allow for testing using: - "If-Modified-Since" and "If-None-Match" headers. See http://build.fhir.org/http.html#2.1.0.5.1 - "If-Match" header. See http://build.fhir.org/http.html#2.1.0.11 - Conditional Create using "If-None-Exist". See http://build.fhir.org/http.html#2.1.0.13.1 - Invalid "Content-Type" header for negative testing. - etc. */ - requestHeader?: TestScriptSetupActionOperationRequestHeader[]; + requestHeader?: TestScriptSetupActionOperationRequestHeader[]|undefined; /** * If a requestId is supplied, then the resulting request (both headers and body) is mapped to the fixture ID (which may be entirely new and previously undeclared) designated by "requestId". If requestId is not specified, it is the test engine's responsibility to store the request and use it as the requestId in subsequent assertions when assertion path and/or headerField is specified, direction is equal to request, and the requestId in not specified. */ - requestId?: string; - _requestId?: Element; + requestId?: string|undefined; + _requestId?: Element|undefined; /** * If "url" element is specified, then "targetId", "params", and "resource" elements will be ignored as "url" element will have everything needed for constructing the request url. If "params" element is specified, then "targetId" element is ignored. For FHIR operations that require a resource (e.g. "read" and "vread" operations), the "resource" element must be specified when "params" element is specified. If "url" and "params" elements are absent, then the request url will be constructed from "targetId" fixture if present. For "read" operation, the resource and id values will be extracted from "targetId" fixture and used to construct the url. For "vread" and "history" operations, the versionId value will also be used. */ - resource?: string; - _resource?: Element; + resource?: string|undefined; + _resource?: Element|undefined; /** * If a responseId is supplied, and the server responds, then the resulting response (both headers and body) is mapped to the fixture ID (which may be entirely new and previously undeclared) designated by "responseId". If responseId is not specified, it is the test engine's responsibility to store the response and use it as the responseId in subsequent assertions when assertion path and/or headerField is specified and the responseId is not specified. */ - responseId?: string; - _responseId?: Element; + responseId?: string|undefined; + _responseId?: Element|undefined; /** * The id of the fixture used as the body of a PUT or POST request. */ - sourceId?: string; - _sourceId?: Element; + sourceId?: string|undefined; + _sourceId?: Element|undefined; /** * If "url" element is specified, then "targetId", "params", and "resource" elements will be ignored as "url" element will have everything needed for constructing the request url. If "params" element is specified, then "targetId" element is ignored. For FHIR operations that require a resource (e.g. "read" and "vread" operations), the "resource" element must be specified when "params" element is specified. If "url" and "params" elements are absent, then the request url will be constructed from "targetId" fixture if present. For "read" operation, the resource and id values will be extracted from "targetId" fixture and used to construct the url. For "vread" and "history" operations, the versionId value will also be used. */ - targetId?: string; - _targetId?: Element; + targetId?: string|undefined; + _targetId?: Element|undefined; /** * See http://build.fhir.org/http.html for list of server interactions. */ - type?: Coding; + type?: Coding|undefined; /** * Used to set the request URL explicitly. If "url" element is defined, then "targetId", "resource", and "params" elements will be ignored. Test engines would use whatever is specified in "url" without tampering with the string (beyond encoding the URL for HTTP). Test engines do have to look for placeholders (${}) and replace the variable placeholders with the variable values at runtime before sending the request. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; } /** * Code Values for the TestScript.setup.action.operation.method field @@ -33644,118 +33644,118 @@ export interface TestScriptSetupActionAssert extends BackboneElement { /** * Thefhirpath expression to be evaluated against the expected fixture to compare to. Ignored if "assert.value" is used. The evaluation will be done before the assertion is evaluated. */ - compareToSourceExpression?: string; - _compareToSourceExpression?: Element; + compareToSourceExpression?: string|undefined; + _compareToSourceExpression?: Element|undefined; /** * Id of the source fixture used as the contents to be evaluated by either the "source/expression" or "sourceId/path" definition. */ - compareToSourceId?: string; - _compareToSourceId?: Element; + compareToSourceId?: string|undefined; + _compareToSourceId?: Element|undefined; /** * The XPath or JSONPath expression to be evaluated against the expected fixture to compare to. Ignored if "assert.value" is used. The evaluation will be done before the assertion is evaluated. */ - compareToSourcePath?: string; - _compareToSourcePath?: Element; + compareToSourcePath?: string|undefined; + _compareToSourcePath?: Element|undefined; /** * If this is specified, then test engine shall confirm that the content-type of the last operation's headers is set to this value. If "assert.sourceId" element is specified, then the evaluation will be done against the headers mapped to that sourceId (and not the last operation's headers). If you'd like to have more control over the string, then use 'assert.headerField' instead. */ - contentType?: string; - _contentType?: Element; + contentType?: string|undefined; + _contentType?: Element|undefined; /** * This has no impact on the verification itself. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * If the direction is specified as "response" (the default), then the processing of this assert is against the received response message. If the direction is specified as "request", then the processing of this assert is against the sent request message. */ - direction?: TestScriptSetupActionAssertDirectionCodes; - _direction?: Element; + direction?: TestScriptSetupActionAssertDirectionCodes|undefined; + _direction?: Element|undefined; /** * If both "expression" and a "fixtureId" are specified, then the expression will be evaluated against the request or response body mapped to the fixtureId. If "expression" is specified and a "fixtureId" is not, then the expression will be evaluated against the response body of the last operation. Test engines are to store the request and response body and headers of the last operation at all times for subsequent assertions. */ - expression?: string; - _expression?: Element; + expression?: string|undefined; + _expression?: Element|undefined; /** * If "headerField" is specified then "value" must be specified. If "sourceId" is not specified, then "headerField" will be evaluated against the last operation's response headers. Test engines are to keep track of the last operation's response body and response headers. */ - headerField?: string; - _headerField?: Element; + headerField?: string|undefined; + _headerField?: Element|undefined; /** * This has no impact on the verification itself. */ - label?: string; - _label?: Element; + label?: string|undefined; + _label?: Element|undefined; /** * Asserts that the response contains all the element/content in another fixture pointed to by minimumId. This can be a statically defined fixture or one that is dynamically set via responseId. */ - minimumId?: string; - _minimumId?: Element; + minimumId?: string|undefined; + _minimumId?: Element|undefined; /** * Asserts that the Bundle contains first, last, and next links. */ - navigationLinks?: boolean; - _navigationLinks?: Element; + navigationLinks?: boolean|undefined; + _navigationLinks?: Element|undefined; /** * Operators are useful especially for negative testing. If operator is not specified, then the "equals" operator is assumed; e.g. ``` ```. */ - operator?: TestScriptSetupActionAssertOperatorCodes; - _operator?: Element; + operator?: TestScriptSetupActionAssertOperatorCodes|undefined; + _operator?: Element|undefined; /** * If both "path" and a "fixtureId" are specified, then the path will be evaluated against the request or response body mapped to the fixtureId. If "path" is specified and a "fixtureId" is not, then the path will be evaluated against the response body of the last operation. Test engines are to store the request and response body and headers of the last operation at all times for subsequent assertions. */ - path?: string; - _path?: Element; + path?: string|undefined; + _path?: Element|undefined; /** * If "requestMethod" is specified then it will be used in place of "value". The "requestMethod" will evaluate against the last operation's request HTTP operation. */ - requestMethod?: TestScriptSetupActionAssertRequestMethodCodes; - _requestMethod?: Element; + requestMethod?: TestScriptSetupActionAssertRequestMethodCodes|undefined; + _requestMethod?: Element|undefined; /** * If "requestURL" is specified then it will be used in place of "value". The "requestURL" will evaluate against the last operation's full request URL path string. */ - requestURL?: string; - _requestURL?: Element; + requestURL?: string|undefined; + _requestURL?: Element|undefined; /** * This will be expected resource type in response body e.g. in read, vread, search, etc. See http://build.fhir.org/resourcelist.html for complete list of resource types; e.g. . */ - resource?: string; - _resource?: Element; + resource?: string|undefined; + _resource?: Element|undefined; /** * This is a shorter way of achieving similar verifications via "assert.responseCode". If you need more control, then use "assert.responseCode" e.g. . */ - response?: TestScriptSetupActionAssertResponseCodes; - _response?: Element; + response?: TestScriptSetupActionAssertResponseCodes|undefined; + _response?: Element|undefined; /** * To be used with "operator" attribute value. Asserts that the response code equals this value if "operator" is not specified. If the operator is "in" or "notIn" then the responseCode would be a comma-separated list of values e.g. "200,201". Otherwise, it's expected to be a numeric value. If "fixture" is not specified, then the "responseBodyId" value of the last operation is assumed. */ - responseCode?: string; - _responseCode?: Element; + responseCode?: string|undefined; + _responseCode?: Element|undefined; /** * This can be a statically defined fixture (at the top of the testscript) or a dynamically set fixture created by responseId of the action.operation element. */ - sourceId?: string; - _sourceId?: Element; + sourceId?: string|undefined; + _sourceId?: Element|undefined; /** * If this element is specified and it is true, then assertion failures should not stop the current test execution from proceeding. */ stopTestOnFail: boolean; - _stopTestOnFail?: Element; + _stopTestOnFail?: Element|undefined; /** * The ID of a Profile fixture. Asserts that the response is valid according to the Profile specified by validateProfileId. */ - validateProfileId?: string; - _validateProfileId?: Element; + validateProfileId?: string|undefined; + _validateProfileId?: Element|undefined; /** * The string-representation of a number, string, or boolean that is expected. Test engines do have to look for placeholders (${}) and replace the variable placeholders with the variable values at runtime before comparing this value to the actual value. */ - value?: string; - _value?: Element; + value?: string|undefined; + _value?: Element|undefined; /** * If this element is specified and it is true, then assertion failures can be logged by test engine but should not stop the test script execution from proceeding. There are likely cases where the spec is not clear on what should happen. If the spec says something is optional (maybe a response header for example), but a server doesn’t do it, we could choose to issue a warning. */ warningOnly: boolean; - _warningOnly?: Element; + _warningOnly?: Element|undefined; } /** * Code Values for the TestScript.setup.action.assert.direction field @@ -33816,11 +33816,11 @@ export interface TestScriptSetupAction extends BackboneElement { /** * In order to evaluate an assertion, the request, response, and results of the most recently executed operation must always be maintained by the test engine. */ - assert?: TestScriptSetupActionAssert; + assert?: TestScriptSetupActionAssert|undefined; /** * The operation to perform. */ - operation?: TestScriptSetupActionOperation; + operation?: TestScriptSetupActionOperation|undefined; } /** * A series of required setup operations before tests are executed. @@ -33838,11 +33838,11 @@ export interface TestScriptTestAction extends BackboneElement { /** * In order to evaluate an assertion, the request, response, and results of the most recently executed operation must always be maintained by the test engine. */ - assert?: TestScriptSetupActionAssert; + assert?: TestScriptSetupActionAssert|undefined; /** * An operation would involve a REST request to a server. */ - operation?: TestScriptSetupActionOperation; + operation?: TestScriptSetupActionOperation|undefined; } /** * A test in this script. @@ -33855,13 +33855,13 @@ export interface TestScriptTest extends BackboneElement { /** * A short description of the test used by test engines for tracking and reporting purposes. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * The name of this test used for tracking/logging purposes by test engines. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; } /** * An action should contain either an operation or an assertion but not both. It can contain any number of variables. @@ -33890,116 +33890,116 @@ export interface TestScript extends DomainResource { /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * A copyright statement relating to the test script and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the test script. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the test script. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * This description can be used to capture details such as why the test script was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the test script as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the test script is presumed to be the predominant language in the place the test script was created). */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * The purpose of this element is to define the profile of a destination element used elsewhere in the script. Test engines could then use the destination-profile mapping to offer a filtered list of test systems that can serve as the receiver for the interaction. */ - destination?: TestScriptDestination[]; + destination?: TestScriptDestination[]|undefined; /** * Allows filtering of test scripts that are appropriate for use versus not. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * Fixture in the test script - by reference (uri). All fixtures are required for the test script to execute. */ - fixture?: TestScriptFixture[]; + fixture?: TestScriptFixture[]|undefined; /** * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this test script outside of FHIR, where it is not possible to use the logical URI. */ - identifier?: Identifier; + identifier?: Identifier|undefined; /** * It may be possible for the test script to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * The required capability must exist and are assumed to function correctly on the FHIR server being tested. */ - metadata?: TestScriptMetadata; + metadata?: TestScriptMetadata|undefined; /** * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * The purpose of this element is to define the profile of an origin element used elsewhere in the script. Test engines could then use the origin-profile mapping to offer a filtered list of test systems that can serve as the sender for the interaction. */ - origin?: TestScriptOrigin[]; + origin?: TestScriptOrigin[]|undefined; /** * See http://build.fhir.org/resourcelist.html for complete list of resource types. */ - profile?: Reference[]; + profile?: Reference[]|undefined; /** * Usually an organization but may be an individual. The publisher (or steward) of the test script is the organization or individual primarily responsible for the maintenance and upkeep of the test script. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the test script. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * This element does not describe the usage of the test script. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this test script. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * The scope indicates a conformance artifact that is tested by the test(s) within this test case and the expectation of the test outcome(s) as well as the intended test phase inclusion. */ - scope?: TestScriptScope[]; + scope?: TestScriptScope[]|undefined; /** * A series of required setup operations before tests are executed. */ - setup?: TestScriptSetup; + setup?: TestScriptSetup|undefined; /** * Allows filtering of test scripts that are appropriate for use versus not. */ status: TestScriptStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * A series of operations required to clean up after all the tests are executed (successfully or otherwise). */ - teardown?: TestScriptTeardown; + teardown?: TestScriptTeardown|undefined; /** * A test in this script. */ - test?: TestScriptTest[]; + test?: TestScriptTest[]|undefined; /** * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. */ url: string; - _url?: Element; + _url?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * Variables would be set based either on XPath/JSONPath expressions against fixtures (static and response), or headerField evaluations against response headers. If variable evaluates to nodelist or anything other than a primitive value, then test engine would report an error. Variables would be used to perform clean replacements in "operation.params", "operation.requestHeader.value", and "operation.url" element values during operation calls and in "assert.value" during assertion evaluations. This limits the places that test engines would need to look for placeholders "${}". Variables are scoped to the whole script. They are NOT evaluated at declaration. They are evaluated by test engine when used for substitutions in "operation.params", "operation.requestHeader.value", and "operation.url" element values during operation calls and in "assert.value" during assertion evaluations. See example testscript-search.xml. */ - variable?: TestScriptVariable[]; + variable?: TestScriptVariable[]|undefined; /** * There may be different test script instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the test script with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the TestScript.status field @@ -34017,17 +34017,17 @@ export interface ValueSetComposeIncludeConceptDesignation extends BackboneElemen /** * In the absence of a language, the resource language applies. */ - language?: string; - _language?: Element; + language?: string|undefined; + _language?: Element|undefined; /** * If no use is provided, the designation can be assumed to be suitable for general display to a human user. */ - use?: Coding; + use?: Coding|undefined; /** * The text value for this designation. */ value: string; - _value?: Element; + _value?: Element|undefined; } /** * The list of concepts is considered ordered, though the order might not have any particular significance. Typically, the order of an expansion follows that defined in the compose element. @@ -34037,16 +34037,16 @@ export interface ValueSetComposeIncludeConcept extends BackboneElement { * Expressions are allowed if defined by the underlying code system. */ code: string; - _code?: Element; + _code?: Element|undefined; /** * Concepts have both a ```display``` and an array of ```designation```. The display is equivalent to a special designation with an implied ```designation.use``` of "primary code" and a language equal to the [Resource Language](resource.html#language). */ - designation?: ValueSetComposeIncludeConceptDesignation[]; + designation?: ValueSetComposeIncludeConceptDesignation[]|undefined; /** * The value set resource allows for an alternative display to be specified for when this concept is used in this particular value set. See notes in the value set narrative about the correct use of this element. */ - display?: string; - _display?: Element; + display?: string|undefined; + _display?: Element|undefined; } /** * Selecting codes by specifying filters based on properties is only possible where the underlying code system defines appropriate properties. Note that in some cases, the underlying code system defines the logical concepts but not the literal codes for the concepts. In such cases, the literal definitions may be provided by a third party. @@ -34056,17 +34056,17 @@ export interface ValueSetComposeIncludeFilter extends BackboneElement { * In case filter.property represents a property of the system, the operation applies to the selected property. In case filter.property represents a filter of the system, the operation SHALL match one of the CodeSystem.filter.operator values. */ op: ValueSetComposeIncludeFilterOpCodes; - _op?: Element; + _op?: Element|undefined; /** * A code that identifies a property or a filter defined in the code system. */ property: string; - _property?: Element; + _property?: Element|undefined; /** * Use regex matching with care - full regex matching on every SNOMED CT term is prohibitive, for example. */ value: string; - _value?: Element; + _value?: Element|undefined; } /** * Code Values for the ValueSet.compose.include.filter.op field @@ -34091,31 +34091,31 @@ export interface ValueSetComposeInclude extends BackboneElement { /** * The list of concepts is considered ordered, though the order might not have any particular significance. Typically, the order of an expansion follows that defined in the compose element. */ - concept?: ValueSetComposeIncludeConcept[]; + concept?: ValueSetComposeIncludeConcept[]|undefined; /** * A copyright statement for the specific code system asserted by the containing ValueSet.compose.include element's system value (if the associated ValueSet.compose.include.version element is not present); or the code system and version combination (if the associated ValueSet.compose.include.version element is present). */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * Selecting codes by specifying filters based on properties is only possible where the underlying code system defines appropriate properties. Note that in some cases, the underlying code system defines the logical concepts but not the literal codes for the concepts. In such cases, the literal definitions may be provided by a third party. */ - filter?: ValueSetComposeIncludeFilter[]; + filter?: ValueSetComposeIncludeFilter[]|undefined; /** * If there are no codes or filters, the entire code system is included. Note that the set of codes that are included may contain abstract codes. See ''Coding.system'' for further documentation about the correct value for the system element. */ - system?: string; - _system?: Element; + system?: string|undefined; + _system?: Element|undefined; /** * The value set URI is either a logical reference to a defined value set such as a [SNOMED CT reference set](snomedct.html#implicit), or a direct reference to a value set definition using ValueSet.url. The reference might not refer to an actual FHIR ValueSet resource; in this case, whatever is referred to is an implicit definition of a value set that needs to be clear about how versions are resolved. */ - valueSet?: string[]; - _valueSet?: Element[]; + valueSet?: string[]|undefined; + _valueSet?: Element[]|undefined; /** * This is used when selecting the descendants of a concept - they may change between versions. If no version is specified, then the exact contents of the value set might not be known until a context of use binds it to a particular version. The special value '*' means all versions; It is at server discretion regarding expansions and which versions must be supported. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * A set of criteria that define the contents of the value set by including or excluding codes selected from the specified code system(s) that the value set draws from. This is also known as the Content Logical Definition (CLD). @@ -34124,13 +34124,13 @@ export interface ValueSetCompose extends BackboneElement { /** * Usually this is used to selectively exclude codes that were included by subsumption in the inclusions. Any display names specified for the codes are ignored. */ - exclude?: ValueSetComposeInclude[]; + exclude?: ValueSetComposeInclude[]|undefined; /** * Note that in the FHIR terminology framework, "deprecated" does not mean inactive, but in some code systems, e.g. LOINC, "deprecated" does mean inactive. Code systems should define what codes are considered to be inactive. If this is not clearly defined (including in the FHIR code system resource), then all codes are assumed to be active. * The Value Set Definition specification defines an ActiveOnly element, which is the reverse of this element e.g. (ValueSet.compose.inactive=FALSE) is the same as (VSD.ActiveOnly=TRUE). */ - inactive?: boolean; - _inactive?: Element; + inactive?: boolean|undefined; + _inactive?: Element|undefined; /** * All the conditions in an include must be true. If a system is listed, all the codes from the system are listed. If one or more filters are listed, all of the filters must apply. If one or more value sets are listed, the codes must be in all the value sets. E.g. each include is 'include all the codes that meet all these conditions'. */ @@ -34138,13 +34138,13 @@ export interface ValueSetCompose extends BackboneElement { /** * With a defined lockedDate the value set is considered "Locked". Otherwise, the value set may have different expansions as underlying code systems and/or value sets evolve. The interpretation of lockedDate is often dependent on the context - e.g. a SNOMED CT derived value set with a lockedDate will have a different expansion in USA than in UK. If a value set specifies a version for include and exclude statements, and also specifies a locked date, the specified versions need to be available that date, or the value set will not be usable. */ - lockedDate?: string; - _lockedDate?: Element; + lockedDate?: string|undefined; + _lockedDate?: Element|undefined; /** * Note that property names can clash, so using a URI is recommended. */ - property?: string[]; - _property?: Element[]; + property?: string[]|undefined; + _property?: Element[]|undefined; } /** * The server decides which parameters to include here, but at a minimum, the list SHOULD include all of the parameters that affect the $expand operation. If the expansion will be persisted all of these parameters SHALL be included. If the codeSystem on the server has a specified version then this version SHALL be provided as a parameter in the expansion (note that not all code systems have a version). @@ -34154,40 +34154,40 @@ export interface ValueSetExpansionParameter extends BackboneElement { * The names are assigned at the discretion of the server. */ name: string; - _name?: Element; + _name?: Element|undefined; /** * The value of the parameter. */ - valueString?: string; - _valueString?: Element; + valueString?: string|undefined; + _valueString?: Element|undefined; /** * The value of the parameter. */ - valueBoolean?: boolean; - _valueBoolean?: Element; + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; /** * The value of the parameter. */ - valueInteger?: number; + valueInteger?: number|undefined; /** * The value of the parameter. */ - valueDecimal?: number; + valueDecimal?: number|undefined; /** * The value of the parameter. */ - valueUri?: string; - _valueUri?: Element; + valueUri?: string|undefined; + _valueUri?: Element|undefined; /** * The value of the parameter. */ - valueCode?: string; - _valueCode?: Element; + valueCode?: string|undefined; + _valueCode?: Element|undefined; /** * The value of the parameter. */ - valueDateTime?: string; - _valueDateTime?: Element; + valueDateTime?: string|undefined; + _valueDateTime?: Element|undefined; } /** * A property defines an additional slot through which additional information can be provided about a concept. @@ -34197,12 +34197,12 @@ export interface ValueSetExpansionProperty extends BackboneElement { * A code that is used to identify the property. The code is used in ValueSet.expansion.contains.property.code. */ code: string; - _code?: Element; + _code?: Element|undefined; /** * Reference to the formal meaning of the property. One possible source of meaning is the [Concept Properties](codesystem-concept-properties.html) code system. */ - uri?: string; - _uri?: Element; + uri?: string|undefined; + _uri?: Element|undefined; } /** * A property value for this concept. @@ -34212,39 +34212,39 @@ export interface ValueSetExpansionContainsProperty extends BackboneElement { * A code that is a reference to ValueSet.expansion.property.code. */ code: string; - _code?: Element; + _code?: Element|undefined; /** * The value of this property. */ - valueCode?: string; - _valueCode?: Element; + valueCode?: string|undefined; + _valueCode?: Element|undefined; /** * The value of this property. */ - valueCoding?: Coding; + valueCoding?: Coding|undefined; /** * The value of this property. */ - valueString?: string; - _valueString?: Element; + valueString?: string|undefined; + _valueString?: Element|undefined; /** * The value of this property. */ - valueInteger?: number; + valueInteger?: number|undefined; /** * The value of this property. */ - valueBoolean?: boolean; - _valueBoolean?: Element; + valueBoolean?: boolean|undefined; + _valueBoolean?: Element|undefined; /** * The value of this property. */ - valueDateTime?: string; - _valueDateTime?: Element; + valueDateTime?: string|undefined; + _valueDateTime?: Element|undefined; /** * The value of this property. */ - valueDecimal?: number; + valueDecimal?: number|undefined; } /** * The codes that are contained in the value set expansion. @@ -34253,45 +34253,45 @@ export interface ValueSetExpansionContains extends BackboneElement { /** * This should not be understood to exclude its use for searching (e.g. by subsumption testing). The client should know whether it is appropriate for the user to select an abstract code or not. */ - abstract?: boolean; - _abstract?: Element; + abstract?: boolean|undefined; + _abstract?: Element|undefined; /** * The code for this item in the expansion hierarchy. If this code is missing the entry in the hierarchy is a place holder (abstract) and does not represent a valid code in the value set. */ - code?: string; - _code?: Element; + code?: string|undefined; + _code?: Element|undefined; /** * If the expansion uses this element, there is no implication about the logical relationship between them, and the structure cannot be used for logical inferencing. The structure exists to provide navigational assistance for helping human users to locate codes in the expansion. */ - contains?: ValueSetExpansionContains[]; + contains?: ValueSetExpansionContains[]|undefined; /** * The designations provided must be based on the value set and code system definitions. */ - designation?: ValueSetComposeIncludeConceptDesignation[]; + designation?: ValueSetComposeIncludeConceptDesignation[]|undefined; /** * The recommended display for this item in the expansion. */ - display?: string; - _display?: Element; + display?: string|undefined; + _display?: Element|undefined; /** * This should only have a value if the concept is inactive. */ - inactive?: boolean; - _inactive?: Element; + inactive?: boolean|undefined; + _inactive?: Element|undefined; /** * A property value for this concept. */ - property?: ValueSetExpansionContainsProperty[]; + property?: ValueSetExpansionContainsProperty[]|undefined; /** * An absolute URI which is the code system in which the code for this item in the expansion is defined. */ - system?: string; - _system?: Element; + system?: string|undefined; + _system?: Element|undefined; /** * The exact value of the version string is specified by the system from which the code is derived. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Expansion is performed to produce a collection of codes that are ready to use for data entry or validation. Value set expansions are always considered to be stateless - they are a record of the set of codes in the value set at a point in time under a given set of conditions, and are not subject to ongoing maintenance. @@ -34301,33 +34301,33 @@ export interface ValueSetExpansion extends BackboneElement { /** * The codes that are contained in the value set expansion. */ - contains?: ValueSetExpansionContains[]; + contains?: ValueSetExpansionContains[]|undefined; /** * Typically, this uri is a UUID (e.g. urn:uuid:8230ff20-c97a-4167-a59d-dc2cb9df16dd). */ - identifier?: string; - _identifier?: Element; + identifier?: string|undefined; + _identifier?: Element|undefined; /** * Paging only applies to flat expansions. If a filter is applied, the count is the number of concepts that matched the filter, not the number of concepts in an unfiltered view of the expansion. */ - offset?: number; + offset?: number|undefined; /** * The server decides which parameters to include here, but at a minimum, the list SHOULD include all of the parameters that affect the $expand operation. If the expansion will be persisted all of these parameters SHALL be included. If the codeSystem on the server has a specified version then this version SHALL be provided as a parameter in the expansion (note that not all code systems have a version). */ - parameter?: ValueSetExpansionParameter[]; + parameter?: ValueSetExpansionParameter[]|undefined; /** * A property defines an additional slot through which additional information can be provided about a concept. */ - property?: ValueSetExpansionProperty[]; + property?: ValueSetExpansionProperty[]|undefined; /** * This SHOULD be a fully populated instant, but in some circumstances, value sets are expanded by hand, and the expansion is published without that precision. */ timestamp: string; - _timestamp?: Element; + _timestamp?: Element|undefined; /** * Paging only applies to flat expansions. */ - total?: number; + total?: number|undefined; } /** * Description of the semantic space the Value Set Expansion is intended to cover. @@ -34336,18 +34336,18 @@ export interface ValueSetScope extends BackboneElement { /** * Criteria describing which concepts or codes should be excluded and why. */ - exclusionCriteria?: string; - _exclusionCriteria?: Element; + exclusionCriteria?: string|undefined; + _exclusionCriteria?: Element|undefined; /** * The general focus of the Value Set as it relates to the intended semantic space. This can be the information about clinical relevancy or the statement about the general focus of the Value Set, such as a description of types of messages, payment options, geographic locations, etc. */ - focus?: string; - _focus?: Element; + focus?: string|undefined; + _focus?: Element|undefined; /** * Criteria describing which concepts or codes should be included and why. */ - inclusionCriteria?: string; - _inclusionCriteria?: Element; + inclusionCriteria?: string|undefined; + _inclusionCriteria?: Element|undefined; } /** * A ValueSet resource instance specifies a set of codes drawn from one or more code systems, intended for use in a particular context. Value sets link between [CodeSystem](codesystem.html) definitions and their use in [coded elements](terminologies.html). @@ -34358,94 +34358,94 @@ export interface ValueSet extends DomainResource { /** * A set of criteria that define the contents of the value set by including or excluding codes selected from the specified code system(s) that the value set draws from. This is also known as the Content Logical Definition (CLD). */ - compose?: ValueSetCompose; + compose?: ValueSetCompose|undefined; /** * May be a web site, an email address, a telephone number, etc. */ - contact?: ContactDetail[]; + contact?: ContactDetail[]|undefined; /** * Frequently, the copyright differs between the value set and the codes that are included. The copyright statement should clearly differentiate between these when required. */ - copyright?: string; - _copyright?: Element; + copyright?: string|undefined; + _copyright?: Element|undefined; /** * Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the value set. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * This description can be used to capture details such as why the value set was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the value set as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the value set is presumed to be the predominant language in the place the value set was created). The description should capture its intended use, which is needed for ensuring integrity for its use in models across future changes. A description should be provided unless the value set is a contained resource (e.g. an anonymous value set in a profile). Most registries will require a description. */ - description?: string; - _description?: Element; + description?: string|undefined; + _description?: Element|undefined; /** * Expansion is performed to produce a collection of codes that are ready to use for data entry or validation. Value set expansions are always considered to be stateless - they are a record of the set of codes in the value set at a point in time under a given set of conditions, and are not subject to ongoing maintenance. * Expansion.parameter is a simplified list of parameters - a subset of the features of the [Parameters](parameters.html) resource. */ - expansion?: ValueSetExpansion; + expansion?: ValueSetExpansion|undefined; /** * Allows filtering of value sets that are appropriate for use versus not. */ - experimental?: boolean; - _experimental?: Element; + experimental?: boolean|undefined; + _experimental?: Element|undefined; /** * Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this value set outside of FHIR, where it is not possible to use the logical URI. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Normally immutability is set to 'false', which is the default assumption if it is not populated. Note that the implication is that if this is set to 'true', there may be only one ValueSet version for this definition. Immutability tends to be set to 'true' in one of two cases: - Where the value set, by the nature of its usage, cannot change. For example "All specializations of ACT in ActClassCode" - Where there's no safe way to express the "Purpose" such that someone else could safely make changes to the value set definition. Source workflow control must guarantee that the same URI always yields the same definition. */ - immutable?: boolean; - _immutable?: Element; + immutable?: boolean|undefined; + _immutable?: Element|undefined; /** * It may be possible for the value set to be used in jurisdictions other than those for which it was originally designed or intended. */ - jurisdiction?: CodeableConcept[]; + jurisdiction?: CodeableConcept[]|undefined; /** * The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly.A name should be provided unless the value set is a contained resource (e.g. an anonymous value set in a profile). Most registries will require a name. */ - name?: string; - _name?: Element; + name?: string|undefined; + _name?: Element|undefined; /** * Usually an organization but may be an individual. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the value set. This item SHOULD be populated unless the information is available from context. */ - publisher?: string; - _publisher?: Element; + publisher?: string|undefined; + _publisher?: Element|undefined; /** * This element does not describe the usage of the value set. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this value set. */ - purpose?: string; - _purpose?: Element; + purpose?: string|undefined; + _purpose?: Element|undefined; /** * Description of the semantic space the Value Set Expansion is intended to cover. */ - scope?: ValueSetScope; + scope?: ValueSetScope|undefined; /** * Allows filtering of value sets that are appropriate for use versus not.See also the [valueset-workflowStatusDescription](extension-valueset-workflowstatusdescription.html) extension for additional status information related to the editorial process. */ status: ValueSetStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. */ - title?: string; - _title?: Element; + title?: string|undefined; + _title?: Element|undefined; /** * Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. * The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in [Technical and Business Versions](resource.html#versions). * In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the [meta.source](resource.html#meta) element to indicate where the current master source of the resource can be found. */ - url?: string; - _url?: Element; + url?: string|undefined; + _url?: Element|undefined; /** * When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. */ - useContext?: UsageContext[]; + useContext?: UsageContext[]|undefined; /** * There may be different value set instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the value set with the format [url]|[version]. */ - version?: string; - _version?: Element; + version?: string|undefined; + _version?: Element|undefined; } /** * Code Values for the ValueSet.status field @@ -34463,32 +34463,32 @@ export interface VerificationResultPrimarySource extends BackboneElement { /** * Ability of the primary source to push updates/alerts (yes; no; undetermined). */ - canPushUpdates?: CodeableConcept; + canPushUpdates?: CodeableConcept|undefined; /** * Method for communicating with the primary source (manual; API; Push). */ - communicationMethod?: CodeableConcept[]; + communicationMethod?: CodeableConcept[]|undefined; /** * Type of alerts/updates the primary source can send (specific requested changes; any changes; as defined by source). */ - pushTypeAvailable?: CodeableConcept[]; + pushTypeAvailable?: CodeableConcept[]|undefined; /** * Type of primary source (License Board; Primary Education; Continuing Education; Postal Service; Relationship owner; Registration Authority; legal source; issuing source; authoritative source). */ - type?: CodeableConcept[]; + type?: CodeableConcept[]|undefined; /** * When the target was validated against the primary source. */ - validationDate?: string; - _validationDate?: Element; + validationDate?: string|undefined; + _validationDate?: Element|undefined; /** * Status of the validation of the target against the primary source (successful; failed; unknown). */ - validationStatus?: CodeableConcept; + validationStatus?: CodeableConcept|undefined; /** * Reference to the primary source. */ - who?: Reference; + who?: Reference|undefined; } /** * Information about the entity attesting to information. @@ -34497,38 +34497,38 @@ export interface VerificationResultAttestation extends BackboneElement { /** * The method by which attested information was submitted/retrieved (manual; API; Push). */ - communicationMethod?: CodeableConcept; + communicationMethod?: CodeableConcept|undefined; /** * The date the information was attested to. */ - date?: string; - _date?: Element; + date?: string|undefined; + _date?: Element|undefined; /** * When the who is asserting on behalf of another (organization or individual). */ - onBehalfOf?: Reference; + onBehalfOf?: Reference|undefined; /** * A digital identity certificate associated with the proxy entity submitting attested information on behalf of the attestation source. */ - proxyIdentityCertificate?: string; - _proxyIdentityCertificate?: Element; + proxyIdentityCertificate?: string|undefined; + _proxyIdentityCertificate?: Element|undefined; /** * Signed assertion by the proxy entity indicating that they have the right to submit attested information on behalf of the attestation source. */ - proxySignature?: Signature; + proxySignature?: Signature|undefined; /** * A digital identity certificate associated with the attestation source. */ - sourceIdentityCertificate?: string; - _sourceIdentityCertificate?: Element; + sourceIdentityCertificate?: string|undefined; + _sourceIdentityCertificate?: Element|undefined; /** * Signed assertion by the attestation source that they have attested to the information. */ - sourceSignature?: Signature; + sourceSignature?: Signature|undefined; /** * The individual or organization attesting to information. */ - who?: Reference; + who?: Reference|undefined; } /** * Information about the entity validating information. @@ -34537,12 +34537,12 @@ export interface VerificationResultValidator extends BackboneElement { /** * Signed assertion by the validator that they have validated the information. */ - attestationSignature?: Signature; + attestationSignature?: Signature|undefined; /** * A digital identity certificate associated with the validator. */ - identityCertificate?: string; - _identityCertificate?: Element; + identityCertificate?: string|undefined; + _identityCertificate?: Element|undefined; /** * Reference to the organization validating information. */ @@ -34557,64 +34557,64 @@ export interface VerificationResult extends DomainResource { /** * Information about the entity attesting to information. */ - attestation?: VerificationResultAttestation; + attestation?: VerificationResultAttestation|undefined; /** * The result if validation fails (fatal; warning; record only; none). */ - failureAction?: CodeableConcept; + failureAction?: CodeableConcept|undefined; /** * Frequency of revalidation. */ - frequency?: Timing; + frequency?: Timing|undefined; /** * The date/time validation was last completed (including failed validations). */ - lastPerformed?: string; - _lastPerformed?: Element; + lastPerformed?: string|undefined; + _lastPerformed?: Element|undefined; /** * The frequency with which the target must be validated (none; initial; periodic). */ - need?: CodeableConcept; + need?: CodeableConcept|undefined; /** * The date when target is next validated, if appropriate. */ - nextScheduled?: string; - _nextScheduled?: Element; + nextScheduled?: string|undefined; + _nextScheduled?: Element|undefined; /** * Information about the primary source(s) involved in validation. */ - primarySource?: VerificationResultPrimarySource[]; + primarySource?: VerificationResultPrimarySource[]|undefined; /** * The validation status of the target (attested; validated; in process; requires revalidation; validation failed; revalidation failed). */ status: VerificationResultStatusCodes; - _status?: Element; + _status?: Element|undefined; /** * When the validation status was updated. */ - statusDate?: string; - _statusDate?: Element; + statusDate?: string|undefined; + _statusDate?: Element|undefined; /** * A resource that was validated. */ - target?: Reference[]; + target?: Reference[]|undefined; /** * The fhirpath location(s) within the resource that was validated. */ - targetLocation?: string[]; - _targetLocation?: Element[]; + targetLocation?: string[]|undefined; + _targetLocation?: Element[]|undefined; /** * The primary process by which the target is validated (edit check; value set; primary source; multiple sources; standalone; in context). */ - validationProcess?: CodeableConcept[]; + validationProcess?: CodeableConcept[]|undefined; /** * What the target is validated against (nothing; primary source; multiple sources). */ - validationType?: CodeableConcept; + validationType?: CodeableConcept|undefined; /** * Information about the entity validating information. */ - validator?: VerificationResultValidator[]; + validator?: VerificationResultValidator[]|undefined; } /** * Code Values for the VerificationResult.status field @@ -34639,7 +34639,7 @@ export interface VisionPrescriptionLensSpecificationPrism extends BackboneElemen * The relative base, or reference lens edge, for the prism. */ base: VisionPrescriptionLensSpecificationPrismBaseCodes; - _base?: Element; + _base?: Element|undefined; } /** * Code Values for the VisionPrescription.lensSpecification.prism.base field @@ -34657,54 +34657,54 @@ export interface VisionPrescriptionLensSpecification extends BackboneElement { /** * Power adjustment for multifocal lenses measured in dioptres (0.25 units). */ - add?: number; + add?: number|undefined; /** * The limits are +180 and -180 degrees. */ - axis?: number; + axis?: number|undefined; /** * Back curvature measured in millimetres. */ - backCurve?: number; + backCurve?: number|undefined; /** * Brand recommendations or restrictions. */ - brand?: string; - _brand?: Element; + brand?: string|undefined; + _brand?: Element|undefined; /** * Special color or pattern. */ - color?: string; - _color?: Element; + color?: string|undefined; + _color?: Element|undefined; /** * Power adjustment for astigmatism measured in dioptres (0.25 units). */ - cylinder?: number; + cylinder?: number|undefined; /** * Contact lens diameter measured in millimetres. */ - diameter?: number; + diameter?: number|undefined; /** * The recommended maximum wear period for the lens. */ - duration?: Quantity; + duration?: Quantity|undefined; /** * May also appear as OD (oculus dexter) for the right eye and OS (oculus siniter) for the left eye. */ eye: VisionPrescriptionLensSpecificationEyeCodes; - _eye?: Element; + _eye?: Element|undefined; /** * Notes for special requirements such as coatings and lens materials. */ - note?: Annotation[]; + note?: Annotation[]|undefined; /** * Contact lens power measured in dioptres (0.25 units). */ - power?: number; + power?: number|undefined; /** * Allows for adjustment on two axis. */ - prism?: VisionPrescriptionLensSpecificationPrism[]; + prism?: VisionPrescriptionLensSpecificationPrism[]|undefined; /** * Identifies the type of vision correction product which is required for the patient. */ @@ -34713,7 +34713,7 @@ export interface VisionPrescriptionLensSpecification extends BackboneElement { * The value is negative for near-sighted and positive for far sighted. * Often insurance will not cover a lens with power between +75 and -75. */ - sphere?: number; + sphere?: number|undefined; } /** * Code Values for the VisionPrescription.lensSpecification.eye field @@ -34732,20 +34732,20 @@ export interface VisionPrescription extends DomainResource { * The date this resource was created. */ created: string; - _created?: Element; + _created?: Element|undefined; /** * Jurisdictions determine the valid lifetime of a prescription. Typically vision prescriptions are valid for two years from the date written. */ dateWritten: string; - _dateWritten?: Element; + _dateWritten?: Element|undefined; /** * A reference to a resource that identifies the particular occurrence of contact between patient and health care provider during which the prescription was issued. */ - encounter?: Reference; + encounter?: Reference|undefined; /** * A unique identifier assigned to this vision prescription. */ - identifier?: Identifier[]; + identifier?: Identifier[]|undefined; /** * Contain the details of the individual lens specifications and serves as the authorization for the fullfillment by certified professionals. */ @@ -34762,7 +34762,7 @@ export interface VisionPrescription extends DomainResource { * This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. */ status: VisionPrescriptionStatusCodes; - _status?: Element; + _status?: Element|undefined; } /** * Code Values for the VisionPrescription.status field @@ -389121,3 +389121,155 @@ export type FhirResource = |ValueSet |VerificationResult |VisionPrescription; +/** + * String enum/union covering all known resource types. + */ +export type FhirResourceType = + 'Account' + | 'ActivityDefinition' + | 'AdministrableProductDefinition' + | 'AdverseEvent' + | 'AllergyIntolerance' + | 'Appointment' + | 'AppointmentResponse' + | 'AuditEvent' + | 'Basic' + | 'Binary' + | 'BiologicallyDerivedProduct' + | 'BodyStructure' + | 'Bundle' + | 'CapabilityStatement' + | 'CapabilityStatement2' + | 'CarePlan' + | 'CareTeam' + | 'CatalogEntry' + | 'ChargeItem' + | 'ChargeItemDefinition' + | 'Citation' + | 'Claim' + | 'ClaimResponse' + | 'ClinicalImpression' + | 'ClinicalUseIssue' + | 'CodeSystem' + | 'Communication' + | 'CommunicationRequest' + | 'CompartmentDefinition' + | 'Composition' + | 'ConceptMap' + | 'Condition' + | 'ConditionDefinition' + | 'Consent' + | 'Contract' + | 'Coverage' + | 'CoverageEligibilityRequest' + | 'CoverageEligibilityResponse' + | 'DetectedIssue' + | 'Device' + | 'DeviceDefinition' + | 'DeviceMetric' + | 'DeviceRequest' + | 'DeviceUsage' + | 'DiagnosticReport' + | 'DocumentManifest' + | 'DocumentReference' + | 'Encounter' + | 'Endpoint' + | 'EnrollmentRequest' + | 'EnrollmentResponse' + | 'EpisodeOfCare' + | 'EventDefinition' + | 'Evidence' + | 'EvidenceReport' + | 'EvidenceVariable' + | 'ExampleScenario' + | 'ExplanationOfBenefit' + | 'FamilyMemberHistory' + | 'Flag' + | 'Goal' + | 'GraphDefinition' + | 'Group' + | 'GuidanceResponse' + | 'HealthcareService' + | 'ImagingStudy' + | 'Immunization' + | 'ImmunizationEvaluation' + | 'ImmunizationRecommendation' + | 'ImplementationGuide' + | 'Ingredient' + | 'InsurancePlan' + | 'InventoryReport' + | 'Invoice' + | 'Library' + | 'Linkage' + | 'List' + | 'Location' + | 'ManufacturedItemDefinition' + | 'Measure' + | 'MeasureReport' + | 'Medication' + | 'MedicationAdministration' + | 'MedicationDispense' + | 'MedicationKnowledge' + | 'MedicationRequest' + | 'MedicationUsage' + | 'MedicinalProductDefinition' + | 'MessageDefinition' + | 'MessageHeader' + | 'MolecularSequence' + | 'NamingSystem' + | 'NutritionIntake' + | 'NutritionOrder' + | 'NutritionProduct' + | 'Observation' + | 'ObservationDefinition' + | 'OperationDefinition' + | 'OperationOutcome' + | 'Organization' + | 'OrganizationAffiliation' + | 'PackagedProductDefinition' + | 'Parameters' + | 'Patient' + | 'PaymentNotice' + | 'PaymentReconciliation' + | 'Permission' + | 'Person' + | 'PlanDefinition' + | 'Practitioner' + | 'PractitionerRole' + | 'Procedure' + | 'Provenance' + | 'Questionnaire' + | 'QuestionnaireResponse' + | 'RegulatedAuthorization' + | 'RelatedPerson' + | 'RequestGroup' + | 'ResearchStudy' + | 'ResearchSubject' + | 'RiskAssessment' + | 'Schedule' + | 'SearchParameter' + | 'ServiceRequest' + | 'Slot' + | 'Specimen' + | 'SpecimenDefinition' + | 'StructureDefinition' + | 'StructureMap' + | 'Subscription' + | 'SubscriptionStatus' + | 'SubscriptionTopic' + | 'Substance' + | 'SubstanceDefinition' + | 'SubstanceNucleicAcid' + | 'SubstancePolymer' + | 'SubstanceProtein' + | 'SubstanceReferenceInformation' + | 'SubstanceSourceMaterial' + | 'SupplyDelivery' + | 'SupplyRequest' + | 'Task' + | 'TerminologyCapabilities' + | 'TestReport' + | 'TestScript' + | 'ValueSet' + | 'VerificationResult' + | 'VisionPrescription'; diff --git a/src/Microsoft.Health.Fhir.SpecManager/Language/TypeScript.cs b/src/Microsoft.Health.Fhir.SpecManager/Language/TypeScript.cs index 679c60c56..33ee69ef3 100644 --- a/src/Microsoft.Health.Fhir.SpecManager/Language/TypeScript.cs +++ b/src/Microsoft.Health.Fhir.SpecManager/Language/TypeScript.cs @@ -67,6 +67,18 @@ public sealed class TypeScript : ILanguage /// True to export enums. private bool _exportEnums; + /// The namespace to use when exporting files. + private string _namespace; + + /// The directory root. + private string _directoryRoot; + + /// Pathname of the model directory. + private string _directoryModels; + + /// Pathname of the value set directory. + private string _directoryValueSets; + /// The exported codes. private HashSet _exportedCodes = new HashSet(); @@ -79,8 +91,8 @@ public sealed class TypeScript : ILanguage /// Name of the language. private const string _languageName = "TypeScript"; - /// The single file export extension. - private const string _singleFileExportExtension = ".ts"; + /// The single file export extension - requires directory export. + private const string _singleFileExportExtension = ".d.ts"; /// The minimum type script version. private const string _minimumTypeScriptVersion = "3.7"; @@ -152,7 +164,6 @@ public sealed class TypeScript : ILanguage IncludeBase = false, } }, - }; /// Gets the name of the language. @@ -192,7 +203,10 @@ public sealed class TypeScript : ILanguage }; /// Gets language-specific options and their descriptions. - Dictionary ILanguage.LanguageOptions => new Dictionary(); + Dictionary ILanguage.LanguageOptions => new Dictionary() + { + { "namespace", "Export namespace for TypeScript files (default: fhir{VersionNumber})." }, + }; /// Export the passed FHIR version into the specified directory. /// The information. @@ -222,6 +236,29 @@ void ILanguage.Export( _exportEnums = false; } + _namespace = options.GetParam("namespace", $"fhir{info.MajorVersion}"); + + //_directoryRoot = exportDirectory; + //if (!Directory.Exists(_directoryRoot)) + //{ + // Directory.CreateDirectory(_directoryRoot); + //} + + //_directoryModels = Path.Combine(exportDirectory, "Models"); + //if (!Directory.Exists(_directoryModels)) + //{ + // Directory.CreateDirectory(_directoryModels); + //} + + //_directoryValueSets = Path.Combine(exportDirectory, "ValueSets"); + //if (_exportEnums) + //{ + // if (!Directory.Exists(_directoryValueSets)) + // { + // Directory.CreateDirectory(_directoryValueSets); + // } + //} + // create a filename for writing (single file for now) string filename = Path.Combine(exportDirectory, $"R{info.MajorVersion}.ts"); @@ -241,9 +278,77 @@ void ILanguage.Export( } WriteExpandedResourceInterfaceBinding(); + WriteExpandedResourceEnum(); WriteFooter(); } + + // WriteMainDefinitionFile(); + } + + /// Writes the main definition file. + private void WriteMainDefinitionFile() + { + // create a filename for writing + string filename = Path.Combine(_directoryRoot, $"fhir.d.ts"); + + using (FileStream stream = new FileStream(filename, FileMode.Create)) + using (ExportStreamWriter writer = new ExportStreamWriter(stream)) + { + _writer = writer; + + WriteHeader(); + + WriteExpandedResourceInterfaceBinding(); + WriteExpandedResourceEnum(); + + WriteFooter(); + } + } + + /// Writes the expanded resource enum. + private void WriteExpandedResourceEnum() + { + if (_exportedResources.Count == 0) + { + return; + } + + _exportedResources.Sort(); + + WriteIndentedComment("String enum/union covering all known resource types."); + + if (_exportedResources.Count == 1) + { + _writer.WriteLineIndented($"export type FhirResourceType = '{_exportedResources[0]}';"); + return; + } + + _writer.WriteLineIndented("export type FhirResourceType = "); + + _writer.IncreaseIndent(); + + int index = 0; + int last = _exportedResources.Count - 1; + foreach (string exportedName in _exportedResources) + { + if (index == 0) + { + _writer.WriteLineIndented("'" + exportedName + "'"); + } + else if (index == last) + { + _writer.WriteLineIndented(" | '" + exportedName + "';"); + } + else + { + _writer.WriteLineIndented(" | '" + exportedName + "'"); + } + + index++; + } + + _writer.DecreaseIndent(); } /// Writes the expanded resource interface binding. @@ -381,7 +486,7 @@ private void WriteValueSet( new WrittenCodeInfo() { Name = codeName, ConstName = constName }); writtenNames.Add(constName); - _writer.WriteLineIndented($"const {constName}: Coding = {{"); + _writer.WriteLineIndented($"declare const {constName}: Coding = {{"); _writer.IncreaseIndent(); _writer.WriteLineIndented($"code: \"{codeValue}\","); @@ -511,7 +616,6 @@ private void WriteComplex( exportName = complex.NameForExport(FhirTypeBase.NamingConvention.PascalCase, true); string typeName = complex.TypeForExport(FhirTypeBase.NamingConvention.PascalCase, _primitiveTypeMap, false); - //if (ShouldSupportGenerics(complex.Path)) if (_genericsAndTypeHints.ContainsKey(complex.Path)) { _writer.WriteLineIndented( @@ -570,9 +674,9 @@ private void WriteCode( string.Empty, FhirTypeBase.NamingConvention.PascalCase); - if (codeName.Contains("[x]")) + if (codeName.Contains("[x]", StringComparison.Ordinal)) { - codeName = codeName.Replace("[x]", string.Empty); + codeName = codeName.Replace("[x]", string.Empty, StringComparison.Ordinal); } if (_exportedCodes.Contains(codeName)) @@ -586,7 +690,7 @@ private void WriteCode( _writer.WriteLineIndented($" * Code Values for the {element.Path} field"); _writer.WriteLineIndented($" */"); - _writer.WriteLineIndented($"export enum {codeName} {{"); + _writer.WriteLineIndented($"export const enum {codeName} {{"); _writer.IncreaseIndent(); @@ -596,7 +700,7 @@ private void WriteCode( { FhirUtils.SanitizeForCode(concept.Code, _reservedWords, out string name, out string value); - _writer.WriteLineIndented($"{name.ToUpperInvariant()} = \"{value}\","); + _writer.WriteLineIndented($"{name.ToUpperInvariant()} = '{value}',"); } } else @@ -605,7 +709,7 @@ private void WriteCode( { FhirUtils.SanitizeForCode(code, _reservedWords, out string name, out string value); - _writer.WriteLineIndented($"{name.ToUpperInvariant()} = \"{value}\","); + _writer.WriteLineIndented($"{name.ToUpperInvariant()} = '{value}',"); } } @@ -631,22 +735,6 @@ private static bool ShouldWriteResourceType(string name) return true; } - /// Determine if the export should support generics - /// The name. - /// True if it succeeds, false if it fails. - private static bool ShouldSupportGenerics(string name) - { - switch (name) - { - case "Bundle": - case "Bundle.entry": - case "Bundle.entry.resource": - return true; - } - - return false; - } - /// Writes the elements. /// The complex. /// [out] The elements with codes. @@ -681,6 +769,7 @@ private void WriteElement( { string optionalFlagString = element.IsOptional ? "?" : string.Empty; string arrayFlagString = element.IsArray ? "[]" : string.Empty; + string undefinedPostfix = element.IsOptional ? "|undefined" : string.Empty; Dictionary values = element.NamesAndTypesForExport( FhirTypeBase.NamingConvention.CamelCase, @@ -694,6 +783,7 @@ private void WriteElement( string.IsNullOrEmpty(optionalFlagString)) { optionalFlagString = "?"; + undefinedPostfix = "|undefined"; } foreach (KeyValuePair kvp in values) @@ -721,20 +811,19 @@ private void WriteElement( string.Empty, FhirTypeBase.NamingConvention.PascalCase); - _writer.WriteLineIndented($"{kvp.Key}{optionalFlagString}: {codeName}{arrayFlagString};"); + _writer.WriteLineIndented($"{kvp.Key}{optionalFlagString}: {codeName}{arrayFlagString}{undefinedPostfix};"); } else if (_info.TryGetValueSet(element.ValueSet, out FhirValueSet vs)) { // use the full expansion - _writer.WriteLineIndented($"{kvp.Key}{optionalFlagString}: ({string.Join("|", vs.Concepts.Select(c => $"'{c.Code}'"))}){arrayFlagString};"); + _writer.WriteLineIndented($"{kvp.Key}{optionalFlagString}: ({string.Join("|", vs.Concepts.Select(c => $"'{c.Code}'"))}){arrayFlagString}{undefinedPostfix};"); } else { // otherwise, inline the required codes - _writer.WriteLineIndented($"{kvp.Key}{optionalFlagString}: ({string.Join("|", element.Codes.Select(c => $"'{c}'"))}){arrayFlagString};"); + _writer.WriteLineIndented($"{kvp.Key}{optionalFlagString}: ({string.Join("|", element.Codes.Select(c => $"'{c}'"))}){arrayFlagString}{undefinedPostfix};"); } } - //else if (ShouldSupportGenerics(element.Path)) else if (_genericsAndTypeHints.ContainsKey(element.Path)) { GenericTypeHintInfo typeHint = _genericsAndTypeHints[element.Path]; @@ -744,29 +833,27 @@ private void WriteElement( _writer.WriteLineIndented( $"{kvp.Key}{optionalFlagString}:" + $" {kvp.Value}" + - $"<{_genericsAndTypeHints[element.Path].Alias}>{arrayFlagString};"); + $"<{_genericsAndTypeHints[element.Path].Alias}>{arrayFlagString}{undefinedPostfix};"); } else { _writer.WriteLineIndented( $"{kvp.Key}{optionalFlagString}:" + - $" {_genericsAndTypeHints[element.Path].Alias}{arrayFlagString};"); + $" {_genericsAndTypeHints[element.Path].Alias}{arrayFlagString}{undefinedPostfix};"); } - - //_writer.WriteLineIndented($"{kvp.Key}{optionalFlagString}: {kvp.Value}{arrayFlagString};"); } else if (kvp.Value.Equals("Resource", StringComparison.Ordinal)) { - _writer.WriteLineIndented($"{kvp.Key}{optionalFlagString}: FhirResource{arrayFlagString};"); + _writer.WriteLineIndented($"{kvp.Key}{optionalFlagString}: FhirResource{arrayFlagString}{undefinedPostfix};"); } else { - _writer.WriteLineIndented($"{kvp.Key}{optionalFlagString}: {kvp.Value}{arrayFlagString};"); + _writer.WriteLineIndented($"{kvp.Key}{optionalFlagString}: {kvp.Value}{arrayFlagString}{undefinedPostfix};"); } if (RequiresExtension(kvp.Value)) { - _writer.WriteLineIndented($"_{kvp.Key}?: Element{arrayFlagString};"); + _writer.WriteLineIndented($"_{kvp.Key}?: Element{arrayFlagString}|undefined;"); } } } @@ -814,6 +901,13 @@ private void WriteHeader() } _writer.WriteLine($"// Minimum TypeScript Version: {_minimumTypeScriptVersion}"); + + if (!string.IsNullOrEmpty(_namespace)) + { + _writer.WriteLine(); + _writer.WriteLine($"export as namespace {_namespace};"); + _writer.WriteLine(); + } } /// Writes a footer. diff --git a/src/Microsoft.Health.Fhir.SpecManager/Manager/FhirVersionInfo.cs b/src/Microsoft.Health.Fhir.SpecManager/Manager/FhirVersionInfo.cs index 432ef234d..31d9136c0 100644 --- a/src/Microsoft.Health.Fhir.SpecManager/Manager/FhirVersionInfo.cs +++ b/src/Microsoft.Health.Fhir.SpecManager/Manager/FhirVersionInfo.cs @@ -156,6 +156,9 @@ public class FhirVersionInfo { 5, new HashSet() + { + "StructureDefinition-structuredefinition-conformance-derivedFrom.json", + } }, }; diff --git a/test/TypeScript_R4/tsconfig.json b/test/TypeScript_R4/tsconfig.json index 30ffe457e..b4c27fb27 100644 --- a/test/TypeScript_R4/tsconfig.json +++ b/test/TypeScript_R4/tsconfig.json @@ -16,6 +16,6 @@ "noEmit": true }, "files": [ - "../../generated/TypeScript_R4.ts" + "../../generated/TypeScript_R4.d.ts" ] } \ No newline at end of file