diff --git a/src/allotropy/parsers/constants.py b/src/allotropy/parsers/constants.py index b9a8a5e89..128e5631d 100644 --- a/src/allotropy/parsers/constants.py +++ b/src/allotropy/parsers/constants.py @@ -10,8 +10,17 @@ POSSIBLE_WELL_COUNTS = [1, 2, 4, 6, 8, 12, 24, 48, 72, 96, 384, 1536, 3456] -def round_to_nearest_well_count(well_count: int) -> int | None: - for possible_count in POSSIBLE_WELL_COUNTS: +def round_to_nearest_well_count( + well_count: int, possible_well_counts: list[int] | None = None +) -> int | None: + """ + Round the well count to the nearest well count in the list of possible well counts. If a list + of possible well counts is not provided, use the default list of possible well counts. + If the well count is not in the list of possible well counts, return None. + """ + well_counts = possible_well_counts or POSSIBLE_WELL_COUNTS + well_counts.sort() + for possible_count in well_counts: if well_count > possible_count: continue return possible_count diff --git a/src/allotropy/parsers/luminex_xponent/constants.py b/src/allotropy/parsers/luminex_xponent/constants.py index 6d473646b..097dfc45b 100644 --- a/src/allotropy/parsers/luminex_xponent/constants.py +++ b/src/allotropy/parsers/luminex_xponent/constants.py @@ -15,6 +15,7 @@ EXPECTED_CALIBRATION_RESULT_LEN = 2 EXPECTED_HEADER_COLUMNS = 7 REQUIRED_SECTIONS = ["Count", "Units", "Dilution Factor"] +POSSIBLE_WELL_COUNTS_LUMINEX = [96, 384] @dataclass(frozen=True) @@ -69,3 +70,53 @@ class StatisticSectionConfig: "% Recovery": "(unitless)", "%CV of Replicates": "(unitless)", } + +# Known metric names in the columns of the single dataset results table +SINGLE_DATASET_RESULTS_METRIC_WORDS: set[str] = { + "MEAN", + "MEDIAN", + "COUNT", + "PEAK", + "STDEV", + "STANDARD", + "DEVIATION", + "%CV", + "TRIMMED", + "NET", + "MFI", + "AVERAGE", + "AVG", + "RMS", + "MODE", + "TRMEAN", + "TRIMSTDEV", + "NORMALIZED", + "DILUTION", + "FACTOR", + "SETTING", + "UNITS", +} + +# Allowed section names for Luminex Xponent reports. Any other name should raise an error upstream. +ALLOWED_SECTION_NAMES: set[str] = { + "Median", + "Test Result", + "Range", + "Net MFI", + "Count", + "Mean", + "Avg Net MFI", + "Peak", + "Trimmed Peak", + "Trimmed Count", + "Trimmed Std Dev", + "Std Dev", + "% CV", + "Expected Result", + "Units", + "Per Bead Count", + "Dilution Factor", + "Analysis Types", + "Audit Logs", + "Warnings/Errors", +} diff --git a/src/allotropy/parsers/luminex_xponent/luminex_xponent_reader.py b/src/allotropy/parsers/luminex_xponent/luminex_xponent_reader.py index cd1ca0407..b36e00b59 100644 --- a/src/allotropy/parsers/luminex_xponent/luminex_xponent_reader.py +++ b/src/allotropy/parsers/luminex_xponent/luminex_xponent_reader.py @@ -2,11 +2,13 @@ from io import StringIO import re +from typing import cast, ClassVar import pandas as pd from allotropy.exceptions import AllotropeConversionError, AllotropeParsingError from allotropy.named_file_contents import NamedFileContents +from allotropy.parsers.constants import round_to_nearest_well_count from allotropy.parsers.lines_reader import CsvReader, read_to_lines from allotropy.parsers.luminex_xponent import constants from allotropy.parsers.utils.pandas import read_csv @@ -16,20 +18,319 @@ class LuminexXponentReader: SUPPORTED_EXTENSIONS = "csv" - header_data: pd.DataFrame - calibration_data: pd.DataFrame - minimum_assay_bead_count_setting: float | None - results_data: dict[str, pd.DataFrame] - def __init__(self, named_file_contents: NamedFileContents) -> None: - reader = CsvReader(read_to_lines(named_file_contents)) + self.lines = read_to_lines(named_file_contents) + + if LuminexXponentReader._is_single_dataset(self.lines): + ( + self.results_data, + self.header_data, + self.calibration_data, + self.minimum_assay_bead_count_setting, + ) = SingleDatasetParser.parse(self.lines) + else: + reader = CsvReader(self.lines) + ( + self.results_data, + self.header_data, + self.calibration_data, + self.minimum_assay_bead_count_setting, + ) = MultipleDatasetParser.parse(reader) + + @staticmethod + def _is_single_dataset(lines: list[str]) -> bool: + first_line = lines[0] or "" + return ( + "INSTRUMENT TYPE" in first_line + and "WELL LOCATION" in first_line + and "SAMPLE ID" in first_line + ) + + +class SingleDatasetParser: + """ + Adapter to read single dataset CSV exports (all data in a single block) + and yield the same data structures expected by xPONENT-based downstream code. + """ + + # Columns that are always present in the single-dataset CSV export and are not analyte columns + FIXED_INPUT_COLUMNS: ClassVar[list[str]] = [ + "INSTRUMENT TYPE", + "SERIAL NUMBER", + "SOFTWARE VERSION", + "PLATE NAME", + "PLATE START", + "WELL LOCATION", + "SAMPLE ID", + ] + + @staticmethod + def parse_header(col: str) -> tuple[str, str] | None: + """Parse a column header into (analyte_label, metric_token). + + The column names have an ID followed by the metric. The metric itself is + composed of space-separated words that must all be included in + constants.SINGLE_DATASET_RESULTS_METRIC_WORDS. We therefore split the + header on spaces and find the earliest split index such that the suffix + (metric) is entirely composed of known metric words (case-insensitive), + assigning the prefix to the analyte label. + """ + header = str(col).strip() + parts = [p for p in header.split(" ") if p] + if len(parts) < 2: + return None + + # Compare words case-insensitively, without extra cleaning + cleaned = [p.upper() for p in parts] + + # Find earliest index where the suffix is all known metric words + split_index: int | None = None + for i in range(1, len(parts)): + suffix = cleaned[i:] + if suffix and all( + s in constants.SINGLE_DATASET_RESULTS_METRIC_WORDS for s in suffix + ): + split_index = i + break + + if split_index is None: + return None - self.header_data = self._get_header_data(reader) - self.calibration_data = self._get_calibration_data(reader) - self.minimum_assay_bead_count_setting = ( - self._get_minimum_assay_bead_count_setting(reader) + analyte_part = " ".join(parts[:split_index]).strip() + metric_part = " ".join(parts[split_index:]).strip() + if not analyte_part or not metric_part: + return None + return analyte_part, metric_part + + @staticmethod + def section_name_from_metric(metric_token: str) -> str: + """Map raw metric tokens to xPONENT-style section names.""" + token_upper = metric_token.upper().strip() + if token_upper.endswith("AVERAGE MFI"): + return "Avg Net MFI" + # Title-case fallback for all other tokens + return metric_token.title() + + @staticmethod + def build_section( + df: pd.DataFrame, + analyte_labels: list[str], + headers_map: dict[tuple[str, str], str], + metric_token: str, + ) -> pd.DataFrame | None: + """Build a results section dataframe for the given metric. + + Returns None if no analyte column exists for this metric in the input. + """ + + if metric_token.upper().strip() == "UNITS": + return SingleDatasetParser.build_units_section( + df, analyte_labels, headers_map + ) + + at_least_one_present = False + out = pd.DataFrame() + out["Location"] = [f"1(1,{w})" for w in df["WELL LOCATION"].astype(str)] + out["Sample"] = df["SAMPLE ID"].astype(str) + for analyte in analyte_labels: + src_col = headers_map.get((analyte, metric_token)) + if src_col: + at_least_one_present = True + out[analyte] = df[src_col] if src_col in df.columns else "" + + if not at_least_one_present: + return None + + if metric_token == "COUNT": # noqa: S105 + analyte_cols = analyte_labels + # Convert each analyte column to numeric, coercing errors to NaN then filling with 0.0 + converted = cast( + pd.DataFrame, + out[analyte_cols].apply(pd.to_numeric, errors="coerce").fillna(0.0), + ) + out["Total Events"] = converted.sum(axis=1) + else: + out["Total Events"] = "" + return out.set_index("Location") + + @staticmethod + def build_units_section( + df: pd.DataFrame, + analyte_labels: list[str], + headers_map: dict[tuple[str, str], str], + ) -> pd.DataFrame: + """Build a units section dataframe for the given analyte labels.""" + units_list = [] + at_least_one_present = False + for analyte in analyte_labels: + src_col = headers_map.get((analyte, "UNITS")) + units_list.append(df[src_col][0] if src_col in df.columns else "") + if src_col: + at_least_one_present = True + + if not at_least_one_present: + return pd.DataFrame() + + columns = ["Analyte:", *analyte_labels] + units: pd.DataFrame = pd.DataFrame( + [ + columns, + ["BeadID:", *units_list], + ["Units:", *[""] * len(analyte_labels)], + ], + index=["Analyte:", "BeadID:", "Units:"], + columns=columns, + ) + + return units + + @staticmethod + def add_mandatory_columns( + results: dict[str, pd.DataFrame], + base_df: pd.DataFrame, + analyte_labels: list[str], + ) -> None: + """Ensure required sections exist (Units, Dilution Factor).""" + if "Dilution Factor" not in results: + results["Dilution Factor"] = pd.DataFrame() + results["Dilution Factor"]["Location"] = [ + f"1(1,{w})" for w in base_df["WELL LOCATION"].astype(str) + ] + results["Dilution Factor"]["Sample"] = base_df["SAMPLE ID"].astype(str) + results["Dilution Factor"]["Dilution Factor"] = "" + results["Dilution Factor"] = results["Dilution Factor"].set_index( + "Location" + ) + if "Units" not in results: + units_df = pd.DataFrame( + [ + ["Analyte:", *analyte_labels], + ["BeadID:"], + ["Units:"], + ], + index=["Analyte:", "BeadID:", "Units:"], + columns=["Analyte:", *analyte_labels], + ) + results["Units"] = units_df + + @staticmethod + def _get_well_count(df: pd.DataFrame) -> int: + # Count unique values in WELL LOCATION matching Excel-like cell ids: Letter(s) + Number(s) + # Example matches: A1, B12, AA3 + pattern = r"^[A-Za-z]+\d+$" + values = df["WELL LOCATION"].astype(str).str.strip() + matching = values[values.str.match(pattern)] + unique_count = int(matching.str.upper().nunique()) + nearest = round_to_nearest_well_count( + unique_count, constants.POSSIBLE_WELL_COUNTS_LUMINEX + ) + return int(nearest or 0) + + @classmethod + def parse( + cls, lines: list[str] + ) -> tuple[dict[str, pd.DataFrame], pd.DataFrame, pd.DataFrame, float | None]: + """Parse single-dataset CSV and return header, calibration, min beads and results tables.""" + df = read_csv(StringIO("\n".join(lines)), header=0) + + analyte_labels: list[str] = [] + seen_labels: set[str] = set() + headers_map: dict[tuple[str, str], str] = {} + metric_tokens_ordered: list[str] = [] + seen_metric_tokens: set[str] = set() + for col in df.columns: + if col in cls.FIXED_INPUT_COLUMNS: + continue + parsed = cls.parse_header(str(col)) + if not parsed: + continue + analyte_label, metric = parsed + headers_map[(analyte_label, metric)] = str(col) + if ( + metric.upper().strip().endswith("COUNT") + and analyte_label not in seen_labels + ): + analyte_labels.append(analyte_label) + seen_labels.add(analyte_label) + if metric not in seen_metric_tokens: + metric_tokens_ordered.append(metric) + seen_metric_tokens.add(metric) + + results: dict[str, pd.DataFrame] = {} + + for token in metric_tokens_ordered: + section_name = cls.section_name_from_metric(token) + section_df = cls.build_section(df, analyte_labels, headers_map, token) + if section_df is not None: + results[section_name] = section_df + + cls.add_mandatory_columns(results, df, analyte_labels) + + # Safely extract optional fields from the input DataFrame without mypy complaints + _serial_series = ( + df["SERIAL NUMBER"] if "SERIAL NUMBER" in df.columns else pd.Series([""]) + ) + _serial_value = str(_serial_series.iloc[0]) if len(_serial_series) > 0 else "" + _plate_series = ( + df["PLATE START"] if "PLATE START" in df.columns else pd.Series([""]) + ) + _plate_value = str(_plate_series.iloc[0]) if len(_plate_series) > 0 else "" + + header = ( + pd.DataFrame( + { + 0: [ + "Program", + "Build", + "Date", + "SN", + "ProtocolPlate", + "ComputerName", + "BatchStartTime", + ], + 1: [ + "xPONENT", + "Unknown", + "", + _serial_value, + "Name", + "", + _plate_value, + ], + 2: ["", "", "", "", "", "", ""], + 3: ["", "", "", "", "", "", ""], + 4: ["", "", "", "", cls._get_well_count(df), "", ""], + 5: ["", "", "", "", "", "", ""], + } + ) + .set_index(0) + .T + ) + + calibration = pd.DataFrame() + min_beads: float | None = None + + return results, header, calibration, min_beads + + +class MultipleDatasetParser: + @classmethod + def parse( + cls, reader: CsvReader + ) -> tuple[dict[str, pd.DataFrame], pd.DataFrame, pd.DataFrame, float | None]: + + header_data = cls._get_header_data(reader) + calibration_data = cls._get_calibration_data(reader) + minimum_assay_bead_count_setting = cls._get_minimum_assay_bead_count_setting( + reader + ) + results_data = cls._get_results(reader) + return ( + results_data, + header_data, + calibration_data, + minimum_assay_bead_count_setting, ) - self.results_data = LuminexXponentReader._get_results(reader) @classmethod def _get_header_data(cls, reader: CsvReader) -> pd.DataFrame: diff --git a/src/allotropy/parsers/luminex_xponent/luminex_xponent_structure.py b/src/allotropy/parsers/luminex_xponent/luminex_xponent_structure.py index a08b74a1d..5452df4f2 100644 --- a/src/allotropy/parsers/luminex_xponent/luminex_xponent_structure.py +++ b/src/allotropy/parsers/luminex_xponent/luminex_xponent_structure.py @@ -273,11 +273,12 @@ def get_statistic_dimensions(analyte: str) -> list[StatisticDimension]: key for key in count_data.series.index if key not in metadata_keys ] for analyte in analyte_keys: + assay_bead_identifier = bead_ids_data.get(str, analyte, "N/A") analytes.append( Analyte( identifier=(analyte_identifier := random_uuid_str()), name=analyte, - assay_bead_identifier=bead_ids_data[str, analyte], + assay_bead_identifier=assay_bead_identifier, assay_bead_count=count_data[float, analyte], statistics=[ StatisticsDocument( diff --git a/tests/parsers/luminex_intelliflex/testdata/luminex_intelliflex_single_dataset.csv b/tests/parsers/luminex_intelliflex/testdata/luminex_intelliflex_single_dataset.csv new file mode 100644 index 000000000..2707b6c7a --- /dev/null +++ b/tests/parsers/luminex_intelliflex/testdata/luminex_intelliflex_single_dataset.csv @@ -0,0 +1,4 @@ +INSTRUMENT TYPE,SERIAL NUMBER,SOFTWARE VERSION,PLATE NAME,PLATE START,WELL LOCATION,SAMPLE ID,R25: RP1 MEDIAN,R25: RP1 COUNT,R25: RP1 AVERAGE MFI,R25: RP2 MEDIAN,R25: RP2 COUNT,R25: RP2 AVERAGE MFI,R27: RP1 MEDIAN,R27: RP1 COUNT,R27: RP1 AVERAGE MFI,R27: RP2 MEDIAN,R27: RP2 COUNT,R27: RP2 AVERAGE MFI,R29: RP1 MEDIAN,R29: RP1 COUNT,R29: RP1 AVERAGE MFI,R29: RP2 MEDIAN,R29: RP2 COUNT,R29: RP2 AVERAGE MFI,R42: RP1 MEDIAN,R42: RP1 COUNT,R42: RP1 AVERAGE MFI,R42: RP2 MEDIAN,R42: RP2 COUNT,R42: RP2 AVERAGE MFI,R44: RP1 MEDIAN,R44: RP1 COUNT,R44: RP1 AVERAGE MFI,R44: RP2 MEDIAN,R44: RP2 COUNT,R44: RP2 AVERAGE MFI,R46: RP1 MEDIAN,R46: RP1 COUNT,R46: RP1 AVERAGE MFI,R46: RP2 MEDIAN,R46: RP2 COUNT,R46: RP2 AVERAGE MFI,R48: RP1 MEDIAN,R48: RP1 COUNT,R48: RP1 AVERAGE MFI,R48: RP2 MEDIAN,R48: RP2 COUNT,R48: RP2 AVERAGE MFI,R61: RP1 MEDIAN,R61: RP1 COUNT,R61: RP1 AVERAGE MFI,R61: RP2 MEDIAN,R61: RP2 COUNT,R61: RP2 AVERAGE MFI,R63: RP1 MEDIAN,R63: RP1 COUNT,R63: RP1 AVERAGE MFI,R63: RP2 MEDIAN,R63: RP2 COUNT,R63: RP2 AVERAGE MFI,R65: RP1 MEDIAN,R65: RP1 COUNT,R65: RP1 AVERAGE MFI,R65: RP2 MEDIAN,R65: RP2 COUNT,R65: RP2 AVERAGE MFI,R67: RP1 MEDIAN,R67: RP1 COUNT,R67: RP1 AVERAGE MFI,R67: RP2 MEDIAN,R67: RP2 COUNT,R67: RP2 AVERAGE MFI,R72: RP1 MEDIAN,R72: RP1 COUNT,R72: RP1 AVERAGE MFI,R72: RP2 MEDIAN,R72: RP2 COUNT,R72: RP2 AVERAGE MFI,R74: RP1 MEDIAN,R74: RP1 COUNT,R74: RP1 AVERAGE MFI,R74: RP2 MEDIAN,R74: RP2 COUNT,R74: RP2 AVERAGE MFI,R77: RP1 MEDIAN,R77: RP1 COUNT,R77: RP1 AVERAGE MFI,R77: RP2 MEDIAN,R77: RP2 COUNT,R77: RP2 AVERAGE MFI +INTELLIFLEX,IFLEXP24099001,Luminex INTELLIFLEX Bundle - 2.0.1017/Luminex INTELLIFLEX Instrument Control - 4.7.33.0/Luminex INTELLIFLEX Services - 2.0.169.0/Luminex INTELLIFLEX Touchscreen - 2.0.101.0/Firmware Bootloader - 1.3.61/Firmware Executable Version - 2.0.15/Firmware Linux Kernel - 4.9.59/Firmware SD Image - 2.0.5/Shell - 1.0.0,PLATE_11082024_RUN000,11/8/2024 12:12,A1,Unknown1,130.55469,28,130.55469,6.69629,28,6.69629,101.68555,43,101.68555,6.28516,43,6.28516,117.87695,45,117.87695,6.27539,45,6.27539,99.15234,37,99.15234,7.0957,37,7.0957,117.19629,32,117.19629,5.87012,32,5.87012,117.51758,31,117.51758,7.52734,31,7.52734,96.92578,37,96.92578,5.60352,37,5.60352,123.01563,32,123.01563,6.33984,32,6.33984,121.04004,38,121.04004,7.25586,38,7.25586,122.23633,33,122.23633,6.91797,33,6.91797,118.92676,38,118.92676,6.91699,38,6.91699,124.41211,27,124.41211,5.98438,27,5.98438,118.2168,47,118.2168,7.49609,47,7.49609,119.7168,43,119.7168,7.9668,43,7.9668 +INTELLIFLEX,IFLEXP24099001,Luminex INTELLIFLEX Bundle - 2.0.1017/Luminex INTELLIFLEX Instrument Control - 4.7.33.0/Luminex INTELLIFLEX Services - 2.0.169.0/Luminex INTELLIFLEX Touchscreen - 2.0.101.0/Firmware Bootloader - 1.3.61/Firmware Executable Version - 2.0.15/Firmware Linux Kernel - 4.9.59/Firmware SD Image - 2.0.5/Shell - 1.0.0,PLATE_11082024_RUN000,11/8/2024 12:12,B1,Unknown13,129.34082,30,129.34082,8.27637,30,8.27637,98.7207,31,98.7207,6.09375,31,6.09375,117.69531,27,117.69531,6.64453,27,6.64453,105.50781,33,105.50781,8.84766,33,8.84766,119.65918,30,119.65918,7.29395,30,7.29395,122.50391,25,122.50391,6.38672,25,6.38672,99.77734,35,99.77734,6.52734,35,6.52734,127.06445,27,127.06445,5.57617,27,5.57617,124.65234,29,124.65234,6.69727,29,6.69727,120.28711,37,120.28711,6.76172,37,6.76172,118.68555,39,118.68555,6.75391,39,6.75391,131.11523,41,131.11523,5.0918,41,5.0918,116.93164,42,116.93164,6.58203,42,6.58203,113.65039,38,113.65039,6.49805,38,6.49805 +INTELLIFLEX,IFLEXP24099001,Luminex INTELLIFLEX Bundle - 2.0.1017/Luminex INTELLIFLEX Instrument Control - 4.7.33.0/Luminex INTELLIFLEX Services - 2.0.169.0/Luminex INTELLIFLEX Touchscreen - 2.0.101.0/Firmware Bootloader - 1.3.61/Firmware Executable Version - 2.0.15/Firmware Linux Kernel - 4.9.59/Firmware SD Image - 2.0.5/Shell - 1.0.0,PLATE_11082024_RUN000,11/8/2024 12:12,C1,Unknown25,125.48828,33,125.48828,6.93555,33,6.93555,97.64648,29,97.64648,6.48633,29,6.48633,122.93848,44,122.93848,8.65234,44,8.65234,105.80859,34,105.80859,6.125,34,6.125,122.6377,32,122.6377,8.40332,32,8.40332,123.63086,31,123.63086,5.08398,31,5.08398,107.95508,35,107.95508,7.55273,35,7.55273,120.92773,36,120.92773,6.49512,36,6.49512,124.46094,31,124.46094,7.07227,31,7.07227,124.34082,42,124.34082,7.52441,42,7.52441,119.18945,33,119.18945,6.07227,33,6.07227,135.54297,25,135.54297,6.28711,25,6.28711,123,40,123,5.56055,40,5.56055,124.20508,37,124.20508,5.98047,37,5.98047 diff --git a/tests/parsers/luminex_intelliflex/testdata/luminex_intelliflex_single_dataset.json b/tests/parsers/luminex_intelliflex/testdata/luminex_intelliflex_single_dataset.json new file mode 100644 index 000000000..feae28915 --- /dev/null +++ b/tests/parsers/luminex_intelliflex/testdata/luminex_intelliflex_single_dataset.json @@ -0,0 +1,3774 @@ +{ + "$asm.manifest": "http://purl.allotrope.org/manifests/multi-analyte-profiling/BENCHLING/2024/09/multi-analyte-profiling.manifest", + "multi analyte profiling aggregate document": { + "multi analyte profiling document": [ + { + "measurement aggregate document": { + "measurement document": [ + { + "device control aggregate document": { + "device control document": [ + { + "device type": "multi analyte profiling analyzer", + "dilution factor setting": { + "value": -0.0, + "unit": "(unitless)" + } + } + ] + }, + "measurement identifier": "LUMINEX_INTELLIFLEX_TEST_ID_0", + "measurement time": "2024-11-08T12:12:00+00:00", + "sample document": { + "sample identifier": "Unknown1", + "location identifier": "A1" + }, + "error aggregate document": { + "error document": [ + { + "error": "Not reported in file", + "error feature": "dilution factor setting" + } + ] + }, + "assay bead count": { + "value": 1022.0, + "unit": "#" + }, + "analyte aggregate document": { + "analyte document": [ + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_1", + "analyte name": "R25: RP1", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 28.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 130.55469, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_3", + "analyte name": "R25: RP2", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 28.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 6.69629, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_5", + "analyte name": "R27: RP1", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 43.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 101.68555, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_7", + "analyte name": "R27: RP2", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 43.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 6.28516, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_9", + "analyte name": "R29: RP1", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 45.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 117.87695, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_11", + "analyte name": "R29: RP2", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 45.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 6.27539, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_13", + "analyte name": "R42: RP1", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 37.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 99.15234, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_15", + "analyte name": "R42: RP2", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 37.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 7.0957, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_17", + "analyte name": "R44: RP1", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 32.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 117.19629, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_19", + "analyte name": "R44: RP2", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 32.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 5.87012, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_21", + "analyte name": "R46: RP1", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 31.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 117.51758, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_23", + "analyte name": "R46: RP2", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 31.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 7.52734, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_25", + "analyte name": "R48: RP1", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 37.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 96.92578, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_27", + "analyte name": "R48: RP2", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 37.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 5.60352, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_29", + "analyte name": "R61: RP1", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 32.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 123.01563, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_31", + "analyte name": "R61: RP2", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 32.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 6.33984, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_33", + "analyte name": "R63: RP1", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 38.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 121.04004, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_35", + "analyte name": "R63: RP2", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 38.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 7.25586, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_37", + "analyte name": "R65: RP1", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 33.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 122.23633, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_39", + "analyte name": "R65: RP2", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 33.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 6.91797, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_41", + "analyte name": "R67: RP1", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 38.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 118.92676, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_43", + "analyte name": "R67: RP2", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 38.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 6.91699, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_45", + "analyte name": "R72: RP1", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 27.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 124.41211, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_47", + "analyte name": "R72: RP2", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 27.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 5.98438, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_49", + "analyte name": "R74: RP1", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 47.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 118.2168, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_51", + "analyte name": "R74: RP2", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 47.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 7.49609, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_53", + "analyte name": "R77: RP1", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 43.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 119.7168, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_55", + "analyte name": "R77: RP2", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 43.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 7.9668, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + } + ] + } + } + ], + "container type": "well plate", + "plate well count": { + "value": 96.0, + "unit": "#" + } + } + }, + { + "measurement aggregate document": { + "measurement document": [ + { + "device control aggregate document": { + "device control document": [ + { + "device type": "multi analyte profiling analyzer", + "dilution factor setting": { + "value": -0.0, + "unit": "(unitless)" + } + } + ] + }, + "measurement identifier": "LUMINEX_INTELLIFLEX_TEST_ID_57", + "measurement time": "2024-11-08T12:12:00+00:00", + "sample document": { + "sample identifier": "Unknown13", + "location identifier": "B1" + }, + "error aggregate document": { + "error document": [ + { + "error": "Not reported in file", + "error feature": "dilution factor setting" + } + ] + }, + "assay bead count": { + "value": 928.0, + "unit": "#" + }, + "analyte aggregate document": { + "analyte document": [ + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_58", + "analyte name": "R25: RP1", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 30.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 129.34082, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_60", + "analyte name": "R25: RP2", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 30.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 8.27637, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_62", + "analyte name": "R27: RP1", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 31.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 98.7207, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_64", + "analyte name": "R27: RP2", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 31.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 6.09375, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_66", + "analyte name": "R29: RP1", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 27.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 117.69531, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_68", + "analyte name": "R29: RP2", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 27.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 6.64453, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_70", + "analyte name": "R42: RP1", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 33.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 105.50781, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_72", + "analyte name": "R42: RP2", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 33.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 8.84766, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_74", + "analyte name": "R44: RP1", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 30.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 119.65918, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_76", + "analyte name": "R44: RP2", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 30.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 7.29395, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_78", + "analyte name": "R46: RP1", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 25.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 122.50391, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_80", + "analyte name": "R46: RP2", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 25.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 6.38672, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_82", + "analyte name": "R48: RP1", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 35.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 99.77734, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_84", + "analyte name": "R48: RP2", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 35.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 6.52734, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_86", + "analyte name": "R61: RP1", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 27.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 127.06445, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_88", + "analyte name": "R61: RP2", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 27.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 5.57617, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_90", + "analyte name": "R63: RP1", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 29.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 124.65234, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_92", + "analyte name": "R63: RP2", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 29.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 6.69727, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_94", + "analyte name": "R65: RP1", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 37.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 120.28711, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_96", + "analyte name": "R65: RP2", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 37.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 6.76172, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_98", + "analyte name": "R67: RP1", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 39.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 118.68555, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_100", + "analyte name": "R67: RP2", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 39.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 6.75391, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_102", + "analyte name": "R72: RP1", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 41.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 131.11523, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_104", + "analyte name": "R72: RP2", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 41.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 5.0918, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_106", + "analyte name": "R74: RP1", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 42.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 116.93164, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_108", + "analyte name": "R74: RP2", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 42.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 6.58203, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_110", + "analyte name": "R77: RP1", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 38.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 113.65039, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_112", + "analyte name": "R77: RP2", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 38.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 6.49805, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + } + ] + } + } + ], + "container type": "well plate", + "plate well count": { + "value": 96.0, + "unit": "#" + } + } + }, + { + "measurement aggregate document": { + "measurement document": [ + { + "device control aggregate document": { + "device control document": [ + { + "device type": "multi analyte profiling analyzer", + "dilution factor setting": { + "value": -0.0, + "unit": "(unitless)" + } + } + ] + }, + "measurement identifier": "LUMINEX_INTELLIFLEX_TEST_ID_114", + "measurement time": "2024-11-08T12:12:00+00:00", + "sample document": { + "sample identifier": "Unknown25", + "location identifier": "C1" + }, + "error aggregate document": { + "error document": [ + { + "error": "Not reported in file", + "error feature": "dilution factor setting" + } + ] + }, + "assay bead count": { + "value": 964.0, + "unit": "#" + }, + "analyte aggregate document": { + "analyte document": [ + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_115", + "analyte name": "R25: RP1", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 33.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 125.48828, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_117", + "analyte name": "R25: RP2", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 33.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 6.93555, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_119", + "analyte name": "R27: RP1", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 29.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 97.64648, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_121", + "analyte name": "R27: RP2", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 29.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 6.48633, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_123", + "analyte name": "R29: RP1", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 44.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 122.93848, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_125", + "analyte name": "R29: RP2", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 44.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 8.65234, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_127", + "analyte name": "R42: RP1", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 34.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 105.80859, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_129", + "analyte name": "R42: RP2", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 34.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 6.125, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_131", + "analyte name": "R44: RP1", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 32.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 122.6377, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_133", + "analyte name": "R44: RP2", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 32.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 8.40332, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_135", + "analyte name": "R46: RP1", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 31.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 123.63086, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_137", + "analyte name": "R46: RP2", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 31.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 5.08398, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_139", + "analyte name": "R48: RP1", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 35.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 107.95508, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_141", + "analyte name": "R48: RP2", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 35.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 7.55273, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_143", + "analyte name": "R61: RP1", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 36.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 120.92773, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_145", + "analyte name": "R61: RP2", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 36.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 6.49512, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_147", + "analyte name": "R63: RP1", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 31.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 124.46094, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_149", + "analyte name": "R63: RP2", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 31.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 7.07227, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_151", + "analyte name": "R65: RP1", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 42.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 124.34082, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_153", + "analyte name": "R65: RP2", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 42.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 7.52441, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_155", + "analyte name": "R67: RP1", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 33.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 119.18945, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_157", + "analyte name": "R67: RP2", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 33.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 6.07227, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_159", + "analyte name": "R72: RP1", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 25.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 135.54297, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_161", + "analyte name": "R72: RP2", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 25.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 6.28711, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_163", + "analyte name": "R74: RP1", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 40.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 123.0, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_165", + "analyte name": "R74: RP2", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 40.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 5.56055, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_167", + "analyte name": "R77: RP1", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 37.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 124.20508, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + }, + { + "analyte identifier": "LUMINEX_INTELLIFLEX_TEST_ID_169", + "analyte name": "R77: RP2", + "assay bead identifier": "N/A", + "assay bead count": { + "value": 37.0, + "unit": "#" + }, + "statistics aggregate document": { + "statistics document": [ + { + "statistical feature": "fluorescence", + "statistic dimension aggregate document": { + "statistic dimension document": [ + { + "statistical value": { + "value": 5.98047, + "unit": "RFU", + "has statistic datum role": "median role" + } + } + ] + } + } + ] + } + } + ] + } + } + ], + "container type": "well plate", + "plate well count": { + "value": 96.0, + "unit": "#" + } + } + } + ], + "calculated data aggregate document": { + "calculated data document": [ + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 130.55469, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_2", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_1", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 6.69629, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_4", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_3", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 101.68555, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_6", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_5", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 6.28516, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_8", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_7", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 117.87695, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_10", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_9", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 6.27539, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_12", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_11", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 99.15234, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_14", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_13", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 7.0957, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_16", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_15", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 117.19629, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_18", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_17", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 5.87012, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_20", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_19", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 117.51758, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_22", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_21", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 7.52734, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_24", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_23", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 96.92578, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_26", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_25", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 5.60352, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_28", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_27", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 123.01563, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_30", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_29", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 6.33984, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_32", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_31", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 121.04004, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_34", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_33", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 7.25586, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_36", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_35", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 122.23633, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_38", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_37", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 6.91797, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_40", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_39", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 118.92676, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_42", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_41", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 6.91699, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_44", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_43", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 124.41211, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_46", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_45", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 5.98438, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_48", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_47", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 118.2168, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_50", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_49", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 7.49609, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_52", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_51", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 119.7168, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_54", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_53", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 7.9668, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_56", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_55", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 129.34082, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_59", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_58", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 8.27637, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_61", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_60", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 98.7207, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_63", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_62", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 6.09375, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_65", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_64", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 117.69531, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_67", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_66", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 6.64453, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_69", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_68", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 105.50781, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_71", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_70", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 8.84766, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_73", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_72", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 119.65918, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_75", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_74", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 7.29395, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_77", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_76", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 122.50391, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_79", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_78", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 6.38672, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_81", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_80", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 99.77734, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_83", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_82", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 6.52734, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_85", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_84", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 127.06445, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_87", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_86", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 5.57617, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_89", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_88", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 124.65234, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_91", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_90", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 6.69727, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_93", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_92", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 120.28711, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_95", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_94", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 6.76172, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_97", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_96", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 118.68555, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_99", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_98", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 6.75391, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_101", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_100", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 131.11523, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_103", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_102", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 5.0918, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_105", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_104", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 116.93164, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_107", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_106", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 6.58203, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_109", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_108", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 113.65039, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_111", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_110", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 6.49805, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_113", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_112", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 125.48828, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_116", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_115", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 6.93555, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_118", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_117", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 97.64648, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_120", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_119", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 6.48633, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_122", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_121", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 122.93848, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_124", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_123", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 8.65234, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_126", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_125", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 105.80859, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_128", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_127", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 6.125, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_130", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_129", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 122.6377, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_132", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_131", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 8.40332, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_134", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_133", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 123.63086, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_136", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_135", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 5.08398, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_138", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_137", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 107.95508, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_140", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_139", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 7.55273, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_142", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_141", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 120.92773, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_144", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_143", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 6.49512, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_146", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_145", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 124.46094, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_148", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_147", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 7.07227, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_150", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_149", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 124.34082, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_152", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_151", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 7.52441, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_154", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_153", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 119.18945, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_156", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_155", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 6.07227, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_158", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_157", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 135.54297, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_160", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_159", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 6.28711, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_162", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_161", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 123.0, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_164", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_163", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 5.56055, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_166", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_165", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 124.20508, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_168", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_167", + "data source feature": "fluorescence" + } + ] + } + }, + { + "calculated data name": "Avg Net MFI", + "calculated result": { + "value": 5.98047, + "unit": "RFU" + }, + "calculated data identifier": "LUMINEX_INTELLIFLEX_TEST_ID_170", + "data source aggregate document": { + "data source document": [ + { + "data source identifier": "LUMINEX_INTELLIFLEX_TEST_ID_169", + "data source feature": "fluorescence" + } + ] + } + } + ] + }, + "data system document": { + "ASM file identifier": "luminex_intelliflex_single_dataset.json", + "data system instance identifier": "", + "file name": "luminex_intelliflex_single_dataset.csv", + "UNC path": "tests/parsers/luminex_intelliflex/testdata/luminex_intelliflex_single_dataset.csv", + "ASM converter name": "allotropy_luminex_intelliflex", + "ASM converter version": "0.1.103", + "software name": "INTELLIFLEX", + "software version": "Unknown" + }, + "device system document": { + "equipment serial number": "IFLEXP24099001" + } + } +} diff --git a/tests/parsers/luminex_xponent/luminex_xponent_structure_test.py b/tests/parsers/luminex_xponent/luminex_xponent_structure_test.py index ac429699e..987766b53 100644 --- a/tests/parsers/luminex_xponent/luminex_xponent_structure_test.py +++ b/tests/parsers/luminex_xponent/luminex_xponent_structure_test.py @@ -19,6 +19,8 @@ from allotropy.parsers.luminex_xponent import constants from allotropy.parsers.luminex_xponent.luminex_xponent_reader import ( LuminexXponentReader, + MultipleDatasetParser, + SingleDatasetParser, ) from allotropy.parsers.luminex_xponent.luminex_xponent_structure import ( create_calibration, @@ -169,7 +171,7 @@ def test_create_calibration_item_invalid_calibration_result() -> None: def test_create_measurement_list() -> None: - results_data = LuminexXponentReader._get_results(CsvReader(get_result_lines())) + results_data = MultipleDatasetParser._get_results(CsvReader(get_result_lines())) # Create a mock header_data DataFrame for testing mock_header_data = pd.DataFrame.from_dict( @@ -318,3 +320,119 @@ def test_create_measurement_list_without_required_table_then_raise( ): header_row = SeriesData(mock_header_data.iloc[0]) MeasurementList.create(results_data, header_row) + + +class TestSingleDatasetParser: + header_prefix = "INSTRUMENT TYPE,SERIAL NUMBER,SOFTWARE VERSION,PLATE NAME,PLATE START,WELL LOCATION,SAMPLE ID" + row_prefix = "LX200,SN-1,3.1.0,Plate-1,2024-01-01 10:00:00,A1,S1" + + def test_parse_header_splits_analyte_and_metric(self) -> None: + analyte, metric = SingleDatasetParser.parse_header("REPORTER 1 AVERAGE MFI") # type: ignore[misc] + assert analyte == "REPORTER 1" + assert metric == "AVERAGE MFI" + + analyte2, metric2 = SingleDatasetParser.parse_header("R42 TRIMMED STANDARD DEVIATION") # type: ignore[misc] + assert analyte2 == "R42" + assert metric2 == "TRIMMED STANDARD DEVIATION" + + def test_parse_header_returns_none_for_unknown_metric(self) -> None: + assert SingleDatasetParser.parse_header("Alpha UnknownMetric") is None + + def test_parse_builds_results_and_units_and_dilution(self) -> None: + # Minimal single-dataset CSV lines + lines = [ + f"{self.header_prefix},alpha Median,alpha Count,bravo Median,bravo Count", + f"{self.row_prefix},100.5,30,200.0,50", + ] + + results, header, calibration, min_beads = SingleDatasetParser.parse(lines) + + # Expected sections + assert "Median" in results + assert "Count" in results + assert "Units" in results + assert "Dilution Factor" in results + + # Verify Count section totals and columns + count_df = results["Count"] + assert "Total Events" in count_df.columns + # Index should be location-based + assert "1(1,A1)" in count_df.index + # Sample column present + assert count_df.loc["1(1,A1)", "Sample"] == "S1" + # Analyte columns exist + assert "alpha" in count_df.columns and "bravo" in count_df.columns + + # Verify Median section values present for analytes + median_df = results["Median"] + assert float(median_df.loc["1(1,A1)", "alpha"]) == 100.5 # type: ignore[arg-type] + assert float(median_df.loc["1(1,A1)", "bravo"]) == 200.0 # type: ignore[arg-type] + + # Basic checks on Units and Dilution Factor tables + units_df = results["Units"] + assert "alpha" in units_df.columns and "bravo" in units_df.columns + assert "Units:" in units_df.index + + dilution_df = results["Dilution Factor"] + assert "Dilution Factor" in dilution_df.columns + + def test_parse_preserves_units_and_dilution_factor_from_input(self) -> None: + # Input explicitly contains per-analyte Units and Dilution Factor metrics + lines = [ + f"{self.header_prefix},alpha COUNT,bravo COUNT, alpha UNITS,bravo UNITS,alpha DILUTION FACTOR,bravo DILUTION FACTOR", + f"{self.row_prefix},1.0,2.0,3.0,4.0,5.0,6.0", + ] + + results, header, calibration, min_beads = SingleDatasetParser.parse(lines) + + # Sections detected from input + assert "Units" in results + assert "Dilution Factor" in results + + # Values preserved from input in the corresponding sections + units_df = results["Units"] + assert float(units_df.loc["BeadID:", "alpha"]) == 3.0 # type: ignore[arg-type] + assert float(units_df.loc["BeadID:", "bravo"]) == 4.0 # type: ignore[arg-type] + + dilution_df = results["Dilution Factor"] + assert float(dilution_df.loc["1(1,A1)", "alpha"]) == 5.0 # type: ignore[arg-type] + assert float(dilution_df.loc["1(1,A1)", "bravo"]) == 6.0 # type: ignore[arg-type] + + def test_header_contains_serial_and_plate_start(self) -> None: + # Minimal input with only the fixed columns + lines = [ + f"{self.header_prefix}", + f"{self.row_prefix}", + ] + + _results, header, _calibration, _min_beads = SingleDatasetParser.parse(lines) + + # Values should be propagated into the header table + assert header["SN"].iloc[0] == "SN-1" + assert header["BatchStartTime"].iloc[0] == "2024-01-01 10:00:00" + + def test_is_single_dataset_true_with_expected_header_line(self) -> None: + lines = [ + "INSTRUMENT TYPE,SERIAL NUMBER,SOFTWARE VERSION,PLATE NAME,PLATE START,WELL LOCATION,SAMPLE ID,Analyte 1 Median", + "LX200,1234,3.1.0,PlateA,2024-01-01,A1,Sample-1,100", + ] + assert LuminexXponentReader._is_single_dataset(lines) is True + + def test_is_single_dataset_false_missing_one_keyword(self) -> None: + # Missing "SAMPLE ID" + lines = [ + "INSTRUMENT TYPE,SERIAL NUMBER,SOFTWARE VERSION,PLATE NAME,PLATE START,WELL LOCATION,Analyte 1 Median", + "LX200,1234,3.1.0,PlateA,2024-01-01,A1,100", + ] + assert LuminexXponentReader._is_single_dataset(lines) is False + + def test_is_single_dataset_false_empty_input(self) -> None: + assert LuminexXponentReader._is_single_dataset(["RANDOM TEXT"]) is False + + def test_is_single_dataset_true_ignores_rest_of_line_content(self) -> None: + # Extra columns should be ignored as detection is substring-based + lines = [ + "random prefix,INSTRUMENT TYPE,foo,WELL LOCATION,bar,SAMPLE ID,baz", + "", + ] + assert LuminexXponentReader._is_single_dataset(lines) is True