Ecomap

À propos des ecomaps

Un ecomap est une page unique qui montre une personne ou une famille au centre et le réseau de systèmes extérieurs — famille élargie, école, église, clinique, employeur, groupes de soutien — disposés autour d'eux. Chaque ligne de connexion enregistre la qualité (forte, tenue, stressante) et la direction (qui donne, qui reçoit) de la relation. Les travailleurs sociaux, les conseillers scolaires, les gestionnaires de cas et les infirmières de santé communautaire utilisent les ecomaps pour voir d'un coup d'œil où un client a des ancrages et où le filet de sécurité est mince.

Schematex suit le modèle d'ecomap Hartman (1978) — l'article original de Social Casework qui a introduit la notation — étendu avec des conventions de la pratique contemporaine du travail social clinique. Pour le contexte, voir Wikipedia : Ecomap. Cette page documente ce que l'analyseur accepte aujourd'hui.

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·1.0 ms·13.0 KB SVG

1. Votre premier ecomap

L'ecomap utile minimal : un centre et trois systèmes extérieurs.

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·0.6 ms·8.1 KB SVG

Quatre règles couvrent 80 % de l'usage :

  1. Commencez par le mot-clé ecomap, optionnellement suivi d'un titre entre guillemets.
  2. Déclarez le centre sur sa propre ligne : center: id [label: "…"]. Exactement un centre par diagramme.
  3. Déclarez chaque système extérieur sur sa propre ligne : id [label: "…", category: …].
  4. Connectez deux identifiants déclarés avec un opérateur de connexion=== (fort), --- (normal), <-> (réciproque), etc. Voir §3 pour la table complète. Un [label: "…"] en fin de ligne ajoute une étiquette à l'arête.

Les commentaires doivent être sur leur propre ligne, commençant par #, // ou %% de style Mermaid. Les commentaires en ligne à la fin briseront l'analyseur.


2. Centre et systèmes extérieurs

Chaque ecomap a un centre et un nombre quelconque de systèmes extérieurs. Les deux utilisent la même syntaxe id [attrs] ; la seule différence est le préfixe center:.

Règles d'identifiant. Doit correspondre à [a-zA-Z][a-zA-Z0-9_-]*. Les identifiants sont insensibles à la casse ; le jeton d'origine est conservé comme étiquette par défaut.

Attributs acceptés par l'analyseur aujourd'hui :

AttributValeursEffet
label:"…"toute chaîne entre guillemetsRemplacement de l'étiquette d'affichage
category:…voir §2.1Couleur / regroupement d'un nœud système
size:…small, medium, largeTaille du nœud
importance:…major, moderate, minorPoids visuel
sector:…top, right, bottom, leftIndication du côté du centre où le système se trouve
age:Nex. age:34Âge affiché à l'intérieur d'un centre de type personne
male / female / unknownindicateurSexe pour un centre de type personne

2.1 Catégories de systèmes

Les catégories codent par couleur les systèmes extérieurs selon le domaine de vie auquel ils appartiennent. L'analyseur accepte toute chaîne — ce sont les valeurs pour lesquelles le moteur de rendu a des palettes thématiques :

CatégorieExemples typiques
familyFamille élargie, beaux-parents, cousins
friendsAmis, voisins
workEmployeur, collègues
educationÉcole, université, programme de formation
healthMédecin généraliste, spécialiste, hôpital
mental-healthThérapeute, psychiatre, groupe de soutien
religionÉglise, temple, communauté spirituelle
recreationSports, loisirs, clubs
legalAvocat, probation, tribunal
governmentServices sociaux, logement, immigration
financialBanque, prestations, aide financière
communityGroupes de quartier, parrains
culturalOrganisations culturelles/ethniques
substanceProgrammes de rétablissement ou, si négatifs, sources de consommation active
technologyCommunauté en ligne, forum de soutien
petAnimaux de compagnie, animaux d'assistance
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.6 ms·10.6 KB SVG

3. Connexions

Une connexion est une ligne : fromId OP toId optionnellement suivie de [label: "…"]. Les deux identifiants doivent déjà être déclarés (le centre compte).

3.1 Opérateurs de qualité de relation

OpérateurTypeSignification
===fortProche, solidaire, haute fréquence
==modéréPositif, implication modérée
---normalNeutre / moyen
- -faibleTénu, fragile, stade initial
~~~stressantRelation stressante
~=~fort-stressantProche et stressant
~x~conflictuelConflit actif
-/-rompuSevré, aliéné, coupé

3.2 Opérateurs de flux d'énergie

Superposez la direction des flèches sur les lignes fortes ou normales :

OpérateurSignification
-->Unidirectionnel : l'énergie circule du centre vers le système
<--Unidirectionnel : l'énergie circule du système vers le centre
<->Réciproque / bidirectionnel
===>Fort flux sortant unidirectionnel (épuisant)
<===Fort flux entrant unidirectionnel (nourrissant)
<=>Fort réciproque
==>Flux sortant unidirectionnel modéré
<==Flux entrant unidirectionnel modéré

L'analyseur normalise la direction pour que les flèches soient lues par rapport au centre. Écrire family === resettlement et resettlement === family produit le même diagramme ; écrire clinic --> family vs family <-- clinic produit également la même flèche pointant de la clinique vers la famille.

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·0.7 ms·10.4 KB SVG

3.3 Étiquettes d'arêtes

Un [label: "…"] en fin de ligne est le seul attribut qu'une ligne de connexion accepte. Mettez ici l'horaire, la nature ou une courte note :

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

4. Étiquettes et commentaires

  • Titre : ecomap "Famille Nguyen" — première ligne uniquement.
  • Remplacement d'étiquette de nœud : family [label: "Les Nguyen"].
  • Étiquette d'arête : [label: "…"] en fin de ligne de connexion.
  • Suffixe de mode : ecomap:strengths "Smith family" est accepté. Le suffixe est stocké dans metadata.mode ; les moteurs de rendu actuels l'ignorent.
  • Commentaires : #, // ou %% au début d'une ligne (après les espaces initiaux). Les commentaires en ligne à la fin ne sont pas pris en charge.
ecomap "Marcus Intake"
  # notes du travailleur social — correct
  // également correct
  %% les commentaires de style Mermaid sont corrects
  mom [category: family]   # ← CE commentaire en fin de ligne brise l'analyseur

5. Mots réservés et échappement

Réservés en début de ligne : ecomap, center:.

Jetons d'opérateurs réservés dans une ligne — évitez d'utiliser ces séquences dans les identifiants : ===, ==, ---, - -, ~~~, ~=~, ~x~, -/-, et les variantes directionnelles listées dans §3.2.

Les chaînes avec des espaces doivent être entre double guillemets : titres et toute étiquette. Les guillemets simples et les backticks ne sont pas reconnus.


6. Erreurs courantes

Erreurs réelles de l'analyseur, ce qui les déclenche et comment les corriger.

Ce que vous avez écritCe que dit l'analyseurCorrection
family -- schoolUnexpected: family -- schoolL'ecomap utilise ===/---/<-> etc. -- est un opérateur genogram/pedigree
family === schoolschool n'a jamais été déclaréCrée silencieusement un nœud school vide sans étiquette/catégorieDéclarez les systèmes au-dessus de leurs lignes de connexion
Pas de center: nulle partRendu mais sans ancre de centre visuelleChaque ecomap a besoin d'exactement une ligne center:
Deux lignes center:Seule la première est traitée comme centre ; la seconde devient un système ordinaireN'en choisissez qu'un
family==school (sans espaces)Unexpected: family==schoolLes opérateurs nécessitent un espace de chaque côté
family === school [weekly]Le jeton weekly est analysé comme un indicateur de propriété, aucune étiquette affichéeUtilisez [label: "weekly"]
family === school # dailyLe # final est consommé comme partie de la ligneDéplacez le commentaire au-dessus

7. Grammaire (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                  // personnalisé, stocké comme métadonnées

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

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

Source faisant autorité : src/diagrams/ecomap/parser.ts. En cas de divergence avec l'analyseur, l'analyseur l'emporte — veuillez ouvrir un ticket.


8. Conformité aux normes

Les ecomaps Schematex suivent Hartman (1978), Diagrammatic Assessment of Family Relationships pour la notation centrale : un centre délimité entouré de systèmes extérieurs, des lignes de connexion qui encodent à la fois la qualité et la directionnalité. La palette de catégories et l'ensemble d'opérateurs étendu (fort-stressant, flèches réciproques) suivent les conventions du travail social clinique contemporain et de la recherche infirmière.

Ce qui est implémenté aujourd'hui :

  • ✅ Structure radiale centre + systèmes extérieurs
  • ✅ 8 opérateurs de qualité (fort / modéré / normal / faible / stressant / fort-stressant / conflictuel / rompu)
  • ✅ 8 opérateurs directionnels (unidirectionnel et réciproque, à trois intensités)
  • ✅ Codage couleur des catégories (17 catégories)
  • ✅ Étiquettes d'arêtes
  • ⏳ Mini-génogramme intégré comme centre (voir §10)
  • ⏳ Indications de disposition basées sur les secteurs au-delà des quatre points cardinaux actuels

Références :

  • 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. Exemples associés

Scénarios prêts à l'emploi issus de la galerie d'exemples :

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. Feuille de route

Prévu — pas encore analysable. Ne l'utilisez pas dans le DSL généré aujourd'hui ; l'analyseur le rejettera ou l'ignorera silencieusement.

  • Mini-génogramme intégré comme centre — déclarer un bloc famille complet à l'intérieur du nœud center: (couples et enfants indentés) pour que le centre soit un petit génogramme plutôt qu'une seule forme. L'analyseur lit actuellement le contenu indenté sous center: comme des lignes ignorées.
  • Sémantique de flèche par défaut par catégorie — ex. flèches auto-directionnelles pour les systèmes health (entrant) vs les systèmes work (sortant).
  • Centres multiples — ecomaps pour deux clients partageant certains systèmes.
  • Substitutions de couleur personnalisées[color: "#…"] sur un système ou une connexion.

Suivez dans les tickets GitHub si vous avez besoin de l'une de ces fonctionnalités plus tôt.

Found this useful?

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