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. 01SOAPメソッドの文書検索
  2. 02XML DTDの掲載ページ特定
  3. 03Hexagone連携エラーの調査
  4. 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
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
EWPT0013ID/移動情報の再生成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_*.HEXASERVEWPT0009DMP 関連の 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:回答を抽出して提示する

取得後、ページの内容から該当するセクションを抽出します。

  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 のサイトから情報を取得してください。Web サービスに関する記憶や一般知識に基づいて回答しないでください。Hexagone API には、SOAP ベースのインターフェースや XML DTD など、標準的な REST パターンに従わない独自の規約があります。

  2. 情報を提示する際は、出典 URL を記載してください。必ず、情報の掲載元となるページを明記してください(例:「出典:EWPT0001 -- 患者管理」)。

  3. メソッドやパラメーターを作り出さないでください。取得したページに情報が見つからない場合は、その旨を明確に伝えてください。推測や外挿はしないでください。

  4. ドキュメントが見つからない場合は、適切に対応してください。メソッドが文書化されていない場合は、その旨をユーザーに伝え、Hexagone の開発チームに問い合わせるか、https://gitlab-erp-pas.dedalus.lan/erp-pas/hexagone/swdoc の swdoc リポジトリで issue を作成するよう提案してください。

  5. 信頼できる情報源を尊重してください。ユーザーの認識とドキュメントの内容が食い違う場合は、ドキュメントを正とし、その相違点を指摘してください。

  6. HPK/HL7 と相互参照してください。Web サービスが相互運用性メッセージ(HPK、HL7)に関連する場合は、その関連性に触れ、メッセージレベルの詳細には hpk-parser または hl7-pam-parser スキルを使用するよう提案してください。

  7. よくあるパターンを強調してください:

    • すべてのメソッドで application パラメーターが必要です(呼び出し元の識別情報。Hexagone Web で設定します)。
    • すべてのメソッドは、RESULT.HEXACALLW 形式(コード+ステータス+説明)の result バッファーを返します。
    • コード 0 は成功を示し、それ以外のコードはエラーを示します(詳細はステータスを確認してください)。
    • データ交換には、ドメインごとに固有の DTD 形式を使用する XML バッファーを使います。
    • アプリケーションの設定(CODEGEST、PSACC など)は、呼び出し元ごとの動作に影響します。

コメント