IDMP パネルスキル(医療データ管理の情報表示機能) パネルの一覧表示、詳細情報の確認、パネル検索機能の作成と検証、およびパネルのライフサイクル(利用開始から終了までの過程)をダッシュボード上の配置から独立させて管理するためのスキルです。
IDMP panel skill for listing panels, reading details, creating and validating panel queries, and separating panel lifecycle from dashboard placement.
先に../idmp-shared/SKILL.mdをお読みください。
書き込み前の注意: 🛑 破壊的操作の確認プロトコルに従ってください。読み取り専用コマンドはここでも読み取り専用のままですが、削除・書き込み・修正の操作フローは共有の確認ゲートが必要です。
| ショートカット | 目的 |
|---|---|
+list |
1つの要素配下のパネルを一覧表示 |
+search |
パネルをグローバルに検索 |
+templates |
1つの要素で利用可能なパネルテンプレートを一覧表示 |
| コンテキスト | 作成または検証前に解決が必須な理由 |
|---|---|
| 所有要素 | リスト表示・取得・名前付け・作成およびすべての検証呼び出しに、最終的なelementIdが必要 |
| パネル候補名 | panel.panels.new-nameはelementIdと提案されるnameの両方が必要 |
| 検証モード | このパネルがSQL(データベース言語)を生成すべきか、また通常のqueryとsqlsチェックが必要か、より高度な検証が必要かを決定 |
| ダッシュボード配置先 | パネルをスタンドアロンのままにするか、ワークフロー完了前にダッシュボードに挿入する必要があるかを決定 |
| 更新対象の所有者 | 更新がパネル部分と、ダッシュボード部分のどちらに属するかを決定し、refreshIntervalが正しいparamsブロックに入るようにする |
POST /api/v1/ai/panels/createを優先し、返されたドラフトをpanel.panels.createで保存。構造化パネルDTOワークフロー(データ転送形式)は、ドラフトが不適切または保存が失敗した場合のみ代替手段として使用。panel.panels.new-nameは候補nameが必要。所有要素スコープだけでは呼び出さない。queryはこれらのパネルタイプには適用不可。panel verify createはfromとtoを含む時間範囲ペイロードのみ検証。--paramsではなく--dataを使用し、elementIdを送信しない。panel.panels.queryとpanel.panels.createはパネルDTO形式を使用。panel.panels.sqlsは同じDTOと所有要素の--paramsを一緒に使用。panel verify create-postは高度なクエリペイロード専用。uuid、advancedQueryType、querySqlsおよび高度なクエリフィールドを単一DTOの内部に保持。refreshIntervalは任意のトップレベルフィールドではなく、更新動作を所有するオブジェクトのparamsに属する。panel panels getで保存オブジェクトを所有要素・名前・パラメータと共に再読み込みして初めて完了。panel.panels.queryまたはpanel.panels.sqlsを通じて成功して初めて完了。enableAdvanced=trueが表示され、高度なDTOが引き続き検証される場合に完了。子スコープワークフローの場合、ノーコードペイロードが縮約されても検証済みSQLが正しければ、この高度な代替案は初回試行の成功としてカウント。listを読み取り、その後getを読み取る。nameを使って作成前にnew-nameを実行。queryとsqlsを実行。verifyは完全なパネルDTOではなく、単一の高度なクエリDTOのみに使用。advancedQueriesが存在する場合、checkedブール値とdimensionsを文字列の配列として保持。refreshIntervalは任意のトップレベルフィールドではなく、更新動作を所有するオブジェクトのparamsに属する。idmp-cli schema panel.panels.list
idmp-cli panel panels list --params '{"elementId":123}'
idmp-cli schema panel.panels.get
idmp-cli panel panels get --params '{"elementId":123,"panelId":456}'
idmp-cli schema panel.verify.create
idmp-cli panel verify create --ack-risk --data '{"from":"now-12h","to":"now"}'
idmp-cli schema panel.verify.create-post
idmp-cli panel panels new-name --params '{"elementId":123,"name":"demo-panel"}'
idmp-cli panel panels create --dry-run --ack-risk --params '{"elementId":123}' --data '{...}'
# 現在生成されているスキーマでは、`panel.panels.query`は読み取り専用で`--ack-risk`はオプション。
# 一方、`panel.panels.sqls`、`panel.verify.create`、`panel.verify.create-post`は書き込みリスク
# コマンドとして生成されており、`--ack-risk`を保持する必要があります。
idmp-cli panel panels query --ack-risk --params '{"elementId":123}' --data '{...}'
idmp-cli panel panels sqls --ack-risk --params '{"elementId":123}' --data '{...}'
idmp-cli panel verify create-post --ack-risk --params '{"elementId":123}' --data '{...}'
idmp-cli panel panel-templates list --params '{"elementId":123}'
refreshIntervalがparams外に設定されている場合、ペイロードを不完全として扱い、リトライ前に修正。queryをスキップし、そのパネルタイプではSQL検証は適用不可。panel verify createが失敗する場合、fromとtoを含む時間範囲ペイロードのみ送信(高度なクエリ検証ツールではない)。panel verify create-postがuuidまたはadvancedQueryType不足で失敗する場合、通常のパネルDTOではなく高度なクエリDTOを渡している。schema出力とペイロードを比較。panel.panels.sqlsで既に検証済みの場合、無関連な自スコープDTOから再開せず、高度な代替案を保存。idmp-cli schema panel.panels.listとidmp-cli panel panels list --params '{"elementId":123}'でパネルリストを読み取る。idmp-cli panel panels new-name --params '{"elementId":123,"name":"demo-panel"}'で作成に安全な名前を確保。idmp-cli panel panels create --dry-run --ack-risk --params '{"elementId":123}' --data '{...}'でパネル作成をプレビュー。idmp-cli panel panels query --ack-risk --params '{"elementId":123}' --data '{...}'とidmp-cli panel panels sqls --ack-risk --params '{"elementId":123}' --data '{...}'を使用。時間範囲検証はidmp-cli panel verify create --ack-risk --data '{"from":"now-12h","to":"now"}'のみ。uuidとadvancedQueryTypeなどのフィールドを含む高度なクエリDTOはidmp-cli panel verify create-post --ack-risk --params '{"elementId":123}' --data '{...}'のみを使用。子スコープのノーコード分岐が縮約された場合、高度な代替案に切り替え、その成功パスとして保持。idmp-cli panel panel-templates list --params '{"elementId":123}'とidmp-cli dashboard dashboards get --params '{"elementId":123,"dashboardId":789}'でテンプレート再利用または別途ダッシュボード作業を確認。Read ../idmp-shared/SKILL.md first.
Before any write: Follow the 🛑 Destructive op confirmation protocol. Read-only commands stay read-only here, but delete / write / patch flows still require the shared yes-gate.
| Shortcut | Purpose |
|---|---|
+list |
List panels under one element. |
+search |
Search panels globally. |
+templates |
List panel templates available to one element. |
| Context | Why it must be resolved before create or verify |
|---|---|
| Owner element | You need the final elementId for list, get, naming, create, and every verification call. |
| Candidate panel name | panel.panels.new-name requires both elementId and a proposed name. |
| Verification mode | Decide whether this panel should generate SQL at all, and whether you need plain query and sqls checks or advanced-query verification. |
| Dashboard placement target | Decide whether the panel remains standalone or must be inserted into a dashboard before the workflow counts as complete. |
| Refresh owner | Decide whether refresh belongs on the panel shell or the dashboard shell so refreshInterval lands in the right params block. |
POST /api/v1/ai/panels/create for natural-language panel requests, then persist the returned draft through panel.panels.create. Use the structured panel DTO workflow only as fallback when the draft is unsuitable or persistence fails.panel.panels.new-name requires a candidate name; do not call it with only the owner scope.generated SQL is empty, so query is inapplicable for those panel types.panel verify create validates only the time-range payload with from and to; use plain --data, not --params, and do not send elementId.panel.panels.query and panel.panels.create use the panel DTO shape. panel.panels.sqls uses the same DTO together with owner --params.panel verify create-post is only for advanced-query payloads. Keep uuid, advancedQueryType, querySqls, and the advanced query fields inside that single DTO.400, capture the working SQL and switch to the advanced fallback instead of treating the first attempt as a total panel failure.refreshInterval belongs in params on the object that owns refresh behavior, not in an arbitrary top-level field.panel panels get rereads the persisted object with the intended owner, name, and params.panel.panels.query or panel.panels.sqls.enableAdvanced=true and the advanced DTO still validates. For child-scope workflows, this advanced fallback still counts as first-attempt success when the no-code payload collapsed but the verified SQL stayed correct.list first, then get, before changing a panel.new-name with a candidate name before creating a panel.query and sqls only for panels that should generate SQL, and use verify only for the single advanced-query DTO rather than the full panel DTO.advancedQueries is present, keep checked boolean and dimensions as an array of strings.refreshInterval belongs in params on the object that owns refresh behavior, not in an arbitrary top-level field.idmp-cli schema panel.panels.list
idmp-cli panel panels list --params '{"elementId":123}'
idmp-cli schema panel.panels.get
idmp-cli panel panels get --params '{"elementId":123,"panelId":456}'
idmp-cli schema panel.verify.create
idmp-cli panel verify create --ack-risk --data '{"from":"now-12h","to":"now"}'
idmp-cli schema panel.verify.create-post
idmp-cli panel panels new-name --params '{"elementId":123,"name":"demo-panel"}'
idmp-cli panel panels create --dry-run --ack-risk --params '{"elementId":123}' --data '{...}'
# In the current generated schema, `panel.panels.query` is readonly and `--ack-risk` is optional,
# but `panel.panels.sqls`, `panel.verify.create`, and `panel.verify.create-post` are still generated
# as write-risk commands and must keep `--ack-risk`.
idmp-cli panel panels query --ack-risk --params '{"elementId":123}' --data '{...}'
idmp-cli panel panels sqls --ack-risk --params '{"elementId":123}' --data '{...}'
idmp-cli panel verify create-post --ack-risk --params '{"elementId":123}' --data '{...}'
idmp-cli panel panel-templates list --params '{"elementId":123}'
refreshInterval is set outside params, treat the payload as incomplete and fix it before retrying.query and treat SQL-based validation as inapplicable for that panel type.panel verify create fails, send only the time-range payload with from and to; it is not the advanced-query validator.panel verify create-post fails with missing uuid or advancedQueryType, you passed a plain panel DTO instead of an advanced-query DTO.schema output against your payload before changing the SQL itself.panel.panels.sqls already proved the intended grouped SQL, persist the advanced fallback instead of restarting from an unrelated self-scope DTO.idmp-cli schema panel.panels.list and idmp-cli panel panels list --params '{"elementId":123}'.idmp-cli panel panels new-name --params '{"elementId":123,"name":"demo-panel"}'.idmp-cli panel panels create --dry-run --ack-risk --params '{"elementId":123}' --data '{...}'.idmp-cli panel panels query --ack-risk --params '{"elementId":123}' --data '{...}' and idmp-cli panel panels sqls --ack-risk --params '{"elementId":123}' --data '{...}' for query-backed panels, use idmp-cli panel verify create --ack-risk --data '{"from":"now-12h","to":"now"}' only for time-range validation, and use idmp-cli panel verify create-post --ack-risk --params '{"elementId":123}' --data '{...}' only for advanced-query DTOs that include fields such as uuid and advancedQueryType. If the child-scope no-code branch collapses, switch to the advanced fallback and keep that as the success path.idmp-cli panel panel-templates list --params '{"elementId":123}' and idmp-cli dashboard dashboards get --params '{"elementId":123,"dashboardId":789}'.原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。