Загрузка данных


{
  "method_definition": {
    "identity_and_governance": {
      "standard_id": "ГОСТ_Р_52247-2021",
      "method_code": "Б",
      "revision": "Изменение № 2",
      "title": "Нефть. Методы определения хлорорганических соединений (метод Б)",
      "target_substance": "Массовая доля органических хлоридов в нефти",
      "status": "approved_for_production",
      "scope": {
        "standardization_object": "Нефть (сырая нефть)",
        "oks_code": "75.040",
        "applicability_range": {
          "min": 1.0,
          "unit": "млн⁻¹",
          "data_type": "number"
        }
      },
      "version_control": {
        "previous_standard_id": "ГОСТ Р 52247-2004",
        "equivalence_status": "modified",
        "verification_requirement": "experiment_required"
      }
    },
    "controlled_vocabulary": {
      "properties": [
        {
          "id": "prop_mass",
          "label": "Масса",
          "unit": "г",
          "data_type": "float"
        },
        {
          "id": "prop_volume",
          "label": "Объем",
          "unit": "см³",
          "data_type": "float"
        },
        {
          "id": "prop_density",
          "label": "Плотность",
          "unit": "г/см³",
          "data_type": "float"
        },
        {
          "id": "prop_qualitative",
          "label": "Качественная реакция",
          "data_type": "enum"
        }
      ],
      "enumerations": [
        {
          "id": "enum_presence_absence",
          "label": "Наличие/Отсутствие примесей по п. 7.4.3 ГОСТ",
          "items": [
            { "id": "отсутствует", "label": "Реакция отсутствует" },
            { "id": "белый_осадок", "label": "Появление белого осадка (Неорганические хлориды)" },
            { "id": "желтый_осадок", "label": "Появление желтого осадка (Иод, бром)" },
            { "id": "потемнение", "label": "Потемнение раствора (Наличие сероводорода)" },
            { "id": "черно_коричневый", "label": "Черно-коричневый осадок (Щелочная среда)" }
          ]		
        }
      ],
      "equipment_roles": [
        {
          "id": "isp",
          "label": "Аппарат для разгонки нефти (для получения нафты)",
          "category": "TEST_EQUIPMENT",
          "metadata_schema": {
            "type": "string",
            "serial_number": "string",
            "next_calibration_date": "string"
          }
        },
        {
          "id": "vs",
          "label": "Колбонагреватель (для получения нафты)",
          "category": "AUXILIARY_EQUIPMENT",
          "metadata_schema": {
            "type": "string",
            "serial_number": "string",
            "next_calibration_date": "string"
          }
        },
        {
          "id": "isp2",
          "label": "Криотермостат",
          "category": "AUXILIARY_EQUIPMENT",
          "metadata_schema": {
            "type": "string",
            "serial_number": "string",
            "next_calibration_date": "string"
          }
        },
        {
          "id": "si",
          "label": "Колба мерная вместимостью 10 см³",
          "category": "MEASURING_INSTRUMENT",
          "metadata_schema": {
            "type": "string",
            "serial_number": "string",
            "next_calibration_date": "string"
          }
        },
        {
          "id": "T",
          "label": "Термометр (для получения нафты)",
          "category": "MEASURING_INSTRUMENT",
          "metadata_schema": {
            "type": "string",
            "serial_number": "string",
            "next_calibration_date": "string"
          }
        },
        {
          "id": "Si1",
          "label": "Термометр для определения температуры вокруг приёмного цилиндра",
          "category": "MEASURING_INSTRUMENT",
          "metadata_schema": {
            "type": "string",
            "serial_number": "string",
            "next_calibration_date": "string"
          }
        },
        {
          "id": "eq_HOS",
          "label": "Микрокулонометрический анализатор ХОС",
          "category": "TEST_EQUIPMENT",
          "metadata_schema": {
            "type": "string",
            "serial_number": "string",
            "next_calibration_date": "string"
          }
        },
        {
          "id": "eq_cylinder_nef",
          "label": "Цилиндр (объем нефти)",
          "category": "MEASURING_INSTRUMENT",
          "metadata_schema": {
            "type": "string",
            "serial_number": "string",
            "next_calibration_date": "string"
          }
        },
        {
          "id": "eq_cylinder_naft",
          "label": "Цилиндр (объем нафты)",
          "category": "MEASURING_INSTRUMENT",
          "metadata_schema": {
            "type": "string",
            "serial_number": "string",
            "next_calibration_date": "string"
          }
        },
        {
          "id": "eq_timer",
          "label": "Секундомер",
          "category": "MEASURING_INSTRUMENT",
          "metadata_schema": {
            "type": "string",
            "serial_number": "string",
            "next_calibration_date": "string"
          }
        },
        {
          "id": "eq_balance_oil",
          "label": "Весы для нефти",
          "category": "MEASURING_INSTRUMENT",
          "metadata_schema": {
            "type": "string",
            "serial_number": "string",
            "next_calibration_date": "string"
          }
        },
        {
          "id": "eq_balance_naft",
          "label": "Весы для нафты",
          "category": "MEASURING_INSTRUMENT",
          "metadata_schema": {
            "type": "string",
            "serial_number": "string",
            "next_calibration_date": "string"
          }
        },
        {
          "id": "eq_syringe",
          "label": "Микрошприц ввода пробы в печь пиролиза",
          "category": "MEASURING_INSTRUMENT",
          "metadata_schema": {
            "type": "string",
            "serial_number": "string",
            "next_calibration_date": "string"
          }
        }
      ]
    }
  },
    "observation_definitions": {
    "system_fields": [
      {
        "field": "record_date",
        "source": "system.current_date",
        "label": "Дата проведения испытания"
      },
      {
        "field": "sample_id",
        "source": "system.sample_id",
        "label": "Номер образца"
      },
      {
        "field": "operator_name",
        "source": "system.current_user",
        "label": "Исполнитель (ФИО)"
      }
    ],
    "inputs": {
      "hide": {
        "label": "ГСО требует отгона нафты?",
        "data_type": "string",
        "is_mandatory": false,
        "allow_zero": true
      },
      "Vr": {
        "label": "Вода для промывки нафты",
        "data_type": "string",
        "is_mandatory": false,
        "allow_zero": true
      },
      "S1": {
        "label": "Результат качественной реакции на наличие неорганических хлоридов",
        "is_mandatory": true,
        "data_type": "enum",
        "enum_ref": "enum_presence_absence",
        "data_source": "MEASUREMENT" 
      },
      "S2": {
        "label": "Результат качественной реакции на наличие сероводорода",
        "is_mandatory": true,
        "data_type": "enum",
        "enum_ref": "enum_presence_absence",
        "data_source": "MEASUREMENT" 		
      },
      "dVLK": {
        "label": "Плотность нафты (для анализаторов с единицами измерения нг)",
        "data_type": "float",
        "unit": "г/см³",
        "resolution": 0.0001,
        "is_mandatory": false,
        "allow_zero": true
      },
      "ei": {
        "label": "В каких единицах измерения зафиксирован результат испытаний на анализаторе?",
        "data_type": "string",
        "is_mandatory": true
      }
    },
    "primary_measurements": {
      "Vn": {
        "label": "Объем нефти",
        "data_type": "float",
        "unit": "см³",
        "resolution": 1.0,
        "is_mandatory": true,
        "allow_zero": false
      },
      "m1": {
        "label": "Масса пустой круглодонной колбы",
        "data_type": "float",
        "unit": "г",
        "resolution": 0.1,
        "is_mandatory": false,
        "allow_zero": false
      },
      "m2": {
        "label": "Масса круглодонной колбы с нефтью",
        "data_type": "float",
        "unit": "г",
        "resolution": 0.1,
        "is_mandatory": false,
        "allow_zero": false
      },
      "m3": {
        "label": "Масса пустого приемного цилиндра",
        "data_type": "float",
        "unit": "г",
        "resolution": 0.1,
        "is_mandatory": false,
        "allow_zero": false
      },
      "tv": {
        "label": "Скорость перегонки",
        "data_type": "float",
        "unit": "см³/мин",
        "resolution": 1.0,
        "is_mandatory": true,
        "allow_zero": false
      },
      "Vnaf": {
        "label": "Объем отогнанной нафты",
        "data_type": "float",
        "unit": "см³",
        "resolution": 1.0,
        "is_mandatory": false,
        "allow_zero": false
      },
      "m4": {
        "label": "Масса приемного цилиндра с нафтой",
        "data_type": "float",
        "unit": "г",
        "resolution": 0.1,
        "is_mandatory": false,
        "allow_zero": false
      },
      "m10": {
        "label": "Масса отогнанной нафты объемом 10 см³",
        "data_type": "float",
        "unit": "г",
        "resolution": 0.1,
        "is_mandatory": false,
        "allow_zero": false
      },
      "V": {
        "label": "Введенный объем испытуемого образца",
        "data_type": "float",
        "unit": "мкл",
        "resolution": 0.1,
        "is_mandatory": true,
        "allow_zero": false
      },
      "mXO": {
        "label": "Масса холостого образца",
        "data_type": "float",
        "unit": "г",
        "resolution": 0.1,
        "is_mandatory": true,
        "allow_zero": false
      },
      "RF": {
        "label": "Коэффициент пересчета RF",
        "data_type": "float",
        "resolution": 0.1,
        "is_mandatory": true,
        "allow_zero": false
      },
      "Xo": {
        "label": "Результат холостого опыта",
        "data_type": "float",
        "unit": "млн⁻¹",
        "resolution": 0.1,
        "is_mandatory": true,
        "allow_zero": true
      },
      "Xst": {
        "label": "Результат проверки",
        "data_type": "float",
        "unit": "млн⁻¹",
        "resolution": 0.1,
        "is_mandatory": true,
        "allow_zero": true
      },
      "Xsol": {
        "label": "Аттестованное значение ГСО/раствора",
        "data_type": "float",
        "unit": "млн⁻¹",
        "resolution": 0.1,
        "is_mandatory": true,
        "allow_zero": false
      },
      "X": {
        "label": "Показания анализатора",
        "data_type": "float[]",
        "is_array": true,
        "unit": "безразмерная",
        "resolution": 0.1,
        "is_mandatory": true,
        "allow_zero": true
      }
    }
  },
  "process_definition": {
    "operations": [
      {
        "operation_id": "op_qualitative_check",
        "name": "Проверка на сероводород и неорганические хлориды",
        "produces": [
          "S1",
          "S2"
        ]
      },
      {
        "operation_id": "op_distillation",
        "name": "Дистилляция нефти и отбор нафты",
        "preconditions": [
          "S1 == 'отсутствует'",
          "S2 == 'отсутствует'"
        ],
        "equipment": [
          "isp",
          "vs",
          "isp2",
          "si",
          "T",
          "Si1",
          "eq_cylinder_nef",
          "eq_cylinder_naft",
          "eq_timer",
          "eq_balance_oil",
          "eq_balance_naft"
        ],
        "inputs": [
          "Vn",
          "m1",
          "m2"
        ],
        "produces": [
          "m3",
          "m4",
          "Vnaf",
          "m10"
        ]
      },
      {
        "operation_id": "op_pyrolysis_analysis",
        "name": "Микрокулонометрический анализ образцов нафты",
        "equipment": [
          "eq_syringe",
          "eq_HOS"
        ],
        "inputs": [
          "V",
          "mXO",
          "RF",
          "Xo",
          "Xst",
          "Xsol"
        ],
        "produces": [
          "X"
        ]
      }
    ]
  },
  "calculation_definition": {
    "ast_nodes": [
      {
        "id": "mnf",
        "label": "Масса нефти",
        "expression": "m2 - m1",
        "data_type": "float",
        "unit": "г",
        "resolution": 0.1,
        "data_source": "CALCULATION"
      },
      {
        "id": "m",
        "label": "Масса отогнанной нафты",
        "expression": "m4 - m3",
        "data_type": "float",
        "unit": "г",
        "resolution": 0.1,
        "data_source": "CALCULATION"
      },
      {
        "id": "d",
        "label": "Плотность нафты",
        "expression": "m10 == 0 ? (Vnaf == 0 ? 0.0 : (m4 - m3) / Vnaf) : m10 / 10.0",
        "data_type": "float",
        "unit": "г/см³",
        "resolution": 0.0001,
        "data_source": "CALCULATION"
      },
      {
        "id": "eistr",
        "label": "Единица измерения текстовая",
        "expression": "ei == 'млн-1 (ppm)' ? 'млн-1 (ppm)' : 'нг (AU)'",
        "data_type": "string",
        "data_source": "CALCULATION"
      },
      {
        "id": "X4",
        "label": "Массовая доля органических хлоридов в нафте (вариант нг)",
        "expression": "RF == 0 ? [0.0 for x_i in X] : [x_i / (V * (hide == 2 ? dVLK : d) * RF) - Xo / (mXO * RF) for x_i in X]",
        "data_type": "float[]",
        "is_array": true,
        "unit": "млн⁻¹",
        "resolution": 0.1,
        "data_source": "CALCULATION"
      },
      {
        "id": "X5",
        "label": "Массовая доля органических хлоридов в нафте (вариант ppm)",
        "expression": "[x_i != 0 && (Xst - Xo) > 0 ? (x_i - Xo > 0 ? ((x_i - Xo) / (Xst - Xo)) * Xsol : 0.0) : x_i for x_i in X]",
        "data_type": "float[]",
        "is_array": true,
        "unit": "млн⁻¹",
        "resolution": 0.1,
        "data_source": "CALCULATION"
      },
      {
        "id": "X3",
        "label": "Массовая доля органических хлоридов в нафте параллельная",
        "expression": "ei == 'млн-1 (ppm)' ? X5 : X4",
        "data_type": "float[]",
        "is_array": true,
        "unit": "млн⁻¹",
        "resolution": 0.1,
        "data_source": "CALCULATION"
      },
      {
        "id": "f",
        "label": "Выход фракции нафты",
        "expression": "m2 - m1 == 0 ? 0.0 : round((m4 - m3) / (m2 - m1), 2)",
        "data_type": "float",
        "unit": "безразмерная",
        "resolution": 0.01,
        "data_source": "CALCULATION"
      },
      {
        "id": "Xn",
        "label": "Массовая доля organic-хлоридов в нефти параллельная",
        "expression": "[x3_i * f for x3_i in X3]",
        "data_type": "float[]",
        "is_array": true,
        "unit": "млн⁻¹",
        "resolution": 0.1,
        "data_source": "CALCULATION"
      },
      {
        "id": "CL",
        "label": "Массовая доля органических хлоридов в нафте средняя",
        "expression": "size(X3) == 0 ? 0.0 : average(X3)",
        "data_type": "float",
        "unit": "млн⁻¹",
        "resolution": 0.1,
        "data_source": "AGGREGATION"
      },
      {
        "id": "CLn",
        "label": "Массовая доля хлорорганических соединений в нефти средняя",
        "expression": "size(Xn) == 0 ? 0.0 : average(Xn)",
        "data_type": "float",
        "unit": "млн⁻¹",
        "resolution": 0.1,
        "data_source": "AGGREGATION"
      },
      {
        "id": "calc_diff",
        "label": "Фактическое расхождение серии",
        "expression": "size(Xn) < 2 ? 0.0 : max(Xn) - min(Xn)",
        "data_type": "float",
        "unit": "млн⁻¹",
        "resolution": 0.1,
        "data_source": "CALCULATION"
      },
      {
        "id": "calc_r",
        "label": "Предел повторяемости по таблице Метода Б",
        "expression": "CLn <= 1.0 ? 0.9 : (CLn <= 2.0 ? 0.9 + (CLn - 1.0) * 0.4 : (CLn <= 3.0 ? 1.3 + (CLn - 2.0) * 0.3 : (CLn <= 4.0 ? 1.6 + (CLn - 3.0) * 0.3 : (CLn <= 5.0 ? 1.9 + (CLn - 4.0) * 0.2 : (CLn <= 6.0 ? 2.1 + (CLn - 5.0) * 0.2 : (CLn <= 8.0 ? 2.3 + (CLn - 6.0) * 0.15 : (CLn <= 10.0 ? 2.6 + (CLn - 8.0) * 0.15 : (CLn <= 12.0 ? 2.9 + (CLn - 10.0) * 0.15 : CLn < 0.17 ? 0.0 : 1.01 * pow((CLn - 0.17), 0.467))))))))))",
        "data_type": "float",
        "unit": "млн⁻¹",
        "resolution": 0.1,
        "data_source": "CALCULATION"
      },
      {
        "id": "calc_final_result",
        "label": "Окончательный результат измерения",
        "expression": "CLn < 1.0 ? 'менее 1.0 млн⁻¹' : (size(Xn) >= 3 ? (calc_diff <= calc_r ? toString(round(CLn, 1)) : toString(round(median(Xn), 1))) : toString(round(CLn, 1)))",
        "data_type": "string",
        "unit": "млн⁻¹",
        "resolution": 0.1,
        "data_source": "CALCULATION"
      },
      {
        "id": "workflow_conclusion",
        "label": "Заключение по результатам контроля повторяемости по ГОСТ Р ИСО 5725-6-2002",
        "expression": "size(Xn) == 2 ? (calc_diff <= calc_r ? 'Результат получен как среднее арифметическое значение 2-х измерений' : 'Метрологический допуск превышен! Требуется получить третье измерение по п. 5.2.2.2') : (size(Xn) == 3 ? (calc_diff <= calc_r ? 'Результаты получены как среднее арифметическое значение результатов 3 измерений, по ГОСТ Р ИСО 5725-6-2002 п.5.2.2.2.' : 'Результаты получены как медиана результатов 3 измерений, по ГОСТ Р ИСО 5725-6-2002 п.5.2.2.2.') : (size(Xn) == 4 ? (calc_diff <= calc_r ? 'Результаты получены как среднее арифметическое значение результатов 4 измерений, по ГОСТ Р ИСО 5725-6-2002 п.5.2.2.1.' : 'Результаты получены как медиана результатов 4 измерений, по ГОСТ Р ИСО 5725-6-2002 п.5.2.2.1.') : 'Неопределенный статус серии'))",
        "data_type": "string",
        "data_source": "CALCULATION"
      }
    ]
  },
  "decision_workflow": {
    "description": "Проверка приемлемости результатов измерений в условиях повторяемости по ГОСТ Р ИСО 5725-6-2002",
    "states": [
      {
        "state_id": "evaluate_repeatability_2",
        "name": "Первоначальное получение результатов двух измерений (п. 5.2.2.1)",
        "condition": "size(Xn) == 2",
        "rule": "calc_diff <= calc_r",
        "on_true": "accepted_average_of_2",
        "on_false": "require_measurement_3"
      },
      {
        "state_id": "evaluate_repeatability_3",
        "name": "Проверка приемлемости при получении третьего измерения (п. 5.2.2.2 b)",
        "condition": "size(Xn) == 3",
        "rule": "calc_diff <= calc_r",
        "on_true": "accepted_average_of_3_by_52222",
        "on_false": "accepted_median_of_3_by_52222" 
      },
      {
        "state_id": "evaluate_repeatability_4",
        "name": "Проверка приемлемости при получении четырех измерений (п. 5.2.2.1)",
        "condition": "size(Xn) == 4",
        "rule": "calc_diff <= calc_r",
        "on_true": "accepted_average_of_4_by_5221",
        "on_false": "accepted_median_of_4_by_5221"
      }
    ]
  },
  "gum_uncertainty_budget": {
    "description": "Бюджет неопределенности по GUM в соответствии с ГОСТ ISO/IEC 17025",
    "result_field": "CLn",
    "formula": "(average(X3) * (m4 - m3)) / (m2 - m1) + Fpov + Fokr",
    "combined_standard_uncertainty_formula": "uc = sqrt(sum(pow(u_i * c_i, 2)))",
    "expanded_uncertainty_formula": "U = k * uc",
    "coverage_factor_k": 2.0,
    "uncertainty_components": [
      {
        "component_id": "u(X3)",
        "label": "Неопределенность градуировки кулонометрического детектора печи пиролиза",
        "unit": "млн⁻¹",
        "evaluation_type": "A",
        "distribution": "normal",
        "sensitivity_coefficient": "(m4 - m3) / (m2 - m1)"
      },
      {
        "component_id": "u(m1)",
        "label": "Неопределённость массы пустой круглодонной колбы (погрешность весов)",
        "unit": "г",
        "evaluation_type": "B",
        "distribution": "rectangular",
        "sensitivity_coefficient": "(average(X3) * (m4 - m3)) / pow((m2 - m1), 2)"
      },
      {
        "component_id": "u(m2)",
        "label": "Неопределённость массы круглодонной колбы с нефтью (погрешность весов)",
        "unit": "г",
        "evaluation_type": "B",
        "distribution": "rectangular",
        "sensitivity_coefficient": "-(average(X3) * (m4 - m3)) / pow((m2 - m1), 2)"
      },
      {
        "component_id": "u(m3)",
        "label": "Неопределённость массы пустого приемного цилиндра",
        "unit": "г",
        "evaluation_type": "B",
        "distribution": "rectangular",
        "sensitivity_coefficient": "-average(X3) / (m2 - m1)"
      },
      {
        "component_id": "u(m4)",
        "label": "Неопределённость массы приемного цилиндра с нафтой",
        "unit": "г",
        "evaluation_type": "B",
        "distribution": "rectangular",
        "sensitivity_coefficient": "average(X3) / (m2 - m1)"
      },
      {
        "component_id": "u(Fpov)",
        "label": "Неопределённость повторяемости",
        "unit": "безразмерная",
        "evaluation_type": "A",
        "distribution": "normal",
        "sensitivity_coefficient": 1
      },
      {
        "component_id": "u(Fokr)",
        "label": "Неопределённость округления",
        "unit": "безразмерная",
        "evaluation_type": "B",
        "distribution": "rectangular",
        "sensitivity_coefficient": 1
      }  	  
    ]
  },
  "report_profile": {
    "template_id": "GOST_52247_B_REPORT",
    "journal_row_mapping": [
      {
        "header": "Дата проведения испытания",
        "source": "system_fields.record_date"
      },
      {
        "header": "Номер образца",
        "source": "system_fields.sample_id"
      },
      {
        "header": "Исполнитель (ФИО)",
        "source": "system_fields.operator_name"
      },
      {
        "header": "Аппарат для разгонки нефти (Тип, Зав. №, Дата следующей метрологической работы)",
        "source": "concat(equipment_roles.isp.label, ' ', equipment_roles.isp.type, ', зав. № ', equipment_roles.isp.serial_number, ', дата след. работы: ', equipment_roles.isp.next_calibration_date)"
      },
      {
        "header": "Колбонагреватель (Тип, Зав. №, Дата следующей метрологической работы)",
        "source": "concat(equipment_roles.vs.label, ' ', equipment_roles.vs.type, ', зав. № ', equipment_roles.vs.serial_number, ', дата след. работы: ', equipment_roles.vs.next_calibration_date)"
      },
      {
        "header": "Криотермостат (Тип, Зав. №, Дата следующей метрологической работы)",
        "source": "concat(equipment_roles.isp2.label, ' ', equipment_roles.isp2.type, ', зав. № ', equipment_roles.isp2.serial_number, ', дата след. работы: ', equipment_roles.isp2.next_calibration_date)"
      },
      {
        "header": "Колба мерная 10 см³ (Тип, Зав. №, Дата следующей метрологической работы)",
        "source": "concat(equipment_roles.si.label, ' ', equipment_roles.si.type, ', зав. № ', equipment_roles.si.serial_number, ', дата след. работы: ', equipment_roles.si.next_calibration_date)"
      },
      {
        "header": "Термометр для разгонки (Тип, Зав. №, Дата следующей метрологической работы)",
        "source": "concat(equipment_roles.T.label, ' ', equipment_roles.T.type, ', зав. № ', equipment_roles.T.serial_number, ', дата след. работы: ', equipment_roles.T.next_calibration_date)"
      },
      {
        "header": "Термометр приёмного цилиндра (Тип, Зав. №, Дата следующей метрологической работы)",
        "source": "concat(equipment_roles.Si1.label, ' ', equipment_roles.Si1.type, ', зав. № ', equipment_roles.Si1.serial_number, ', дата след. работы: ', equipment_roles.Si1.next_calibration_date)"
      },
      {
        "header": "Цилиндр для нефти (Тип, Зав. №, Дата следующей метрологической работы)",
        "source": "concat(equipment_roles.eq_cylinder_nef.label, ' ', equipment_roles.eq_cylinder_nef.type, ', зав. № ', equipment_roles.eq_cylinder_nef.serial_number, ', дата след. работы: ', equipment_roles.eq_cylinder_nef.next_calibration_date)"
      },
      {
        "header": "Цилиндр для нафты (Тип, Зав. №, Дата следующей метрологической работы)",
        "source": "concat(equipment_roles.eq_cylinder_naft.label, ' ', equipment_roles.eq_cylinder_naft.type, ', зав. № ', equipment_roles.eq_cylinder_naft.serial_number, ', дата след. работы: ', equipment_roles.eq_cylinder_naft.next_calibration_date)"
      },
      {
        "header": "Секундомер (Тип, Зав. №, Дата следующей метрологической работы)",
        "source": "concat(equipment_roles.eq_timer.label, ' ', equipment_roles.eq_timer.type, ', зав. № ', equipment_roles.eq_timer.serial_number, ', дата след. работы: ', equipment_roles.eq_timer.next_calibration_date)"
      },
      {
        "header": "Весы для нефти (Тип, Зав. №, Дата следующей метрологической работы)",
        "source": "concat(equipment_roles.eq_balance_oil.label, ' ', equipment_roles.eq_balance_oil.type, ', зав. № ', equipment_roles.eq_balance_oil.serial_number, ', дата след. работы: ', equipment_roles.eq_balance_oil.next_calibration_date)"
      },
      {
        "header": "Весы для нафты (Тип, Зав. №, Дата следующей метрологической работы)",
        "source": "concat(equipment_roles.eq_balance_naft.label, ' ', equipment_roles.eq_balance_naft.type, ', зав. № ', equipment_roles.eq_balance_naft.serial_number, ', дата след. работы: ', equipment_roles.eq_balance_naft.next_calibration_date)"
      },
      {
        "header": "Микрошприц ввода (Тип, Зав. №, Дата следующей метрологической работы)",
        "source": "concat(equipment_roles.eq_syringe.label, ' ', equipment_roles.eq_syringe.type, ', зав. № ', equipment_roles.eq_syringe.serial_number, ', дата след. работы: ', equipment_roles.eq_syringe.next_calibration_date)"
      },
      {
        "header": "Анализатор кулонометрический (Тип, Зав. №, Дата следующей метрологической работы)",
        "source": "concat(equipment_roles.eq_HOS.label, ' ', equipment_roles.eq_HOS.type, ', зав. № ', equipment_roles.eq_HOS.serial_number, ', дата след. работы: ', equipment_roles.eq_HOS.next_calibration_date)"
      },
      {
        "header": "Аттестованное значение ГСО/раствора",
        "source": "Xsol"
      },
      {
        "header": "Результат холостого опыта, млн⁻¹",
        "source": "Xo"
      },
      {
        "header": "Масса холостого образца ХОС, г", 
        "source": "mXO"
      },
      {
        "header": "Объем нефти, см³",
        "source": "Vn"
      },
      {
        "header": "Масса пустой колбы, г",
        "source": "m1"
      },
      {
        "header": "Масса колбы с нефтью, г",
        "source": "m2"
      },
      {
        "header": "Масса нефти, г",
        "source": "mnf"
      },
      {
        "header": "Скорость перегонки, см³/мин",
        "source": "tv"
      },
      {
        "header": "Объем отогнанной нафты, см³",
        "source": "Vnaf"
      },
      {
        "header": "Масса пустого приемного цилиндра, г",
        "source": "m3"
      },
      {
        "header": "Масса цилиндра с нафтой, г",
        "source": "m4"
      },
      {
        "header": "Масса отогнанной нафты, г",
        "source": "m"
      },
      {
        "header": "Масса отогнанной нафты объемом 10 см³, г",
        "source": "m10"
      },
      {
        "header": "Плотность нафты расчетная, г/см³",
        "source": "d"
      },
      {
        "header": "Выход фракции нафты",
        "source": "f"
      },
      {
        "header": "Результат качественной реакции на наличие неорганических хлоридов",
        "source": "S1"
      },
      {
        "header": "Результат качественной реакции на наличие сероводорода",
        "source": "S2"
      },
      {
        "header": "Введенный объем испытуемого образца, мкл",
        "source": "V"
      },
      {
        "header": "Показания анализатора ХОС",
        "source": "X"
      },
      {
        "header": "Массовая доля органических хлоридов во фракции нафты (Среднее), млн⁻¹",
        "source": "CL"
      },
      {
        "header": "Массовая доля хлорорганических соединений в нефти (Среднее), млн⁻¹",
        "source": "CLn"
      },
      {
        "header": "Результат контрольной процедуры (размах), млн⁻¹",
        "source": "calc_diff"
      },
      {
        "header": "Предел повторяемости по ГОСТ, млн⁻¹",
        "source": "calc_r"
      },
      {
        "header": "Окончательный результат измерения",
        "source": "calc_final_result"
      },
      {
        "header": "Заключение по результатам контроля повторяемости",
        "source": "workflow_conclusion"
      }
    ]
  }
}