mcpField
H
hexagone-swdoc

hexagone-swdoc

github.com/dedalus-erp-pas开发114 次安装
代码仓库

关于 hexagone-swdoc

hexagone-swdoc 是面向 Hexagone Web 服务集成开发者的文档导航技能,帮助定位 GitLab Pages 上的相关内容,并将服务方法和 XML DTD 对应到文档页面。

主要功能

  1. 01服务目录与方法索引
  2. 02方法到服务页面的映射
  3. 03XML DTD 参考索引
  4. 04获取相关文档页面的指引
  5. 05基于来源组织答复的说明

适用场景

  1. 01查找 SOAP 方法文档
  2. 02定位 XML DTD 所在页面
  3. 03排查 Hexagone 集成错误
  4. 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
EWPT0009DMP 管理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_REPRESENTATIVESEWPT0001
*_EMERGENCY*, TO_OUTPATIENT, TO_INPATIENTEWPT0002
*_OUTPATIENT*EWPT0003
*_INPATIENT*, *_MOVEMENT*, CONFIRM_PREADMIT, CREATE_PENDING_VISIT_MVTS, MOVEMENT_AT, HOSP_BABYEWPT0004
*_OCC, ACTIVE_EMERGENCIES, AVAILABLE_BEDS, IN_HOSPITALEWPT0005
PATIENT_CASES, CASE_MVTS, MVT_HIST, *_HOSP_MODE*, READ_INFORMED_CONSENT, CHG_CASE_TYPEEWPT0007
INIT_ENV, GET_*, PRODUCT_*EWPT0008
*_REJECTION, ACCESS_CODE, INFO_VITALE, READ_OTP, UPDATE_DMPINFOEWPT0009
*_PRACT*EWPT0010
*_BUILDING*, *_FLOOR*, *_BEDROOM*, *_BED*, *_LOCALIZATION*, CHACC_LOCALIZATIONEWPT0014
INTEGR_CCAMEWPT0012
REGEN_IDMVTEWPT0013
主要 DTD 格式
DTD使用方描述
RESULT.HEXACALLW所有方法标准错误/结果封装(code、status、descr、when)
PATIENT_INFO.HEXASERVEWPT0001患者人口统计数据
PATPROT.HEXASERVEWPT0001患者保护数据
LIST_PAT.HEXASERVEWPT0001患者搜索结果
CHILD_LINK.HEXASERVEWPT0001母子关联
LIST_COVERAGE.HEXASERVEWPT0001患者保障列表
LIST_KIN.HEXASERVEWPT0001患者近亲列表
LIST_ADR.HEXASERVEWPT0001患者地址
PAT_RMERGE.HEXASERVEWPT0001患者合并请求
LIST_DOCPAT.HEXASERVEWPT0001患者的非物质化文档
CASE.HEXASERVEWPT0002, EWPT0004住院病例/就诊 + 流转
CX_CASE.HEXASERVEWPT0003门诊(会诊)病例
MVT_CASE.HEXASERVEWPT0004病例中的流转数据
LIST_OCC.HEXASERVEWPT0005床位、单元等占用列表
LIST_BED.HEXASERVEWPT0005可用床位列表
LIST_CASE.HEXASERVEWPT0007患者病例列表
LIST_MVT.HEXASERVEWPT0007病例流转列表
MVT_HIST.HEXASERVEWPT0007流转历史
HOSP_MODE.HEXAGHPEWPT0007住院方式
INF_CONS.HEXASERVEWPT0007知情同意
LIST_PRACT.HEXAGHPEWPT0010执业人员列表
DMP_*.HEXASERVEWPT0009与 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:提取并呈现答案

获取页面后,从页面内容中提取相关部分:

  1. **针对具体方法:**查找 Méthode <NAME> 部分,提取参数、SOAP 接口和相关 DTD
  2. **针对 DTD 格式:**查找 DTD <NAME> 部分,提取所有字段定义
  3. **针对错误代码:**查找 Gestion des codes retour et statuts 部分
  4. **针对配置:**查找 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]

重要规则

  1. 始终从 GitLab Pages 网站获取信息——切勿凭记忆或一般网络服务知识作答。Hexagone API 有特定约定,采用基于 SOAP 且带有 XML DTD 的接口,不遵循标准 REST 模式。

  2. 提供信息时引用来源 URL:始终注明信息来自哪个页面(例如:“来源:EWPT0001 — 患者管理”)。

  3. 不要编造方法或参数——如果在获取的页面上找不到相关信息,请明确说明。不要猜测或推断。

  4. 妥善处理缺失的文档——如果某个方法没有文档说明,请告知用户,并建议他们联系 Hexagone 开发团队,或在 swdoc 仓库中提交问题:https://gitlab-erp-pas.dedalus.lan/erp-pas/hexagone/swdoc。

  5. 以权威来源为准——如果用户的认知与文档内容冲突,请以文档为准,并指出差异。

  6. 交叉参考 HPK/HL7——如果 Web 服务涉及互操作性消息(HPK、HL7),请说明相关性,并建议使用 hpk-parser 或 hl7-pam-parser 技能了解消息层面的详情。

  7. 需重点说明的常见模式:

    • 所有方法都需要 application 参数(调用方标识,在 Hexagone Web 中配置)
    • 所有方法都返回 RESULT.HEXACALLW 格式的 result 缓冲区(代码 + 状态 + 描述)
    • 代码 0 = 成功;其他代码 = 错误(查看状态以了解详情)
    • 数据交换使用 XML 缓冲区,各领域采用特定的 DTD 格式
    • 应用配置(CODEGEST、PSACC 等)会影响各调用方的行为

评论

支持 Markdown