新規クライアントの初回面接時に、7本柱に沿った情報収集をガイドし、聞き漏らしを防止しながらNeo4jに構造化登録するスキル。「新規登録」「新しい利用者」「インテーク」「初回面接」「クライアントを追加」「初回アセスメント」などの発言時に必ずこのスキルを使用すること。面談メモやナラティブからの一括抽出にも対応する。
新規クライアントの登録で最も危険なのは「聞き漏らし」です。禁忌事項(NgAction)を聞き逃したまま支援が始まれば、二次被害につながります。キーパーソンの登録を忘れれば、緊急時に連絡先がわからない事態になります。
このスキルは、マニフェスト7本柱に沿って何を聞くべきかを体系的にガイドし、聞き取った内容を構造化してNeo4jに登録します。全てを初回で揃える必要はなく、優先度に沿って段階的に情報を蓄積していきます。
| ツール | 用途 |
|---|---|
neo4j:read_neo4j_cypher | 既存登録の重複確認 |
neo4j:write_neo4j_cypher |
| クライアント情報の登録 |
まず、同名または類似名のクライアントが既に登録されていないか確認する。
MATCH (c:Client)
WHERE c.name CONTAINS $nameFragment
RETURN c.name AS 氏名, c.dob AS 生年月日
名前の類似(漢字違い、ひらがな/カタカナ、旧姓等)にも注意する。該当がなければ次へ進む。
7本柱に沿って、優先度順に情報を収集する。ユーザーから面談メモやナラティブをまとめて受け取った場合は narrative-extractor スキルの抽出ルールに従って一括処理する。対話的に聞き取る場合は以下の順序でガイドする。
第1の柱: 本人性 (Identity & Narrative)
聞き取り項目:
第2の柱: ケアの暗黙知 (Care Instructions) — 安全に直結
聞き取り項目:
聞き方のコツ: 「〇〇するとどうなりますか?」「してはいけないことはありますか?」と具体的に聞く。親の語りから暗黙知を引き出すことが重要。
第3の柱: 危機管理ネットワーク (Safety Net)
聞き取り項目:
第4の柱: 法的基盤 (Legal Basis)
第5の柱: 親の機能移行 (Parental Transition)
resilience-checker スキルと連携第6の柱: 金銭的安全 (Financial Safety)
第7の柱: 多機関連携 (Multi-Agency Collaboration)
収集した情報をNeo4jに登録する。登録前に必ず内容をユーザーに確認すること。
MERGE (c:Client {name: $name})
SET c.dob = date($dob),
c.bloodType = $bloodType
RETURN c.name AS 氏名
MATCH (c:Client {name: $clientName})
MERGE (ng:NgAction {action: $action})
SET ng.reason = $reason,
ng.riskLevel = $riskLevel
MERGE (c)-[:MUST_AVOID]->(ng)
RETURN ng.action AS 禁忌事項, ng.riskLevel AS リスクレベル
MATCH (c:Client {name: $clientName})
MERGE (cp:CarePreference {category: $category, instruction: $instruction})
SET cp.priority = $priority
MERGE (c)-[:REQUIRES]->(cp)
RETURN cp.category AS カテゴリ
MATCH (c:Client {name: $clientName})
MERGE (con:Condition {name: $conditionName})
SET con.status = COALESCE($status, 'Active')
MERGE (c)-[:HAS_CONDITION]->(con)
RETURN con.name AS 特性
MATCH (c:Client {name: $clientName})
MERGE (kp:KeyPerson {name: $kpName})
SET kp.phone = $phone,
kp.relationship = $relationship,
kp.role = $role
MERGE (c)-[:HAS_KEY_PERSON {rank: $rank}]->(kp)
RETURN kp.name AS キーパーソン
MATCH (c:Client {name: $clientName})
MERGE (h:Hospital {name: $hospitalName})
SET h.specialty = $specialty,
h.phone = $phone,
h.doctor = $doctor
MERGE (c)-[:TREATED_AT]->(h)
RETURN h.name AS 医療機関
MATCH (c:Client {name: $clientName})
MERGE (cert:Certificate {type: $certType, grade: $grade})
SET cert.nextRenewalDate = date($nextRenewalDate),
cert.issueDate = date($issueDate)
MERGE (c)-[:HAS_CERTIFICATE]->(cert)
RETURN cert.type AS 種類, cert.grade AS 等級
MATCH (c:Client {name: $clientName})
MERGE (g:Guardian {name: $guardianName})
SET g.type = $guardianType,
g.phone = $phone,
g.organization = $organization
MERGE (c)-[:HAS_LEGAL_REP]->(g)
RETURN g.name AS 後見人
CREATE (al:AuditLog {
timestamp: datetime(),
user: $user,
action: 'CREATE',
targetType: $targetType,
targetName: $targetName,
details: $details,
clientName: $clientName
})
RETURN al.timestamp AS 記録日時
登録後にプロフィールを取得し、不足情報を明示する。
MATCH (c:Client {name: $clientName})
OPTIONAL MATCH (c)-[:MUST_AVOID]->(ng:NgAction)
OPTIONAL MATCH (c)-[:REQUIRES]->(cp:CarePreference)
OPTIONAL MATCH (c)-[kpRel:HAS_KEY_PERSON]->(kp:KeyPerson)
OPTIONAL MATCH (c)-[:TREATED_AT]->(hosp:Hospital)
OPTIONAL MATCH (c)-[:HAS_CERTIFICATE]->(cert:Certificate)
OPTIONAL MATCH (c)-[:HAS_LEGAL_REP]->(g:Guardian)
OPTIONAL MATCH (c)<-[:IS_PARENT_OF|FAMILY_OF]-(r:Relative)
RETURN
c.name AS 氏名,
c.dob AS 生年月日,
count(DISTINCT ng) AS 禁忌登録数,
count(DISTINCT cp) AS 配慮事項数,
count(DISTINCT kp) AS キーパーソン数,
count(DISTINCT hosp) AS 医療機関数,
count(DISTINCT cert) AS 手帳数,
count(DISTINCT g) AS 後見人数,
count(DISTINCT r) AS 家族情報数
## 登録完了チェックリスト: [クライアント名]
### 必須項目(初回)
- [x/空] 氏名・生年月日
- [x/空] 禁忌事項(NgAction)が1件以上
- [x/空] キーパーソンが1名以上(rank 1)
- [x/空] かかりつけ医
### 推奨項目(初回〜2回目)
- [x/空] 手帳・受給者証の種類と更新日
- [x/空] 成年後見人等の情報
- [x/空] 主たる介護者(親)の情報
### 次回確認すべき項目
- [不足している項目のリスト]
ユーザーが面談メモや親の語りをまとめて提供した場合は、narrative-extractor スキルの抽出ルールに従ってJSON形式でデータを抽出し、確認後に一括登録する。
抽出時の最重要ルール:
| スキル | 連携タイミング |
|---|---|
narrative-extractor | 面談メモからの一括抽出 |
resilience-checker | 第5の柱(CareRole)の登録後にカバー率診断 |
ecomap-generator | 登録完了後にエコマップ自動生成 |
neo4j-support-db | Cypherテンプレートの参照・プロフィール確認 |