医院从单院区走向一院多区,食堂系统的架构也要从"单点收银"升级为"集团化管控"。多院区食堂管理在技术上的核心,是构建一个统一的数据中台,把分散在多个院区的食堂、商超等业态的数据汇聚成统一口径。本文拆解两个关键设计:多院区组织树与数据中台的经营指标聚合。
所谓数据中台,是医院食堂管理系统里负责统一数据口径、支撑集团化管控的底层能力。它向上支撑数字食堂、数字进销存、数字食安、数字商业等业务系统,向下对接HIS、HRP与三方支付。

多院区组织树的建模
集团化管控的第一步,是把"院区---门店---档口"的层级关系建模成组织树,让每个经营主体都能挂到唯一的上级节点上。简化实现如下:
class OrgNode:
def __init__(self, name, level, parent=None):
self.name = name # 节点名称
self.level = level # 层级:hospital / campus / store
self.parent = parent # 上级节点
self.children = []
def add_child(self, node):
node.parent = self
self.children.append(node)
def is_descendant_of(self, ancestor):
# 判断某门店是否属于指定院区
cur = self
while cur:
if cur is ancestor:
return True
cur = cur.parent
return False
# 示例:德阳总院 -> 三个院区 -> 六个食堂
hospital = OrgNode("德阳市人民医院", "hospital")
campus_a = OrgNode("院区A", "campus", hospital)
campus_b = OrgNode("院区B", "campus", hospital)
campus_c = OrgNode("院区C", "campus", hospital)
store_1 = OrgNode("院区A一号食堂", "store", campus_a)
# 通过 is_descendant_of 判断归属,实现总部统一监管
这套组织树是餐补一码通、经营驾驶舱、权限控制的基础。总部可按院区、门店任意维度下钻,实现"一屏统管、逐级可查"。

数据中台的经营指标聚合
各院区业务系统独立运行,但经营指标要实时汇聚到总部。数据中台通过聚合层把客流、营收、成本、食安数据统一口径,简化实现如下:
def aggregate_kpi(stores, metrics=("revenue", "orders", "cost")):
"""按统一口径聚合各门店经营指标,返回集团汇总"""
total = {m: 0 for m in metrics}
for store in stores:
for m in metrics:
# 数据中台统一换算口径,避免各院区统计不一致
total[m] += store.fetch_metric(m)
return total
# 示例:三个院区六个食堂的营收汇总
result = aggregate_kpi(all_stores)
# result: {"revenue": 98000, "orders": 12500, "cost": 41000}
统一口径是集团化管控的灵魂。德阳市人民医院三个院区、六个食堂、二十多个商业业态,通过一院多区多门店架构升级后,订餐效率提升约五成、营业额提升约两成、成本节约约两成,正是数据中台把全院数据打通后的直接体现。
选型要点小结
对信息科而言,评估多院区食堂管理系统,除了业务功能,更要关注三点:组织树是否支持多层级集团化建模、数据中台是否统一经营口径、开放接口是否标准可扩展。把这三点看透,基本就能避开"上线即孤岛"的坑。
常见问题
Q:数据中台和业务系统的关系是什么?
数据中台是统一底座,向上支撑各院区的独立业务系统,向下对接HIS、HRP等,负责统一数据口径与集团化管控。
Q:多院区组织树能支持到几级?
通常支持"医院---院区---门店---档口"多级建模,层级可按需扩展,满足一院多区多业态的管控需求。
Q:各院区系统独立运行,数据会不一致吗?
不会。数据中台统一经营口径,各业务系统数据实时汇聚,总部看到的始终是统一口径的汇总数据。