关于 hexagone-swdoc
hexagone-swdoc 是面向 Hexagone Web 服务集成开发者的文档导航技能,帮助定位 GitLab Pages 上的相关内容,并将服务方法和 XML DTD 对应到文档页面。
主要功能
- 01服务目录与方法索引
- 02方法到服务页面的映射
- 03XML DTD 参考索引
- 04获取相关文档页面的指引
- 05基于来源组织答复的说明
适用场景
- 01查找 SOAP 方法文档
- 02定位 XML DTD 所在页面
- 03排查 Hexagone 集成错误
- 04跨服务领域追踪方法
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ dedalus-erp-pas/ foundation-skills --skill hexagone-swdoc安装后在 Claude Code 中输入/hexagone-swdoc确认已加载。
详细介绍
Hexagone Web Services 文档 — 导航技能
此技能可让你访问以 GitLab Pages 发布的 Hexagone Web Services 文档(“Référence Appels Externes”)。回答 Hexagone Web Services 相关问题时,你的职责是获取并阅读相关页面,而不是依赖记忆中的知识。
什么是 Hexagone swdoc
Hexagone 的“Appels Externes”模块(EW)提供 SOAP Web 服务,允许外部应用程序调用 Hexagone Web 业务逻辑。文档按服务模块(EWPT0001、EWPT0002 等)组织,每个模块都包含特定医疗领域的方法。
文档发布于:
https://erp-pas.gitlab-pages-erp-pas.dedalus.lan/hexagone/swdoc/
使用此技能的场景:
- 用户询问 Hexagone Web 服务、SOAP 方法或 EWPT 服务
- 用户需要了解如何调用某个 Hexagone API 方法
- 用户正在与 Hexagone 集成,需要了解服务契约(参数、DTD)
- 用户询问 XML DTD 格式(CASE.HEXASERV、PATIENT_INFO.HEXASERV 等)
- 用户想知道某个领域(患者、转运、急诊等)有哪些可用方法
- 用户正在排查集成问题(错误代码、状态、配置)
- 用户询问 Hexagone API 错误代码或错误处理(RESULT.HEXACALLW)
- 任何提及“Hexagone”并同时涉及“Web 服务”“API”“EWPT”“appels externes”“service web”或“WS”的问题
服务目录
所有页面的基址为:
BASE_URL = https://erp-pas.gitlab-pages-erp-pas.dedalus.lan/hexagone/swdoc/
完整服务索引
| 服务 | 领域 | URL 路径 | 关键方法 |
|---|---|---|---|
| 介绍 | 通用(身份验证、错误、数据交换) | 00-introduction/ | — |
| EWPT0001 | 患者管理 | 01-ewpt0001-gestion-des-patients/ | READ_PATIENT, FIND_PATIENT, NEW_PATIENT, UPDATE_PATIENT, READ_COVERAGES, READ_KINS, READ_DOCTOR, READ_CHILDLINK, CREATE_CHILDLINK, UPDATE_CHILDLINK, DELETE_CHILDLINK, SET_NEWBORN_STATE, ASSIGN_PROT_PATIENT, UPDATE_PROT_PATIENT, READ_PROT_PATIENT, PATIENT_DEBT, READ_PATIENT_ADDR, NEW_PATIENT_ADDR, UPDATE_PATIENT_ADDR, DELETE_PATIENT_ADDR, LEGAL_REPRESENTATIVES, REQUEST_PATIENT_MERGE, REQUEST_PATIENT_MERGE2, READ_PATIENT_DEMAT |
| EWPT0002 | 急诊管理 | 02-ewpt0002-gestion-des-urgences/ | READ_EMERGENCY, NEW_EMERGENCY, UPDATE_EMERGENCY, ENDOF_EMERGENCY, CANCEL_ENDOF_EMERGENCY, TO_OUTPATIENT, TO_INPATIENT, DELETE_EMERGENCY |
| EWPT0003 | 门诊管理 | 03-ewpt0003-gestion-des-consultations-externes/ | NEW_OUTPATIENT, READ_OUTPATIENT, UPDATE_OUTPATIENT, DELETE_OUTPATIENT |
| EWPT0004 | 住院档案 | 04-ewpt0004-gestion-des-dossiers-d-hospitalisation/ | READ_INPATIENT, NEW_INPATIENT, UPDATE_INPATIENT, DELETE_INPATIENT, CONFIRM_PREADMIT, READ_MOVEMENT, NEW_MOVEMENT, UPDATE_MOVEMENT, DELETE_MOVEMENT, CREATE_PENDING_VISIT_MVTS, MOVEMENT_AT, HOSP_BABY |
| EWPT0005 | 占用情况查询 | 05-ewpt0005-lecture-des-occupations/ | ACTIVE_EMERGENCIES, HOUSING_UF_OCC, UF_OCC, RESPCENTER_OCC, SERVICE_OCC, POLE_OCC, LOCALIZATION_OCC, AVAILABLE_BEDS, IN_HOSPITAL |
| EWPT0007 | 住院管理 | 07-ewpt0007-gestion-des-sejours/ | PATIENT_CASES, CASE_MVTS, MVT_HIST, HOSP_MODE_AT, NEW_HOSP_MODE, UPDATE_HOSP_MODE, DELETE_HOSP_MODE, READ_INFORMED_CONSENT, CHG_CASE_TYPE |
| EWPT0008 | 产品 | 08-ewpt0008-produits/ | INIT_ENV, GET_GEST, GET_FAMILY, GET_UNIT, GET_TAXE, GET_ACCOUNT_NUMBER, GET_UFMAINSTORE, GET_CMP, GET_GROUPING, PRODUCT_VERIFICATION, GET_PRODUCT_NUMBER, PRODUCT_CREATION |
| EWPT0009 | DMP 管理 | 09-ewpt0009-gestion-du-dmp/ | NEW_REJECTION, UPDATE_REJECTION, ACCESS_CODE, INFO_VITALE, READ_OTP, UPDATE_DMPINFO |
| EWPT0010 | 从业人员管理 | 10-ewpt0010-gestion-des-praticiens/ | FIND_PRACT, NEW_PRACT, UPDATE_PRACT |
| EWPT0014 | 物理结构 | 14-ewpt0014-gestion-des-structures/ | CHACC_LOCALIZATION, FIND/READ/NEW/UPDATE/DELETE_BUILDING, FIND/READ/NEW/UPDATE/DELETE_FLOOR, FIND/READ/NEW/UPDATE/DELETE_BEDROOM, FIND/READ/NEW/UPDATE/DELETE_BED, FIND/READ/NEW/UPDATE/DELETE_LOCALIZATION |
| EWPT0012 | 医疗行为集成 | 12-ewpt0012-integration-d-actes/ | INTEGR_CCAM |
| EWPT0013 | 身份/移动记录重新生成 | 13-ewpt0013-re-generation-identites-mouvements/ | REGEN_IDMVT |
方法到服务的快速查找
用户提到方法名称时,可使用此表快速查找要获取的页面:
| 方法模式 | 服务页面 |
|---|---|
*_PATIENT*, *_CHILDLINK*, *_KIN*, *_COVERAGE*, *_DOCTOR*, PATIENT_DEBT, *_PROT_*, *_PATIENT_ADDR*, *_PATIENT_MERGE*, *_PATIENT_DEMAT*, LEGAL_REPRESENTATIVES | EWPT0001 |
*_EMERGENCY*, TO_OUTPATIENT, TO_INPATIENT | EWPT0002 |
*_OUTPATIENT* | EWPT0003 |
*_INPATIENT*, *_MOVEMENT*, CONFIRM_PREADMIT, CREATE_PENDING_VISIT_MVTS, MOVEMENT_AT, HOSP_BABY | EWPT0004 |
*_OCC, ACTIVE_EMERGENCIES, AVAILABLE_BEDS, IN_HOSPITAL | EWPT0005 |
PATIENT_CASES, CASE_MVTS, MVT_HIST, *_HOSP_MODE*, READ_INFORMED_CONSENT, CHG_CASE_TYPE | EWPT0007 |
INIT_ENV, GET_*, PRODUCT_* | EWPT0008 |
*_REJECTION, ACCESS_CODE, INFO_VITALE, READ_OTP, UPDATE_DMPINFO | EWPT0009 |
*_PRACT* | EWPT0010 |
*_BUILDING*, *_FLOOR*, *_BEDROOM*, *_BED*, *_LOCALIZATION*, CHACC_LOCALIZATION | EWPT0014 |
INTEGR_CCAM | EWPT0012 |
REGEN_IDMVT | EWPT0013 |
主要 DTD 格式
| DTD | 使用方 | 描述 |
|---|---|---|
| RESULT.HEXACALLW | 所有方法 | 标准错误/结果封装(code、status、descr、when) |
| PATIENT_INFO.HEXASERV | EWPT0001 | 患者人口统计数据 |
| PATPROT.HEXASERV | EWPT0001 | 患者保护数据 |
| LIST_PAT.HEXASERV | EWPT0001 | 患者搜索结果 |
| CHILD_LINK.HEXASERV | EWPT0001 | 母子关联 |
| LIST_COVERAGE.HEXASERV | EWPT0001 | 患者保障列表 |
| LIST_KIN.HEXASERV | EWPT0001 | 患者近亲列表 |
| LIST_ADR.HEXASERV | EWPT0001 | 患者地址 |
| PAT_RMERGE.HEXASERV | EWPT0001 | 患者合并请求 |
| LIST_DOCPAT.HEXASERV | EWPT0001 | 患者的非物质化文档 |
| CASE.HEXASERV | EWPT0002, EWPT0004 | 住院病例/就诊 + 流转 |
| CX_CASE.HEXASERV | EWPT0003 | 门诊(会诊)病例 |
| MVT_CASE.HEXASERV | EWPT0004 | 病例中的流转数据 |
| LIST_OCC.HEXASERV | EWPT0005 | 床位、单元等占用列表 |
| LIST_BED.HEXASERV | EWPT0005 | 可用床位列表 |
| LIST_CASE.HEXASERV | EWPT0007 | 患者病例列表 |
| LIST_MVT.HEXASERV | EWPT0007 | 病例流转列表 |
| MVT_HIST.HEXASERV | EWPT0007 | 流转历史 |
| HOSP_MODE.HEXAGHP | EWPT0007 | 住院方式 |
| INF_CONS.HEXASERV | EWPT0007 | 知情同意 |
| LIST_PRACT.HEXAGHP | EWPT0010 | 执业人员列表 |
| DMP_*.HEXASERV | EWPT0009 | 与 DMP 相关的 DTD |
如何回答问题
步骤 1:确定相关页面
使用上表将用户的问题映射到一个或多个服务页面:
- 具体方法名称(例如,“READ_PATIENT”)→ 使用方法到服务的查找表
- 领域关键词(例如,“患者”、“急诊”、“住院”)→ 与服务目录匹配
- DTD 名称(例如,“CASE.HEXASERV”)→ 使用 DTD 表查找服务页面
- 错误处理/通用架构 → 获取 Introduction 页面
- 常规的“列出所有服务” → 使用上方目录,无需获取页面
步骤 2:获取页面
使用 WebFetch 工具获取相关页面:
WebFetch: url="${BASE_URL}<page-path>" format="markdown"
例如:
- Introduction:
WebFetch: url="https://erp-pas.gitlab-pages-erp-pas.dedalus.lan/hexagone/swdoc/00-introduction/" format="markdown" - 患者管理:
WebFetch: url="https://erp-pas.gitlab-pages-erp-pas.dedalus.lan/hexagone/swdoc/01-ewpt0001-gestion-des-patients/" format="markdown"
**只获取所需页面。**不要一次获取所有页面——每个服务页面都可能很长。
如果 WebFetch 失败(网络错误、超时),请告知用户 GitLab Pages 网站无法访问,并建议他们直接在浏览器中访问。
步骤 3:提取并呈现答案
获取页面后,从页面内容中提取相关部分:
- **针对具体方法:**查找
Méthode <NAME>部分,提取参数、SOAP 接口和相关 DTD - **针对 DTD 格式:**查找
DTD <NAME>部分,提取所有字段定义 - **针对错误代码:**查找
Gestion des codes retour et statuts部分 - **针对配置:**查找
Configuration de l'application部分
清晰地呈现信息。保留文档中的原始结构(参数表、DTD 字段列表、错误代码表)。
步骤 4:必要时交叉参考
如果用户的问题涉及多个服务(例如,“如何创建急诊病例,然后将其转为住院病例?”),请获取多个页面,并整理出连贯的答案,展示跨服务的工作流。
回复指南
呈现 Web 服务文档时,保留所获取页面的原始结构。Hexagone Web 服务遵循一致的模式:
## Méthode <METHOD_NAME>
**Service:** EWPT000X – <Domain>
**Source:** [page URL]
### Description
[What the method does]
### Parameters
| Type | Name | Direction | Required | Description |
|------|------|-----------|----------|-------------|
| string | application | IN | Yes | Caller application ID |
| ... | ... | ... | ... | ... |
### SOAP Interface
[Request/Response message structure]
### Related DTD
[XML format used for data exchange]
### Error Codes
[Specific error codes for this method, if any]
### Configuration
[Required application configuration, if any]
重要规则
-
始终从 GitLab Pages 网站获取信息——切勿凭记忆或一般网络服务知识作答。Hexagone API 有特定约定,采用基于 SOAP 且带有 XML DTD 的接口,不遵循标准 REST 模式。
-
提供信息时引用来源 URL:始终注明信息来自哪个页面(例如:“来源:EWPT0001 — 患者管理”)。
-
不要编造方法或参数——如果在获取的页面上找不到相关信息,请明确说明。不要猜测或推断。
-
妥善处理缺失的文档——如果某个方法没有文档说明,请告知用户,并建议他们联系 Hexagone 开发团队,或在 swdoc 仓库中提交问题:
https://gitlab-erp-pas.dedalus.lan/erp-pas/hexagone/swdoc。 -
以权威来源为准——如果用户的认知与文档内容冲突,请以文档为准,并指出差异。
-
交叉参考 HPK/HL7——如果 Web 服务涉及互操作性消息(HPK、HL7),请说明相关性,并建议使用
hpk-parser或hl7-pam-parser技能了解消息层面的详情。 -
需重点说明的常见模式:
- 所有方法都需要
application参数(调用方标识,在 Hexagone Web 中配置) - 所有方法都返回
RESULT.HEXACALLW格式的result缓冲区(代码 + 状态 + 描述) - 代码
0= 成功;其他代码 = 错误(查看状态以了解详情) - 数据交换使用 XML 缓冲区,各领域采用特定的 DTD 格式
- 应用配置(CODEGEST、PSACC 等)会影响各调用方的行为
- 所有方法都需要