医疗器械 · 医疗软件工程师
医疗软件工程师Skill推荐:12个SaMD开发利器
给做 SaMD 的软件工程师:DICOM 与 HL7/FHIR 互操作、影像查看与三维重建、嵌入式实时内核、单元测试留痕。每个都是能直接进产品或进联调环境的成熟项目。
以下 12 个工具均经过真实仓库核验,复制文末仓库地址到浏览器即可访问。
01DCMTK(DICOM C++ 工具集)
怎么用:brew install dcmtk 或源码编译;用 dcmdump 看标签、storescu 与 storescp 排查收发。
为什么值得关注:DICOM 一致性声明验证的标配工具,联调时起个 storescp 接收端就能定位是哪一方不合规;实现体量小,可编进资源受限的设备软件里。
仓库:https://github.com/DCMTK/dcmtk
02dcm4che(Java DICOM 工具集)
怎么用:下载 dcm4che-tools 或 Maven 引核心库;用 storescu、dcm2json 转换,API 写自定义 SCP。
为什么值得关注:Java 技术栈下最完整的 DICOM 工具集,覆盖 DICOMweb、JPEG2000、多帧拆分等冷门场景;处理厂商私有标签和坏样本的容错能力比多数库都强。
仓库:https://github.com/dcm4che/dcm4che
03fo-dicom(.NET DICOM 库)
怎么用:dotnet add package fo-dicom;DicomFile.Open 读文件,DicomClient 发 C-STORE。
为什么值得关注:C# 侧的 DICOM 主力库,超声、内窥镜等 Windows 工作站软件用它接 PACS 最省事;支持 .NET 6 以上跨平台,老 WinForms 项目也能平滑迁移。
仓库:https://github.com/fo-dicom/fo-dicom
04Cornerstone3D(Web 渲染内核)
怎么用:npm install @cornerstonejs/core;建 RenderingEngine 挂 viewport 加载影像并测量。
为什么值得关注:Web 阅片的渲染内核,MPR、体绘制、分割叠加都是 GPU 加速;自研 SaMD 前端不用碰 WebGL 细节,测量工具与标注交互可以直接复用现成实现。
仓库:https://github.com/cornerstonejs/cornerstone3D
05highdicom(DICOM SEG 与 SR 生成)
怎么用:pip install highdicom;hd.seg 把掩膜写成合规 DICOM SEG,hd.sr 生成结构化报告。
为什么值得关注:AI 结果要进 PACS 就必须是标准 SEG 与 SR,而不是 PNG 加 JSON;这库把各 IOD 必填模块封装好,省掉逐条对照 DICOM Part 3 填标签的痛苦。
仓库:https://github.com/ImagingDataCommons/highdicom
06NiBabel(NIfTI 与神经影像 IO)
怎么用:pip install nibabel;nib.load 读 NIfTI,img.affine 取变换矩阵,常接 dcm2niix 用。
为什么值得关注:科研算法几乎都走 NIfTI 格式,做 DICOM 与 NIfTI 双向流转时靠它对齐坐标系和方向;仿射矩阵搞错会让模型精度莫名下降,用它能避开大半的坑。
仓库:https://github.com/nipy/nibabel
07VTK(三维可视化引擎)
怎么用:pip install vtk;vtkDICOMImageReader 读序列,接 vtkMarchingCubes 与体绘制管线。
为什么值得关注:手术规划、三维重建、多平面切面联动这些界面需求不用自己写渲染管线;与 ITK 组合是影像类桌面软件的经典搭配,长期维护和招人成本都低。
仓库:https://github.com/Kitware/VTK
08Microsoft FHIR Server(FHIR 服务端)
怎么用:docker run 官方 r4-fhir-server 镜像;用 REST 建 Patient、Observation 做联调。
为什么值得关注:生产级 FHIR 服务端实现,支持 R4 与 R5、SMART on FHIR 授权和批量导出;本地跑一份就能把互操作性测试提前到开发阶段,不必等医院接口开放。
仓库:https://github.com/microsoft/fhir-server
09SMART on FHIR client-js(前端接入)
怎么用:npm install fhirclient;oauth2.authorize 走 SMART 授权,client.request 拉资源。
为什么值得关注:做嵌入 EHR 的 SMART App 时省掉手写 OAuth2 与上下文启动流程;分页、引用解析、Bundle 展开等细节都封装好,几十行代码就能对上医院接口。
仓库:https://github.com/smart-on-fhir/client-js
10Mirth Connect(HL7 集成引擎)
怎么用:docker run nextgenhealthcare/connect;界面拖通道配 HL7 v2 端口并写字段映射。
为什么值得关注:院内 HL7 v2 消息路由与转换的常用引擎,ADT、ORM、ORU 报文改字段不用重新发版;用它做适配层,能把院方各种非标实现挡在自家产品之外。
仓库:https://github.com/nextgenhealthcare/connect
11Eclipse ThreadX(实时内核)
怎么用:git clone 后移植 tx_port.h,调 tx_kernel_enter 启动内核;配套 NetX、FileX 可用。
为什么值得关注:通过 IEC 62304 与 61508 预认证的实时内核,认证材料可直接引用进器械软件文档;对确定性调度有硬要求的输注泵、监护仪场景能省下大量论证工作。
仓库:https://github.com/eclipse-threadx/threadx
12GoogleTest(单元测试与打桩)
怎么用:用 CMake FetchContent 引入;写 TEST_F 用例,gMock 打桩硬件,输出 XML 验证报告。
为什么值得关注:IEC 62304 要求软件单元验证留痕,gtest 的 XML 报告可直接归档为验证记录;用 gMock 打桩传感器与通信层后,没有硬件也能跑完大部分回归。
仓库:https://github.com/google/googletest
更多工作场景相关的提示词,可以翻阅我写的两本书(黑色封面,可以去我的视频号 AI好品汇 的微信小店内查看),也欢迎交流。
我也可以为您、您的部门、您的企业提供提示词定制、打磨和陪跑服务。快速帮助企业和团队提升效率。
夜雨聆风