基础概念

基础概念

先理解同一业务链路中的单据 ID 关系,以及处方和收费明细如何引用 ABC 商品,再进入具体对接场景。

单据之间如何关联

同一次业务中的挂号、门诊、收费和发药单据,patientOrderId 是相同的。它不是某张单据的外键,也不保证一定存在某类单据;零售开单也可能没有门诊单,未走挂号的业务也可能没有挂号单。具体单据操作仍必须使用单据自己的 ID,接口响应或事件里的泛化字段 id 需要结合所在对象解释。下图以门诊业务主链路为例。

同一次业务链路就诊单 IDpatientOrderId
挂号单registrationSheetId
1:1
门诊单outpatientSheetId
1:N①
收费单chargeSheetId
1:N②
发药单dispensingSheetId
  1. 什么时候会有多张收费单?

    患者完成一次收费后,医生又补开处方或收费项目时,可能再生成一张收费单。多次补开、多次结算后,同一个门诊单下就可能存在多张收费单。

    如果补开时已有待收费单,新增项目通常会合并到这张待收费单中,不一定马上产生新收费单。排查收费项目归属时,可结合收费项目明细中的 chargeFormId。

  2. 什么时候会有多张发药单?

    一张收费单可能包含多个药房的药品或处方。收费后需要按药房分别发药,因此每个药房会生成一张发药单。

    例如同一张收费单同时包含本地药房和代煎药房的项目,就会生成两张发药单。ABC 内部通过 pharmacyNo 区分药房。

不要把同类字段当成同一个 ID

POST /outpatient 响应根字段 id 是 outpatientSheetId;收费事件里的 id 是 chargeSheetId;发药事件里的 id 才是 dispensingSheetId。

商品映射

第三方系统应把自身的商品编码与 ABC 的 productId、shortId 建立稳定映射,不要依赖商品名称或规格文本匹配。

字段含义来源使用说明
productIdABC 商品 ID商品列表和商品详情响应中的 id。门诊处方、治疗项目、检查检验项目和收费明细都通过它引用具体商品。
productShortId请求中的商品编码商品档案中的 shortId,提交商品时作为编码传入。与 productId 二选一;不是所有接口都同时支持编码。
shortId响应中的商品编码商品列表、商品详情响应中的业务编码。用于展示、对码和第三方侧建立长期映射。
  1. 先通过商品列表或商品详情获取 ABC 商品的主键 id 和业务编码 shortId。
  2. 在本地保存“第三方商品编码 → ABC productId / shortId”的映射,后续下单直接查表。
  3. 提交处方或收费明细时,productId 与 productShortId 二选一;如果使用商品编码,同一请求中的所有商品都必须使用编码。
  4. 不同接口支持的字段不完全一致。例如创建检查检验项只声明了 productId,进入具体接口页后以该接口参数为准。
商品编码优先规则只适用于支持两种传参方式的接口

接口同时提供 productId 和 productShortId 时,传了商品编码就以编码为准;没有声明 productShortId 的接口不能自行替换字段。

相关页面:获取商品列表 · 获取商品详情 · 创建门诊单 · 创建零售收费单 · 创建检查检验单

ABC 开放平台 · 诊所管家

如有疑问,请扫码加入企业微信群咨询。

企业微信群二维码
没有匹配结果

诊所管家