В современной разработке медицинских информационных систем критически важно использовать качественные тестовые данные, которые строго соответствуют международным отраслевым стандартам. Одним из таких стандартов является DICOM, обеспечивающий передачу и хранение медицинских изображений и сопутствующей информации. Для однозначной идентификации объектов в этой среде используются уникальные идентификаторы (UID). Библиотека mock-jutsu предлагает специализированную функцию dicom_uid, которая позволяет мгновенно генерировать валидные значения для отладки и тестирования программного обеспечения без необходимости обращения к реальным клиническим архивам.
Функция dicom_uid в mock-jutsu опирается на стандарт ISO/IEC 9834-8, используя префикс корня 2.25. Этот метод формирования идентификаторов основан на генерации и последующем преобразовании UUID в длинное десятичное число, что гарантирует глобальную уникальность каждого значения. Сгенерированные мок-данные полностью соответствуют синтаксическим правилам стандарта: строка содержит только цифры и точки в качестве разделителей, а её общая длина не превышает 64 символов. Типичный результат работы функции выглядит как последовательность вида 2.25.329800735698586629..., что делает такие идентификаторы практически неотличимыми от технических метаданных, используемых в реальных госпитальных сетях.
Использование этой функции открывает широкие возможности для автоматизации процессов обеспечения качества. Разработчики могут легко интегрировать генерацию идентификаторов непосредственно в свой программный код на Python с помощью вызова jutsu.generate('dicom_uid'), что идеально подходит для юнит-тестирования и первичного наполнения баз данных. Если требуется быстрая проверка или работа через терминал, CLI-интерфейс библиотеки поддерживает команду mockjutsu generate dicom_uid. Для инженеров по производительности предусмотрена поддержка JMeter через конструкцию ${__mockjutsu(dicom_uid,)}, что позволяет эмулировать передачу тысяч медицинских снимков с уникальными UID в рамках одного нагрузочного сценария.
Основное преимущество mock-jutsu заключается в том, что она избавляет команду разработки от рутинного создания сложных регулярных выражений для имитации медицинских протоколов. Сгенерированные тестовые данные позволяют проверить корректность работы парсеров, систем хранения PACS и алгоритмов маршрутизации данных в интеграционных шинах. Благодаря строгому соблюдению лимита длины и структуры, функция dicom_uid помогает выявлять ошибки переполнения буфера или некорректной валидации на самых ранних этапах разработки. Это делает процесс создания медицинского ПО более безопасным, исключая риски, связанные с использованием конфиденциальной информации реальных пациентов в тестовых средах.
mockjutsu generate dicom_uidmockjutsu bulk dicom_uid --count 10mockjutsu export dicom_uid --count 10 --format jsonmockjutsu export dicom_uid --count 10 --format csvmockjutsu export dicom_uid --count 10 --format sql# --mask: regulation-compliant output (PCI DSS / GDPR / KVKK)mockjutsu generate dicom_uid --maskmockjutsu bulk dicom_uid --count 5 --maskfrom mockjutsu import jutsujutsu.generate('dicom_uid')jutsu.bulk('dicom_uid', count=10)jutsu.template(['dicom_uid'], count=5)# mask=True: regulation-compliant outputjutsu.generate('dicom_uid', mask=True)jutsu.bulk('dicom_uid', count=5, mask=True)${__mockjutsu_health(dicom_uid)}# JMeter Function: __mockjutsu_health# Parameter 1: dicom_uid# Parameter 2: (not required for this function)# Add 'mask' keyword to get a regulation-compliant masked value${__mockjutsu_health(dicom_uid,mask)}GET /generate/dicom_uid# → {"type":"dicom_uid","result":"...","status":"ok"}GET /bulk/dicom_uid?count=10POST /template {"types":["dicom_uid"],"count":1}# mask=true: regulation-compliant outputGET /generate/dicom_uid?mask=trueGET /bulk/dicom_uid?count=5&mask=true| Параметр | Значения | Описание |
|---|---|---|
| --mask | true | false | Return a regulation-compliant masked value (PCI DSS, GDPR, KVKK…) |