查找

问题
· 六月 13, 2024

Which are the best practises to handle large JSON?

Hello everyone,

Recently, I've been working on a Business Process that processes a large JSON FHIR message containing up to 50k requests in an array within the JSON.

Currently, the code imports the JSON as a dynamic object from the original message stream, obtains an iterator from it, and processes each request one at a time in a loop.

The performance meets the requirements, even with much larger requests than the one exposed above. However, I am interested in learning the best practices for handling large JSON in ObjectScript (and why not, Embedded Python) to achieve better performance for future developments.

Here are some ideas I have considered:

  1. Iterative Processing: Process each element of the JSON iteratively without loading the entire stream into memory.
  2. Chunking: Split the loaded JSON into smaller chunks and process them one by one. I could split the array in parts and I wonder if getting an iterator from a smaller JSON chunk would reduce computation time.
  3. Parallel Processing: After splitting the JSON, using parallel processing to handle multiple requests simultaneously. I read something about %SYSTEM.WorkMgr but I'm not sure how can I implement it in this case.

I would appreciate any technical information or reference to documentation about the listed topic or any other additional best practices that could help in handling large JSON data more efficiently in ObjectScript and Embedded Python. 

Thank you!

2 Comments
讨论 (2)3
登录或注册以继续
文章
· 六月 12, 2024 阅读大约需 2 分钟

La fin du Global Summit 2024

Bonjour à tous !

Aujourd'hui a été une journée riche en émotions au Global Summit, et je suis impatiente de partager avec vous les moments forts de cette dernière journée incroyable !

Dès le matin, notre stand de la Communauté des Développeurs a été le centre d'attraction de nombreux visiteurs enthousiastes.

@Guillaume Rongier, Luc Chatty, @Raj Singh, @Dmitry Maslennikov, @Olga Zavrazhnova, @Lucian ROTAR, @Thomas Dyar, @Irène Mykhailova

Luc Chatty, @Guillaume Rongier, @Dmitry Maslennikov, Lucian Rotar, @Thomas Dyar

Voici notre équipe de Relations avec les développeurs présente au Global Summit qui fait de l'écosystème des développeurs un endroit formidable.

@Olga Zavrazhnova (Global Masters),  @Vita Tsareva (Caelestinus), @Dean Andrews (chef du DevRel), @Anastasia Dyubaylo (Developer Community), @Irène Mykhailova (Developer Community)

Et bien sûr, notre équipe française qui anime la communauté des développeurs en français (avec un ami).

@Irène Mykhailova, @Guillaume Rongier, Luc Chatty, @Adeline Icard 

À la fin du Global Summit, il était temps de dire au revoir. Les sessions étant terminées, tout le monde s'est réuni pour échanger une dernière fois et se dire au revoir. Les adieux étaient empreints de promesses de se retrouver lors du prochain Summit. Les sourires, les accolades et les échanges chaleureux ont témoigné de la réussite de cet événement et de la force de notre communauté.

Merci à tous ceux qui ont participé et contribué à faire de ce Global Summit une expérience exceptionnelle. Restez connectés, et rendez-vous au prochain Summit pour encore plus de découvertes et d'innovations !

À bientôt et bon voyage à tous !

讨论 (0)1
登录或注册以继续
Job
· 六月 12, 2024

MUMPS / Cache developer (Germany)

Hello,

I have over 30 years of experience developing solutions with MUMPS and IRIS. Additionally, I also develop in C++, Python, Angular... 
Experiences with Container (Docker) , GIT and REST-API's

 I'm seated in Germany and looking for a job opportunity as a freelancer who mostly works from home office.

regards Matthias

3 Comments
讨论 (3)1
登录或注册以继续
讨论 (0)1
登录或注册以继续
文章
· 六月 12, 2024 阅读大约需 7 分钟

CHIMA访谈:青岛大学附属医院医院信息系统升级记

“一根筷子易折断,十根筷子抱成团”,这句话在青岛大学附属医院(以下简称“青大附院”)的医院信息系统升级换代中得到了淋漓尽致的体现。

创建于1898年的青大附院是一家山东省省属的综合性三甲医院,拥有市南院区、崂山院区、西海岸院区、市北院区和平度院区共五个院区。在医院发展的过程中,青大附院按照国家、山东省、青岛市的要求,结合医院特色,进行信息化建设的统一规划。“五个院区的规划、业务流程和管理理念是一致的,秉承着多院区集中管理的理念,采取的是集中开发、分院区部署的方式。”青大附院信息管理部主任辛海燕介绍。

多年来在医院信息化上深耕细作,令青大附院的五个院区实现了医务、护理、医疗设备、人事、后勤等的一体化管理,系统实现了互联互通,达到了信息共享的目标,让医院业务不中断。五个院区的信息化底层是打通的,围绕医疗和管理两条线进行,遵循的原则是在符合国家政策的前提下,以用户需求为出发点进行建设,可以向医院管理层和患者提供一体化服务。

软技能铸造团队精神:加强信息团队内部沟通与协作

目前青大附院信息管理部共有三个业务科室:计算机中心,负责日常硬件和软件的管理运维;项目开发中心,主要负责所有信息系统的软件实施;网络管理中心,主要负责信息网络安全、机房运维和所有终端的准入。

辛海燕介绍,青大附院的信息化团队重视技术和沟通这两大基础能力:信息管理部每位成员都必须掌握自己负责的技术,要用一个开放、学习、严谨的心态对待这份工作;要会沟通,在与临床科室、合作伙伴沟通时,要擅长“翻译”,这就需要到临床和管理中学习流程。

除此之外,青大附院的信息化团队非常重视内部的信息同步建设共享,方便整个团队在技术和工作流程同步,加强团队成员的团结和协作。

这些软技能,铸造了迎考信息系统大升级时必不可少的团队精神。

迎考:医院信息系统大升级

这次升级是十年一遇的大升级。

青大附院原有系统是2012年上线的,随着时代发展和需求的增长,对新功能应用的支持慢慢变得力不从心,限制了信息化支撑业务发展的能力。“信息化平台应该是为医院高质量发展提供帮助的,原有的医院信息系统逐渐无法满足医院高质量发展的需求。在通过多轮评估后,经管理层批准,医院于2022年8月启动医院信息系统升级,并于2023年3月14日顺利完成升级。”辛海燕介绍道。

这是一场硬仗。为使系统升级不妨碍医疗业务开展,青大附院对升级顺序进行了排序。“3月10日,我们门、急诊实现了‘一刀切’式的升级,当天晚上,我们就启用了急诊系统。第二天医生上班后,直接启用新的门诊系统。在新的门、急诊系统稳定运行后,4天后(3月14日),我们成功切换了住院系统。”辛海燕介绍道。至此,青大附院信息系统升级第一阶段完成。

“在升级过程中,我们面临的最大压力是院区多,此次是对四个院区(市南院区、崂山院区、西海岸院区、市北院区)和两个中心(生殖中心和美容中心)同步进行升级。在整个过程中,最担心是导致业务意外中断——比如患者挂不上号、看不上诊、住不上院。因此,在整个系统升级过程中,我们首先要确保的是系统可以有效支撑业务的连续性运转。”辛海燕强调,医院信息系统升级不能中断医疗业务,信息部与临床科室、合作伙伴团结协作,“在各方的支持下,我们最终顺利、稳定地完成了这次升级。”辛海燕回忆道。

在信息系统升级过程中,有一个小插曲。按照最初的规划,青大附院系统升级应该在2022年年底完成,方便新旧年度财务数据交接。由于疫情的原因,系统升级延续到了2023年春节后。在这个过程中,医院计算机中心工作人员到门诊、住院和管理部门统计硬件数量,经过半年多时间,更新了科室工作站的环境,确保每台工作站兼容新旧系统。摸清了每一个科室的每一台电脑、每一台打印机,统计发现医院内网终端数量共有6685台,保障升级后正常访问。

“这是一个细活,不能有疏漏。” 辛海燕指出,在系统升级期间,项目开发团队每天与合作伙伴一起,评估上线各类需求,网络安全管理团队为升级提供硬件环境和网络安全加固,计算机中心对终端工作站进行全面梳理,确保新旧系统的运行环境能兼容。“这段时间我们承受的是成倍的工作压力。我要特别感谢团队,因为这是一项系统性工程,事情本身是有些复杂,整个过程必须齐心协力,哪个环节掉链子都不行。”辛海燕说。

辛苦拼搏获得回报,团结协作推动事情顺利进展。经过近半年的努力,青大附院的信息系统升级工作圆满完成!

借助坚实的数字化底座,助力医院高质量发展

此次进行的信息系统升级,对底层数据库和业务系统平台进行了升级,在数据临床质量和流程方面更加精细,比如可在系统里加上闭环管理等很精细化的流程。信息系统升级换代后,医院很多业务流程都得到了更好的优化,比如门诊医生工作站、护士工作站、手术麻醉信息系统等,都变得更为友好。

“系统升级后数据库系统运行效率大大提高,在使用操作上更贴近实际业务流程,工作站的界面做了优化,更符合操作习惯,医护人员反馈说新系统用起来更加顺手,常用功能也比以前增加很多,还可以随时查看诊疗活动状态和历史诊疗数据。”辛海燕举例,任何一个院区的医生在工作界面写病历时,都可以随时查看患者的检查检验报告的进度,这不需要切换页面,实现了医疗流程和业务的无缝对接,使业务和系统的结合更紧密。

随着行业对“数据二十条”探讨的深入,越来越多的共识是:医疗数据正在成为医院的核心资产。“如何把数据保护好、利用好,让数据成为资产,助力医院高质量发展,这是我们系统升级后努力的方向。”辛海燕强调。

在这次升级中,医院数据库升级到了InterSystems IRIS医疗版数据平台。“IRIS医疗版数据平台包括数据库、中间件等等,是一个很全面、集成的平台,效率很高,非常适合医疗领域。它的建模方式和医院所需要数据库的架构是一样的。非常稳定,扩展性也很强。”辛海燕指出,“由于对FHIR等多个医疗数据标准的深度支持,IRIS医疗版数据平台在数据资产利用上有很大优势,我们看重的是依托这个平台可以‘长’很多应用,比如医疗质控、人工智能、临床决策支持等等。这些都是助力医院实现高质量发展必不可少的能力。在用数据说话这件事上,这个平台的优势非常大,能够高效、稳定地支撑业务运转。”

辛海燕以一个非常普遍的业务场景为例进行了说明。医生在多个院区出诊,数据调用是最常见的业务场景。为了更好地利用好临床数据,青大附院建设了临床数据中心,将五个院区所有患者病历数据汇集到该中心,底层用一个“容器”将所有数据都加载到一起。医生在工作站可查看到患者在五个院区和两个中心的所有门诊和住院就诊情况,包括挂号时间、检查检验报告、手术时间、治疗计划等,实现了扁平化阅读,对其后续治疗做出合理规划。不论患者在哪个院区就诊,其他院区的医生都可以即时调阅其检查、检验报告,不需要任何等待,立等可取。

据了解,青大附院此次信息系统升级只是完成了信息系统建设规划的第一步。“医院下一步信息化建设重点是以HRP为主的管理平台建设,打破管理部门信息系统‘烟囱’现状,建立以HRP为主的一体化管理平台,借助临床生产出的数据给管理做抓手,实现医院向管理要效益的目标,助力医院实现高质量发展。”辛海燕十分有信心。

附:青大附院信息系统选型标准

在进行系统选型时,青大附院认为医院和合作伙伴之间是合作共赢的关系,会考量合作伙伴的技术实力和先进性,以及它在大型三甲医院的案例是否足够有说服力。同时,医院非常看重合作伙伴的技术团队稳定性,能否有长效机制留住技术人才是医院在系统选型时着重考量的一个因素。“首先要稳定,稳定之后,再去谋发展。”辛海燕表示。

(本文原载于CHIMA微信公众号)

讨论 (0)1
登录或注册以继续