加入 M 革命 以及医疗 IT 领域的下一个重大事件:node.js 编程语言与 NoSQL 分层数据库 M 的集成。
M 的开发旨在高效地组织和访问医疗保健领域中通常管理的数据类型,因此它非常适合这项工作。
M 取得成功的最重要原因之一是它以自然且无缝的方式将数据库集成到语言中。然而,M 开发者社区的增长和参与度一直没有引起教育界和更广泛的 IT 社区的注意。因此,尽管这项技术对于支持美国医疗 IT 基础设施至关重要,但它在招募年轻的新开发者方面一直面临挑战。
在最近的第 26 届 VistA 社区会议上,Rob Tweed 提出了一个令人兴奋的替代方案。我将其总结为:Node.js 邂逅 M 数据库。
在他的工作中,Rob 在 M 数据库 和 node.js 的语言特性之间创建了紧密的集成。结果是一种从 Javascript 代码访问 M 数据库的新方法,在这种方法中,开发者不会感觉到自己正在访问数据库。
现在可以使用 node.js 访问 M,无论是在使用 Intersystems Cache 的 M 实现还是 GT.M 的开源 M 实现时。第二个接口由 David Wicksell 基于先前在 GlobalsDB 项目中为 Cache 定义的 API 实现。
在 最近的博客文章中,Rob 描述了 node.js 中的一些自然表示法,这些表示法通过很好地遵循 Javascript 的语言模式来提供对 M 分层数据库 的访问。以下是 Rob 的一些示例
M 表达式:
set town = ^patient(123456, "address", "town")
变成了 Javascript 表达式
var town = patient.$('address').$('town')._value;
带有一些 jQuery 的风格。
以下是医疗保健的典型 M 表达式示例
^patient(123456,"birthdate")=-851884200 ^patient(123456,"conditions",0,"causeOfDeath")="" ^patient(123456,"conditions",0,"codes","ICD-10-CM",0)="I21.01" ^patient(123456,"conditions",0,"codes","ICD-9-CM",0)="410.00" ^patient(123456,"conditions",0,"description")="Diagnosis, Active: Hospital Measures - AMI (Code List: 2.16.840.1.113883.3.666.5.3011)" ^patient(123456,"conditions",0,"end_time")=1273104000
变成了以下可以使用 Javascript 操作的 JSON 数据结构
var patient = new ewd.GlobalNode("patient", [123456]); patient._delete(); var document = { "birthdate": -851884200, "conditions": [ { "causeOfDeath": null, "codes": { "ICD-9-CM": [ "410.00" ], "ICD-10-CM": [ "I21.01" ] }, "description": "Diagnosis, Active: Hospital Measures - AMI (Code List: 2.16.840.1.113883.3.666.5.3011)", "end_time": 1273104000 } ] };
更多详细示例在 Rob 的 博客文章中提供。此处提供了用于 node.js 的 M 模块。
这实现了强大的 M 分层数据库和非常流行的 Javascript node.js 实现的语言特性之间的无缝集成。这种集成为数百名 node.js 开发者加入医疗 IT 领域提供了一个绝佳的机会,并按照 Tim O'Reilly 的建议去做:做有意义的事情!
M 目前正在公共部门的数百家医院中使用
- 退伍军人事务部
- 国防部
- 印第安人健康服务
以及私营部门的数百家医院
- 凯撒永久医疗集团医院系统
- 约翰·霍普金斯医院
- 贝斯以色列女执事医疗中心
- 哈佛医学院
特别是在这些 EHR 系统的部署中
- Epic
- GE/Centricity
- McKesson
- Meditech
鉴于此,以及 Javascript 的广泛流行和 node.js 的高效率,这可能是近年来医疗 IT 领域发生的*最*重大事件。
如果您是 node.js 的爱好者,或者您正在寻找下一个要学习的最佳语言,或者您想做一些对社会有益的事情,这可能就是为您准备的。
1 条评论