CN111176589B - 一种心电数据打印方法 - Google Patents

一种心电数据打印方法 Download PDF

Info

Publication number
CN111176589B
CN111176589B CN201911344048.3A CN201911344048A CN111176589B CN 111176589 B CN111176589 B CN 111176589B CN 201911344048 A CN201911344048 A CN 201911344048A CN 111176589 B CN111176589 B CN 111176589B
Authority
CN
China
Prior art keywords
printing
data
thread
module
template
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911344048.3A
Other languages
English (en)
Other versions
CN111176589A (zh
Inventor
章诚忠
刘畅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Lepu Cloudmed Co Ltd
Original Assignee
Shanghai Lepu Yunzhi Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Lepu Yunzhi Technology Co ltd filed Critical Shanghai Lepu Yunzhi Technology Co ltd
Priority to CN201911344048.3A priority Critical patent/CN111176589B/zh
Publication of CN111176589A publication Critical patent/CN111176589A/zh
Application granted granted Critical
Publication of CN111176589B publication Critical patent/CN111176589B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/24Detecting, measuring or recording bioelectric or biomagnetic signals of the body or parts thereof
    • A61B5/316Modalities, i.e. specific diagnostic methods
    • A61B5/318Heart-related electrical modalities, e.g. electrocardiography [ECG]
    • A61B5/333Recording apparatus specially adapted therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1268Job submission, e.g. submitting print job order or request not the print data itself
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Pathology (AREA)
  • Biophysics (AREA)
  • Cardiology (AREA)
  • Biomedical Technology (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Medical Informatics (AREA)
  • Molecular Biology (AREA)
  • Surgery (AREA)
  • Animal Behavior & Ethology (AREA)
  • General Health & Medical Sciences (AREA)
  • Public Health (AREA)
  • Veterinary Medicine (AREA)
  • Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)

Abstract

本发明实施例涉及一种心电数据打印方法,所述方法包括:心电数据打印模块从心电数据调度模块获取第一打印数据包;创建静态模板实例生成第一打印格式模板;创建动态对象实例生成第一打印对象;根据第一打印数据包对第一打印对象进行对象属性设置;提取第一打印对象指针生成第一对象指针;创建单例线程生成第一画图线程;将第一打印对象向第一画图线程进行对象添加;启动第一画图线程的画图执行方法对打印对象进行图像生成处理;创建单例线程生成第一打印线程;将第一打印对象向第一打印线程进行对象添加;启动第一打印线程的打印执行方法对打印对象进行图像打印处理并生成第一打印状态;将第一打印状态向心电数据调度模块发送。

Description

一种心电数据打印方法
技术领域
本发明涉及心电检测技术领域,特别涉及一种心电数据打印方法。
背景技术
心电图机是用来记录心脏活动时所产生的生理电信号的仪器。数字式心电图机在获取心电数据之后将心电数据转换成打印数据并将打印数据输出到数字打印机完成心电图打印。通常的,数字式心电图机在实现上述过程时采用线性任务单线程方法,即系统当前只启动一个单线程任务,在该任务中单个心电数据的打印必须是先完成图像生成后再启动心电图像打印,多个心电数据打印只能是在一个心电数据完成图像生成、打印之后才能继续下一个心电数据操作。这种实现方法的缺点明显:首先是程序模块化差,会导致实现复杂和升级难度大、实现复杂又导致系统开销大;其次是系统数据处理与打印效率低。
发明内容
本发明的目的,就是针对现有技术的缺陷,提供一种心电数据打印方法,采用多线程机制使得心电图机可以同时进行多个心电数据接收与多个心电数据处理从而提高了设备的使用效率;采用多线程机制对上一个心电数据进行打印的同时还可以处理下一个心电数据的图形化工作,进一步提高了设备的打印效率;采用多线程机制使得程序设计模块化明显提高了程序的升级与功能扩展能力。
为实现上述目的,本发明提供了一种心电数据打印方法,其特征在于,所述方法包括:
心电数据打印模块从心电数据调度模块获取第一打印数据包,所述第一打印数据包至少包括:打印模式字、打印参数、患者信息、打印模板字、第一心电数据;
所述心电数据打印模块根据所述打印模式字,创建静态模板实例生成第一打印格式模板;
所述心电数据打印模块根据所述打印模式字,创建动态对象实例生成第一打印对象;所述第一打印对象的属性至少包括:打印参数属性、用户信息属性、打印模板属性、心电数据属性、输出数据属性;
所述心电数据打印模块根据所述第一打印数据包对所述第一打印对象进行对象属性设置处理;
所述心电数据打印模块提取所述第一打印对象的对象指针生成第一对象指针;
所述心电数据打印模块创建单例线程生成第一画图线程;所述第一画图线程的属性至少包括:画图对象指针队列;
所述心电数据打印模块根据所述第一对象指针,将所述第一打印对象向所述第一画图线程进行对象添加处理;
所述心电数据打印模块启动所述第一画图线程的画图执行方法,对加入所述画图对象指针队列的打印对象进行图像生成处理;
所述心电数据打印模块创建单例线程生成第一打印线程;所述第一打印线程的属性至少包括:打印对象指针队列;
所述心电数据打印模块根据所述第一对象指针,将所述第一打印对象向所述第一打印线程进行对象添加处理;
所述心电数据打印模块启动所述第一打印线程的打印执行方法,对加入所述打印对象指针队列的打印对象进行图像打印处理并生成第一打印状态;
所述心电数据打印模块向所述心电数据调度模块发送所述第一打印状态。
进一步的,所述心电数据打印模块根据所述第一打印数据包对所述第一打印对象进行对象属性设置处理,具体包括:
所述心电数据打印模块根据所述第一打印数据包的所述打印参数,调用所述第一打印对象的配置打印参数方法,对所述第一打印对象的所述打印参数属性进行设置处理;
所述心电数据打印模块根据所述第一打印数据包的所述患者信息,调用所述第一打印对象的所述配置对象属性方法,对所述第一打印对象的所述用户信息属性进行设置处理;
所述心电数据打印模块根据所述第一打印数据包的所述打印模板字,调用所述第一打印对象的所述配置对象属性方法,对所述第一打印对象的所述打印模板属性进行设置处理;
所述心电数据打印模块根据所述第一打印数据包的所述第一心电数据,调用所述第一打印对象的所述配置对象属性方法,对所述第一打印对象的所述心电数据属性进行设置处理。
进一步的,所述心电数据打印模块根据所述第一对象指针,将所述第一打印对象向所述第一画图线程进行对象添加处理,具体包括:
所述心电数据打印模块调用所述第一画图线程的画图队列添加方法,将所述第一对象指针向所述第一画图线程的所述画图对象指针队列进行对象指针添加处理。
进一步的,所述心电数据打印模块启动所述第一画图线程的画图执行方法,对加入所述画图对象指针队列的打印对象进行图像生成处理,具体包括:
所述心电数据打印模块启动所述第一画图线程的所述画图执行方法;
所述画图执行方法从所述画图对象指针队列中获取所述第一对象指针;
所述画图执行方法根据所述第一对象指针,获取所述第一打印对象的所述打印模板属性、心电数据属性;
所述画图执行方法根据所述打印模板属性、心电数据属性,调用所述第一打印对象的第二画图方法对所述第一打印对象进行图像生成处理。
优选的,所述画图执行方法根据所述打印模板属性、心电数据属性,调用所述第一打印对象的第二画图方法对所述第一打印对象进行图像生成处理,具体包括:
所述画图执行方法根据所述打印模板属性、心电数据属性,使用所述第一打印格式模板的第一画图方法生成第一图像数据;
根据所述第一图像数据对与所述第一打印对象的所述输出数据属性进行设置处理。
进一步的,所述心电数据打印模块根据所述第一对象指针,将所述第一打印对象向所述第一打印线程进行对象添加处理,具体包括:
所述心电数据打印模块调用所述第一打印线程的打印队列添加方法,将所述第一对象指针向所述第一打印线程的所述打印对象指针队列进行对象指针添加处理。
优选的,所述心电数据打印模块启动所述第一打印线程的打印执行方法,对加入所述打印对象指针队列的打印对象进行图像打印处理并生成第一打印状态,具体包括:
所述心电数据打印模块启动所述第一打印线程的所述打印执行方法;
所述打印执行方法从所述打印对象指针队列中获取所述第一对象指针;
所述打印执行方法根据所述第一对象指针,调用所述第一打印对象的第二获取画图结果方法生成第二打印数据包;
所述打印执行方法对所述第二打印数据包进行打印驱动协议处理生成第三打印数据包;
所述打印执行方法向打印机驱动发送所述第三打印数据包;
所述打印执行方法接收从所述打印机驱动发回的所述第一打印状态。
进一步的,所述打印执行方法根据所述第一对象指针,调用所述第一打印对象的第二获取画图结果方法生成第二打印数据包,具体包括:
所述打印执行方法调用所述第一打印格式模板的第一获取画图结果方法,获取所述第一对象指针对应的所述第一打印对象的所述输出数据属性;
所述打印执行方法提取所述输出数据属性的全部字节生成所述第二打印数据包。
进一步的,所述打印模式字包括:手动波形打印模式,自动波形打印模式、自动报告打印模式、预览波形打印模式、间隔波形打印模式中的一种或多种;
所述打印模板字包括:手动12通道模板、手动6通道模板、手动6+1通道模板、手动3+3通道模板、手动单通道模板、自动12通道模板、自动6*2通道模板、自动6*2+1通道模板、自动3*4+3通道模板、自动12通道加分析报告模板、自动6*2通道加分析报告模板、自动6*2+1通道加分析报告模板、自动3*4+3通道加分析报告模板、自动分析报告模板中的一种或多种。
进一步的,所述方法还包括:
在当所述心电数据打印模块处理多个打印数据时,所述心电数据打印模块在执行所述第一画图线程的所述画图执行方法与所述第一打印线程的所述打印执行方法的同时,从所述心电数据调度模块继续接收第四打印数据包并通过创建动态对象实例生成第二打印对象;所述心电数据打印模块在根据所述第四打印数据包对所述第二打印对象完成对象属性设置处理之后,将所述第二打印对象分别向所述第一画图线程与所述第一打印线程进行对象添加处理;所述心电数据打印模块完成对所述第二打印对象的对象添加之后,从所述心电数据调度模块继续接收下一个打印数据包并通过创建动态对象实例生成下一个打印对象;
在当所述第一画图线程的所述画图对象指针队列的对象指针总数大于0时,所述第一画图线程的所述画图执行方法对所述画图对象指针队列的对象指针对应的打印对象依次进行图像生成处理,并在每个打印对象的图像生成处理成功之后将当前打印对象从所述画图对象指针队列中移除并将所述画图对象指针队列的对象指针总数减1;
在当所述第一打印线程的所述打印对象指针队列中的对象指针总数大于0时,所述第一打印线程的所述打印执行方法对所述打印对象指针队列的对象指针对应的打印对象依次进行图像打印处理并将生成的当前打印状态向第一打印状态序列进行添加,在每个打印对象的图像打印处理成功之后将当前打印对象从所述打印对象指针队列中移除并将所述打印对象指针队列的对象指针总数减1;
在所述画图对象指针队列对应的全部打印对象均完成图像生成且所述打印对象指针队列对应的全部打印对象均完成图像打印之后,所述心电数据打印模块将所述第一打印状态序列向所述心电数据调度模块发送。
本发明提供的一种心电数据打印方法,首先,采用多线程机制分离心电数据的接收与处理流程,使得心电图机可以同时进行多个心电数据接收与多个心电数据处理,从而提高了设备的使用效率;其次,采用多线程机制分离心电数据的图像转化与图像打印流程,即在对上一个心电数据进行打印的同时还可以处理下一个心电数据的图形化工作,通过提高数据的处理效率进一步提高了设备的打印效率;再者,采用多线程机制使得程序设计模块化明显,也提高了程序的升级与功能扩展能力;另外,在处理打印任务时采用单例线程连接打印外设,保障了由多线程任务生成的打印对象数据在进行具体打印时不会发生对象数据错位的问题。
附图说明
图1为本发明实施例一提供的一种心电数据打印方法示意图;
图2为本发明实施例提供的心电图机数据处理模块示意图;
图3为本发明实施例二提供的一种心电数据打印方法示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
如图1为本发明实施例一提供的一种心电数据打印方法的示意图所示,本方法主要包括如下步骤:
步骤1,心电数据打印模块从心电数据调度模块获取第一打印数据包,第一打印数据包至少包括:打印模式字、打印参数、患者信息、打印模板字、第一心电数据。
此处,一般心电图机在处理数据打印/显示时,相关的模块主要分为:心电数据采集模块、心电数据调度模块与心电数据打印模块,如图2为本发明实施例提供的心电图机数据处理模块示意图所示。心电数据采集模块主要是通过前置电极获取心电的电位信号将电位信号向心电数据调度模块发送。心电数据调度模块主要是将前端收集的多种通道的心电的电位信号进行标准格式数据转化操作,并将转化后的数据以打印数据包的方式向心电数据打印模块进行输出。心电数据打印模块主要是负责将接收到的打印数据包按照打印/显示要求将数据向对应的打印设备或显示设备进行转发。本发明实施例在心电数据打印模块处理数据转发的时候,为提高转发效率,从传统的单线程画图-打印/显示工作模式,变更为以多线程工作方式为主的并发工作模式,将原有的从心电数据调度模块获取数据-将数据进行图像化处理-将处理后的图形进行打印/显示处理的线性工作流程,变更为三者可错时、并行的工作方式,很大程度提高了设备的输出效率、缩短了工作时间、提升了系统资源的有效利用率。
此处,心电图机常见的工作模式有三种:手动模式、自动模式与间隔模式,所以打印模式字对应的就有:手动波形打印模式,自动波形打印模式、自动报告打印模式、预览波形打印模式、间隔波形打印模式。其中,对带有图像预览显示功能的心电图机可以使用预览波形打印模式,使用该模式与其他模式的区别是:其他模式将最终生成的心电图图像文件向打印设备输出并打印出来,该模式是将生成的心电图图形文件向显示设备输出并显示出来。
打印参数,是指与打印设备相关的配置参数。
患者信息由客户定制,可以包括姓名、性别、年龄及其他。
打印模板字,是与打印/显示效果相关的,也就是图像模板参数,至少包括:手动12通道模板、手动6通道模板、手动6+1通道模板、手动3+3通道模板、手动单通道模板、自动12通道模板、自动6*2通道模板、自动6*2+1通道模板、自动3*4+3通道模板、自动12通道加分析报告模板、自动6*2通道加分析报告模板、自动6*2+1通道加分析报告模板、自动3*4+3通道加分析报告模板、自动分析报告模板。例如,手动12通道模板就是指根据第一心电数据提取12导联心电数据信息,并按照12通道全显示方式进行顺次波形排列打印/显示输出。
第一心电数据,与工作模式相关,即在当前工作模式下采集的心电数据包。
步骤2,心电数据打印模块根据打印模式字,创建静态模板实例生成第一打印格式模板。
此处,第一打印格式模板的方法(或称类函数)至少包括:第一画图方法、第一获取画图结果方法。
此处,第一打印格式模板主要提供多种打印显示画图处理程序,标准接口程序方法(或称类函数)至少包括两个:第一画图方法、第一获取画图结果方法,上述两个方法根据打印模式字的具体取值不同,其执行的程序效果是不一样的,在具体实现上可以在一个程序中用多状态分支处理,也可以对接口程序根据打印模式字不同的赋值多次进行重构。
步骤3,心电数据打印模块根据打印模式字,创建动态对象实例生成第一打印对象。
此处,第一打印对象的方法(或称类函数)至少包括:配置打印参数方法、配置对象属性方法、第二画图方法、第二获取画图结果方法;第一打印对象的属性至少包括:打印参数属性、用户信息属性、打印模板属性、心电数据属性、输出数据属性。
此处,每一个接收的数据包对应一个对象。该对象的基础方法程序至少包括:配置打印参数方法、配置对象属性方法、第二画图方法、第二获取画图结果方法,其中配置打印参数方法是对对象的打印参数属性进行赋值的,配置对象属性方法是对对象的用户信息属性、打印模板属性、心电数据属性进行赋值,第二画图方法是生成对象的输出数据属性的,第二获取画图结果方法是向外输出对象的输出数据属性的。其中输出数据属性就是按照打印模板字要求输出的心电图图形数据。
步骤4,心电数据打印模块根据第一打印数据包对第一打印对象进行对象属性设置处理,
具体包括:步骤41,心电数据打印模块根据第一打印数据包的打印参数,调用第一打印对象的配置打印参数方法(或称类函数),对第一打印对象的打印参数属性进行设置;
步骤42,心电数据打印模块根据第一打印数据包的患者信息,调用第一打印对象的配置对象属性方法(或称类函数),对第一打印对象的用户信息属性进行设置;
步骤43,心电数据打印模块根据第一打印数据包的打印模板字,调用第一打印对象的配置对象属性方法(或称类函数),对第一打印对象的打印模板属性进行设置;
步骤44,心电数据打印模块根据第一打印数据包的第一心电数据,调用第一打印对象的配置对象属性方法(或称类函数),对第一打印对象的心电数据属性进行设置。
此处,对创建的第一打印对象进行属性赋值,以便于后续利用打印对象进行图像生成处理与图像打印处理。
步骤5,心电数据打印模块提取第一打印对象的对象指针生成第一对象指针。
步骤6,心电数据打印模块创建单例线程生成第一画图线程。
此处,第一画图线程的方法(或称类函数)至少包括:画图队列添加方法、画图执行方法;第一画图线程的属性至少包括:画图对象指针队列。
此处,按单例线程方式生成第一画图线程,则在一次完整的任务中(1个或多个心电数据处理任务),该线程只生成一次,心电数据打印模块将多个打印对象依次加入画图对象指针队列中进行排队处理,生成完一个对象的输出数据属性之后就将该对象的对象指针从画图对象指针队列中移除。
步骤7,心电数据打印模块根据第一对象指针,将第一打印对象向第一画图线程进行对象添加处理。
具体的,心电数据打印模块调用第一画图线程的画图队列添加方法(或称类函数),将第一对象指针向第一画图线程的画图对象指针队列进行对象指针添加处理。
步骤8,心电数据打印模块启动第一画图线程的画图执行方法(或称类函数),对加入画图对象指针队列的打印对象进行图像生成处理,
具体包括:步骤81,心电数据打印模块启动第一画图线程的画图执行方法(或称类函数);
步骤82,画图执行方法从画图对象指针队列中获取第一对象指针;
步骤83,画图执行方法根据第一对象指针,获取第一打印对象的打印模板属性、心电数据属性;
步骤84,画图执行方法根据打印模板属性、心电数据属性,调用第一打印对象的第二画图方法(或称类函数)对第一打印对象进行图像生成处理,
具体包括:步骤841,根据打印模板属性、心电数据属性,使用第一打印格式模板的第一画图方法(或称类函数)生成第一图像数据;
步骤842,根据第一图像数据对与第一对象指针对应的第一打印对象的输出数据属性进行设置。
步骤9,心电数据打印模块创建单例线程生成第一打印线程。
此处,第一打印线程的方法(或称类函数)至少包括:打印队列添加方法、打印执行方法;第一打印线程的属性至少包括:打印对象指针队列。
此处,按单例线程方式生成第一打印线程,则在一次完整的任务中(1个或多个心电数据处理任务),该线程只生成一次,心电数据打印模块将多个打印对象依次加入打印对象指针队列中进行排队处理,完成一个对象的图形打印之后就将该对象的对象指针从打印对象指针队列中移除。
步骤10,心电数据打印模块根据第一对象指针,将第一打印对象向第一打印线程进行对象添加处理,
具体的,调用第一打印线程的打印队列添加方法(或称类函数),将第一对象指针向第一打印线程的打印对象指针队列进行对象指针添加处理。
步骤11,心电数据打印模块启动第一打印线程的打印执行方法(或称类函数),对加入打印对象指针队列的打印对象进行图像打印处理并生成第一打印状态,
具体包括:步骤111,心电数据打印模块启动第一打印线程的打印执行方法(或称类函数);
步骤112,打印执行方法从打印对象指针队列中获取第一对象指针;
步骤113,打印执行方法根据第一对象指针,调用第一打印对象的第二获取画图结果方法(或称类函数)生成第二打印数据包,
具体包括:步骤1131,调用第一打印格式模板的第一获取画图结果方法(或称类函数),获取第一对象指针对应的第一打印对象的输出数据属性;
步骤1132,提取输出数据属性的全部数据生成第二打印数据包;
步骤114,打印执行方法对第二打印数据包进行打印驱动协议处理生成第三打印数据包;
步骤115,打印执行方法向打印机驱动发送第三打印数据包;
步骤116,打印执行方法接受从打印机驱动发回的第一打印状态。
步骤12,心电数据打印模块将第一打印状态向心电数据调度模块发送。
如图3为本发明实施例二提供的一种心电数据打印方法的示意图所示,本方法主要包括如下步骤:
步骤201,心电数据打印模块从心电数据调度模块获取数据包总数,初始化第一索引的值为1,初始化第一打印状态序列为空。
此处,在当心电数据打印模块处理多个打印数据时,本发明实施例提供的数据处理方法支持数据获取与数据处理同步:心电数据打印模块在执行第一画图线程的画图执行方法与第一打印线程的打印执行方法的同时,从心电数据调度模块继续接收下一个打印数据包并通过创建动态对象实例生成下一个打印对象。具体执行时,心电数据打印模块首先根据已接收到的打印数据包对当前生成的动态打印对象完成对象属性设置处理,然后将当前打印对象分别向第一画图线程与第一打印线程进行对象添加,添加成功之后心电数据打印模块继续接收下一个打印数据包并通过创建下一个打印对象。这个过程中,第一画图线程与第一打印线程只生成一次,这样才能保证心电数据打印模块每次都是往同一个线程中添加的打印对象。
步骤202,心电数据打印模块从心电数据调度模块获取数据包生成第一索引打印数据包,第一索引打印数据包至少包括:打印模式字、打印参数、患者信息、打印模板字、第一心电数据。
步骤203,在当第一索引的值为1时,心电数据打印模块根据打印模式字,创建静态模板实例生成第一打印格式模板;第一打印格式模板的方法(或称类函数)至少包括:第一画图方法、第一获取画图结果方法。
步骤204,心电数据打印模块根据打印模式字,创建动态对象实例生成第一索引打印对象;第一索引打印对象的方法(或称类函数)至少包括:配置打印参数方法、配置对象属性方法、第二画图方法、第二获取画图结果方法;第一索引打印对象的属性至少包括:打印参数属性、用户信息属性、打印模板属性、心电数据属性、输出数据属性。
步骤205,心电数据打印模块根据第一索引打印数据包对第一索引打印对象进行对象属性设置处理。
步骤206,心电数据打印模块提取第一索引打印对象的对象指针生成第一索引对象指针。
步骤207,在当第一索引的值为1时,心电数据打印模块创建单例线程生成第一画图线程;第一画图线程的方法(或称类函数)至少包括:画图队列添加方法、画图执行方法;第一画图线程的属性至少包括:画图对象指针队列。
步骤208,心电数据打印模块根据第一索引对象指针,将第一索引打印对象向第一画图线程进行对象添加。
步骤209,心电数据打印模块启动第一画图线程的画图执行方法,对加入画图对象指针队列的打印对象进行图像生成处理。
第一画图线程的画图执行方法的执行与获取打印数据的线程是平行线程,心电数据打印模块在将打印对象对第一画图线程的对象指针队列进行添加之后,第一画图线程只根据对象指针队列的对象总数进行图像生成处理;具体的,在当第一画图线程的画图对象指针队列的对象指针总数大于0时,第一画图线程的画图执行方法对画图对象指针队列的对象指针对应的打印对象依次进行图像生成处理,并在每个打印对象的图像生成处理成功之后将当前打印对象从画图对象指针队列中移除并将画图对象指针队列的对象指针总数减1。
步骤210,在当第一索引的值为1时,心电数据打印模块创建单例线程生成第一打印线程;第一打印线程的方法(或称类函数)至少包括:打印队列添加方法、打印执行方法;第一打印线程的属性至少包括:打印对象指针队列。
步骤211,心电数据打印模块根据第一索引对象指针,将第一索引打印对象向第一打印线程进行对象添加。
步骤212,心电数据打印模块启动第一打印线程的打印执行方法,对加入打印对象指针队列的打印对象进行图像打印处理并生成第一索引打印状态。
第一打印线程的打印执行方法的执行与获取打印数据的线程、第一画图线程都是平行线程,心电数据打印模块在将打印对象对第一打印线程的对象指针队列进行添加之后,第一打印线程只根据对象指针队列的对象总数进行图像打印处理;具体的,在当第一打印线程的打印对象指针队列的对象指针总数大于0时,第一打印线程的打印执行方法对打印对象指针队列的对象指针对应的打印对象依次进行图像打印处理,并在每个打印对象的图像打印成功之后将当前打印对象从打印对象指针队列中移除并将打印对象指针队列的对象指针总数减1。
步骤213,心电数据打印模块将第一索引打印状态向第一打印状态序列进行数据项添加。
步骤214,心电数据打印模块将第一索引的值加1。
步骤215,心电数据打印模块判断第一索引的值是否大于数据包总数的值,如果第一索引的值大于数据包总数的值则转至步骤216,如果第一索引的值小于或等于数据包总数的值则转至步骤202。
步骤216,心电数据打印模块将第一打印状态序列向心电数据调度模块发送。
本发明提供的一种心电数据打印方法,首先,采用多线程机制分离心电数据的接收与处理流程,使得心电图机可以同时进行多个心电数据接收与多个心电数据处理,从而提高了设备的使用效率;其次,采用多线程机制分离心电数据的图像转化与图像打印流程,即在对上一个心电数据进行打印的同时还可以处理下一个心电数据的图形化工作,通过提高数据的处理效率进一步提高了设备的打印效率;再者,采用多线程机制使得程序设计模块化明显,也提高了程序的升级与功能扩展能力;另外,在处理打印任务时采用单例线程连接打印外设,保障了由多线程任务生成的打印对象数据在进行具体打印时不会发生对象数据错位的问题。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种心电数据打印方法,其特征在于,所述方法包括:
心电数据打印模块从心电数据调度模块获取第一打印数据包,所述第一打印数据包至少包括:打印模式字、打印参数、患者信息、打印模板字、第一心电数据;
所述心电数据打印模块根据所述打印模式字,创建静态模板实例生成第一打印格式模板;
所述心电数据打印模块根据所述打印模式字,创建动态对象实例生成第一打印对象;所述第一打印对象的属性至少包括:打印参数属性、用户信息属性、打印模板属性、心电数据属性、输出数据属性;
所述心电数据打印模块根据所述第一打印数据包对所述第一打印对象进行对象属性设置处理;
所述心电数据打印模块提取所述第一打印对象的对象指针生成第一对象指针;
所述心电数据打印模块创建单例线程生成第一画图线程;所述第一画图线程的属性至少包括:画图对象指针队列;
所述心电数据打印模块根据所述第一对象指针,将所述第一打印对象向所述第一画图线程进行对象添加处理;
所述心电数据打印模块启动所述第一画图线程的画图执行方法,对加入所述画图对象指针队列的打印对象进行图像生成处理;
所述心电数据打印模块创建单例线程生成第一打印线程;所述第一打印线程的属性至少包括:打印对象指针队列;
所述心电数据打印模块根据所述第一对象指针,将所述第一打印对象向所述第一打印线程进行对象添加处理;
所述心电数据打印模块启动所述第一打印线程的打印执行方法,对加入所述打印对象指针队列的打印对象进行图像打印处理并生成第一打印状态;
所述心电数据打印模块向所述心电数据调度模块发送所述第一打印状态。
2.根据权利要求1所述的心电数据打印方法,其特征在于,所述心电数据打印模块根据所述第一打印数据包对所述第一打印对象进行对象属性设置处理,具体包括:
所述心电数据打印模块根据所述第一打印数据包的所述打印参数,调用所述第一打印对象的配置打印参数方法,对所述第一打印对象的所述打印参数属性进行设置处理;
所述心电数据打印模块根据所述第一打印数据包的所述患者信息,调用所述第一打印对象的配置对象属性方法,对所述第一打印对象的所述用户信息属性进行设置处理;
所述心电数据打印模块根据所述第一打印数据包的所述打印模板字,调用所述第一打印对象的所述配置对象属性方法,对所述第一打印对象的所述打印模板属性进行设置处理;
所述心电数据打印模块根据所述第一打印数据包的所述第一心电数据,调用所述第一打印对象的所述配置对象属性方法,对所述第一打印对象的所述心电数据属性进行设置处理。
3.根据权利要求1所述的心电数据打印方法,其特征在于,所述心电数据打印模块根据所述第一对象指针,将所述第一打印对象向所述第一画图线程进行对象添加处理,具体包括:
所述心电数据打印模块调用所述第一画图线程的画图队列添加方法,将所述第一对象指针向所述第一画图线程的所述画图对象指针队列进行对象指针添加处理。
4.根据权利要求1所述的心电数据打印方法,其特征在于,所述心电数据打印模块启动所述第一画图线程的画图执行方法,对加入所述画图对象指针队列的打印对象进行图像生成处理,具体包括:
所述心电数据打印模块启动所述第一画图线程的所述画图执行方法;
所述画图执行方法从所述画图对象指针队列中获取所述第一对象指针;
所述画图执行方法根据所述第一对象指针,获取所述第一打印对象的所述打印模板属性、心电数据属性;
所述画图执行方法根据所述打印模板属性、心电数据属性,调用所述第一打印对象的第二画图方法对所述第一打印对象进行图像生成处理。
5.根据权利要求4所述的心电数据打印方法,其特征在于,所述画图执行方法根据所述打印模板属性、心电数据属性,调用所述第一打印对象的第二画图方法对所述第一打印对象进行图像生成处理,具体包括:
所述画图执行方法根据所述打印模板属性、心电数据属性,使用所述第一打印格式模板的第一画图方法生成第一图像数据;
根据所述第一图像数据对与所述第一打印对象的所述输出数据属性进行设置处理。
6.根据权利要求1所述的心电数据打印方法,其特征在于,所述心电数据打印模块根据所述第一对象指针,将所述第一打印对象向所述第一打印线程进行对象添加处理,具体包括:
所述心电数据打印模块调用所述第一打印线程的打印队列添加方法,将所述第一对象指针向所述第一打印线程的所述打印对象指针队列进行对象指针添加处理。
7.根据权利要求1所述的心电数据打印方法,其特征在于,所述心电数据打印模块启动所述第一打印线程的打印执行方法,对加入所述打印对象指针队列的打印对象进行图像打印处理并生成第一打印状态,具体包括:
所述心电数据打印模块启动所述第一打印线程的所述打印执行方法;
所述打印执行方法从所述打印对象指针队列中获取所述第一对象指针;
所述打印执行方法根据所述第一对象指针,调用所述第一打印对象的第二获取画图结果方法生成第二打印数据包;
所述打印执行方法对所述第二打印数据包进行打印驱动协议处理生成第三打印数据包;
所述打印执行方法向打印机驱动发送所述第三打印数据包;
所述打印执行方法接收从所述打印机驱动发回的所述第一打印状态。
8.根据权利要求7所述的心电数据打印方法,其特征在于,所述打印执行方法根据所述第一对象指针,调用所述第一打印对象的第二获取画图结果方法生成第二打印数据包,具体包括:
所述打印执行方法调用所述第一打印格式模板的第一获取画图结果方法,获取所述第一对象指针对应的所述第一打印对象的所述输出数据属性;
所述打印执行方法提取所述输出数据属性的全部字节生成所述第二打印数据包。
9.根据权利要求1所述的心电数据打印方法,其特征在于,
所述打印模式字包括:手动波形打印模式,自动波形打印模式、自动报告打印模式、预览波形打印模式、间隔波形打印模式中的一种或多种;
所述打印模板字包括:手动12通道模板、手动6通道模板、手动6+1通道模板、手动3+3通道模板、手动单通道模板、自动12通道模板、自动6*2通道模板、自动6*2+1通道模板、自动3*4+3通道模板、自动12通道加分析报告模板、自动6*2通道加分析报告模板、自动6*2+1通道加分析报告模板、自动3*4+3通道加分析报告模板、自动分析报告模板中的一种或多种。
10.根据权利要求1所述的心电数据打印方法,其特征在于,所述方法还包括:
在当所述心电数据打印模块处理多个打印数据时,所述心电数据打印模块在执行所述第一画图线程的所述画图执行方法与所述第一打印线程的所述打印执行方法的同时,从所述心电数据调度模块继续接收第四打印数据包并通过创建动态对象实例生成第二打印对象;所述心电数据打印模块在根据所述第四打印数据包对所述第二打印对象完成对象属性设置处理之后,将所述第二打印对象分别向所述第一画图线程与所述第一打印线程进行对象添加处理;所述心电数据打印模块完成对所述第二打印对象的对象添加之后,从所述心电数据调度模块继续接收下一个打印数据包并通过创建动态对象实例生成下一个打印对象;
在当所述第一画图线程的所述画图对象指针队列的对象指针总数大于0时,所述第一画图线程的所述画图执行方法对所述画图对象指针队列的对象指针对应的打印对象依次进行图像生成处理,并在每个打印对象的图像生成处理成功之后将当前打印对象从所述画图对象指针队列中移除并将所述画图对象指针队列的对象指针总数减1;
在当所述第一打印线程的所述打印对象指针队列中的对象指针总数大于0时,所述第一打印线程的所述打印执行方法对所述打印对象指针队列的对象指针对应的打印对象依次进行图像打印处理并将生成的当前打印状态向第一打印状态序列进行添加,在每个打印对象的图像打印处理成功之后将当前打印对象从所述打印对象指针队列中移除并将所述打印对象指针队列的对象指针总数减1;
在所述画图对象指针队列对应的全部打印对象均完成图像生成且所述打印对象指针队列对应的全部打印对象均完成图像打印之后,所述心电数据打印模块将所述第一打印状态序列向所述心电数据调度模块发送。
CN201911344048.3A 2019-12-23 2019-12-23 一种心电数据打印方法 Active CN111176589B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911344048.3A CN111176589B (zh) 2019-12-23 2019-12-23 一种心电数据打印方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911344048.3A CN111176589B (zh) 2019-12-23 2019-12-23 一种心电数据打印方法

Publications (2)

Publication Number Publication Date
CN111176589A CN111176589A (zh) 2020-05-19
CN111176589B true CN111176589B (zh) 2023-04-07

Family

ID=70657394

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911344048.3A Active CN111176589B (zh) 2019-12-23 2019-12-23 一种心电数据打印方法

Country Status (1)

Country Link
CN (1) CN111176589B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112373215B (zh) * 2020-11-13 2021-10-26 深圳市凯沃尔电子有限公司 一种心电信号的热敏打印方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5273050A (en) * 1991-11-07 1993-12-28 Anthony Schaus ECG analysis system with multiple cassette loader
JP2002082781A (ja) * 2000-09-08 2002-03-22 Ricoh Co Ltd データ転送方法及び画像入出力システム
CN106446534A (zh) * 2016-09-12 2017-02-22 深圳市理邦精密仪器股份有限公司 心电图打印管理方法和装置
CN109431491A (zh) * 2018-09-28 2019-03-08 上海优加利健康管理有限公司 一种用于心电监测的自动报告生成方法和系统
CN110399106A (zh) * 2019-07-18 2019-11-01 浙江口碑网络技术有限公司 票据打印机的打印控制方法、装置及系统
CN110420021A (zh) * 2019-08-09 2019-11-08 周小红 十二导联心电数据采集和同步显示系统及方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5273050A (en) * 1991-11-07 1993-12-28 Anthony Schaus ECG analysis system with multiple cassette loader
JP2002082781A (ja) * 2000-09-08 2002-03-22 Ricoh Co Ltd データ転送方法及び画像入出力システム
CN106446534A (zh) * 2016-09-12 2017-02-22 深圳市理邦精密仪器股份有限公司 心电图打印管理方法和装置
CN109431491A (zh) * 2018-09-28 2019-03-08 上海优加利健康管理有限公司 一种用于心电监测的自动报告生成方法和系统
CN110399106A (zh) * 2019-07-18 2019-11-01 浙江口碑网络技术有限公司 票据打印机的打印控制方法、装置及系统
CN110420021A (zh) * 2019-08-09 2019-11-08 周小红 十二导联心电数据采集和同步显示系统及方法

Also Published As

Publication number Publication date
CN111176589A (zh) 2020-05-19

Similar Documents

Publication Publication Date Title
CN110495872B (zh) 基于图片及心搏信息的心电分析方法、装置、设备及介质
CN111067511B (zh) 一种心电数据中关键点的确定方法、装置及设备
CN111176589B (zh) 一种心电数据打印方法
CN104586383A (zh) 一种心电波形分类方法及装置
CN104398257A (zh) 一种心电波形周期性统计分析方法
CN106108880B (zh) 一种心拍自动识别方法及系统
JPH10211180A (ja) 心臓機能自動診断方法
EP3716134A1 (en) Parallel analysis device for ecg signals, and method and mobile terminal
JP2023120282A (ja) 生体信号処理装置および自動解析用データ生成方法
CN104866724A (zh) 基于图像的心电分析方法及装置
CN114509590A (zh) 一种用于多通道数字示波器的图像处理装置和方法
Plesinger et al. Multichannel QRS Morphology Clustering-Data Preprocessing for Ultra-High-Frequency ECG Analysis
CN111222578A (zh) 一种运动想象eeg信号的在线处理方法
CN113647960B (zh) 一种心律失常的快速识别方法、终端设备及存储介质
CN110811608A (zh) 一种基于ecg信号的房颤监测方法
CN111449649B (zh) 心电数据的处理方法、装置及计算机可读存储介质
JP2017077260A (ja) 生体信号波形表示装置、生体信号波形表示方法、プログラム及び記憶媒体
CN115754413A (zh) 示波器及数据处理方法
CN110613444B (zh) 一种母胎混合心电信号的显示方法及装置
JP2023524871A (ja) 機械学習モデルへの適用のための時系列データの変換
US20240108271A1 (en) Methods and systems for detecting pace pulses
CN114073533B (zh) 一种对心电信号st段进行预警的方法
CN114652323B (zh) 一种心律失常的检测方法、装置及设备
WO2022244291A1 (ja) プログラム、出力装置及びデータ処理方法
JPS6247340A (ja) 実脳波抽出装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
TA01 Transfer of patent application right

Effective date of registration: 20200513

Address after: 16th Floor, Block A, 668 Shenzhuan Highway, Songjiang District, Shanghai, 20112

Applicant after: SHANGHAI YOCALY HEALTH MANAGEMENT Co.,Ltd.

Address before: 102200, Beijing Changping Changping District science and Technology Park, super Road, No. 3, building 37

Applicant before: Lepu Medical Technology (Beijing) Co.,Ltd.

TA01 Transfer of patent application right
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 201612 16 / F, block a, no.668, Xinzhuan Road, Songjiang District, Shanghai

Applicant after: Shanghai Lepu Yunzhi Technology Co.,Ltd.

Address before: 201612 16 / F, block a, no.668, Xinzhuan Road, Songjiang District, Shanghai

Applicant before: SHANGHAI YOCALY HEALTH MANAGEMENT Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant