エコマップ(Ecomap)

エコマップについて

「エコマップ」(ecomap)は、中心に個人または家族を置き、その周囲に外部システムのネットワーク — 拡大家族、学校、教会、クリニック、雇用主、サポートグループ — を配置した 1 枚の図です。各接続線は関係の(強い、希薄な、ストレス的)と方向(誰が与え、誰が受け取るか)を記録します。ソーシャルワーカー、スクールカウンセラー、ケースマネージャー、地域保健師は、クライアントがどこに支えを持ち、セーフティネットが薄い部分はどこかを一目で把握するためにエコマップを使用します。

Schematex は Hartman (1978) エコマップモデル に従います — この表記法を紹介したオリジナルの Social Casework 論文 — 現代の臨床ソーシャルワーク実践の慣習で拡張されています。背景については Wikipedia: Ecomap を参照してください。このページは今日のパーサーが受け付けるものを文書化しています。

ecomap·§ Hartman 1978
↘ preview
100%
Ecomap Ecomap diagram with 7 external systems Nguyen Family IRC Office Lincoln Elementary Community Clinic Ms. Patel Vietnamese Temple Sponsor Family Warehouse Job active case vaccinations weekly anchor housing host new, part-time SYSTEMS Community Cultural Education Government Health Mental Health Work TIES Strong
UTF-8 · LF · 16 lines · 737 chars✓ parsed·13.4 ms·13.0 KB SVG

1. 最初のエコマップ

最小限の実用的なエコマップ:1 つの中心と 3 つの外部システム。

ecomap·§ Hartman 1978
↘ preview
100%
Ecomap Ecomap diagram with 3 external systems Maria Mother Tech Corp Dr. Patel weekly SYSTEMS Family Mental Health Work TIES Strong
UTF-8 · LF · 8 lines · 246 chars✓ parsed·4.7 ms·8.1 KB SVG

使用法の 80% をカバーする 4 つのルール:

  1. キーワード ecomap で始めます。オプションでクォートされたタイトル。
  2. 中心を独自の行で宣言します:center: id [label: "…"]。ダイアグラムごとに中心は 1 つだけです。
  3. 各外部システムを独自の行で宣言します:id [label: "…", category: …]
  4. 宣言された任意の 2 つの ID を 接続演算子 で接続します — ===(強い)、---(普通)、<->(双方向)など。完全なテーブルはセクション 3 を参照。末尾の [label: "…"] でエッジラベルを追加します。

コメントは #//、または Mermaid スタイルの %% で始まる独立した行でなければなりません。インラインの末尾コメントはパーサーを壊します。


2. 中心と外部システム

すべてのエコマップには 1 つの中心と任意の数の外部システムがあります。両方とも同じ id [attrs] 構文を使用します。唯一の違いは center: プレフィックスです。

ID のルール。 [a-zA-Z][a-zA-Z0-9_-]* に一致する必要があります。ID は大文字小文字を区別しません。元のトークンはデフォルトラベルとして保持されます。

今日のパーサーが受け付ける属性:

属性効果
label:"…"任意のクォートされた文字列表示ラベルの上書き
category:…セクション 2.1 を参照システムノードの色 / グルーピング
size:…smallmediumlargeノードサイズ
importance:…majormoderateminor視覚的な重み
sector:…toprightbottomleftシステムが中心のどちら側に位置するかのヒント
age:N例:age:34個人タイプの中心の内部に表示される年齢
male / female / unknownフラグ個人タイプの中心の性別

2.1 システムカテゴリー

カテゴリーは外部システムをその生活領域で色分けします。パーサーは任意の文字列を受け付けます — これらはレンダラーがテーマパレットを持っている値です:

カテゴリー典型的な例
family拡大家族、義理の家族、従兄弟
friends友人、隣人
work雇用主、同僚
education学校、大学、訓練プログラム
healthかかりつけ医、専門医、病院
mental-healthセラピスト、精神科医、サポートグループ
religion教会、寺院、宗教コミュニティ
recreationスポーツ、趣味、クラブ
legal弁護士、仮釈放、裁判所
government社会サービス、住宅、移民
financial銀行、給付金、経済的支援
community地域グループ、スポンサー
cultural文化/民族組織
substanceリカバリープログラム、またはネガティブな場合は現役使用源
technologyオンラインコミュニティ、サポートフォーラム
petペット、補助動物
ecomap·§ Hartman 1978
↘ preview
100%
Ecomap Ecomap diagram with 5 external systems Marcus, age 15 Mother Father (divorced) East High School Soccer Coach Ms. Chen EOW weekends mentor weekly SYSTEMS Community Education Family Mental Health TIES Strong
UTF-8 · LF · 12 lines · 446 chars✓ parsed·0.9 ms·10.6 KB SVG

3. 接続

接続は 1 行:fromId OP toId の後にオプションで [label: "…"]。両方の ID がすでに宣言されている必要があります(中心も含む)。

3.1 関係品質演算子

演算子タイプ意味
===強い親密、支持的、高頻度
==中程度ポジティブ、中程度の関与
---普通中立 / 平均的
- -弱い希薄、脆弱、初期段階
~~~ストレス的ストレスのある関係
~=~ストレス的-強い親密かつストレス的
~x~対立的能動的な対立
-/-破綻断絶、疎遠、カットオフ

3.2 エネルギーフロー演算子

強いまたは普通の線に矢印の方向を重ねます:

演算子意味
-->一方向:エネルギーが中心からシステムへ流れる
<--一方向:エネルギーがシステムから中心へ流れる
<->相互 / 双方向
===>強い一方向流出(消耗する)
<===強い一方向流入(養う)
<=>強い相互
==>中程度の一方向流出
<==中程度の一方向流入

パーサーは方向を正規化するため、矢印は中心に対して相対的に読まれます。family === resettlement と書いても resettlement === family と書いても同じダイアグラムが生成されます。clinic --> familyfamily <-- clinic も同様に、診療所から家族へ向かう同じ矢印を生成します。

ecomap·§ Hartman 1978
↘ preview
100%
Ecomap Ecomap diagram with 4 external systems Rosa Mom Ex AA Group Warehouse daily calls custody disputes sponsor support unstable hours SYSTEMS Family Substance Work TIES Strong Moderate Weak Conflictual
UTF-8 · LF · 10 lines · 329 chars✓ parsed·9.5 ms·10.4 KB SVG

3.3 エッジラベル

末尾の [label: "…"] は接続行が受け付ける唯一の属性です。スケジュール、性質、または短いメモをここに入れます:

family === temple [label: "weekly service"]
clinic --> family [label: "vaccinations"]
caseworker <-> family [label: "every Tuesday"]

4. ラベルとコメント

  • タイトル: ecomap "Nguyen Family" — 最初の行のみ。
  • ノードラベルの上書き: family [label: "The Nguyens"]
  • エッジラベル: 接続行の末尾の [label: "…"]
  • モードサフィックス: ecomap:strengths "Smith family" は受け付けられます。サフィックスは metadata.mode として保存されます。現在のレンダラーはこれを無視します。
  • コメント: 行の先頭(先頭の空白の後)の #//、または %%。インラインの末尾コメントはサポートされていません
ecomap "Marcus Intake"
  # caseworker's notes — fine
  // also fine
  %% Mermaid-style comments are fine
  mom [category: family]   # ← THIS trailing comment breaks the parser

5. 予約語とエスケープ

行頭で予約済み: ecomapcenter:

予約演算子トークン — 行内でこれらのシーケンスを ID 内で使用しないでください: =====---- -~~~~=~~x~-/-、およびセクション 3.2 にリストされた方向バリアント。

スペースを含む文字列はダブルクォートが必要です:タイトルと任意のラベル。シングルクォートとバッククォートは認識されません。


6. よくあるミス

実際のパーサーエラー、何がトリガーするか、修正方法。

記述した内容パーサーの反応修正方法
family -- schoolUnexpected: family -- schoolエコマップは ===/---/<-> などを使用します。-- はジェノグラム/系図の演算子です
family === schoolschool が未宣言)サイレントで空の school ノードを作成(ラベル/カテゴリーなし)接続行の前にシステムを宣言してください
center: が一切ないレンダリングされるが視覚的な中心アンカーがないすべてのエコマップには正確に 1 つの center: 行が必要です
2 つの center:最初のものだけが中心として扱われ、2 番目は通常のシステムになる1 つを選んでください
family==school(スペースなし)Unexpected: family==school演算子には各側にスペースが必要です
family === school [weekly]裸のトークン weekly がプロパティフラグとして解析され、ラベルは表示されない[label: "weekly"] を使用
family === school # daily末尾の # が行の一部として消費されるコメントを上に移動してください

7. 文法(EBNF)

document       = header (blank | comment | center | system | connection)*

header         = "ecomap" ( ":" mode )? ( WS quoted-string )? NEWLINE
mode           = [A-Za-z] [A-Za-z0-9_-]*
quoted-string  = '"' any-char-but-quote* '"'

center         = "center:" WS id ( "[" attrs "]" )? NEWLINE
system         = id ( "[" attrs "]" )? NEWLINE
connection     = id WS op WS id ( WS "[" "label:" quoted-string "]" )? NEWLINE

op             = "===" | "==" | "---" | "- -" | "~~~" | "~=~" | "~x~" | "-/-"
               | "===>" | "<===" | "<=>" | "==>" | "<=="
               | "-->" | "<--" | "<->"

id             = [a-zA-Z] [a-zA-Z0-9_-]*
attrs          = attr ("," attr)*
attr           = "label" ":" quoted-string
               | "category" ":" category
               | "size" ":" ("small" | "medium" | "large")
               | "importance" ":" ("major" | "moderate" | "minor")
               | "sector" ":" ("top" | "right" | "bottom" | "left")
               | "age" ":" digits
               | "male" | "female" | "unknown"
               | key ":" value                  // custom, stored as metadata

category       = "family" | "friends" | "work" | "education" | "health"
               | "mental-health" | "religion" | "recreation" | "legal"
               | "government" | "financial" | "community" | "cultural"
               | "substance" | "technology" | "pet" | "other"

comment        = ( "#" | "//" | "%%" ) any NEWLINE

権威ある情報源:src/diagrams/ecomap/parser.ts。これがパーサーと異なる場合、パーサーが優先されます — イシューを開いてください。


8. 標準準拠

Schematex のエコマップはコア表記について Hartman (1978), Diagrammatic Assessment of Family Relationships に従います:外部システムに囲まれた境界付きの中心、品質と方向性の両方をエンコードした接続線。カテゴリーパレットと拡張された演算子セット(ストレス的-強い、相互矢印)は現代の臨床ソーシャルワークと看護研究の慣習に従います。

現在実装済みの内容:

  • ✅ 中心 + 外部システム放射状構造
  • ✅ 8 つの品質演算子(強い / 中程度 / 普通 / 弱い / ストレス的 / ストレス的-強い / 対立的 / 破綻)
  • ✅ 8 つの方向演算子(一方向と相互、3 つの強度で)
  • ✅ カテゴリー色分け(17 カテゴリー)
  • ✅ エッジラベル
  • ⏳ 中心として埋め込まれたミニジェノグラム(セクション 10 を参照)
  • ⏳ 現在の 4 つの基本方位を超えたセクターベースのレイアウトヒント

参考文献:

  • Hartman, A. (1978). Diagrammatic assessment of family relationships. Social Casework, 59(8), 465–476.
  • Ray, R.A. & Street, A.F. (2005). Ecomapping: An innovative research tool for nurses. Journal of Advanced Nursing, 50(5), 545–552.
  • Rempel, G.R., Neufeld, A., & Kushner, K.E. (2007). Interactive use of genograms and ecomaps in family caregiving research. Journal of Family Nursing, 13(4), 403–419.

9. 関連例

サンプルギャラリーからすぐに使えるシナリオ:

ecomap·§ Hartman 1978
Ecomap Ecomap diagram with 9 external systems Nguyen Family IRC Office Lincoln Elementary Adult ESL Class Community Clinic Ms. Patel Vietnamese Temple Sponsor Family Warehouse Job Cousins (CA) active case twice weekly vaccinations weekly anchor housing host new, part-time phone support SYSTEMS Community Cultural Education Family Government Health Mental Health Work TIES Strong Moderate
Refugee family resettlement
Ecomap of a refugee family's support network — IRC office, school, clinic, and sponsor family — categorized by resource type per Hartman 1978.
healthcare & social
ecomap·§ Hartman 1978
Ecomap Ecomap diagram with 6 external systems Marcus Mother Father (divorced) East High School Soccer Coach Soccer team Ms. Chen primary caregiver EOW weekends mentor weekly SYSTEMS Community Education Family Mental Health TIES Strong
Teen client intake
Quick intake ecomap for a 15-year-old showing family, school, soccer peers, and therapist — drawn in under five minutes during a counseling session.
healthcare & social
ecomap·§ Hartman 1978
Ecomap Ecomap diagram with 9 external systems James Age 28 AA Group Bill (Sponsor) Warehouse Job Mom Ex-wife Children (2) Old Friends P.O. Johnson CBT Therapist new, probationary supportive custody conflict supervised visits trying to cut off weekly SYSTEMS Family Legal Mental Health Substance Work TIES Strong Moderate Weak Stressful Broken
Substance abuse recovery
Ecomap charting a client's recovery support network — AA group, family, probation, and therapist — with relationship strength and directional connections.
healthcare & social

10. ロードマップ

計画中 — まだ解析できません。 今日の生成 DSL では使用しないでください。パーサーが拒否または静かに無視します。

  • 中心としての埋め込みミニジェノグラムcenter: ノード内でフル家族ブロックを宣言(インデントされたカップルと子供)することで、中心を単一の形状ではなく小さなジェノグラムにします。パーサーは現在、center: 下のインデントされたコンテンツをスキップされた行として読み取ります。
  • カテゴリーごとのデフォルト矢印意味論 — 例:health システム(受信)と work システム(送信)の自動方向矢印。
  • 複数の中心 — 一部のシステムを共有する 2 人のクライアントのエコマップ。
  • カスタム色の上書き — システムまたは接続の [color: "#…"]

早急にこれらが必要な場合は GitHub イシューで追跡してください。

Found this useful?

Schematex is free, fully open source, and zero-dependency. A star helps other developers discover it.