hexagone-swdoc について
hexagone-swdocは、Hexagone Webサービスを統合する開発者向けのドキュメント案内スキルです。GitLab Pagesの該当ページを特定し、サービスメソッドやXML DTDと文書を対応付けます。
主な機能
- 01サービス一覧とメソッド検索
- 02メソッドからサービスページへの対応
- 03XML DTDの参照インデックス
- 04関連ページの取得手順
- 05出典に基づく回答の指針
活用シーン
- 01SOAPメソッドの文書検索
- 02XML DTDの掲載ページ特定
- 03Hexagone連携エラーの調査
- 04複数サービス領域にまたがるメソッドの追跡
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ dedalus-erp-pas/ foundation-skills --skill hexagone-swdocインストール後、Claude Code で/hexagone-swdocを入力して読み込まれたか確認します。
詳細
Hexagone Web Services Documentation -- ナビゲーションスキル
このスキルを使うと、GitLab Pages で公開されている Hexagone Web Services documentation(「Référence Appels Externes」)にアクセスできます。Hexagone の Web サービスに関する質問に回答する際は、記憶している知識に頼るのではなく、関連するページを取得して読みます。
Hexagone swdoc とは
Hexagone の「Appels Externes」モジュール(EW)は、外部アプリケーションが Hexagone Web のビジネスロジックを呼び出せる SOAP 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 service」、「API」、「EWPT」、「appels externes」、「service web」、「WS」のいずれかを組み合わせた質問
サービスカタログ
すべてのページのベース URL:
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 | ID/移動情報の再生成 | 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:該当するページを特定する
上記の表を使用して、ユーザーの質問を 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 のサイトから情報を取得してください。Web サービスに関する記憶や一般知識に基づいて回答しないでください。Hexagone API には、SOAP ベースのインターフェースや XML DTD など、標準的な REST パターンに従わない独自の規約があります。
-
情報を提示する際は、出典 URL を記載してください。必ず、情報の掲載元となるページを明記してください(例:「出典:EWPT0001 -- 患者管理」)。
-
メソッドやパラメーターを作り出さないでください。取得したページに情報が見つからない場合は、その旨を明確に伝えてください。推測や外挿はしないでください。
-
ドキュメントが見つからない場合は、適切に対応してください。メソッドが文書化されていない場合は、その旨をユーザーに伝え、Hexagone の開発チームに問い合わせるか、
https://gitlab-erp-pas.dedalus.lan/erp-pas/hexagone/swdocの swdoc リポジトリで issue を作成するよう提案してください。 -
信頼できる情報源を尊重してください。ユーザーの認識とドキュメントの内容が食い違う場合は、ドキュメントを正とし、その相違点を指摘してください。
-
HPK/HL7 と相互参照してください。Web サービスが相互運用性メッセージ(HPK、HL7)に関連する場合は、その関連性に触れ、メッセージレベルの詳細には
hpk-parserまたはhl7-pam-parserスキルを使用するよう提案してください。 -
よくあるパターンを強調してください:
- すべてのメソッドで
applicationパラメーターが必要です(呼び出し元の識別情報。Hexagone Web で設定します)。 - すべてのメソッドは、
RESULT.HEXACALLW形式(コード+ステータス+説明)のresultバッファーを返します。 - コード
0は成功を示し、それ以外のコードはエラーを示します(詳細はステータスを確認してください)。 - データ交換には、ドメインごとに固有の DTD 形式を使用する XML バッファーを使います。
- アプリケーションの設定(CODEGEST、PSACC など)は、呼び出し元ごとの動作に影響します。
- すべてのメソッドで