Загрузка данных из медицинского оборудования на примере гематологического анализатора MicroCC-20Plus

27.07.23

Интеграция - Периферийные устройства

В статье описан пример загрузки данных из гематологического анализатора MicroCC-20Plus с использованием драйвера '1С:Сканеры штрихкода (Native Api)'.

Скачать файлы

Наименование Файл Версия Размер
Загрузка данных из медицинского оборудования на примере гематологического анализатора MicroCC-20Plus:
.epf 10,03Kb
2
.epf 10,03Kb 2 Скачать

Заказчиком была поставлена задача загрузки данных из гематологического анализатора MicroCC-20Plus в БИТ.Управление медицинским центром КОРП 2.1.24.25, платформа 8.3.22.1709.

У прибора имеется внешний интерфейс RS-232 для выгрузки данных об исследованиях.

Разработку начал с поиска подходящей внешней компоненты для работы с последовательным портом и, к сожалению, не нашел подходящей.

Было решено использовать драйвер 1C: Сканер штрихкода (NativeApi), т.к. передача данных происходит в одну сторону.

Добавляем сканер в оборудовании:


 

Выполняем настройку для нужного порта:

 


Нажимаем тест подключения.

На приборе заходим в результаты, выбираем необходимый анализ и нажимаем Отправить:



Нажимаем Отправить:


 

В результате мы получаем данные с прибора:



Видим, что данные программа получает частями.

Теперь создадим обработку для парсинга полученных данных.

Создадим обработку, добавим реквизиты:

Ответ - тип Строка неограниченной длины - для получения данных от прибора;

Число - тип Число - для хранения номера исследования;

Дата - тип Дата, состав даты Дата и время - для хранения даты и времени измерения.

Остальные реквизиты соответствуют названиям измеряемых данных, "%" меняем в названии реквизита в "P", "#" не используем, "-" меняем на "_".



Код модуля формы:

&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
	Если ИмяСобытия = "ScanData" Тогда
		Если ВводДоступен() Тогда
			ТипШК = Неопределено;
			Объект.Ответ = Объект.Ответ + Параметр[0];
		КонецЕсли;
	КонецЕсли;
КонецПроцедуры

&НаКлиенте
Процедура ПриОткрытии(Отказ)
	Если Истина // ИспользоватьПодключаемоеОборудование Проверка на включенную ФО "Использовать ВО".
	   И МенеджерОборудованияКлиент.ОбновитьРабочееМестоКлиента() Тогда // Проверка на определенность рабочего места ВО.

		ОписаниеОшибки = "";
		
		ПоддерживаемыеТипыВО = Новый Массив();
		ПоддерживаемыеТипыВО.Добавить("СканерШтрихкода");
		
		ОповещенияПриПодключении = Новый ОписаниеОповещения("ПодключитьОборудованиеЗавершение", ЭтотОбъект);    
		МенеджерОборудованияКлиент.НачатьПодключениеОборудованиеПоТипу(ОповещенияПриПодключении, УникальныйИдентификатор, ПоддерживаемыеТипыВО);
	
	КонецЕсли;
КонецПроцедуры


&НаКлиенте
// Процедура ПодключитьОборудованиеЗавершение.
//
// Параметры:
//  РезультатВыполнения - Структура - описание результата.
//  Параметры - Произвольный - не используется
//
Процедура ПодключитьОборудованиеЗавершение(РезультатВыполнения, Параметры) Экспорт
	
	Если Не РезультатВыполнения.Результат Тогда
		ТекстСообщения = НСтр( "ru = 'При подключении оборудования произошла ошибка:
				|""%ОписаниеОшибки%"".'" );
		ТекстСообщения = СтрЗаменить(ТекстСообщения, "%ОписаниеОшибки%" , РезультатВыполнения.ОписаниеОшибки);
		ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения);
	КонецЕсли;
	
КонецПроцедуры

&НаСервере
Процедура ПарситьНаСервере()
	МассивПодстрок = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(Объект.Ответ, ",", Ложь);
	
	Дата = МассивПодстрок[2];
    Год = Лев(Дата,4);
	Месяц = Сред(Дата, 6, 2);
	День = Прав(Дата, 2);
	Время = МассивПодстрок[3];
	ВремяРазложенное = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(Время, ":", Ложь);
	Часы = ВремяРазложенное[0];
	Минуты = ВремяРазложенное[1]; 
	Секунды = ВремяРазложенное[2]; 
	
	Объект.Дата = Дата(Число(Год),Число(Месяц),Число(День), Число(Часы), Число(Минуты), Число(Секунды));
	Объект.Номер = Число(МассивПодстрок[1]);
	ОбработкаОбъект = РеквизитФормыВЗначение("Объект");
	Для Сч = 4 По МассивПодстрок.ВГраница() Цикл
		Параметр = СтрЗаменить(МассивПодстрок[Сч], "%", "P");
		Параметр = СтрЗаменить(Параметр, "#", "");
		Параметр = СтрЗаменить(Параметр, "-", "_");
		Если РеквизитФормыВЗначение("Объект").Метаданные().Реквизиты.Найти(Параметр) <> Неопределено Тогда
			Сч = Сч + 1;
			Объект[Параметр] = Число(МассивПодстрок[Сч]);	
		КонецЕсли
	КонецЦикла;
КонецПроцедуры

&НаКлиенте
Процедура Парсить(Команда)
	ПарситьНаСервере();
КонецПроцедуры

 

Запускаем обработку, нажимаем Отправить на приборе, после получения данных нажимаем Парсить.


 

Следующим этапом будет создание Шаблона приема и заполнение данных в конфигурации БИТ.Управление медицинским центром КОРП.

MicroCC-20Plus MicroCC Native Api RS-232 RS232 Медицина гематологический анализатор БИТ Управление медицинским центром КОРП

См. также

Очистка очереди печати конкретного принтера

Периферийные устройства Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Очистка очереди печати выбранного принтера, перезапуск службы печати, вывод списка системных принтеров, открытие свойств принтера из 1С.

1 стартмани

07.11.2023    966    1    vsnazarov    1    

24

Печать этикеток на DYMO LabelManager 280 через DYMO Connect Web Service

Периферийные устройства WEB-интеграция Этикетки, ценники Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

На сайте производителя принтера DYMO LabelManager 280 вместе с драйвером поставляется пакет DYMO Connect, который предлагает функционал вёрстки этикеток в фирменном формате и отправки их напрямую на принтер. Так же в этом пакете есть веб-сервис для взаимодействия с принтером через HTTP-запросы, о котором и пойдет речь в этой статье.

29.08.2023    796    GeraltSnow    0    

3

Распознавание номеров автомашин с ip - камер, видео, фото

Периферийные устройства Распознавание документов и образов Автомобили, автосервисы Россия Платные (руб)

Программа считывает кадры с ip-камер (http - запрос к камере), видео, фото (источники кадров (нет ограничения на их количество) настраивается в конфигурационном файле), находит и распознает номера автомашин и сохраняет в базу db, с сохранением фото номера и автомашины, а также времени детекции.

20400 руб.

31.05.2023    3321    1    1    

2

Второй монитор в качестве дисплея покупателя

Розничная торговля Периферийные устройства Платформа 1С v8.3 1С:Управление торговлей 11 Абонемент ($m)

Использование второго монитора в качестве дисплея покупателя. Выполнено в качестве расширения.

1 стартмани

02.02.2023    2694    18    windsurf    3    

4

Космическая Одиссея 2020 года

Мониторинг Периферийные устройства Языки и среды Бесплатно (free)

Организация потокового обмена системы 1С с большим количеством разнородных устройств – нетривиальная задача. О том, как организовать архитектуру такого решения с учетом возможного масштабирования хранимых данных и поддерживаемых интерфейсов, на конференции Infostart Event 2021 Post-Apocalypse рассказал TeamLead и специалист по внедрению компании ИнфоСофт Григорий Шатров.

11.11.2022    3213    G.Shatrov    2    

25

Подсистема печати на сетевые принтеры по протоколу IPP/HTTP без драйверов из любой ОС и серверного контекста

Периферийные устройства Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Печать на сетевые принтеры по протоколу IPP как напрямую, так и с иcпользованием сервера CUPS. Подсистема позволяет печатать из серверного, клиентского контекста, регламентных и фоновых заданий и не требует установки какого-то дополнительного ПО, библиотек и драйверов принтеров как на сервер 1С Предприятия, так и на клиента. Получение статуса принтера, информации о нем и результатов печати. Никаких внешних компонент не используется, под капотом HTTP и работа с двоичными данными средствами платформы. Сериализатор и десериализатор протокола IPP позволяет относительно легко доработать подсистему для поддержки нереализованных методов и типов данных протокола IPP.

5 стартмани

19.08.2022    2535    10    dumsik    6    

8

Мониторинг ИБП МАП и выключение, включение серверов

Сервера Мониторинг Периферийные устройства Платформа 1С v8.3 Абонемент ($m)

В качестве источника бесперебойного питания серверов можно использовать сетевой инвертор и сборку литиевых аккумуляторов. Единственное, чтобы это работало без участия человека, нужно выключать сервера, когда АКБ разряжается, и включать их обратно, когда сетевое напряжение появилось и АКБ зарядился. С этим вполне может справляться и программа на 1С. Далее описывается программа мониторинга и схема подключения МАП Тitanator UPS (Микроарт) с АКБ Vektor LFP (LiFePO4). Обмен данными ведется по протоколу HTTP.

1 стартмани

16.08.2022    3790    2    vad7    0    

1

Печать на мобильных принтерах по bluetooth и сети (ZPL, TSPL, CPCL)

Периферийные устройства Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Реализация печати на мобильные принтера по bluetooth и сети в формате языка разметки ZPL, TSPL, CPCL из мобильных приложений 1С под Android.

5 стартмани

10.06.2022    4767    22    igorK    31    

6
Оставьте свое сообщение