Руководство по редактированию анализов: различия между версиями

Материал из Medlogic
Нет описания правки
Нет описания правки
 
(не показаны 2 промежуточные версии этого же участника)
Строка 32: Строка 32:
   * Локальная активность: Неизвестно
   * Локальная активность: Неизвестно


== Описание структуры JSON-поля <code>data</code> ==
== Структура JSON-поля <code>data</code> ==


<source lang="json">
<source lang="json">
Строка 47: Строка 47:
}
}
</source>
</source>
=== Верхний уровень ===
=== Верхний уровень ===


'''group''' Название группы анализов (заголовок раздела).
; '''group'''
 
: Название группы анализов (заголовок раздела).
Пример: <code>Биохимические исследования</code>
: Пример: <code>Биохимические исследования</code>
 
'''tests''' — Массив описаний конкретных анализов.


Подробности — см. раздел ниже.
; '''selectable'''
: Логическое значение (true/false). Управляет возможностью ручного выбора блока анализов.


'''patient_options''' — Дополнительные параметры для отображения полей пациента:
; '''tests'''
: Массив описаний конкретных анализов. См. раздел ниже.


<code>oms</code> — отображать поле «ОМС»
; '''patient_options'''
: Отображение полей пациента в печатной форме направления:
:: <code>oms</code> — поле «ОМС»
:: <code>address</code> — поле «Адрес»
: → Подробнее см. документацию: 
<div style="border:1px solid #ccc; background:#f9f9f9; padding:8px; margin:5px 0;">
'''[[SNIPPETS_print_patient_custom|Документация по patient_options]]''' — виджет печатного блока print_patient_custom
</div>


<code>address</code> — отображать поле «Адрес»
; '''custom'''
 
: Пользовательская конфигурация поведения и шаблонов. См. вложенные разделы.
'''custom''' — Конфигурация пользовательского поведения и шаблонов.
 
См. вложенные секции ниже.
 
'''selectable''' — Логическое значение (true/false), указывает, можно ли выбирать данный блок анализов вручную при создании назначения.
 
<code>true</code> — отображается для выбора
 
<code>false</code> — скрыт


=== tests (Массив анализов) ===
=== tests (Массив анализов) ===


Каждый элемент массива имеет следующую структуру:
<source lang="json">
 
<source lang="json">  
"tests": [
"tests": [
   
  {
     {
     "ref": "65-85",
      "ref": "65-85",
    "code": "TP",
      "code": "TP",
    "name": "Белок общий",
      "name": "Белок общий",
    "unit": "г/л",
      "unit": "г/л",
    "selected": true
      "selected": true
  },
    },
  {
    {
    "ref": "35-50",
      "ref": "35-50",
    "code": "ALB",
      "code": "ALB",
    "name": "Альбумин",
      "name": "Альбумин",
    "unit": "г/л",
      "unit": "г/л",
    "selected": false
      "selected": false
  }
    }
]
    // ...
  ],
</source>
</source>
'''ref''' — Референсные значения (строка)


'''code''' Уникальный код теста
; '''ref'''
: Референсные значения (строка)
 
; '''code'''
: Уникальный код теста


'''name''' Название теста
; '''name'''
: Название теста


'''unit''' Единицы измерения
; '''unit'''
: Единицы измерения


'''selected''' — Булево значение (по умолчанию выбран)
; '''selected'''
: По умолчанию выбран (true/false)


=== patient_options ===
=== patient_options ===


<source lang="json">  
<source lang="json">
  "patient_options": {
"patient_options": {
    "oms": true,
  "oms": true,
    "address": true
  "address": true
  }
}
</source>  
</source>


Определяет, какие дополнительные поля отображать на форме пациента:
; oms
: Отображать поле "ОМС"


<code>oms</code> — Показывать поле "ОМС"
; address
: Отображать поле "Адрес"


<code>address</code> — Показывать поле "Адрес"
== Пользовательские настройки ==


=== custom.form ===
=== custom.form ===


Массив формовых компонентов (виджетов) для ввода дополнительных данных вручную:
Настройки формы с виджетами для ручного ввода:


Пример одного виджета выбора группы крови:
<source lang="json">
<source lang="json">
{
{
Строка 138: Строка 140:
               "label": "Группа крови",
               "label": "Группа крови",
               "choices": [
               "choices": [
                 {
                 { "id": 1, "code": "1", "display": "I(0)" },
                  "id": 1,
                 { "id": 2, "code": "2", "display": "II" },
                  "code": "1",
                 { "id": 3, "code": "3", "display": "III" },
                  "display": "I(0)"
                 { "id": 4, "code": "4", "display": "IV" }
                },
                 {
                  "id": 2,
                  "code": "2",
                  "display": "II"
                },
                 {
                  "id": 3,
                  "code": "3",
                  "display": "III"
                },
                 {
                  "id": 4,
                  "code": "4",
                  "display": "IV"
                }
               ],
               ],
               "ng_model": "blood_type"
               "ng_model": "blood_type"
Строка 168: Строка 154:
               "label": "Резус-фактор",
               "label": "Резус-фактор",
               "choices": [
               "choices": [
                 {
                 { "id": 1, "code": "1", "display": "Rh(+) положительный" },
                  "id": 1,
                 { "id": 2, "code": "2", "display": "Rh(-) отрицательный" }
                  "code": "1",
                  "display": "Rh(+) положительный"
                },
                 {
                  "id": 2,
                  "code": "2",
                  "display": "Rh(-) отрицательный"
                }
               ],
               ],
               "ng_model": "rh_factor"
               "ng_model": "rh_factor"
Строка 189: Строка 167:
}
}
</source>
</source>
: → Подробнее см. документацию: 


'''widgets''' — массив блоков формы
<div style="border:1px solid #ccc; background:#f9f9f9; padding:8px; margin:5px 0;">
 
'''[[SNIPPETS_base_form|Документация по custom.form]]''' — форма ручного ввода с использованием виджетов
: Подробнее см. документацию:
</div>
[[DOC_WIDGETS_FORM|custom.form — форма редактирования]]


=== custom.print_results ===
=== custom.print_results ===
Строка 231: Строка 209:
   }
   }
}
}
</source>
</source>  
 
: Подробнее см. документацию:
'''widgets''' — массив печатных элементов
<div style="border:1px solid #ccc; background:#f9f9f9; padding:8px; margin:5px 0;">
 
'''[[SNIPPETS_base_print|Документация по custom.print_results]]''' шаблоны отображения результатов в печатной форме
: Подробнее см. документацию:[[DOC_WIDGETS_PRINT_RESULTS|custom.print_results — печатная форма результатов]]
</div>


=== custom.print_referral ===
=== custom.print_referral ===


Настройки шаблона печати направления:
Настройки печатного шаблона направления:


<source lang="json">
<source lang="json">
Строка 254: Строка 232:
   }
   }
}
}
</source>
</source>  
'''widgets''' — массив печатных элементов
: Подробнее см. документацию:
 
<div style="border:1px solid #ccc; background:#f9f9f9; padding:8px; margin:5px 0;">
: Подробнее см. документацию:
'''[[SNIPPETS_base_print|Документация по custom.print_referral]]''' — шаблон печати направления на анализ
[[DOC_WIDGETS_PRINT_REFERRAL|custom.print_referral — печатное направление]]
</div>

Текущая версия от 00:47, 21 июля 2025

Основная информация об анализе

Параметр Значение
Справочник LABORATORY_ANALYSES
Значение Биохимический анализ крови
Название Биохимический анализ крови
Данные

Редактирование параметров

1. Основные настройки

  • Активность:
 * По умолчанию
 * Включено
 * Выключено
  • Локальные переопределения:
 * Локальное значение: [пусто]
 * Локальное название: [пусто]
 * Локальная активность: Неизвестно

Структура JSON-поля data

{ 
  "group": "Биохимические исследования", 
  "selectable": true , 
  "tests": [ /* ... */ ], 
  "patient_options": { "oms": true, "address": true }, 
  "custom": { 
    "form": [ /* ... */ ], 
    "print_results": { /* ... */ }, 
    "print_referral": { /* ... */ } 
  }
}

Верхний уровень

group
Название группы анализов (заголовок раздела).
Пример: Биохимические исследования
selectable
Логическое значение (true/false). Управляет возможностью ручного выбора блока анализов.
tests
Массив описаний конкретных анализов. См. раздел ниже.
patient_options
Отображение полей пациента в печатной форме направления:
oms — поле «ОМС»
address — поле «Адрес»
→ Подробнее см. документацию:

Документация по patient_options — виджет печатного блока print_patient_custom

custom
Пользовательская конфигурация поведения и шаблонов. См. вложенные разделы.

tests (Массив анализов)

"tests": [
  {
    "ref": "65-85",
    "code": "TP",
    "name": "Белок общий",
    "unit": "г/л",
    "selected": true
  },
  {
    "ref": "35-50",
    "code": "ALB",
    "name": "Альбумин",
    "unit": "г/л",
    "selected": false
  }
]
ref
Референсные значения (строка)
code
Уникальный код теста
name
Название теста
unit
Единицы измерения
selected
По умолчанию выбран (true/false)

patient_options

"patient_options": {
  "oms": true,
  "address": true
}
oms
Отображать поле "ОМС"
address
Отображать поле "Адрес"

Пользовательские настройки

custom.form

Настройки формы с виджетами для ручного ввода:

{
  "custom": {
    "form": [
      {
        "widgets": [
          {
            "options": {
              "type": "select",
              "label": "Группа крови",
              "choices": [
                { "id": 1, "code": "1", "display": "I(0)" },
                { "id": 2, "code": "2", "display": "II" },
                { "id": 3, "code": "3", "display": "III" },
                { "id": 4, "code": "4", "display": "IV" }
              ],
              "ng_model": "blood_type"
            },
            "snippet": "widget"
          },
          {
            "options": {
              "type": "select",
              "label": "Резус-фактор",
              "choices": [
                { "id": 1, "code": "1", "display": "Rh(+) положительный" },
                { "id": 2, "code": "2", "display": "Rh(-) отрицательный" }
              ],
              "ng_model": "rh_factor"
            },
            "snippet": "widget"
          }
        ]
      }
    ]
  }
}
→ Подробнее см. документацию:

Документация по custom.form — форма ручного ввода с использованием виджетов

custom.print_results

Настройки печати результатов анализа:

{
  "custom": {
    "print_results": {
      "class": "mono font-size-10",
      "widgets": [
        {
          "class": "pt5",
          "options": {
            "is_dl": true,
            "items": [
              {
                "get": "blood_type.display",
                "class": "text-danger font-size-9",
                "title": "Группа крови",
                "target": "record"
              },
              {
                "get": "rh_factor.display",
                "class": "text-danger font-size-9",
                "title": "Резус-фактор",
                "target": "record"
              }
            ],
            "full_body": true
          },
          "snippet": "p_entry"
        }
      ]
    }
  }
}
→ Подробнее см. документацию:

Документация по custom.print_results — шаблоны отображения результатов в печатной форме

custom.print_referral

Настройки печатного шаблона направления:

{
  "custom": {
    "print_referral": {
      "widgets": [
        {
          "class": " h-100",
          "snippet": "__div"
        }
      ]
    }
  }
}
→ Подробнее см. документацию:

Документация по custom.print_referral — шаблон печати направления на анализ