--- type: "datatype" title: "SampledData" datatype: "SampledData" --- # SampledData - [Datatypes](/datatypes) - [Definitions](/datatypes-definitions#SampledData) - [Examples](/datatypes-examples#SampledData) - [Mappings](/datatypes-mappings#SampledData) - [Profiles](/datatypes-profiles#SampledData) ## Overview See also [Examples](datatypes-examples#SampledData), [Detailed Descriptions](datatypes-definitions#SampledData), [Mappings](datatypes-mappings#SampledData), [Profiles](datatypes-profiles#SampledData) and [Extensions]([%extensions-location%]extensions-datatypes#SampledData) A SampledData provides a concise way to handle the data produced by devices that sample a particular physical state at a high frequency. A typical use for this is for the output of an ECG or EKG device. The datatype includes a series of raw decimal values (which are mostly simple integers) or codes, along with adjustments for scale and factor. These are interpreted such that original measured value\[i\] = SampledData.data\[i\] \* SampledData.factor + SampledData.origin.value \[%dt SampledData 8%\] SampledData supports multi-dimensional data, where there is more than one measurement for each time point. If there is more than one dimension, the different dimensions are interlaced - all the data points for a particular time are represented together. Data points are separated by by a single space (Unicode character u20). Each data point is either a decimal value or a code. Three special codes are defined: - `E`: error - no valid measurement available for this data point - `L`: below detection point - the value was below the device's detection limit (`lowerLimit`, which must be provided if this code is used) - `U`: above detection point - the value was above the device's detection limit (`upperLimit`, which must be provided if this code is used) Other codes may be used. In this case, the meaning of the codes is specified by the `codeMap` property which references a [ConceptMap](conceptmap) that defines the codes used in the data, and maps the codes to properly defined concepts in a [CodeSystem](codesystem). Note that in this case, source system defined in the ConceptMap is not used in the SampledData and is ignored. There SHALL only be one group in the ConceptMap. The ConceptMap cannot define meanings for any numerical values, nor for the codes 'E', 'U', or 'L' (nor, for safety, 'e', 'u', or 'l'), since they always have the meaning as defined above. There is no escape sequences; codes cannot contain spaces. Also, to make parsing simpler, codes cannot start with numerals. **Constraints** \[%dt.constraints SampledData%\] SampledData is used in the following places: \[%dtusage SampledData%\] ## Elements - **[SampledData.origin](/datatypes-definitions#SampledData.origin)** [1..1]: [SimpleQuantity](/SimpleQuantity) The base quantity that a measured value of zero represents. In addition, this provides the units of the entire measurement series - **[SampledData.interval](/datatypes-definitions#SampledData.interval)** [0..1]: [decimal](/decimal) Amount of intervalUnits between samples, e.g. milliseconds for time-based sampling - **[SampledData.intervalUnit](/datatypes-definitions#SampledData.intervalUnit)** [1..1]: [code](/code) The measurement unit in which the sample interval is expressed - **[SampledData.factor](/datatypes-definitions#SampledData.factor)** [0..1]: [decimal](/decimal) A correction factor that is applied to the sampled data points before they are added to the origin - **[SampledData.lowerLimit](/datatypes-definitions#SampledData.lowerLimit)** [0..1]: [decimal](/decimal) 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) - **[SampledData.upperLimit](/datatypes-definitions#SampledData.upperLimit)** [0..1]: [decimal](/decimal) 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) - **[SampledData.dimensions](/datatypes-definitions#SampledData.dimensions)** [1..1]: [positiveInt](/positiveInt) 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 - **[SampledData.codeMap](/datatypes-definitions#SampledData.codeMap)** [0..1]: canonical(ConceptMap) Reference to ConceptMap that defines the codes used in the data - **[SampledData.offsets](/datatypes-definitions#SampledData.offsets)** [0..1]: [string](/string) A series of increasing decimal values separated by a single space (character u20), which represent the offset from the logical start point. Offset values may be negative. The units in which the offsets are expressed are found in intervalUnit. The absolute point at which the measurements begin SHALL be conveyed outside the scope of this datatype, e.g. Observation.effectiveDateTime for a timing offset - **[SampledData.data](/datatypes-definitions#SampledData.data)** [0..1]: [string](/string) A series of data points which are decimal values or codes separated by a single space (character u20). The special codes "E" (error), "L" (below detection limit) and "U" (above detection limit) are also defined for used in place of decimal values ## Bindings - **SampledData.intervalUnit**: `Units` | strength: value set | reference: valueset-ucum-units ## Summary Elements - **SampledData.origin**: In _summary view - **SampledData.interval**: In _summary view - **SampledData.intervalUnit**: In _summary view - **SampledData.factor**: In _summary view - **SampledData.lowerLimit**: In _summary view - **SampledData.upperLimit**: In _summary view - **SampledData.dimensions**: In _summary view ## Comments - **SampledData.interval**: This is usually a whole number - **SampledData.dimensions**: If there is more than one dimension, the code for the type of data will define the meaning of the dimensions (typically ECG data) - **SampledData.codeMap**: The ConceptMap cannot define meanings for the codes 'E', 'U', or 'L' (nor 'e', 'u', or 'l') - **SampledData.offsets**: If offsets is present, the number of data points must be equal to the number of offsets multipled by the dimensions - **SampledData.data**: The data may be missing if it is omitted for summarization purposes. In general, data is required for any actual use of a SampledData ## Regex - **SampledData.data**: `((-{0,1}\d*\.{0,1}\d+)|[EUL])( ((-{0,1}\d*\.{0,1}\d+)|[EUL]))*` ## Order and Missing Meaning - **SampledData.factor**: Missing: If no factor is assigned, the data is not adjusted before adding to the origin ## Mappings - **SampledData.origin**: RIM Mapping: SLIST.origin - **SampledData.interval**: RIM Mapping: GLIST.increment - **SampledData.factor**: RIM Mapping: SLIST.factor - **SampledData.lowerLimit**: RIM Mapping: N/A (use SLIST.digits.nullFlavor) - **SampledData.upperLimit**: RIM Mapping: N/A (use SLIST.digits.nullFlavor) - **SampledData.dimensions**: RIM Mapping: N/A (fixed to 1) - **SampledData.codeMap**: RIM Mapping: N/A - **SampledData.offsets**: RIM Mapping: N/A - **SampledData.data**: RIM Mapping: SLIST.digits