Compare commits

...

119 Commits

Author SHA1 Message Date
f143bf9395 WIP draft gestion doublons
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-05-24 23:17:33 +02:00
d4bb0bf552 Merge pull request 'Ajout des notifications sur les actions et les documents dans les évaluations + Household composition dans la génération de documents' (#4) from nouveautes-notifications into main
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
Reviewed-on: #4
2023-05-22 07:39:27 +00:00
fcf088443b Merge branch 'main' into nouveautes-notifications
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-05-22 07:34:50 +00:00
02cf7861f3 Documentation for HouseholdComposition in doc generation
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-05-17 16:08:33 +02:00
b43db4a066 notifications dans les actions et évaluations
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-04-28 10:21:19 +02:00
44a37b9837 plus d'explication sur les parcours 2023-04-28 10:13:58 +02:00
996373775c page nouveautes dans le manuels 2023-04-28 10:13:34 +02:00
361cca96a8 Merge pull request 'Parallelization of drone builds, where possible' (#3) from drone/parallelization into main
Some checks reported errors
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build was killed
Reviewed-on: #3
2023-04-27 21:06:51 +00:00
34af210f7f parallelization
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-04-27 23:04:53 +02:00
476b0b31c1 fix generation
All checks were successful
continuous-integration/drone/push Build is passing
2023-04-27 23:00:39 +02:00
b9a0949236 Explications changement de statut du parcours
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone/tag Build is failing
2023-04-27 22:57:20 +02:00
44deae9cee Explanation for address not synchronized 2023-04-27 22:46:47 +02:00
47654378b4 ajout mention des exemples de modèle de documents
Some checks are pending
continuous-integration/drone/tag Build is running
continuous-integration/drone/push Build is passing
2023-03-06 11:43:54 +01:00
2178f99eee Ajout gabarits de documents
All checks were successful
continuous-integration/drone/push Build is passing
2023-03-06 11:42:02 +01:00
0e11e35caa Fixed: [docgen] capture d'écran dans la génératio nde document
Some checks are pending
continuous-integration/drone/push Build is running
continuous-integration/drone/tag Build is running
2023-02-10 00:20:57 +01:00
9a90bb24dd Fix: [docgen] correct image for insert renvoi
Some checks are pending
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is running
2023-02-10 00:12:38 +01:00
81610bcf52 admin/docgen: ré-ordonne les objets par ordre alphabétique + uniquement les objets pour toutes les instances
All checks were successful
continuous-integration/drone/push Build is passing
2023-02-10 00:06:43 +01:00
ca7a42af0b docgen: mise à jour des principes et utilisation dans Libre office
All checks were successful
continuous-integration/drone/push Build is passing
2023-02-09 23:49:37 +01:00
c08df4ec8c replace variable name
All checks were successful
continuous-integration/drone/tag Build is passing
continuous-integration/drone/push Build is passing
2022-10-19 21:44:47 +02:00
6120aee787 add missing doc for ThirdPartyProfession and ThirdPartyCategory and fixes delegation and tuteur 2022-10-19 21:44:47 +02:00
6d5a56c9b2 Documentation pour la date createdAtDate 2022-10-19 21:44:47 +02:00
3716e0e060 Document generation: add context "person with 3party" and fixes some
missing values in ThirdParty, Address
2022-10-19 21:44:47 +02:00
nobohan
019356f8c6 add field 'comment' in accompanyingperiodresource following issue 612
All checks were successful
continuous-integration/drone/push Build is passing
2022-07-18 15:32:14 +02:00
058d7851f5 Fixed: do not try to publish manuel if no tag
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2022-07-12 00:36:33 +02:00
6a4e2ac8e3 Feature: page de démarrage de la configuration de chill #admin 2022-07-12 00:34:52 +02:00
1cf382cbaa commentaire des parcours
Some checks failed
continuous-integration/drone/tag Build is passing
continuous-integration/drone/push Build is failing
2022-07-11 19:54:25 +02:00
e379da917e ajout doc personnes ressources usager
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone/tag Build is passing
2022-06-03 14:16:21 +02:00
3e90c12d47 rename files in release
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone/tag Build is passing
2022-05-30 21:12:58 +02:00
76da9dd357 fix some keys and add new keys for docgen 2022-05-30 21:08:57 +02:00
9f0418299f debugci (#12)
All checks were successful
continuous-integration/drone/tag Build is passing
Co-authored-by: Julien Fastré <julien.fastre@champs-libres.coop>
Reviewed-on: Vendee/manuals#12
2022-05-16 13:12:55 +00:00
8e3c6634fa fetch lfs image 2022-05-16 12:32:51 +02:00
46aef19712 fix image path in build latex 2022-05-16 12:23:37 +02:00
4cfd5a21bc update pandoc version to 2.18 2022-05-16 12:19:46 +02:00
4f4e262a1f fix typo in file paths 2022-05-16 11:29:02 +02:00
958c5466db execute drone on each push 2022-05-16 11:27:13 +02:00
04d5a4870b change image for pandoc 2022-05-16 11:25:44 +02:00
1d4fb63d46 execute pipeline on tag + save
Some checks reported errors
continuous-integration/drone/tag Build encountered an error
2022-05-16 11:22:05 +02:00
9d8d356a92 fix typo in doc generation 2022-05-16 11:20:41 +02:00
nobohan
22e06435d2 small correction on reassigner_parcours 2022-05-06 14:26:27 +02:00
3026f4538c Merge branch 'main' of gitea.champs-libres.be:Vendee/manuals 2022-05-06 11:16:30 +02:00
dfae233303 french translations for private comment and bulk reassing - to be verified 2022-05-06 11:15:39 +02:00
696ae1f2f5 bulk reassign 2022-05-04 17:29:55 +02:00
37def8069b private comments 2022-05-04 17:29:45 +02:00
nobohan
dc9f6486da upd admin doc gen 2022-04-28 17:38:19 +02:00
68b4a172aa docgen: more doc and fields 2022-04-11 18:17:08 +02:00
a85592766b doc gen for a list of activities on a course 2022-04-11 16:46:39 +02:00
ffa0373782 add cover page (previous was not working ?) 2022-03-27 19:24:42 +02:00
9c7ea31de4 explanations about lfs 2022-03-27 19:13:14 +02:00
49aa902d80 activate lfs on images and fix search path for resources 2022-03-27 19:07:28 +02:00
afe05e528e various little improvements and refactoring 2022-03-27 19:04:08 +02:00
55d9b782b6 more about concepts 2022-03-27 14:54:24 +02:00
370c334b60 typo 2022-03-27 14:38:03 +02:00
nobohan
8b5021e4bc add number sections and fix the reference problem (section number were empty) 2022-03-25 18:23:46 +01:00
nobohan
8002054012 relecture: typos, mise en page 2022-03-25 18:09:37 +01:00
b22d3ed303 precision sur aside_activities 2022-03-25 14:07:39 +01:00
642a9fabbb generation document: add budget 2022-03-25 14:07:39 +01:00
6bfb229995 fix doc for admin/generation-documents 2022-03-25 14:07:39 +01:00
dc2a398648 add main location in documentation docgen 2022-03-25 14:07:39 +01:00
nobohan
a2f2abc611 trans search english 2022-03-24 17:49:53 +01:00
nobohan
aee3e844a3 search 2022-03-24 17:47:25 +01:00
nobohan
02a7ee9853 add admin and user cover pages 2022-03-24 08:51:21 +01:00
nobohan
878a004b4c instructions pour resizing images 2022-03-23 16:10:12 +01:00
nobohan
7f172e37bb update / add images 2022-03-23 15:52:04 +01:00
nobohan
cf3ea159e3 close #3 encoder term 2022-03-23 15:30:16 +01:00
nobohan
16431f9211 menage issue #6 2022-03-23 15:14:06 +01:00
nobohan
5888e81751 correct notifications close #8 2022-03-23 14:46:40 +01:00
nobohan
f3207c0bdf social action 2022-03-22 17:51:16 +01:00
nobohan
39b5cb17c8 parcours trans 2022-03-22 17:11:23 +01:00
nobohan
8287fe7bc9 trans parcours 2022-03-22 16:28:49 +01:00
d72ae7170d adjustment social action 2022-03-18 12:32:20 +01:00
1fc5f439eb correction of explanation in thirdparty 2022-03-18 12:31:03 +01:00
d5deaf2f46 Merge branch 'main' of gitea.champs-libres.be:Vendee/manuals 2022-03-18 12:26:34 +01:00
1dce6f62b1 more english translations + pictures added + completion of certain parts 2022-03-18 12:26:10 +01:00
nobohan
aefb7d50f5 intro 2022-03-18 08:11:57 +01:00
nobohan
4a95cae4e9 update doc admin docgen" 2022-03-18 07:49:06 +01:00
nobohan
e59c482b2d correct typo 2022-03-17 17:43:42 +01:00
nobohan
c4348055a3 interface 2022-03-17 17:43:02 +01:00
1d05e6773c Merge branch 'main' of gitea.champs-libres.be:Vendee/manuals 2022-03-17 17:03:57 +01:00
74c20a476f social actions documentation almost finished 2022-03-17 17:03:51 +01:00
nobohan
e09246b66a concepts 2022-03-17 17:02:37 +01:00
nobohan
45cfb6a025 upd images 2022-03-17 16:11:25 +01:00
nobohan
a94a62fe3e upd menage (merge file) 2022-03-17 15:09:56 +01:00
nobohan
ff66ed11d4 detail vendee person fields 2022-03-17 14:39:56 +01:00
nobohan
f46730c238 Add translations tasks and aside activities 2022-03-17 11:17:21 +01:00
69ff691d2a Merge branch 'main' of gitea.champs-libres.be:Vendee/manuals 2022-03-17 10:47:04 +01:00
1cebfa38f4 parcours, tasks, aside activities + screenshots 2022-03-17 10:46:52 +01:00
nobohan
b9c7a86139 person vendee 2022-03-16 21:39:18 +01:00
nobohan
b7d8f1732d add screenshots to person, activité, menage 2022-03-16 17:32:10 +01:00
nobohan
13df6a7e84 documents 2022-03-16 17:01:20 +01:00
nobohan
10487703ca notifications 2022-03-16 16:07:28 +01:00
nobohan
e5f127045b automatic screenshots 2022-03-16 14:45:22 +01:00
nobohan
14936a8b98 upd menage 2022-03-16 14:43:44 +01:00
nobohan
0bf6b2f412 menage 2022-03-15 18:07:59 +01:00
nobohan
4f6956825d thirdparty trans 2022-03-15 11:29:01 +01:00
nobohan
b749fdbc1e activity 2022-03-14 22:09:24 +01:00
nobohan
94b1d0cd3f correction person 2022-03-11 17:32:10 +01:00
nobohan
174a48eb15 choisir une adresse 2022-03-11 17:30:20 +01:00
nobohan
e91a017059 more on person 2022-03-11 16:48:52 +01:00
bbeaebdfd2 english manual entry for thirdparty 2022-03-11 16:35:44 +01:00
nobohan
510cb80a56 doc user 2022-03-11 14:44:33 +01:00
nobohan
04669c3736 update README 2022-03-11 14:25:09 +01:00
2058790d0d add toc + other notes 2022-03-07 22:29:32 +01:00
8f62774344 test update readme 2022-03-03 13:30:13 +01:00
5e3dde7577 fix description variables document 2022-01-27 09:40:34 +01:00
2de3999a43 documentation for docgen in activity 2022-01-26 23:44:24 +01:00
bee87ba6bb update generation document variable + fix 2022-01-11 10:30:55 +01:00
36a0b34d5b docgen: more explanations 2022-01-05 13:43:41 +01:00
b2a4aa3b17 update documentation for docgen 2022-01-05 01:53:30 +01:00
16a5d56b14 réunion du 6/10 2021-10-06 23:50:26 +02:00
4bbad4273f mise à jour génération document 2021-10-06 14:06:44 +02:00
7a76253aae ajout explications suggestion ménages - adresses 2021-09-30 23:03:03 +02:00
4b9f7c93d4 reformulation known limits 2021-09-23 09:46:36 +00:00
9f6bd99e13 ajouts variables suite réunion 22/09 2021-09-23 11:36:42 +02:00
cb47265e16 continue documentation for variables 2021-09-21 21:36:46 +02:00
8272791e7b ajout limites connues - admin 2021-09-15 17:01:10 +02:00
136b3570ef continue gen doc documentation
Some checks reported errors
continuous-integration/drone/tag Build encountered an error
2021-08-26 15:25:59 +02:00
b5bdfda242 add admin manual to docker-compose 2021-08-26 15:25:52 +02:00
9abe0d7ba0 first draft for admin manual - generation document 2021-08-25 18:27:05 +02:00
e389c8736b add admin manual in same repo 2021-08-25 18:26:20 +02:00
113 changed files with 3430 additions and 42 deletions

View File

@@ -1,32 +1,51 @@
---
kind: pipeline
type: docker
name: default
name: build-release
clone:
disable: true
steps:
- name: submodules
- name: clone
image: plugins/git
settings:
recursive: true
- name: fetch images
image: alpine/git
commands:
- git submodule init
- git submodule update --recursive --remote
when:
event: tag
- git lfs fetch
- git lfs checkout
depends_on:
- clone
- name: pandoc
image: pandoc/alpine:2.14
image: pandoc/core:2.18-alpine
commands:
- ls
- sh build-pandoc.sh latex > user-manual.tex
when:
event: tag
- sh build-pandoc.sh latex user > user/user-manual.tex
- sh build-pandoc.sh latex admin > admin/admin-manual.tex
depends_on:
- fetch images
- name: build-latex
image: ghcr.io/xu-cheng/texlive-full:latest
- name: build-latex-user
image: texlive/texlive
commands:
- cd user
- latexmk -pdf -file-line-error -halt-on-error -interaction=nonstopmode -xelatex user-manual.tex
when:
event: tag
- mv user-manual.pdf ../Manuel\ utilisateur.pdf
depends_on:
- pandoc
- name: build-latex-admin
image: texlive/texlive
commands:
- cd admin
- latexmk -pdf -file-line-error -halt-on-error -interaction=nonstopmode -xelatex admin-manual.tex
- mv admin-manual.pdf ../Manuel\ administrateur.pdf
depends_on:
- pandoc
- name: release
image: plugins/gitea-release
@@ -35,10 +54,17 @@ steps:
from_secret: gitea_key
base_url: https://gitea.champs-libres.be
files:
- user-manual.pdf
checksum:
- sha512
title: ${DRONE_COMMIT_REF}
prerelease: true
- "Manuel administrateur.pdf"
- "Manuel utilisateur.pdf"
title: ${DRONE_TAG:=latest}
depends_on:
- build-latex-user
- build-latex-admin
when:
event: tag
event:
- tag
---
kind: signature
hmac: a83892d8f9bb967bd2a6335e2b34008e05f9bec482f270237c6764918434f97c
...

7
.gitattributes vendored Normal file
View File

@@ -0,0 +1,7 @@
*.png filter=lfs diff=lfs merge=lfs -text
*.jpg filter=lfs diff=lfs merge=lfs -text
*.jpeg filter=lfs diff=lfs merge=lfs -text
admin-manual.pdf filter=lfs diff=lfs merge=lfs -text
user-manual.pdf filter=lfs diff=lfs merge=lfs -text
*.odt filter=lfs diff=lfs merge=lfs -text
*.svg filter=lfs diff=lfs merge=lfs -text

2
.gitignore vendored
View File

@@ -1,2 +1,2 @@
build/*
user-manual.*
*-manual.pdf

View File

@@ -1,5 +1,13 @@
Manuel utilisateur Vendée
=========================
Manuels Vendée
==============
## LFS
:warning: Git LFS is activated on this report.
Ensure that `git lfs` is installed on your system. You can install git lfs with the command `git lfs install`.
Since you install it on your machine, no further step is required.
## Compilation
@@ -11,9 +19,17 @@ Commande:
docker-compose up
```
Le fichier généré est `user-manual.pdf`
Le fichier généré est `user-manual.pdf` et `admin-manual.pdf`
Si vous avez une (bonne) version de pandoc sur votre PC, on peut faire sans docker avec:
```bash
bash build-pandoc.sh
bash build-pandoc.sh pdf admin
```
` bash build-pandoc.sh` est par défaut équivalent à `bash build-pandoc.sh pdf user`.
### Utilisateur
L'utilisateur qui exécute la compilation est, par défaut, l'utilisateur ayant l'id `1000`.
@@ -23,3 +39,27 @@ L'utilisateur qui exécute la compilation est, par défaut, l'utilisateur ayant
### Awesomebox
Pour créer des "box": https://www.ctan.org/tex-archive/graphics/awesomebox
### Taille des images
Pour changer la taille de toutes les images d'un coup, par ex. à 85%:
remplacer dans `eisvogel.tex` la ligne
```
\setkeys{Gin}{width=\maxwidth,height=\maxheight,keepaspectratio}
```
par
```
\setkeys{Gin}{width=.85\maxwidth,height=\maxheight,keepaspectratio}
```
Si on laisse les images à 100%, beaucoup de pages blanches apparaissent.
### Correcteur orthographiques
Please, utilisons un correcteur orthographique pour le français pour nous éviter toutes les fautes de frappes et autres. Ex: https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker-french

BIN
admin/cover-admin.pdf Normal file

Binary file not shown.

BIN
admin/cover-admin.svg (Stored with Git LFS) Normal file

Binary file not shown.

Binary file not shown.

BIN
admin/generation-documents-templates/template parcours.odt (Stored with Git LFS) Normal file

Binary file not shown.

BIN
admin/generation-documents-templates/template personne.odt (Stored with Git LFS) Normal file

Binary file not shown.

View File

@@ -0,0 +1,715 @@
# Génération de documents
L'administrateur fonctionnel prépare la génération des documents.
Cela consiste à configurer le gabarit et ses éventuelles options via l'interface d'administration. Pour chaque gabarit, un document est joint et contient des "zones substituantes", qui permettent d'insérer des informations issues de Chill.
Seuls les documents suivants peuvent être utilisés:
* .odt (LibreOffice Writer);
* .ods
* .odp
Des exemples sont disponibles [en ligne](https://gitea.champs-libres.be/Chill-project/manuals/src/branch/main/admin/generation-documents-templates).
## Rappel de "l'expérience utilisateur": comment les utilisateurs génèrent un document ?
Les utilisateurs peuvent générer un document depuis plusieurs contextes du logiciel:
- les documents du dossier d'usager;
- les documents du parcours;
- les documents dans les évaluations;
- les activités / échanges;
- les rendez-vous.
Chaque contexte peut être dédiée à un usage précis. Par exemple, l'utilisateur peut générer une invitation à un rendez-vous depuis la page "rendez-vous". Depuis les évaluations, un formulaire officiel pourrait être pré-rempli. Et un document récapitulatif du parcours peut être généré dans ses documents.
Lors de la génération de document, les utilisateurs parcourrent trois étapes, dont l'un est optionnelle:
1. Étape optionnelle: un formulaire demande des précisions à l'utilisateur.
Il peut s'agir, par exemple, de préciser les destinataires du document, de choisir un signataire, etc.
Ce formulaire est soit:
* natif au contexte. Dans ce cas, il apparait systématiquement ou dans certaines conditions;
* configuré par l'admnistrateur fonctionnel parmi des options disponibles;
2. le document est effectivement généré en arrière-plan. Cela peut nécessiter éventuellement quelques secondes;
3. le document est ouvert pour édition dans un éditeur en ligne. L'enregistrement est automatique. Lorsqu'ils ferment l'éditeur **depuis l'interface de l'éditeur**, l'utilisateur est redirigé vers l'interface de Chill, généralement la page de génération du document.
Notez que, pour que la redirection soit effective, l'utilisateur doit fermer **dans l'interface de l'éditeur**: fermer la fenêtre ou l'onglet fait perdre les informations de redirection - cependant, le document est normalement enregistré.
## Préparation des documents
Les documents sont préparés par l'administrateur fonctionnel. Il s'agit d'un document "traitement de texte" (ou tableur, ou présentation).
Le document est préparé de manière habituelle: le texte y est écrit, le logo de l'association inséré, etc. Ensuite, l'administrateur définit certaines zones qui seront remplacées par des informations qui sont collectées dans le logiciel.
Le travail de préparation consiste à préciser les endroits où ces informations doivent être insérées: des champs spécifiques.
::: .note
Le fonctionnement de la génération de document est assez semblable au "publi-postage": des champs sont définis dans le document, et le logiciel de traitement de texte vient les remplacer par ceux provenant d'une base de donnée.
:::
## Indiquer un champ dans un document en utilisant Libre Office
Aux endroits où cela est nécessaire, l'administrateur indique un "champ substituant".
Cela est accessible via le menu "Insertion > Renvoi...", puis choisir l'onglet "Fonction", "Substituant", "Texte", et indiquer la valeur du champ.
La valeur à indiquer dans le champ "substituant" est à déduire des informations ci-dessous.
![Menu Insertion > Renvoi dans LibreOffice](./img/generation-document/libre-office-insert-renvoi.png)
![Insérer un substituant. Ici, le substituant est l'identifiant (numéro, `id`) du parcours: `v.course.id`](./img/generation-document/libre-office-fonction-substituant.png)
## Nature (type) des variables
Pour chaque contexte où un document est généré, les variables disponibles sont listées [dans la section suivante](#sec:gendoc-champs-documents).
Chaque variable comporte un type: il peut s'agir de:
- un nombre;
- un texte;
- un bouléen (`vrai` ou `faux`)
- un objet;
- ou une liste d'objets, de nombres, ou de textes.
Les variables et leur type sont décrites [dans la section suivante](#sec:gendoc-champs-objets). Le type est indiqué entre parenthèse:
* si le type commence par une majuscule, alors cette variable est un object. Il comporte des sous-champs, et il faut se reporter à la description de l'objet correspondant;
* si le type commence par une minuscule, alors cette variable peut être utilisée directement dans le document:
* s'il s'agit d'un booléen (`bool`), le champ peut être utilisé dans des tests;
* les champs `text` et `int` peuvent faire l'objet de test sur l'égalité;
* les champs de type `int` peuvent faire l'objet de comparaison sur l'ordre de grandeur (par exemple, le champs `age` des objets de type `Person` peut être filtré `> 18` ou `< 18` pour distinguer les adultes des enfants).
### Cas où le contenu d'une variable est vide
Si une variable est vide, alors tout ses champs apparaissent avec une chaine de caractère vide.
L'arbre des variables est toujours identique, sur toute la profondeur de celles-ci. L'administrateur est garanti qu'un champ existera, même si sa valeur n'est pas présente dans la base de donnée.
### Exemple: la date de naissance d'une personne
Dans le contexte "personne", les informations de la personne sont disponibles sous le champ `v.person`. Il s'agit d'un objet de type `Person` qui comporte une sous-variable appelée `birthdate`, qui est lui-même disponible dans un objet de type `Date`.
Les objets `Date` proposent deux sous-champs, qui correspondent au format de la date:
* le format "court", ou dd/mm/yyyy (par exemple, 15/06/1980, 18/08/2021, …). Ce format est accessible par le champ `short`;
* le format "long": 15 juin 1980, 18 août 2021, … Ce format est accessible par le champ `long`;
Donc, pour insérer la date de naissance, on utilisera les substituants suivants:
```
v.person.birthdate.short
v.person.birthdate.long
```
Ce qui donnera (pour une personne née le 15 décembre 1980):
```
15/12/1980
15 décembre 1980
```
Si, par contre, la date de naissance de la personne n'est pas renseignée, deux lignes vides s'afficheront dans le document:
```
```
## Paramètres pour l'administrateur fonctionnel
Pour chaque gabarit, l'administrateur peut activer certaines options. Par exemple:
* permettre de sélectionner une personne parmi les usagers du parcours;
* configurer le libellé qui s'affichera pour l'utilisateur devant l'usager.
Les options disponibles dépendent du contexte.
Par exemple, pour un courrier généré dans un contexte "parcours", l'utilisateur pourra choisir un usager du parcours pour un courrier; l'administrateur indiquera qu'il s'agira du "destinataire" du courrier. Tandis que pour un formulaire officiel, l'administrateur configurera un "demandeur" et "co-demandeur", et ce sont ces libellés qui s'afficheront.
## Variables par contexte
### Pour tous les contextes { #sec:gendoc:champs-documents }
#### Variables
* `creator`: (User) le créateur;
* `createdAt` (Date): la date et l'heure de création;
* `createdAtDate` (Date): la date de la création (sans l'heure). Utilisable pour indiquer la date d'un courrier, par exemple;
* `location` (Location): le lieu sélectionné par le créateur, au moment de la génération **ou** celui choisi par l'étape 1.
### Document générés pour un parcours
#### Paramètres pour l'administrateur fonctionnel
Les administrateurs fonctionnels peuvent activer les paramètres suivants:
* un champ "usager 1", qui permet ensuite à l'utilisateur de choisir un usager parmi ceux concernés par le parcours, les interlocuteurs privilégiés qui sont des usagers (à l'exclusion des tiers), et les personnes ressources associées à un usager concerné du parcours (à l'exclusion des ressources tiers et "texte libre");
* un champ "usager 2", qui permet aux utilisateurs de choisir un deuxième usager parmis ceux concernés par le parcours, les interlocuteurs privilégiés qui sont des usagers (à l'exclusion des tiers), et les personnes ressources associées à un usager concerné du parcours (à l'exclusion des ressources tiers et "texte libre");
* un champ "usager principal du parcours", qui permet, cette fois, de choisir parmi les usagers concernés par le parcours, les interlocuteurs privilégiés qui sont des usagers (à l'exclusion des tiers), et les personnes ressources associées à un usager concerné du parcours (à l'exclusion des ressources tiers et "texte libre");
#### Variables
Le document présente:
* une variable `course`, de type `AccompanyingPeriod`;
* si `usager principal du parcours` est coché, une variable `mainPerson`, de type `Person`, avec les variants `relations`, `household` (ménage) et `budget`;
* si `usager 1` est coché, une variable `person1`, de type Person, avec les variants `relations`, `household` (ménage) et `budget`;
* si `usager 2` est coché, une variable `person2`, de type Person, avec les variants `relations`, `household` (ménage) et `budget`;
### Document générés pour un parcours, contexte "liste des activités"
Le contexte présente les mêmes variables et paramètre que les documents générés par un parcours.
La variable suivante est ajoutée:
* `activities` (liste de Activity): Liste d'activités, variant "light". Aucun filtre n'est appliqué sur les échanges récupérés.
### Document générés pour une évaluation
Le document présente:
* une variable `evaluation` de type `AccompanyingPeriodWorkEvaluation`: l'évaluation concernée;
* une variable `work` de type `AccompanyingPeriodWork`: l'action d'accompagnement au sein de laquelle l'évaluation est générée;
* une variable `course`, de type `AccompanyingPeriod`: le parcours au sein duquel l'évaluation est générée;
* si `usager principal du parcours` est coché, une variable `mainPerson`, de type `Person`, avec les variants `relations`, `household` (ménage) et `budget`;
* si `usager 1` est coché, une variable `person1`, de type Person, avec les variants `relations`, `household` (ménage) et `budget`;
* si `usager 2` est coché, une variable `person2`, de type Person, avec les variants `relations`, `household` (ménage) et `budget`;
### Document générés pour un échange
Le document présente:
* une variable `activity`, de type `Activity`: l'évaluation concernée
* une variable `course`, de type `AccompanyingPeriod`: le parcours concerné, à condition que l'échange ait été créé dans un contexte parcours
* une variable `person`, de type `Person`: la personne concernée, à condition que l'échange ait été créée dans un contexte d'usager.
Il est possible également d'injecter des dossiers d'usagers, parmi ceux associés **à l'échange** (l'utilisateur peut choisir parmis les usagers de l'échange, et pas les usagers concernés du parcours).
* si `usager principal du parcours` est coché, une variable `mainPerson`, de type `Person`, avec les variants `relations`, `household` (ménage) et `budget`;
* si `usager 1` est coché, une variable `person1`, de type Person, avec les variants `relations`, `household` (ménage) et `budget`;
* si `usager 2` est coché, une variable `person2`, de type Person, avec les variants `relations`, `household` (ménage) et `budget`;
### Documents générés dans le dossier d'une personne: contexte "personne basique"
* une variable `person`, de type `Person`, avec les variants `relations`, `household` (ménage) et `budget`.
### Documents générés dans le dossier d'une personne: contexte "personne avec un tiers"
Ce contexte permet de générer un courrier avec, en paramètre, un tiers.
Cela peut être utile pour, par exemple, générer un courrier vers un tiers déjà enregistré dans la base de donnée de Chill.
Les variables disponibles sont les suivantes:
* une variable `person`, de type `Person`, avec les variants `relations`, `household` (ménage) et `budget`.
* une variable `thirdParty`, de type `ThirdParty`;
### Document générés dans un contexte "rendez-vous"
Les champs suivant sont disponibles:
* une variable `calendar` (Calendar), qui contient les données du rendez-vous;
* une variable `mainPerson` (Person), la personne principale parmi les personnes participant au rendez-vous. Cette variable n'est présente que si l'administrateur fonctionnel l'a configurée.
* une variable `thirdParty` (ThirdParty): un tiers participant au rendez-vous. Cette variable n'est présente que si l'administrateur fonctionnel l'a configurée.
## Principes liés au variables
## Champs par objet { #sec:gendoc-champs-objets }
### AccompanyingPeriod (Parcours)
* `id` (texte): l'identifiant du parcours
* `type` (texte): toujours égal à `accompanying_course`
* `isNull`: (bool) renvoie `true` si est une entité nulle (toutes les variables sont vides);
* `closingDate` (Date): date de clotûre;
* `confidential` (bool): `true` si confidentiel;
* `confidentialText` (texte): "Confidentiel" si le parcours est confidentiel, texte vide sinon;
* `createdAt` (Date): date de création;
* `createdBy` (User): utilisateur ayant créé le parcours;
* `emergency` (bool): `true` si parcours en urgence;
* `emergencyText` (texte): "Urgent" si le parcours est urgent, texte vide sinon;
* `openingDate` (texte): la date de confirmation du parcours;
* `origin` (AccompanyingPeriodOrigin): l'origine du parcours;
* `originText` (texte): Le titre de l'origine, directement utilisable dans le document;
* `participations` (liste de AccompanyingPeriodParticipation): les participations du parcours, actuelles **et anciennes**;
* `currentParticipations` (liste de AccompanyingPeriodParticipation): les participations actuelles du parcours;
* `requestorAnonymous` (bool): `true` si le demandeur du parcours est anonyme;
* `hasRequestor` (bool): `true` si le parcours a un demandeur (il peut être un tiers ou une personne);
* `requestorKind` (texte): `person` si le demandeur est une personne, `thirdparty` si c'est un tiers;
* `requestorPerson` (Person): demandeur, si le demandeur est une personne;
* `hasRequestorPerson` (bool): `true` si le demandeur est une personne;
* `requestorThirdParty` (ThirdParty): demandeur, si le demandeur est un tiers;
* `hasRequestorThirdParty` (bool): `true` si le demandeur est un tiers;
* `resources` (liste de AccompanyingPeriodResource): les ressources du parcours;
* `scopes` (liste de Scope): services associés au parcours;
* `scopesText` (texte): titre des services associés au parcours, séparés par une virgule;
* `socialIssues` (liste de SocialIssues): problématiques sociales associées au parcours;
* `socialIssuesText` (texte): Liste des problématiques sociales, séparées par une virgule;
* `intensity` (texte): texte traduit de l'intensité: "ponctuel" ou "régulier";
* `step` (texte): texte traduit de l'étape du parcours: "Brouillon", ou "En cours";
* `isClosed` (bool): `true` si le parcours est fermé (la date de clotûre est renseignée);
* `closingMotiveText` (texte): titre du motif de clotûre;
* `closingMotive` (ClosingMotive): motif de clotûre
* `ref` (User): référent du parcours;
* `hasRef` (bool): `true` si un référent est désigné;
* `hasLocation` (bool): `true` si un parcours a une localisation;
* `hasLocationPerson` (bool): `true` si un parcours a une localisation auprès d'un personne. `false` si c'est une localisation temporaire;
* `location` (Adresse): l'adresse de localisation du parcours
* `locationPerson` (Person): l'utilisateur qui localise le parcours (s'il y en a un, peut être vide);
* `administrativeLocation` (Location): localisation administrative du parcours;
* `hasAdministrativeLocation` (bool): `true` si une localisation administrative est définie;
* `works` (liste de AccompanyingPeriodWork): liste des actions d'accompagnement créées dans le cadre de ce parcours;
* `comments` (liste de AccompanyingPeriodComment): liste des commentaires;
* `pinnedComment` (AccompanyingPeriodComment): commentaire épinglé;
### AccompanyingPeriodComment (Commentaire du parcours)
* `id` (int): identifiant
* `content` (texte): contenu du commentaire
* `createdAt` (Date): date de création
* `creator` (User): Créateur du commentaire
### AccompanyingPeriodOrigin (Origine du parcours)
* `id` (int): identifiant;
* `label` (texte): libellé de l'origine;
### AccompanyingPeriodParticipation (Participation à un parcours)
Cet objet effectue la jointure entre les parcours et les usagers concernés à un parcours. Elle permet d'avoir accès à des informations supplémentaires, comme la date de début et l'éventuelle date de fin de la participation à un parcours.
* `id` (int): identifiant
* `person` (Person): usager associé au parcours;
* `startDate` (Date): date de début;
* `endDate` (Date): date de fin. Vide si la participation est toujours en cours;
### AccompanyingPeriodResource (Interlocuteur privilégiés dans un parcours)
* `id` (int): identifiant;
* `person` (Person): usager ressource (vide, avec le paramètre `isNull` à `true`, si la ressource est un tiers);
* `thirdParty` (ThirdParty): tiers ressource (vide, avec le paramètre `isNull` à `true`, si la ressource est une personne);
* `comment` (texte): commentaire associé à la personne ressource.
### AccompanyingPeriodWork (Action d'accompagnement)
* `id` (texte): l'identifiant de l'action;
* `note` (texte): la note;
* `persons` (liste de Person): liste des usagers concernés par l'action
* `results` (liste de Result): liste des résultats directement associé au parcours (résultats sans objectifs)
* `socialAction` (SocialAction): type d'action sociale;
* `startDate` (Date): la date de début de l'action (vide si inexistant)
* `endDate` (Date): la date de début de l'action (vide si inexistant)
* `thirdParties` (liste de ThirdParty): les tiers associés à l'action comme tiers intervenants;
* `updatedBy` (User): utilisateur ayant fait la mise à jour;
* `updatedAt` (Date): date de mise à jour;
* `handlingThierParty` (ThirdParty): tiers traitant;
* `goals` (AccompanyingPeriodWorkGoal): objectifs
* `createdBy` (Date): date de mise à jour;
* `createdAt` (User): utilisateur ayant fait la mise à jour;
* `createdAutomatically` (bool): `true` si l'action a été créée automatiquement (par exemple, en créant un échange);
* `evaluations` (AccompanyingPeriodWorkEvaluation): liste des évaluations générées;
* `referrers` (liste de User): liste des agents traitants;
### AccompanyingPeriodWorkEvaluation (évaluation dans une action d'accompagnement)
* `id` (texte): l'identifiant de l'évaluation;
* `type` (texte): le libellé de l'évaluation;
* `startDate` (Date): la date de début de l'évaluation;
* `endDate` (Date) la date de fin de l'évaluation;
* `maxDate` (Date): la date d'échéance de l'évaluation;
* `comment` (texte): le commentaire de l'évaluation;
* `createdBy` (User): le créateur de l'évaluation;
* `createdAt` (Date): la date de création de l'évaluation;
* `evaluation` (Evaluation): le type d'évaluation;
### AccompanyingPeriodWorkGoal (objectifs et résultats d'une action d'accompagnement)
* `id` (texte): identifiant
* `goal` (Goal): objectif d'une action
* `results` (liste de Result): liste des résultats
### Activity (échange)
* `id` (int): identifiant;
* `activityType` (ActivityType): Type d'échange
* `attendee` (ActivityPresence): Présence à l'échange
* `comment` (Comment): Commentaire (avec la date de la dernière mise à jour)
* `date` (Date): Date de l'échange
* `durationTimeMinute` (int): Durée de l'échange, en minutes
* `emergency` (bool): True si en urgence
* `location` (Location): Lieu de l'échange
* `reasons` (liste de ActivityReason): Sujets de l'échange (pas utilisé en Vendée)
* `scope` (Scope): Service (pas utilisé en Vendée)
* `sentReceived` (text): sera `received` si reçu, et `sent` si envoyé;
* `socialActions` (liste de SocialAction): liste d'actions sociales associées
* `socialIssues` (liste de SocialIssue): liste de problématiques sociales associées
* `thirdParties` (liste de ThirdParty): liste de tiers associés
* `travelTimeMinute` (int): durée du trajet en minutes
* `user` (User): l'utilisateur pour lequel l'échange a été créé;
* `users` (liste de Users): les utilisateurs qui sont associés à l'échange.
#### variant `light`
Un variant `light` est utilisé dans les listes d'`Activity`, comme par exemple pour le contexte "Liste des activités pour un parcours".
Ce variant comporte les mêmes attributs, avec les différences suivantes:
* le champ `user` n'est pas présent;
* le champ `scope` n'est pas présent;
* le champ `reasons` n'est pas présent;
* le champ `comment` est également présenté avec le variant `light`.
### ActivityType (Type d'activité)
Type d'activité.
* `id` (int): identifiant;
* `name` (texte): libellé
### ActivityPresence (Présence à l'échange)
Présence à l'échange
* `id` (int): identifiant;
* `name` (texte): libellé
### Address (Une adresse)
* `address_id` (int): l'identifiant de l'adresse;
* `text` (texte): une chaine de caractère représentant l'adresse complète;
* `street` (texte): le nom de la rue (exemple: "RUE DES ÉGLANTIERS");
* `streetNumber` (texte): le numéro de police;
* `postcode` (PostCode): le code postal;
* `country` (Country): le pays de l'adresse;
* `floor` (texte): l'étage;
* `corridor` (texte): le couloir;
* `flat` (texte): l'appartement;
* `buildingName` (texte): le nom du bâtiment / résidence;
* `distribution` (texte): service particulier de distribution;
* `extra` (texte): champs extras
* `validFrom` (Date): date de début de validité;
* `validTo` (Date): date de fin de validité (vide si toujours valide);
* `lines` (liste de texte): les lignes de l'adresses, comme elles devraient être formatées dans une adresses
Il est possible de représenter l'adresse au format postal en effectuant une boucle sur les lignes. Par exemple, pour l'adresse d'une personne (chaque ligne est un "renvoi > substituant" dans l'exemple ci-dessous):
```
for each="line in v.person.address.lines
line
/for
```
### Comment (Commentaire)
Certains champs commentaire enregistrent également l'utilisateur qui a effectué la dernière mise à jour, et la date de celle-ci, en plus du commentaire en tant que tel. Ces champs ont les attributs suivants:
* `comment` (texte): le commentaire en tant que tel;
* `date` (Date): la date de la dernière modification;
* `user` (User): l'utilisateur qui a effectué la dernière modification;
#### Variant `light`
Dans le variant `light`,
* le champ `date` n'est pas présent;
* le champ `user` n'est pas présent.
Seul le champ `comment` est donc disponible.
### Civility (Civilité)
* `abbreviation` (texte): abbréviation;
* `id` (int): identifiant (utile pour des comparaisons);
* `name` (texte): titre, label de la civilité;
### ClosingMotive (Motif de cloture)
* `id` (int): identifiant;
* `name` (texte): libellé
### Country (Pays)
* `id` (int): identifiant
* `name` (texte): nom du pays
* `code` (texte): deux lettres du code ISO pays
### Date (Date)
* `short` (texte): la date au format dd/mm/yyyy, vide si la date est absente;
* `long` (texte): la date au format jour mois années: 15 août 1980, vide si al date est absente;
### Evaluation (type d'évaluation)
* `id` (texte): l'identifiant du type d'évaluation;
* `title` (texte): le titre du type d'évaluation;
### Goal (objectif d'une action)
* `id` (texte): identifiant
* `title` (texte): le titre du résultat
### Household (Ménage)
* `id` (int): l'identifiant du ménage;
* `current_address` (Adress) : adresse actuelle du ménage
* `current_composition` (HouseholdComposition): Composition **actuelle** du ménage
* `currentMembers` (liste de HouseholdMember): liste des membres **actuels** du ménage;
* `members` (liste de HouseholdMember): liste des membres du ménages. Cette liste inclut également les anciens membres;
* `waitingForBirth` (bool): `true` si une naissance est attendue;
* `waitingForBirthDate` (Date): date de la naissance attendue;
### HouseholdComposition
La composition du ménage entre deux dates. Cette entité associe une `HouseholdCompositionType` avec une date de début et une date de fin
* `id` (int): L'identifiant de la composition
* `startDate` (Date): date de début de validité de la composition du ménage;
* `endDate` (Date): date de fin de validité de la composition du ménage (vide si actif)
* `numberOfChildren` (int): nombre d'enfants
* `householdCompositionType` (HouseholdCompositionType): Type de composition choisie, entre deux dates
### HouseholdCompositionType
* `id` (int): L'identifiant du type de composition
* `label` (texte): Le libellé de la composition
### HouseholdMember (Membre d'un ménage)
* `comment` (texte): texte du commentaire;
* `id` (int): identifiant de la participation au ménage;
* `endDate` (Date): date de fin de participation au ménage;
* `holder` (bool): `true` si le participant est titulaire;
* `person` (Person): l'usager qui est membre du ménage;
* `position` (HouseholdPosition): la position du membre dans le ménage;
* `startDate` (Date): date de début de participation au ménage;
### HouseholdPosition (Position du membre dans le ménage)
* `id` (int): identifiant de la position;
* `label` (texte): label de la position dans le ménage;
### Location (lieu)
* `id` (int): identifant;
* `name` (texte): nom;
* `address` (Address): adresse du lieu;
* `phonenumber1` (texte): numéro de téléphone;
* `phonenumber2` (texte): numéro de téléphone;
* `email` (email): email
* `locationType` (LocationType): le type de lieu
### LocationType (type de lieu)
* `id` (int): identifant;
* `title` (texte): titre du type de lieu;
### Person (Personne, usager)
* `id` (texte): Identifiant du dossier usager;
* `isNull` (bool): `true` si le dossier usager est vide;
* `civility` (Civility): Civilité
* `firstName` (texte): Prénom
* `lastName` (texte): Nom
* `altNames` (texte): noms supplémentaire (nom de naissance, …)
* `text` (texte): représentation du nom, prénom, et noms alternatifs: prénom, nom, et noms alternatifs.
* `birthdate` (Date)
* `age`: (int) age de la personne;
* `deathdate` (Date)
* `gender` (texte): genre (texte traduit);
* `maritalStatus` (texte): représentation textuelle de l'état civil;
* `maritalStatusDate` (Date): date à la quelle le statut de l'état civil a été mis à jour;
* `maritalStatusComment` (Comment): Commentaire sur l'état civil (avec la date de la dernière mise à jour)
* `email` (texte): adresse email
* `firstPhoneNumber` (texte): soit le numéro de mobile s'il existe, soit le numéro fixe s'il existe, sinon vide;
* `fixPhoneNumber` (texte): le numéro de téléphone fixe;
* `mobilePhoneNumber` (texte): le numéro de téléphone portable;
* `nationality` (texte): nationalité (nom du pays);
* `placeOfBirth (texte): le lieu de naissance
* `memo` (texte): le mémo
* `numberOfChildren` (texte): le nombre d'enfants
* `address` (Adresse): l'adresse actuelle
* `resources` (PersonResource): les personnes ressources, ajoutées depuis le dossier de l'usager.
#### variant `household`
* `household` (Household): le ménage actuel de l'usager;
#### variant `relations`
* `relations` (liste de Relationship): les relations (filiations) de l'usager;
#### variant `budget`
Le budget des usagers et de leur ménage est accessible de manière synthétisée: la somme globale de chaque "ligne" de budget est effectuée et disponible pour l'inclusion.
Chaque "ligne" dépend de la configuration de votre instance.
Toutes les lignes de budget possibles sont toujours présentes. Il est possible d'ajouter une condition dans le document pour n'afficher que les lignes ayant une somme supérieure à zéro.
##### Attributs pour une `Ligne de budget`
Pour chaque ligne, les informations suivantes sont disponibles:
* `sum` (nombre décimal): la somme de toutes les lignes du budget du même type;
* `label` (texte): le libellé de cette ligne dans l'interface;
* `comment` (texte): les commentaires des lignes du budget de même type. Tous les commentaires sont concaténés les uns à la suite des autres, et séparés par le caractère `|`.
##### Méthode de globalisation de chaque ligne
Pour chaque ligne de budget, la somme de toutes les lignes de budget du même type est disponible. Ainsi, si une entrée dans les ressources permet de saisir une charge "frais de communication téléphonique":
* pour un usager, si plusieurs lignes `frais de communication` sont enregistrées, alors c'est la somme de celles-ci qui apparaitra dans la génération de documents;
* pour un ménage, alors ce sera la somme de tous les `frais de communication` de chaque membre du ménage **au moment de la génération du document** qui apparaitra, mais également la somme des `frais de communications` enregistrés directement dans le dossier du ménage.
On verra donc apparaitre non seulement les frais payés par chaque usager (pour leur abonnement individuel au téléphone mobile, par exemple), mais également la somme payée par le ménage (pour le téléphone fixe ou l'accès à internet).
Enfin, seules les lignes _actives_ **au moment de la génération du document** sont prises en compte. Ainsi, par exemple, si un CDI a expiré la veille de la génération, son montant ne sera pas pris en compte.
Le calcul du caractère actif d'une ligne est effectué comme suit:
* la date de début est antérieure à la date de génération du document;
* la date de fin est vide, ou postérieure à la date de génération du document.
##### Attributs supplémentaire avec le variant `budget`:
Les attributs suivants sont disponibles, pour chaque objet `Person` qui a un variant `budget`:
* `budget.person.resources.<clé du type de ligne de budget>` (Ligne de budget): une ligne de budget pour la ressource dont la clé est indiquée par `<clé du type de ligne de budget>`. La liste des clés est à obtenir auprès de l'administrateur technique. Seules les lignes du budget associées au dossier de l'usager sont présentes ici;
* `budget.person.charges.<clé du type de ligne de budget>` (Ligne de budget): une ligne de budget pour la charge dont la clé est indiquée par `<clé du type de ligne de budget>`. La liste des clés est à obtenir auprès de l'administrateur technique. Seules les lignes du budget associées au dossier de l'usager sont présentes ici;
* `budget.household.resources.<clé du type de ligne de budget>` (Ligne de budget): une ligne de budget pour la ressource dont la clé est indiquée par `<clé du type de ligne de budget>`. La liste des clés est à obtenir auprès de l'administrateur technique. Les lignes de budget de tous les usagers actuels du ménages sont globalisées, ainsi que les lignes de budget associées directement au dossier ménage;
* `budget.household.charges.<clé du type de ligne de budget>` (Ligne de budget): une ligne de budget pour la charge dont la clé est indiquée par `<clé du type de ligne de budget>`. La liste des clés est à obtenir auprès de l'administrateur technique. Les lignes de budget de tous les usagers actuels du ménages sont globalisées, ainsi que les lignes de budget associées directement au dossier ménage;
### PersonResource (Ressources associée à l'usager)
Pour rappel, les ressources peuvent être:
* des tiers;
* des usagers;
* ou un champ de texte libre.
* `comment` (Comment)
* `freeText` (texte): commentaire, quand la personne ressources un texte libre
* `id` (int)
* `kind` (PersonResourceKind): le type de personne ressources (voisin, etc.)
* `thirdParty` (ThirdParty): le tiers, quand la ressources est liée à un tiers
* `person` (Person): l'usager, quand la ressources liée à un autre usager
* `resourceKind` (texte): un discriminateur qui permet de vérifier si la ressources est lié à un usager (alors égal à `person`, un tiers (`thirdparty`) ou un texte libre (`freetext`). A utiliser dans les conditions dans les documents.
### PersonResourceKind (Type de personne ressource)
* `id` (int)
* `title` (texte)
### Postcode (Code Postal)
* `id` (int): identifiant
* `name` (texte): localité
* `code` (texte): code postal
### Relationship (relations (filiations) entre usagers)
Pour faciliter l'usager, les relations sont toujours représentée à partir d'un usager d'origine.
Les variables présentent le nom de la relation (`text`), et la personne avec qui la relation est formée (`opposite`).
* `id` (int): identifant;
* `fromPerson` (Person): personne d'origine;
* `toPerson` (Person): personne de destination;
* `text` (texte): le titre ou le titre inversé de la `Relation`, selon l'usager d'origine;
* `opposite` (Person): l'usager avec qui la relation est formée;
* `relationId` (int): identifiant du lien de filiation;
**Note**: la différence entre `fromPerson` et `toPerson` est arbitraire.
### Result (résultat d'une action)
* `id` (texte): identifiant
* `title` (texte): le titre du résultat
### SocialAction (type d'action d'accompagnement)
* `id` (texte): identifiant
* `text` (texte): texte, avec les parents inclus, séparés par un ` > `;
* `title`: titre du type d'action, sans les parents;
### Social Issue (problématique sociale)
* `name`: le nom de la problématique seule
* `text`: le nom de la problématique et des problématiques parentes
### ThirdParty (Tiers)
* `id` (int): identifiant du tiers;
* `acronym` (text): acronyme;
* `address` (Adress): adresse du tiers
* `categories` (liste de ThirdPartyCategory): liste des catégories;
* `civility` (Civility): civilité
* `contactDataAnonymous` (bool): `true` si le tiers est anonyme;
* `email` (texte): email;
* `name` (texte): nom du tiers;
* `firstname` (texte): Prénom du tiers;
* `parent` (ThirdParty): tiers parent (pour les contacts)
* `profession` (ThirdPartyProfession)
* `telephone` (texte): numéro de téléphone du tiers
* `kind` (texte): permet de distinguer les personnes morales, les contacts et les personnes physiques (voir ci-après)
* `child` (bool) vaut TRUE s'il existe un parent (contact), false sinon;
* `parent` (ThirdParty): s'il s'agit d'un contact d'une personne morale, contient la fiche d'une personne morale
`kind` vaut:
* `company` lorsqu'il s'agit d'une personne morale
* `child` lorsuq'il s'agit d'un contact d'une personne morale
* `contact` lorsqu'il s'agit d'une personne **physique** (à ne pas confondre avec un contact d'une personne morale)
### ThirdPartyCategory (catégorie de tiers)
* `id` (int): identifiant
* `name` (texte)
### ThirdPartyProfession (profession du tiers)
* `id` (int): identifiant
* `name` (texte)
### User (Utilisateur) { #sec:gendoc-var-user }
* `id` (int): identifant
* `type` (texte): vaut toujours `user`
* `username` (texte): le login
* `email` (texte): l'email de l'utilisateur
* `text` (texte): le libellé complet de l'utilisateur (avec son métier et son service entre parenthèse);
* `label` (texte): le libellé de l'utilisateur, tel qu'il est enregistré par l'administrateur fonctionnel
* `main_scope` (Scope): service principal
* `user_job` (UserJob): métier principal
* `current_location` (Location): lieu de l'utilisateur, celui actuellement choisi par l'utilisateur par le menu "utilisateur";
* `main_location` (Location): localisation de l'utilisateur définie par l'administrateur fonctionnel (parfois appelé "résidence administrative"). L'utilisateur ne peut pas la modifier lui-même;
* `civility` (Civility): la civilité de l'utilisateur;
### UserJob (Métier)
* `id` (int): identifiant
* `label` (texte): nom du métier

Binary file not shown.

BIN
admin/img/generation-document/libre-office-insert-renvoi.png (Stored with Git LFS) Normal file

Binary file not shown.

23
admin/known-limits.md Normal file
View File

@@ -0,0 +1,23 @@
# Limites connues
## Dimensionnement du logiciel et temps de réponse des pages
Chill pourra supporter un très grand nombre d'usagers accompagnés, sans craindre pour les performances.
Des tests ont été réalisés avec plus d'un millions d'usagers enregistrés. L'utilisation du logiciel reste satisfaisante.
Il en ressort cependant que les fonctionnalités de recherche parmi les usagers sont affectées lorsqu'un grand nombre de résultats sont renvoyés par une recherche. Autrement dit, si plusieurs milliers d'usager portent le même nom que celui recherché, alors elle est plus lente à traiter.
Une recherche sur des termes plus long (par exemple, le nom complet plutôt que des parties du noms) est donc plus rapide qu'une recherche par uniquement quelques lettres de ce nom.
Chill est donc plus affecté par l'hétérégonéité des noms des usagers, que par le volume d'usagers, tiers, et contacts enregistrés dans la base de donnée.
A l'heure d'écrire ces lignes (septembre 2021), le travail d'optimalisation des recherches de termes qui renverraient plusieurs milliers d'usagers n'a pas été optimisé.
## Résolution du territoire par usager, et mise en cache
La recherche du territoire de l'usager en fonction de l'adresse est une requête coûteuse. Pour accélérer le chargement des pages, cette information est mise en cache pendant une durée relativement courte, de l'ordre de 30 minutes.
Lorsqu'un ménage change d'adresse, et que la nouvelle adresse est un nouveau territoire, le nouveau territoire ne sera donc pris en compte qu'après ce délai. Cela concerne l'affichage du territoire dans l'interface, mais également les droits des utilisateurs.

12
admin/metadata.yaml Normal file
View File

@@ -0,0 +1,12 @@
---
title: Manuel administrateur de Chill
subtitle: Chill en Vendée
lang: fr-BE
toc: true
page: a4
book: true
header-includes: |
\usepackage{awesomebox}
...

77
admin/start.md Normal file
View File

@@ -0,0 +1,77 @@
# Démarrer la configuration de Chill
A la livraison, Chill ne dispose d'aucune configuration, vous recevez l'instance avec une base de donnée vide.
Voici les premières étapes à configurer pour pouvoir commencer à l'utiliser.
## Se connecter en tant qu'administrateur
Sur la page d'accueil de votre nouvelle instance, utilisez le login d'administration et le mot de passe qui vous a été fourni.
Vous serez alors redirigé vers l'interface d'administration.
## Que faut-il créer ?
### Premier utilisateurs, et les droits minimums
Pour qu'un utilisateur puisse utiliser Chill, voici les opérations à réaliser:
* Créer un Centre.
Choisissez un nom qui représente votre service. Si vous n'en utilisez qu'un seul, il ne sera que très rarement visible des utilisateurs.
* Créer un Cercle;
Si vous choisissez de laisser visibles tous les éléments, il ne sera jamais visualisés par les utilisateurs. Dans le cas inverse, utilisez un nom de service qui soit cohérent avec la séparation que vous voulez réaliser.
* Créer un Groupe de permissions
C'est sans doute la phase la plus complexe: elle vise à créer un groupe de droits cohérents. Chaque droit s'exerce sur un cercle défini.
Si vous choississez de laisser accessibles toutes les informations, indiquez les permissions les plus larges, et le cercle que vous avez créé.
* Créer un utilisateur
Les seuls champs obligatoires sont son nom d'utilisateur (qu'il rentrera pour s'authentifier il n'est pas sensible à la casse), son adresse de courriel et un libellé (le nom qui s'affichera dans tous les menus). Vous devez également indiquer un mot de passe.
Les autres champs sont optionnels.
Une fois créé, associez votre nouvel utilisateur avec le groupe de permission, et le centre.
Avec ces premières étapes, un utilisateur devrait déjà être capable de s'authentifier et, si les droits sont configurés correctement, créer un premier dossier de personne.
### Le nécessaire pour un premier parcours
Continuez pour pouvoir saisir un premier parcours (si vous utilisez cette fonctionnalité):
* Créer un "type de localisation". Le type de localisation permettra d'indiquer le lieu où sera localisé le parcours. Un des types les plus courants est, par exemple, un type "implantation".
Par la suite, vous pourrez créer des types de lieux pour, par exemple, le "domicile de l'usager", "rendez-vous en hôpital", etc.
* Créer une "localisation", que vous allez attacher au "type de localisation" créé précédemment.
* Créer une "Origine" pour les parcours.
Par exemple: "Appel téléphonique", "Rencontre en maraude", etc.
* Créer une première "problématique sociale"
Impossible de confirmer un parcours sans problématique!
* Créer un Métier
Le métier sera nécessaire pour pouvoir confirmer le parcours. Vous pouvez associer le premier utilisateur créé au métier: il sera plus aisément sélectionné.
Vous êtes maintenant en mesure de créer un usager et un parcours!
### Une première activité !
Pour pouvoir créer une activité (tant dans un parcours qu'auprès d'une personne), ajoutez un "type d'activité".
### Une configuration minimale...
Cette première configuration est minimale! Elle suffit pour commencer.
Par la suite, vous pourrez vous plonger dans les différents menus pour alimenter votre instance de Chill et qu'elle soit à votre image.

View File

@@ -1,12 +1,11 @@
#!/bin/sh
set -e
# enter the current directory
cd "$(dirname $0)"
export PANDOC_DIR=pandoc/cl
export PANDOC_DIR="/pandoc/cl"
export files="
src/parcours.md
"
if [ -z $1 ]; then
export target=pdf
@@ -14,38 +13,80 @@ else
export target=$1
fi
if [ -z $2 ]; then
export kind=user
else
export kind=$2
fi
if [ $kind = 'user' ]; then
export files="
intro.md
concept.md
interface.md
search.md
person.md
person-vendee.md
activite.md
document.md
thirdparty.md
menage.md
parcours.md
social_actions.md
notifications.md
tasks.md
workflows.md
adresses.md
gestion-doublon.md
nouveautes.md
"
elif [ $kind = 'admin' ]; then
export files="
start.md
generation-documents.md
"
else
echo "kind '$kind' is not valid";
exit 1;
fi
cd $kind
export ARGS="
--from markdown
--number-sections
--resource-path ./.
--metadata-file ./metadata.yaml
--lua-filter "${PANDOC_DIR}/format-link.lua"
`#--lua-filter "../${PANDOC_DIR}/format-link.lua`
"
export PDF_TEMPLATE="./pandoc/template/eisvogel.tex"
export PDF_TEMPLATE="./../pandoc/template/eisvogel.tex"
export LATEX_ARGS="
--metadata=footer-left:$(date +%d-%m-%Y)
--template "${PDF_TEMPLATE}"
--lua-filter "${PANDOC_DIR}/boxes.lua"
--lua-filter "../${PANDOC_DIR}/boxes.lua"
"
if [ $target == "latex" ]; then
if [ $target = "latex" ]; then
pandoc $ARGS $LATEX_ARGS \
--to latex \
$files;
elif [ $target == "pdf" ]; then
elif [ $target = "pdf" ]; then
pandoc $ARGS $LATEX_ARGS \
--to pdf \
--pdf-engine xelatex \
-o ./user-manual.pdf \
-o "./../$kind-manual.pdf" \
$files
elif [ $target == "html" ]; then
elif [ $target = "html" ]; then
# check target directory exists
if [ ! -d "./build/html" ]; then
if [ ! -d "./../build/html" ]; then
echo "create build/html directory"
mkdir -p "./build/html"
mkdir -p "./../build/html"
fi
pandoc $ARGS \
--to html \
-o ./build/html/index.html \
-o ./../build/html/index.html \
$files
fi

View File

@@ -1,11 +1,21 @@
version: "3"
services:
texlive:
texlive.user:
image: chill_user_manual_build
build:
context: docker/latex
command: ./build-pandoc.sh
command: ./build-pandoc.sh pdf user
# currently hardcoded, sorry
user: "1000"
volumes:
- .:/workdir
working_dir: /workdir
texlive.admin:
image: chill_user_manual_build
build:
context: docker/latex
command: ./build-pandoc.sh pdf admin
# currently hardcoded, sorry
user: "1000"
volumes:

1
screenshot/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
img/*.png

23
screenshot/README.md Normal file
View File

@@ -0,0 +1,23 @@
# Requirements
This script assumes that you have installed wkhtmltopdf.
```bash
sudo apt install wkhtmltopdf
```
# Usage
```bash
python mk_screenshot.py
```
# Authentification
You have to allow `wkhtmltopdf` to authenticate. To do so, get a valid cookie key/value by copying as curl any request to a Chill page in your browser (Go to the network panel, pick a request and "copy as curl").
Then, copy the 'PHPSESSID=57dee6deabd6e0ae75f7a55421fc2427' value (eg: 57dee6deabd6e0ae75f7a55421fc2427) in `COOKIE_VALUE` in the python script.
# Post-processing
Images are too heavy, so they can be resized.

0
screenshot/img/.gitkeep Normal file
View File

View File

@@ -0,0 +1,63 @@
import subprocess
"""
This script assumes that you have installed wkhtmltopdf (sudo apt install wkhtmltopdf)
"""
BASE_URL = 'https://quinquina.champs-libres.be/'
"""
To get a valid cookie key/value, copy as curl a request in your browser:
curl 'https://quinquina.champs-libres.be/_wdt/708fb5' \
-H 'Connection: keep-alive' \
-H 'sec-ch-ua: " Not A;Brand";v="99", "Chromium";v="99", "Google Chrome";v="99"' \
-H 'X-Requested-With: XMLHttpRequest' \
-H 'sec-ch-ua-mobile: ?0' \
-H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36' \
-H 'sec-ch-ua-platform: "Linux"' \
-H 'Accept: */*' \
-H 'Sec-Fetch-Site: same-origin' \
-H 'Sec-Fetch-Mode: cors' \
-H 'Sec-Fetch-Dest: empty' \
-H 'Referer: https://quinquina.champs-libres.be/fr/person/household/376/relationship' \
-H 'Accept-Language: en-US,en;q=0.9' \
-H 'Cookie: PHPSESSID=57dee6deabd6e0ae75f7a55421fc2427' \
--compressed
"""
COOKIE_KEY = 'PHPSESSID'
COOKIE_VALUE = '3232035445fc07851efd717a8f1d687a'
person_id = 2811
personmineur_id = 2821
household_id = 376
notification_id = 126
parcours_id = 2705
URLS = [
'fr/person/new',
f'fr/person/{person_id}/general',
f'fr/person/{person_id}/residential-address/list',
f'fr/person/{person_id}/resources/list',
f'fr/activity/?accompanying_period_id={parcours_id}',
f'fr/person/{person_id}/document/new',
f'fr/person/{person_id}/document',
# f'fr/parcours/{parcours_id}/document',
f'fr/person/household/{household_id}/summary',
f'fr/person/household/{household_id}/addresses',
# f'fr/person/household/{household_id}/relationship',
'fr/notification/inbox',
f'fr/notification/{notification_id}/show',
# f'fr/notification/create?entityClass=Chill%5CPersonBundle%5CEntity%5CAccompanyingPeriod&entityId={parcours_id}',
f'fr/vendee/vendeeperson/{person_id}/infosociopro/view',
f'fr/vendee/vendeeperson/{person_id}/infomedicale/view',
f'fr/vendee/vendeepersonmineur/{personmineur_id}/infofamille/view',
f'fr/vendee/vendeepersonmineur/{personmineur_id}/scolarite/view'
]
for u in URLS:
url = BASE_URL + u
filename = 'img/' + u.replace('/', '_').replace('&', '_').replace('?', '_').replace('=', '_') + '.png'
print(f'fetching {url} ...')
subprocess.run(f'wkhtmltoimage -q --javascript-delay 3000 --cookie {COOKIE_KEY} {COOKIE_VALUE} "{url}" {filename}', shell=True, check=True)

177
user/00000-toc.md Normal file
View File

@@ -0,0 +1,177 @@
# Qu'est-ce que Chill ?
## A quoi ça sert ?
=~ dossier social électronique
### Objectifs
* consigner les informations;
* partager avec les collègues;
* générer des statistiques.
Chill n'est pas un logiciel de statistique. Il est pensé pour être utilisé au quotidien, et générer des statistiques à partir de cette utilisation.
## Comment l'installer
Renvoi à la documentation technique
## Comment l'administrer ?
Renvoi à la documentation administrateur
# Survol des concepts dans Chill
Les trois domaines dans Chill.
Chaque domaine est caractérisé par son bandeau, et son menu.
<!-- ici, c'est un survol. renvoi vers les parties plus détaillées -->
## Fiche usager
## Fiche ménage
## Fiche parcours
# L'interface générale
## Boutons et codes couleurs
<!-- récapitulatif des boutons et codes couleurs -->
* vert: ajouter / créer
* bleu (oeil): voir
* etc.
<!-- voir la première page du manuel fait par SB -->
### select2js et multiselect
## Menu section
## Menu utilisateur
# Moteur de recherche
## Recherche directe
Possibilité de recherche par date de naissance, numéro de téléphone, etc.
## Recherche avancée
# Fiche usager
## Créer un usager
## Détails de l'usager
## Quelle adresse pour un usager ?
Différence entre les adresses de résidence et les adresses d'un ménage.
## Personnes ressources
## Adresses de résidence
## Historique
## Traiter les doublons
## Autres entrées dans le menu personne
Renvoi vers les partie ad hoc:
* activité
* rendez-vous
* documents
# Activités (échanges)
## A quoi ça sert ?
## Activité dans les personnes ou les parcours ?
## Créer et modifier une activité
## Effets de la sélection des problématiques ou des actions sur les parcours
# Documents
## A quoi ça sert ?
## Ajouter un document
## Générer un document
# Rendez-vous
TODO
# Tâches
## Principes des tâches
### Statuts sur les tâches
### Tâches en rappel, tâches arrivées à échéance
## Créer une tâche
# Parcours
## Qu'est-ce qu'un parcours ?
### Les étapes d'un parcours: brouillon, confirmé, etc.
### Problématiques et actions
### Parcours confidentiels
### Parcours réguliers et ponctuels
## Créer un parcours
## Commentaires dans les parcours
## Actions d'accompagnement
### Evaluations et objectifs
## Cloturer un parcours
# Ménages
## Qu'est-ce qu'un ménage ?
### Les positions dans le ménage
<!-- attention, les positions "enfants hors ménage", etc., c'est de la configuration -->
## Ajouter des membres au ménage, quitter un ménage, rejoindre un ménage
## Filiations
## Composition familiale
# Notifications
## Créer une notification
## Discuter dans une notification
# Workflows
## Créer un workflow
## Ajouter une décision à un workflow
## Rejoindre un workflow par un lien d'accès
# Activité annexes
# Choisir une adresse

47
user/English/activity.md Normal file
View File

@@ -0,0 +1,47 @@
\newpage
# Activities (exchanges)
<!-- en/activity/?accompanying_period_id={id} -->
![List of exchanges related to a course](user/img/en_activity__accompanying_period_id_2705.png)
Activities (or exchanges) in Chill are used to record activities or exchanges that have taken place and to link them to users and/or support pathways. By activity, we mean an individual interview, an approach via an external
partner, a telephone call relating to the person, an e-mail, etc.
The information to be encoded is different according to the type of activity.
For example, for a telephone call, you can specify the duration of the call, the caller and take a note. For a meeting, you can associate a location (the place where the meeting took place), the parties present at the meeting, notes, documents, etc.
In this way, this information can be centralised and then easily shared between the social workers.
The types of activities and their corresponding fields (location, duration, travel time, documents, presence of the person, users, etc.) can be configured in the administration area.
## Activity in persons or trajectories?
The activities can be encoded in the person or in the support path. It is up to you to choose whether to encode activities in the context of a support pathway or in the context of a person. However, as soon as a person is mentioned in an activity, this activity can be found in the list of activities of the person.
Example: In the support path of the user Gabrielle Durant, I create an activity concerning an email where I also mention another user encoded in Chill: Dominique Duchemin. The activity will be visible in Gabrielle Durant's support path, but also in her user file and in Dominique Duchemin's file.
We can therefore access the list of activities of a person via the "user" menu and the list of activities of a support path via the "support path" menu.
## Create and modify an activity
In the list of activities, click on the "Create" button to create a new activity. First choose the type of activity/exchange, then fill in the relevant information. If the activity has been created in a pathway, the social issues and related support actions will be filled in. Depending on the type of activity, you will be able to fill in the parties involved, the date, the location, the duration of the activity, the possible travel time (in case of a trip), documents, the subject, a free note, etc.
The subject is taken from a predefined list, established in the administration area of the software.
Any type of document can be added to an activity: a text document, a pdf, a photo, etc.
The parties involved, users, third parties or users (social worker), are added by searching for people already encoded in Chill or by creating them on the fly. If the activity has been created in a pathway, you can easily add parties involved by clicking on the proposed names. The proposals are based on the parts mentioned in the accompanying course.
::: { .info }
It is possible to transform an appointment into an activity. (TODO)
:::
Users can create a [private comment](./private_comments.md) per activity, which will only be seen by them.
Once an activity has been created, it is always possible to modify it to make corrections or additions.
## Effects of the selection of issues or actions on trajectories

View File

@@ -0,0 +1,33 @@
/newpage
# Side activities
To allow a user to also keep track of activities that are not directly related to a support trajectory or to a person, there is a side activity section.
A side activity could be a team meeting, a training, but also a phone call or email.
## Listing page
<!-- /fr/asideactivity -->
A user can navigate to his/her list of side activities from within their user menu by clicking on <**My side activities**>. Similar to other sections of the Chill app, you will find here a list that offers a first quick overview of each activity. You can view the activity in more detail, edit, or delete it.
## Creating a side activity
<!-- /fr/asideactivity/new -->
![Creation aside activity](/user/img/new_aside_activity.png)
The form fields of a side activity are self-explanatory. It is important to note however that a user can create a side activity for another user. Multiple users can also be linked, think of a meeting for example.
A side activity can be created for the future, but they can also still be created for activities that already took place. As such it shouldn't be seen as a planning tool, but more to keep record of side activities.
All fields are required, except for any additional note you might want to add.
## Detail page
<!-- /fr/asideactivity/{id}/view -->
Within the detail page the most important thing to note is the option to **duplicate** a side activity. For example, a meeting that is held weekly with more or less the same people can therefore easily be duplicated, while still allowing modifications to be made.

View File

@@ -0,0 +1,13 @@
# Bulk reassign support trajectories
The need may arise for the support trajectories followed by one user to be reassigned to another user. Example cases could be a user being absent for an extended amount of time, switching functions, etc.
For such situations a functionality has been provided to reassign support trajectories in bulk to another user.
To make use of this functionality the user can click on 'Trajectories per user' in the section menu.
A first select field will be visible. Use this to select the user whose trajectories have to be reassigned. A complete list of the trajectories will be provided.
In a second step the user to whom the trajectories on the current page have to reassigned can be selected. Clicking on the button 'reassign' will complete this action and show the remaining trajectories. The action can be repeated.
Each individual trajectory is displayed with the edit button, allowing it to be individually reassigned within the trajectory edit form. Navigate to the [referrer](./support_trajectory.md#referrer) section to reassign this trajectory. During a bulk reassign this trajectory will no longer be taken into account, as it no longer belongs to the initial user.

View File

@@ -0,0 +1,3 @@
/newpage
TODO: translate from french

98
user/English/household.md Normal file
View File

@@ -0,0 +1,98 @@
/newpage
# Households {#sec:household}
## What is a household?
A household is a set of users living 'under the same roof'. This can be members of a family, members of a blended family, members of a foster family, etc.
<!-- Living "under the same roof" OR living at the same address? -->
A household is characterised by an address, which corresponds to the home address of its members. This address can change (in case of a move): it is therefore defined between a start date and an end date and there may be a history of household addresses. Similarly, a user may change household and have a history of households.
## Household summary
<!-- /en/person/household/{household_id}/summary -->
![Household Summary](user/img/en_person_household_376_summary.png)
The household summary page is accessed via the "person" menu or by clicking on the household icon in the person search. The household summary page shows the current household address, the household members and the composition of the household.
The household address history can be accessed in the household menu under the heading "Address history". The address history shows all successive household addresses and allows for additions.
<!-- /en/person/household/{household_id}/addresses -->
![Household address history](user/img/en_person_household_376_addresses.png)
A list of the household's trajectories can also be displayed by clicking in the household menu on <**trajectories**>.
### Create a household
If there is no household in the list of households for a user, then the software allows you to create a new household. At this stage, you can create a new household or join an existing one. The software will automatically propose possible households by making some suggestions.
#### Which households are suggested?
The software tries to establish links between the persons concerned by the change of household, and other households.
The links made are as follows:
* For each person affected by the change, the software checks whether he or she is present in another support trajectory, with other persons. If these persons are themselves associated with a household, then the software proposes to join that existing household.
* The software also examines the location of the support trajectories in which the person, concerned by the change, is located. If a support trajectory is located at a reference address, the software looks to see if there are other households living at that address. If it finds any, these households will also be suggested.
At this stage, you can enter an address; this will immediately locate the created household. The software will suggest you to re-use known addresses.
#### Which addresses are suggested?
The software suggests you to re-use the temporary location of the support trajectories associated with the household members.
For each person who is going to "change household", the software examines whether he is currently associated with a trajectory. If this trajectory has a temporary address, then this address will be included in the suggestions.
### Join a household
There are several possible ways of getting a person to join a household:
- when creating a social trajectory for a person who is not in a household, the software suggests that he/she should join a household. The action then positions him/her in a household, whether it is an existing household or one to be created.
- When you are on the household summary page, you can always search for and add a person. To do this, use the "Add a member" button at the bottom of the page.
### Positions in the household
<!-- note that the positions "children outside the household", etc., are configurations -->
Each member of the household is detailed in the "household summary" page. The person can have a certain position in the household: adult or child, as well as being the owner of a household. At any time it is possible to remove a person from a household, or to reposition him/her in the household (e.g. to make him/her the owner).
If necessary, it is also possible to view a former membership, i.e. a person who used to belong to the household but is no longer part of it.
## Add members to the household, leave a household, join a household
At the bottom of the household summary page, the <**Add a member**> button allows you to add a user to the household. When clicking on this button, in the following pages, one can:
- add one or more existing persons, or create new ones;
- position each person in the household, i.e. specify whether he/she is a child or an adult, and possibly qualify him/her as a household member;
- enter the date when the person joins the household, and possibly a comment;
- and, finally, save.
In the list of household members, using the buttons on the right, one can
- leave the household: in this case, the person can join another household or leave without joining a household. Again, a change date is encoded.
- reposition the member: i.e. change the position (adult, child, ...) of the member.
- fill in the membership: i.e. change the date and the comment of the change
## Affiliations
<!-- /en/person/household/{household_id}/relationship -->
![Affiliations of a houshold](user/img/menage_filiations.png)
The "affiliations" page provides an overview in graph form of the affiliations within a household, i.e. the relationships between its members. This page allows not only to view the relationships but also to edit them. By clicking on <**Create a relationship**>, then selecting 2 persons, it is possible to define the relationship between these 2 persons: mother/father-daughter/son, brother/sister-brother/sister, uncle/aunt-nephew/niece.
In addition, the graph also shows the support trajectories associated with each household member. By displaying the trajectory, persons who may be linked to these trajectories, but belong to other households can be displayed. The elements of the graph can be moved by clicking and dragging. Finally, the graph can be exported as an image.
In short, this page summarises a household and its relationships in an easy-to-understand diagram.
## Family composition
The family composition is a qualification of the household as a household type, e.g. couple with children, couple without children, single mother, single woman, etc. This composition is valid until a certain date and with a maximum of one year.
As with the addresses of a household, it is possible to view the history of the composition of a household.

View File

@@ -0,0 +1,9 @@
---
title: Chill user manual
lang: en-EN
toc: true
header-includes: |
\usepackage{awesomebox}
...

View File

@@ -0,0 +1,38 @@
\newpage
# Notifications
<!-- en/notification/inbox -->
![Notification inbox](user/img/en_notification_inbox.png)
Notifications are messages sent by one user to one or more others. The purpose of notifications is to quickly exchange information about ongoing social cases between social workers. For example, notifications can be used to inform a caseworker about a case.
They can be accessed either from the Chill homepage, under the "My notifications" tab, or anywhere in the application via the "user" menu at the top right of the screen. Depending on the configuration chosen by the software administrators, notifications are also sent by email to the social worker concerned.
## Create a notification
<!-- en/notification/create?entityClass=Chill%5CPersonBundle%5CEntity%5CAccompanyingPeriod&entityId=2705-->
![Create a notification](user/img/notification_parcours.png)
Notifications can be sent from several places in the software. A notification consists of a subject (such as an email), one or more recipients, a message and the information from which the notification is sent. For example, when sending a notification as part of a course, the general course information is also copied.
It is possible to send a notification:
- from the summary page of a support trajectory
- from an activity/exchange
Notifications sent, for example, from a support trajectory, are listed in the trajectory summary.
<TODO: Are there any other places where notifications are used? -->
In addition, there are notifications that are automatically sent when certain actions are taken.
## Discuss in a notification
<!-- en/notification/{notification_id}/show -->
![Discussion in a notification](user/img/en_notification_126_show.png)
When a notification is received, it is possible to start a discussion with the recipient in the notification page. This allows messages to be left between workers, as in an online chat system.
In the list of notifications, when you click on a notification, you can unfold the content of the notification and access the discussion with the "View associated comment thread" icon.

98
user/English/person.md Normal file
View File

@@ -0,0 +1,98 @@
\newpage
# Person file {#sec:person}
The person file contains all the information specific to the person: surname, first name, contact information, addresses, etc. It is the basis of the person's electronic social file.
It can be accessed by searching for a person on the homepage or in the toolbar. It can also be accessed from other pages by clicking on a person's name and then clicking on "Open person file".
<!-- TODO a déplacer vers une autre section, sur le concept de l'usager? -->
A person can be part of one or more households. For each person, it is possible to define support trajectories. Finally, each person is linked to exchanges in which the person is involved.
## Create a person
<!-- fr/person/new -->
![Create a person](user/img/fr_person_new.png)
To add a person, click on "Sections" > "Add a person", in the top toolbar.
In the creation page, enter the requested information. Only the surname, first name(s) and gender are mandatory. Then click on "Create person". You can then choose between simply creating the person, creating the person and associating him/her with a household or creating the person and creating an associated support trajectory.
::: { .info }
Please note that there is a standard format for entering telephone numbers. Enter your numbers without spaces, "/" bars or "-" dashes.
<!-- TODO d'autres contraintes sur les numéros de tel? -->
:::
## Person detail page
<!-- fr/person/{id}/general -->
![Person detail page](user/img/fr_person_2811_general.png)
The person record contains all the detailed information of the person, namely:
- surname, first name(s), gender;
- nationality, languages spoken, number of children, marital status
- date and place of birth;
- contact information.
This information can be filled in as you go along, or left blank. At the bottom of the page, the "Edit" button allows you to edit this information. Remarks can also be added.
Some of this information is recalled in the person's banner and in other places in the software when the person's name is clicked on.
## Person addresses
Chill supports two types of addresses:
* home addresses, which are the permanent, official addresses of a person (home address);
* residence addresses, which are temporary addresses of a person, at which he/she resides only for a certain period of time, and which is not intended to be official.
Therefore, the official address is not attached directly to a person, but to his or her household. Only residential addresses can be entered in the person's file.
## Home address
<!-- /fr/person/{id}/residential-address/list -->
![Person home address](user/img/fr_person_2811_residential-address_list.png)
Each person can have one or more home addresses. These are accessed by clicking on "Home addresses" in the right-hand menu.
These addresses are not supposed to be official home addresses, declared to the authorities. They are, for example, a temporary residence in a nursing home, accommodation with an acquaintance or friend for a specific period of time, etc.
When adding a residence address, there is a choice between
- taking an address from another person (from another person);
- taking an address from a third party;
- create a new address [address](#sec:choose-an-address).
## Resource persons
<!-- /fr/person/{id}/resources/list -->
![resource persons](user/img/fr_person_2811_resources_list.png)
Resource persons are other persons or third parties associated with the person's file. A contact person may be a friend or neighbour (another person), a health professional (a third party), etc. Other members of the person's household should be entered in the "household" section instead. If the contact person is not encoded, he/she can also be added as a free description.
<!-- ## Historique
<!-- /fr/person/{id}/timeline
TODO -->
## Treating doubles
<!-- /fr/person/{id}/duplicate/view -->
It is possible that a person has been encoded more than once. The "Dealing with duplicates" page allows you to identify and deal with possible duplicates of a person. The page lists persons with similar names and suggests merging them.
::: { .info }
This page is used to process duplicates, but Chill also automatically detects potential duplicates when encoding a new person.
:::
## Other person menu entries
There are several entries in the person menu that link to other parts of the software, keeping the link to the person. These entries are:
* Support trajectories: list of the trajectories in which the person is involved;
* Activities (or exchanges): list of activities in which the person is involved;
* Documents: list of documents in which the person is involved;
* Tasks: list of tasks in which the person is involved;
* Households: management of the person's household.

View File

@@ -0,0 +1,7 @@
## Private comments
Private comments can be created for [activities](./activity.md#create-and-modify-an-activity), [social actions](./social_actions.md#private-comment) and appointments.
Each user can post one private comment per item (eg. per activity). This comment can of course be edited within the edit forms of the concerning item.
Naturally, users can only see their own private comments and not those of other users.

10
user/English/search.md Normal file
View File

@@ -0,0 +1,10 @@
\newpage
# Recherche
In the top banner, there is a person search bar. You can search for persons by surname and first name, the search engine being tolerant of different spellings. For example, if you search for "Mathieu", you will also find first names corresponding to "Matthieu".
If you have not found the person, you can click on the "Advanced search" button. In the advanced search page, you can search on the basis of date of birth, a fragment of telephone number, etc.
![Advanced search for a person](user/img/advanced_search.png)

View File

@@ -0,0 +1,75 @@
/newpage
# Social support actions
Social support actions are actions taken within a trajectory and concerning a certain social issue.
Social support actions are easily recognizable throughout the application by the orange title banner.
__note__: Social actions can only be created for **confirmed** trajectories.
## Listing page
<!-- /fr/person/accompanying-period/{id}/work -->
![social_action](/user/img/action_accompagnement.png)
Similar to many other sections within the Chill application, a list of social support actions can be found by clicking on <**social support actions**> in the yellow side-menu of a trajectory.
A concise overview of important information is given for each action in the list.
So long a trajectory is in the **confirmed** state each action can be modified, deleted or a [workflow](/user/English/workflow.md) can be created.
## Creating a social support action
<!-- /fr/person/accompanying-period/{id}/work/new -->
To create a social support action a user will be guided through several steps,
1. Pick one social issue. If the concerning social issue is not amongst the provided choices the user can add it by selecting it from the dropdown menu.
2. Pick a social action. All actions displayed are linked to the previously selected social issue.
3. One or more concerning persons can be selected.
4. Specify a start date.
5. Specify an ending date (optional).
## Modifying a social support action
Once a social support action has been created it is not considered to be a static recording. The modification form allows for much more information to be added in later stages so as to make it a 'working document'.
### Comment
Here the user is free to give whatever extra information necessary.
### Private comment
Users can create a [private comment](./private_comments.md) per social action, which will only be seen by them.
### Motives and goals
Social support actions are never random. They are taken with certain motives or to attain a certain goal.
By clicking on a badge (+) within the dropdown menu of this section, the user can add the motive or goal of the action. By clicking on it again (-) it can be removed.
Multiple goals can be selected.
### Results or outcome
Once a motive or goal is identified it is also possible to specify a result or outcome of the action concerning this specific goal. Similarly they can be selected from a dropdown menu and removed again.
Multiple outcomes can be selected.
### Evaluations, forms or correspondence
Multiple evaluations or forms can be added to a social support action. It is specified which evaluation can be started and clicking on the badge (+) will open a form for the user to fill in.
The form allows a starting date, due date and ending date to be set, as well as a reminder. An extra comment box can be used to give more details and a [document](/user/English/documents.md) can be generated or uploaded.
### Concerned persons
Concerned persons within the trajectory are listed here and the user can select who was involved in this specific social support action.
### Treating thirdparties
If an external partner executed the social action, they can be identified here.
Think of them as the main actor.
### Intervening thirdparties
These are external partners that participate(d) in the social action, but are not the main actors.

View File

@@ -0,0 +1,195 @@
/newpage
# Social support trajectory
Providing meaningful social support is often an intricate combination of goals, actions, involved actors, documents, etc... With its social support module, Chill aims to give it's users a tool which they can keep track of trajectories.
You can look at it as the third big module within the application. Like the person and household modules it can be easily identified by the banner at the top of the screen.
![Trajectory banner](/user/img/banner_course.png)
## Trajectory overview
![Trajectory dashboard](/user/img/parcours_dashboard.png)
<!-- /fr/parcours/{id} -->
The overview page assembles the most important information and latest activity within a trajectory, allowing you to take certain quick actions like clicking on associated person badges, linked activities or social actions, sending a new notification, etc...
In short it is the trajectory dashboard from where you can navigate to specific sections.
## Creation of a social support trajectory
<!-- /fr/parcours/{id}/edit -->
A new trajectory can be created from the section menu. Doing so will direct you to a blank trajectory form for you to fill-out.
> Sections > Create a new trajectory
A trajectory can also be created from within a person file and will immediately link it to this person. You will see the person added in the first section **concerned persons**
> Yellow person menu > Trajectories > Create a trajectory button
### Different states of a trajectory
It is important to distinguish three main states for a trajectory. A badge can be found in the top right corner of the banner or list-item to identify this state.
* **DRAFT**: the trajectory form has missing information and can therefore not be confirmed (badge color: gray) *
* **CONFIRMED**: all required information has been provided and further actions, activities,... can be added (badge color: dark blue).
* **CLOSED**: the social support trajectory has come to closure, the reason can be defined (badge color: red).
Within your user menu you will find a menu entry to direct you to,
* a listing page of **all** the trajectories to which you are the referrer.
* a listing page of all your **DRAFT** trajectories (ones you created, but have not yet confirmed).
While the above three are considered the main states, there are additional properties that distinguish the state of a trajectory. They are the following,
* **Confidential**: A confidential trajectory can only be viewed by the referrer. Other users will not have access to it's information.
* **Intensity**: TODO The intensity can be set to *regular* or *punctual*
* **Emergency**: This state can be toggled when urgent actions are required within this trajectory.
### Required information
The information required to **confirm** a trajectory is the following:
* It is linked to at least one [concerned person](#concerned-person).
* It has at least one linked [social issue](#social-issue).
* It is assigned to at least one [service](#service).
* It has to be [localised](#trajectory-localisation).
![Confirm trajectory](/user/img/parcours_confirm.png)
All of these requirements are listed at the bottom of the form when you have failed to fulfill them. This serves as a reminder to what you should do in order to confirm the trajectory.
### Concerned person
![Concerned persons](/user/img/concerned_persons.png)
A trajectory can be put started to provide support to multiple persons (eg. support is given to a mother and her two children).
### Trajectory localisation
![Localisation](/user/img/parcours_localisation.png)
Every trajectory **has** to be localised and this can be done in one of two ways.
1. You can indicate a temporary address by clicking the designated button. The address will not automatically be adapted when a concerned person moves. Therefore a message is displayed to remind you as a user that the second option, here listed, is preferable.
2. You can link it to a concerned person's **home address** by clicking the map-marker icon in the concerned persons section. If the person moves it will also be automatically adapted within the trajectory.
__Note__: While a trajectory is linked to a concerned person's address...
* it is not possible to dissociate this person from the trajectory.
* the person cannot be moved from a household without indicating another address.
#### Why localize a trajectory ?
Localising a trajectory allows for the following:
* The automatic assignment of a referrer.
* Inclusion in the list of trajectories to be discussed within meetings held by concerning services.
* The generation of localised statistics.
* The management of access rights.
#### Locate the trajectory with a concerned person
If a concerned person has an address, it is possible to locate the trajectory with this person.
When a trajectory is located with a person:
* the trajectory "follows" the person's address when he moves;
* it is not possible to dissociate the concerned person from the trajectory;
In addition,
* the person cannot leave the trajectory as long as the trajectory is located near him/her
* the person cannot leave the household without leaving an address, as long as he/she is located with at least one trajectory.
#### Temporary location
A temporary address may be assigned to a trajectory.
In this case, this location is associated with the route, and will not be automatically changed if a person moves. To avoid this situation, a warning message reminds persons that it is preferable to indicate a real location for the trajectory.
### Origin of the application for support
Within this section you will find a pre-defined list of possible origins (eg. the application was done by telephone)
### Administrative location
The administrative location is the place where the trajectory is processed. This is useful for organisations with several different locations.
### The applicant
This can be an already existing person/thirdparty or a new applicant can be created from within the search modal. Click on the button <**create 'your-search-name'**> to do so.
### Social issue
Using the dropdown menu multiple social issues can be identified. Link at least one to be able to confirm the trajectory.
### Services
Identify at least one service that is concerned with this trajectory. Multiple services can be selected. This will have an impact on who has the right to access the trajectory files.
### Referrer
The referrer is the colleague to whom you can refer yourself concerning this trajectory. They are responsible for the follow-up and they have specific rights linked to the state of the trajectory.
* They can mark it as confidential.
* They can mark it as urgent.
* They can change the intensity.
__Note__: These three states cannot be modified if a trajectory does not have a referrer assigned.
Likewise a referrer cannot be removed from a confidential trajectory.
### External partners
A trajectory is setup to provide support to one or more concerned persons. Naturally, there may also be one or more thirdparties or persons involved to offer this support. These partners can be added in this section by searching for their name.
When a partner does not yet exist they can be created from within the search modal by pressing the button **<create 'your-search-name'>**.
<!-- ## Trajectory history
<!-- /fr/parcours/{id}/history
TODO -->
## Social support actions
<!-- /fr/person/accompanying-period/{id}/work -->
When a trajectory is confirmed (i.e., it is in the state "Confirmed"), it is possible to add social actions to this trajectory. These are the actions that are taken to realize the support. Please read the documentation about [social actions](/user/English/social_actions.md) for in detail information.
## Comments
<!-- /fr/parcours/{id}/comments -->
Comments can be added to a trajectory to notify co-workers of additional information for which there may not be a designated section. A comment can be **pinned** to the trajectory dashboard by clicking on the flag icon.
__note__: Only one comment can be pinned to the dashboard, but all comments will remain available within the comment section to view,modify, re-pin, or delete.
## Tasks
<!-- /fr/task/single-task/by-course/{id} -->
Just as within the person module, tasks can be created and assigned within a trajectory. Please read the documentation about [tasks](/user/English/tasks.md) for in detail information.
## Documents
<!-- /fr/parcours/{id}/documents -->
Just as within the person module, documents can be attached to a trajectory. The only difference here is that a trajectory document can also be generated from a template. This template can be selected from the dropdown menu.
Please read the documentation about [documents](/user/English/documents.md) for in detail information.
## Close a trajectory
<!-- /fr/parcours/{id}/close -->
At any time a trajectory can be closed by clicking on the sidebar menu entry **<close trajectory'>**.
You will be taken to a small form in which you can specify the date of closure and the reason.
## Re-open a trajectory
When a trajectory is closed the menu will adapt itself to offer the user the possibility to re-open it. No further actions are required after clicking this button.

43
user/English/tasks.md Normal file
View File

@@ -0,0 +1,43 @@
/newpage
# Tasks
## Listing page
<!-- /fr/task/single-task/by-course/{id} -->
Clicking on the <**task**> menu entry in the person or trajectory side-menu will bring you to the listing page.
Here you have an overview of all tasks related to this particular person or trajectory.
At the top of the list you find a searchbar and several filtering options,
* Future tasks or tasks without due date
* Tasks that are almost due
* Tasks with a passed due date
* New tasks
* Tasks that are in progress
* Closed tasks
* Removed tasks
Listed tasks are displayed with their title, a badge identifying the state in which the task can be found (new, in progress, closed,...) and their starting date, date on which a reminder will be sent and their due date. Your task reminders can be found on the homepage widget, or displayed in your user menu.
A separate user menu entry will take you directly to a listing page of all your tasks that have surpassed their due date and have not been closed. This menu entry is easily identifiable by the exclamation mark triangle (!).
## Creating a new task
<!-- /fr/task/single-task/new -->
![Creation task](/user/img/new_task.png)
To create a new task you will be given a form to fill in.
The fields are self-explanatory but do note that only the title is required.
## Detail page
<!-- /fr/task/single-task/{id}/show -->
You can view the task in more detail by clicking on the **eye** icon button. On the detail page you will see the description of the task, but also the task history. The history gives you an overview of state changes and who undertook them on which day. This allows users to easily keep track of tasks.
Within the detail page, as well as in the listing page you have the ability to navigate to an edit page where you can modify the task. A task can also be deleted and it's current state can be changed using the dropdown button <**change state**>.

View File

@@ -0,0 +1,59 @@
/newpage
# Thirdparty
Within the context of social support you will most likely work together with plenty of professional external partners.
Chill allows you to easily link them to a user and their social support trajectory, giving you a complete overview of each partner involved.
All thirdparty information can be consulted by going to the section menu in the top-right corner and selecting **thirdparties**.
At the top of the list a searchbar allows you to easily find the thirdparty you are looking for on the basis of their name.
## Create a thirdparty
At the bottom of the page you will find the button to create a new thirdparty.
In doing so you will see a distinction being made between creating a thirdparty as a **legal entity** or a **natural person**.
Choose 'legal entity' if you want to add a thirdparty that is, for example, a doctor's practice or an organization.
A 'natural person' would be any professional person that you would like to add as a thirdparty, eg. a psychologist.
It is important to note that within a **legal entity** you can add **contacts**.
These are most likely individual professionals working within the organization or associated with it.
----------
### Legal entity
![Legal entity](/user/img/thirdparty_morale.png)
Creating a **legal entity** takes you to a form which you can complete with the following information.
* **Name**
* **Acronym** (eg. CPAS)
* **Service/department**: you can target a specific department or service within the larger entity (eg. elderly support).
* **Contact information** (phonenumber, email)
* **Address**:
Aside from adding a complete address there are two options to take into account.
> **Incomplete address**: In choosing to enter an incomplete address you will only specify a general location (town or city).
> **Confidential**: The address can be identified as confidential. (eg. the address of a safehouse should not be readily viewable. It will be blurred in overview pages and you will have the option to reveal it.)
* **Contacts**: Contacts are natural persons associated with the legal entity. You can specify their title and role within the entity and add their contact information. As with the address above there is an option to make it a confidential contact. Their information will thus be blurred throughout the application and can be revealed when needed. Each contact can be deleted individually and these changes will be saved when saving the entire entity.
![Thirdparty contact](/user/img/thirdparty_contact.png)
* **Comment**
* **Active/inactive**: a thirdparty can be set to inactive (eg. they are no longer operational).
---------
### Natural person
A natural person is a thirdparty that stands on it's own. Although a thirdparty contact is in fact also a natural person, they are two distinct entities in Chill.
Within the form the following can be specified,
* **Civil title** (eg. Mrs., Mayor, ...)
* **Name**
* **Professional role** (eg. secretary, nurse)
* **Support category**: the category under which their services fall.
* **Contact information**: phonenumer, email, address. Contact information can be identified as confidential.
* **Comment**
* **Active/Inactive**

3
user/English/workflow.md Normal file
View File

@@ -0,0 +1,3 @@
/newpage
TODO translate from french

11
user/_a-classer.md Normal file
View File

@@ -0,0 +1,11 @@
## Fonctionnement du moteur de recherche des tiers:
Le moteur de recherche des tiers dans "add person" permet d'effectuer des recherches sur les noms des tiers, les acronymes, et leur service. Il classe également les plus pertinent, en tenant compte éventuellement du nom de la localité du tiers, s'il possède une adresse.
Le moteur sélectionne d'abord les tiers sur base du nom, de l'acronyme ou du nom du service. Lorsqu'une recherche comporte plusieurs mots (séparés par un ou plusieurs espaces), il sélectionne les tiers dont le nom, l'acronyme ou le nom du service contient un de ces mots seulement.
Le moteur affiche les résultats les plus pertinents en premier. Il classe en premier les tiers dont le mot recherché correspond à un des mots du nom, de l'acronyme, ou du nom du service, **ou de la localité du tiers**. Cela permet donc de présenter en premier les tiers dans une localité particulière.
Ainsi, si une recherche est effectuée avec les termes `ADMR roche`, tous les résultats dont l'acronyme est ADMR sont renvoyés. Cependant, les tiers dont la localité est La-Roche-Sur-Yon seront considérés plus pertinents (ils disposeront de deux mots qui correspondent (`admr` et `roche`) plutôt qu'un seul); ils seront donc présentés en premier.

45
user/activite.md Normal file
View File

@@ -0,0 +1,45 @@
\newpage
# Activités (échanges)
<!-- fr/activity/?accompanying_period_id={id} -->
![Liste des échanges liés à un parcours](./img/fr_activity__accompanying_period_id_2705.png)
Les activités (ou échanges) dans Chill servent à consigner des activités ou des échanges ayant eu lieu et de les associer à des usagers et/ou à des parcours d'accompagnement. Par activité, nous entendons un entretien individuel, une démarche via un
partenaire extérieur, un appel téléphonique relatif à la personne, un courriel, etc.
Les informations à saisir sont différentes selon le type d'activité. Par exemple, pour un appel téléphonique, on peut spécifier
la durée de l'appel, l'interlocuteur et prendre une note. Pour une réunion, on peut y associer une localisation (l'endroit où a eu lieu la réunion), les parties présentes à la réunion, des notes, des documents, etc.
Ainsi centralisées, ces informations peuvent ensuite être facilement partagées entre les travailleurs sociaux.
Les types d'activités et leurs champs correspondants (localisation, durée, durée du trajet, documents, présence de la personne, usagers, etc.) sont configurables dans l'espace d'administration.
## Activité dans les personnes ou les parcours ?
Les activités peuvent être enregistrées à la personne ou bien au parcours d'accompagnement. C'est à vous de choisir de saisir des activités dans le cadre d'un parcours d'accompagnement, ou bien dans le cadre d'une personne. Toutefois, dès lors qu'une personne est mentionnée dans une activité, on pourra retrouver cette activité dans la liste des activités de la personne.
Exemple: Dans le parcours d'accompagnement de l'usager Gabrielle Durant, je crée une activité concernant un courriel où je mentionne également un autre usager enregistré dans Chill: Dominique Duchemin. L'activité sera visible dans le parcours d'accompagnement de Gabrielle Durant, mais aussi dans sa fiche usager et dans celle de Dominique Duchemin.
On peut donc accéder à la liste des activités d'une personne via le menu "usager" et à la liste des activités d'un parcours d'accompagnement via le menu "parcours d'accompagnement".
## Créer et modifier une activité
Dans la liste des activités, cliquer sur le bouton "Créer" pour créer une nouvelle activité. Choisissez d'abord le type d'activité/échange, puis remplissez les informations utiles. Si l'activité a été créée dans un parcours, on y renseignera les problématiques sociales et les actions d'accompagnement liées. Selon le type d'activité, vous pourrez renseigner les parties concernées, la date, la localisation, la durée de l'activité, la durée éventuelle de trajet (dans le cas d'un déplacement), des documents, le sujet, une note libre, etc.
Le sujet est pris dans une liste prédéfinie, établie dans l'espace d'administration du logiciel.
Tout type de document peut être ajouté dans une activité: un document texte, un pdf, une photo, etc.
Les parties concernées, usagers, tiers ou utilisateurs (travailleur social), sont ajoutés en recherchant les personnes déjà enregistrées dans Chill ou en les créant à la volée. Si l'activité a été créée dans un parcours, vous pouvez facilement ajouter des parties concernées en cliquant sur les propositions de noms. Les propositions se font sur base des parties mentionnées dans le parcours d'accompagnement.
<!-- ::: { .info }
Il est possible de transformer un rdv en activité. (TODO)
::: -->
Lorsqu'une activité a été créée, il est toujours possible de la modifier pour y faire des corrections ou des ajouts.
<!--
## Effets de la sélection des problématiques ou des actions sur les parcours -->

66
user/adresses.md Normal file
View File

@@ -0,0 +1,66 @@
\newpage
# Gestion des adresses
## Choisir une adresse {#sec:choisir-une-adresse}
Que ce soit dans un ménage, dans un tiers ou encore pour localiser un échange, il y a plusieurs endroits où vous pouvez saisir une adresse dans Chill.
### Création d'une d'adresse
Lorsque le formulaire d'adresse s'ouvre, vous pouvez soit sélectionner une adresse "de référence", soit en saisir une nouvelle. Il est en effet possible de pré-charger une liste d'adresses de référence provenant de sources officielles dans Chill. Suivant votre installation, cela a peut-être été fait pour votre région, votre département ou le pays entier.
![Création d'une d'adresse](./img/choisir-une-adresse.png)
La case à cocher "Adresse confidentielle" permet d'indiquer qu'une adresse doit apparaitre par défaut floutée dans le logiciel ou tout document exporté du logiciel.
La case à cocher "Pas d'adresse complète" permet d'indiquer une adresse uniquement en indiquant la pays et une localité, sans définir la rue et le numéro de bâtiment. Si cette case n'est pas cochée, vous devez remplir la rue et le numéro de bâtiment.
Si des adresses de référence ont été pré-chargées dans le logiciel, vous pouvez successivement choisir la localité (ville ou village), puis l'adresse précise (rue et numéro de bâtiment). Si l'adresse est inconnue par le logiciel, que ce soit au niveau de la localité ou de l'adresse précise, écrivez le nom dans le champ correspondant et le formulaire vous proposera de saisir une nouvelle adresse. Attention, la recherche d'une adresse pré-chargée est sensible à des fautes de frappes ou d'orthographe, donc assurez-vous de l'orthographe de votre saisie avant de créer une nouvelle adresse.
Lorsqu'une adresse de référence est sélectionnée, la localisation de l'adresse est connue et le pointeur se déplace sur la carte à l'endroit de l'adresse. Lors de la création d'une adresse inconnue par le logiciel, la localisation ne peut pas être définie.
En bas du formulaire, une série de champs optionnels peuvent être complétés pour préciser l'adresse (étage, couloir, escalier, complément d'adresse, etc.). En remplissant adéquatement ces champs, le logiciel pourra générer des adresses postales valides utiles pour la génération de documents.
### Dates de validité
Dans le cas d'une adresse d'un ménage, lors de la création d'une adresse, une date de validité doit être choisie, indiquant à partir de quand l'adresse est valide. Lors d'un changement d'adresse, le logiciel va garder l'historique des adresses d'un ménage en tenant compte de ces dates de validité.
## Édition d'une adresse existante
Dans le cas d'une erreur, ou bien dans le cas d'un changement d'adresse d'un tiers, il est possible d'éditer une adresse existante en cliquant sur le bouton "Modifier l'adresse".
## Visualiser les détails d'une adresse
A côté de chaque adresse, un bouton indiquant une carte permet de visualiser les détails d'une adresse, et notamment:
- visualiser l'adresse sur une carte;
- ouvrir, dans une nouvelle fenêtre ou un nouvel onglet, une carte détaillée sur Google maps ou OpenStreetMap, pour visualiser l'endroit de manière plus confortable et éventuellement calculer un itinéraire;
- lister les zones statistiques géographiques qui recouvrent l'adresse.
::: {.note}
La page de visualisation sur Google Maps où OpenStreetMap s'ouvre dans un nouvel onglet, ou une nouvelle fenêtre.
:::
![Une adresse, le bouton avec une carte permettant de visualiser les détails de cette adresse](img/address_inline_with_button.png)
![Visualisation des détails d'une adresse](img/address_details_modal.png)
## Mise à jour des adresses de référence
Les adresses de références devraient être régulièrement mises à jour. Il est probable que des changements aient lieu dans des adresses de référence qui sont associées aux adresses des tiers et des ménages.
Dans ce cas, cela est indiqué dans l'affichage de l'adresse et dans la modale qui permet de visualiser les détails. Vous pouvez alors choisir de mettre à jour cette adresse ou d'ignorer les changements.
![Adresse dont l'adresse de référence a été modifiée](img/address_inline_with_button_and_warning.png)
![Mettre à jour une adresse de référence modifiée](img/address_details_modal_with_address_reference_change.png)
::: {.note}
Il existe un filtre permettant de lister les ménages dont l'adresse de référence a fait l'objet d'une mise à jour.
:::

31
user/aside_activities.md Normal file
View File

@@ -0,0 +1,31 @@
/newpage
# Activités annexes
Pour permettre à l'utilisateur de gérer les activités qui ne sont pas directement liées à un parcours d'accompagnement ou à un usager, il existe une section d'activités annexes.
Une activité annexe peut être une réunion d'équipe, une formation, mais aussi un appel téléphonique ou un courriel.
## Page d'inscription
<!-- /fr/asideactivity -->
Un utilisateur peut naviguer vers sa liste d'activités annexes à partir du menu utilisateur en cliquant sur **Mes activités annexes**. Comme pour les autres sections du logiciel, vous trouverez ici une liste qui offre un premier aperçu rapide de chaque activité annexe. Vous pouvez voir l'activité plus en détail, la modifier ou la supprimer.
## Créer une activité annexe
<!-- /fr/asideactivity/new -->
Les champs du formulaire d'une activité annexe sont auto-explicatifs. Il est important de noter cependant qu'un utilisateur peut créer une activité annexe pour un autre utilisateur.
Une activité annexe peut être créée à une date future ou passée. En tant que tel, il ne faut pas le considérer comme un outil de planification, mais plutôt comme un outil d'enregistrement des activités.
Tous les champs sont obligatoires, à l'exception du champ commentaire.
## Page de visualisation
<!-- /fr/asideactivity/{id}/view -->
Dans la page de détail, la chose la plus importante à noter est l'option de **duplication** d'une activité annexe. Par exemple, une réunion qui se tient chaque semaine avec plus ou moins les mêmes personnes peut facilement être dupliquée, tout en permettant d'y apporter des modifications.

36
user/concept.md Normal file
View File

@@ -0,0 +1,36 @@
\newpage
# Survol des concepts dans Chill {#sec:concept}
Chill est un logiciel conçu spécialement pour l'accompagnement social. Il est mis en œuvre dans des contextes institutionnel différents mais repose sur un socle de concepts qui peuvent être utilisés dans plusieurs environnements où évoluent des travailleur·euses sociaux.
Les trois concepts de base du logiciel sont:
- l'**usager**: la personne bénéficiaire de l'accompagnement social. L'usager est au centre du logiciel: sur la page d'accueil, il y a une recherche par nom parmi les usagers enregistrés dans le logiciel. La "fiche usager" (voir [la section "usager"](#sec:person)) résume toutes les informations propre à la personne (date de naissance, information de contact, etc.).
- le **parcours d'accompagnement**: le dossier qui accompagne un ou plusieurs usagers. Un [parcours](#sec:parcours) a une date de début et peut être clôturé à une date de fin. Un référent du parcours peut être désigné. Chaque parcours est associé à une ou plusieurs problématiques sociales. Lors du parcours, des **actions d'accompagnements** sont créées et suivies.
- le **ménage**: le ménage dont fait partie l'usager. Comme l'accompagnement social peut se faire aussi à l'échelle d'un ménage plutôt qu'individuellement, la [page du ménage](#sec:household) rassemble les informations pour les usagers d'un même ménage.
Les pages du logiciel se divisent entre ces trois domaines, chaque domaine étant caractérisé par un bandeau avec une couleur particulière ainsi que son menu.
L'utilisateur peut passer d'un domaine à l'autre, par exemple en ouvrant la fiche d'un usager depuis un parcours ou un ménage. On peut passer du domaine usager vers le domaine ménage en cliquant sur l'icône symbolisant une maison à droite de l'adresse d'un usager, et repasser vers le domaine usager en cliquant sur le nom d'un des usagers du ménage. Plusieurs sections sont aussi accessibles via plusieurs domaines, comme les activités/échanges ou les tâches, accessibles dans le domaine "usager" et "parcours d'accompagnement".
![Les 3 bandeaux dans Chill](./img/banner_all.png)
Au-dessus des bandeaux se trouve la barre d'outil principale, qu'on retrouve dans chaque page du logiciel.
## Autres entités
D'autres entités sont manipulées dans Chill:
* Les travailleurs sociaux inscrivent leurs rencontres, réunions, appels téléphoniques au sein des **échanges**;
* Des **documents** peuvent être associés à chaque utilisateur, ou à chaque parcours. Ces documents peuvent être:
* générés à partir des informations du logiciel (à partir de "gabarits" définis par les administrateurs fonctionnels);
* déposés dans le dossier depuis des ressources externes
* Chill dispose d'un véritable carnet de contact, les **tiers** qui peuvent être associés à différentes entités dans le parcours et le dossier de l'usager;
* Chill peut enregistrer des **tâches**;
* Les utilisateurs peuvent s'envoyer des **notifications**;
* Un suivi des décisions (**Workflow**) peut être activé au sein du logiciel.

BIN
user/cover-user.pdf Normal file

Binary file not shown.

BIN
user/cover-user.svg (Stored with Git LFS) Normal file

Binary file not shown.

23
user/document.md Normal file
View File

@@ -0,0 +1,23 @@
\newpage
# Documents {#sec:documents}
Un dossier social comporte souvent un certain nombre de documents, propre au travail social effectué, qui peuvent être stockés dans Chill. Il peut s'agir d'attestations administratives, de documents juridiques, etc, que ce soit sous forme de document électronique (par exemple au format pdf) ou bien un document en papier qui a été numérisé. Par ailleurs, le logiciel permet aussi de générer ses propres documents à partir de modèles pré-établis.
Tout comme les activités/échanges, les documents peuvent être enregistré à la personne ou bien au parcours d'accompagnement. L'accès aux documents enregistrés se fait par l'entrée "Documents" via le menu "usager" ou via le menu "parcours d'accompagnement". Les documents enregistrés sont téléchargeables: on peut les retrouver à tout moment par cette liste de documents.
![Liste des documents](./img/fr_person_2811_document.png)
## Ajouter un document
![Ajouter un document](./img/fr_person_2811_document_new.png)
Pour ajouter un document, dans la liste des documents, cliquer sur le bouton "Créer un nouveau document". Il est demandé de rentrer un titre, une date (par défaut la date de jour), une catégorie de document et une courte description. Ensuite, le document (un document au format pdf, un document de traitement de texte, ...) peut être glissé-déposé ou retrouvé sur un ordinateur en cliquant dans la zone de téléversement.
## Générer un document
![Générer un document dans un parcours](./img/generer_document_parcours.png)
Il est possible de générer ses propres documents à partir de modèles pré-établis et des données saisies dans chaque dossier social, que ce soit un dossier d'un usager ou d'un parcours. Les modèles sont des fichiers "templates" qui sont préparés par les administrateurs du logiciel et qui sont généralement propres à une organisation.
Par exemple, un document peut être généré à partir d'un modèle où toutes les informations d'un parcours d'accompagnement seront pré-remplies (personnes concernées et leur coordonnées, travailleurs et services impliqués, etc.)

42
user/gestion-doublon.md Normal file
View File

@@ -0,0 +1,42 @@
# Gestion des usagers en doublon
À l'utilisation, il arrive que des dossiers d'usagers soient créés en doublon: deux dossiers d'usagers sont créés et concerne **la même personne**.
Chill permet alors de fusionner les dossiers d'usagers. Cette opération est délicate, parce que le dossier de l'usager "déplacé" peut contenir des informations importantes.
Chill tente de limiter cette éventualité. Il est cependant nécessaire d'être attentif lors de cette opération.
::: .note
Pour avoir accès à cette fonctionnalité, il est nécessaire que les droits vous soient ouverts.
:::
## Page "traiter les doublons"
La page "traiter les doublons" présente
- la liste des "doublons potentiels" dans les usagers enregistrés dans le logiciel;
- la liste des "faux positifs" (des usagers qui ne sont pas des doublons et ne doivent pas être considérés comme tels).
Pour établir la liste des "doublons potentiels", Chill utilise:
<!-- TODO à vérifier -->
- la date de naissance: si les deux usagers disposent de cette information, alors la date de naissance doit être identique. Ce paramètre est ignoré si un des deux ne dispose pas de cette information.
- la proximité du nom: les noms qui se ressemblent avec une légère faute d'orthographe peuvent être considérés comme des doublons potentiels.
TODO à compléter
## Marquer des "faux positifs"
Lorsque deux usagers portent un nom identique, ou très proche, ils peuvent être considérés comme doublon de manière erronée. Pour éviter de les voir marqués comme doublons potentiels, il est possible de les indiquer comme étant deux personnes distinctes.
Leur fusion est impossible, et ils n'apparaissent plus comme doublons dans la liste des doublons potentiels (voir infra).
TODO à compléter
## Fusionner deux dossiers
TODO: que se passe-t-il lors de la fusion ?
## Export des doublons potentiels
TODO

7
user/homepage.md Normal file
View File

@@ -0,0 +1,7 @@
```{=latex}
\includepdf[pages=-]{cover-user.pdf}
\newpage
```

BIN
user/img/a_chill_page.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
user/img/action_accompagnement.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
user/img/address_details_modal.png (Stored with Git LFS) Normal file

Binary file not shown.

Binary file not shown.

BIN
user/img/address_inline_with_button.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
user/img/address_inline_with_button_and_warning.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
user/img/advanced_search.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
user/img/aside_activity_details.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
user/img/banner_all.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
user/img/banner_course.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
user/img/banner_household.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
user/img/banner_person.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
user/img/chill_buttons.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
user/img/choisir-une-adresse.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
user/img/concerned_persons.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
user/img/fr_activity__accompanying_period_id_2705.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
user/img/fr_notification_126_show.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
user/img/fr_notification_inbox.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
user/img/fr_person_2811_document.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
user/img/fr_person_2811_document_new.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
user/img/fr_person_2811_general.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
user/img/fr_person_2811_residential-address_list.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
user/img/fr_person_2811_resources_list.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
user/img/fr_person_household_376_addresses.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
user/img/fr_person_household_376_summary.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
user/img/fr_person_new.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
user/img/fr_vendee_vendeeperson_2811_infomedicale_view.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
user/img/fr_vendee_vendeeperson_2811_infosociopro_view.png (Stored with Git LFS) Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
user/img/generer_document_parcours.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
user/img/logo-chill-outil-accompagnement.svg (Stored with Git LFS) Normal file

Binary file not shown.

BIN
user/img/menage_filiations.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
user/img/new_aside_activity.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
user/img/new_task.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
user/img/notification_parcours.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
user/img/parcours_comments.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
user/img/parcours_confirm.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
user/img/parcours_dashboard.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
user/img/parcours_list_item.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
user/img/parcours_localisation.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
user/img/thirdparty_contact.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
user/img/thirdparty_morale.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
user/img/workflow_create.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
user/img/workflow_create_with_existing.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
user/img/workflow_list_associated.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
user/img/workflow_page.png (Stored with Git LFS) Normal file

Binary file not shown.

30
user/interface.md Normal file
View File

@@ -0,0 +1,30 @@
\newpage
# L'interface générale {#sec:interface}
## Une page du logiciel
[Comme expliqué auparavant](#sec:concept), le logiciel est organisé en trois domaines principaux: usager, parcours d'accompagnement et ménage. Voyons une page du logiciel en détail dans la figure suivante.
![Une page de Chill](./img/a_chill_page.png)
De haut en bas, il y a:
- un premier bandeau bleu foncé;
- deux bandeaux propre au domaine "parcours d'accompagnement";
- le contenu de la page à gauche, ici un résumé du parcours d'accompagnement;
- un menu en jaune, propre au domaine "parcours d'accompagnement".
Dans le premier bandeau, il y a:
- le champ de recherche: ce champ permet de chercher des usagers, et d'aller vers leurs fiches usagers
- un **menu section**: ce menu, constamment accessible, permet de faire des actions transversales, c'est-à-dire qui ne sont pas directement liées à un usager, un parcours ou un ménage. Par exemple, ce menu permet d'ajouter un nouvel usager ou un parcours, d'ajouter une activité annexe, de gérer la liste des tiers, de réaliser des exports, etc.
- un **menu utilisateur**: ce menu, où est rappelé le nom de l'utilisateur connecté, permet d'accéder aux dossiers propres à l'utilisateur: ses parcours, ses tâches, rendez-vous, activités annexes, notifications, etc. En outre, une pastille avec un chiffre indique le nombre de notifications et tâches en attente pour lesquelles une action est requise.
## Boutons et codes couleurs
Les mêmes boutons sont utilisés au travers du logiciel. La figure suivante indique la signification de tous les boutons utilisés dans le logiciel.
![Les boutons utilisés dans Chill](./img/chill_buttons.png)

37
user/intro.md Normal file
View File

@@ -0,0 +1,37 @@
\newpage
# Qu'est-ce que Chill?
## A quoi ça sert ?
Chill est un logiciel libre d'accompagnement social. Le logiciel peut être résumé par un système de « dossier social électronique ».
Chill est une application web : on y accède via un navigateur. Le navigateur recommandé est Firefox : il est libre et gratuit et on y accède sur toutes les plates-formes (Windows, Mac, Linux, tablettes android, …). Le logiciel doit être installé sur un serveur, et peut donc être disponible via le réseau local ou internet.
## Le but du logiciel
Chill vise trois buts :
* partager les informations relatives à l'accompagnement social entre collègues ;
* centraliser, en un seul lieu, les informations relatives aux personnes accompagnées ;
* alléger la charge administrative des travailleurs sociaux en fournissant automatiquement des statistiques relatives à leur activité.
Les concepteurs de Chill ont remarqué qu'il est essentiel d'allier les trois buts. En effet, ils ont constaté qu'il est désagréable, pour les travailleurs, de « remplir des dossiers pour des statistiques ». Chill doit pouvoir être utilisé au quotidien : les travailleurs auront de l'intérêt à enregistrer les éléments si, continuellement, l'outil est utile dans leur travail quotidien.
## Chill est un logiciel libre
Le caractère « libre » du logiciel est affirmé dès sa création. La logique d'ouverture du code est poussée au maximum :
* la documentation (élément essentiel qui permet à d'autres développeurs de continuer ou compléter le code) est présente et complète (voir http://docs.chill.social) ;
* le code est sous licence AGPLv3. Il s'agit d'une des plus restrictives et des plus sûres pour l'utilisateur. Elle impose aux éditeurs de rendre disponible tout le code développé, même lorsque la redistribution est faite sous forme de service en ligne ;
* il n'existe pas de module « propriétaire » : toutes les fonctionnalités sont accessibles.
La libération du code est vécue comme une opportunité pour les éditeurs : c'est en effet l'occasion de mutualiser les coûts de développement en partageant le logiciel entre différentes institutions.
## Comment l'installer ?
Si vous cherchez la documentation d'installation du logiciel, elle se trouve à http://docs.chill.social.
## Comment l'administrer ?
Chill dispose d'une interface d'administration qui sert à configurer le logiciel, afin qu'il corresponde au mieux au métier des travailleur·euses sociaux. Dans ce document, nous appelons "administrateurs" la ou les personnes qui disposent d'un droit d'administration et qui ont configuré le logiciel. La documentation destinée aux administrateurs est rassemblée dans un autre document.

114
user/menage.md Normal file
View File

@@ -0,0 +1,114 @@
\newpage
# Ménages {#sec:household}
## Qu'est-ce qu'un ménage ?
Un ménage est un ensemble d'usagers vivant "sous le même toit". Cela peut être les membres d'une famille, les membres d'une famille recomposée, les membres d'une famille d'accueil, etc.
<!-- vivant "sous le même toit" OU domiciliés à la même adresse? -->
Un ménage est caractérisé par une adresse, qui correspond à l'adresse de domiciliation de ses membres. Cette adresse peut changer (en cas de déménagement): elle est donc définie entre une date de début et une date de fin. Un ménage ne peut avoir **qu'une seule adresse** simultanément. Par contre, un ménage peut changer d'adresse au cours du temps. Chill propose donc d'enregistrer l'historique des adresses du ménage.
Un usager ne peut être membre que **d'un seul ménage à la fois**, avec une exception cependant: les usagers qui ne partagent pas l'adresse du ménage (par exemple, les enfants en garde alternée). L'appartenance à un ménage est caractérisée par une date de début, et une date de fin; Chill présente donc un **historique** des différents ménages auxquels un usager a appartenu.
Chaque usager se voit attribué une **position** dans un ménage, configurée par un administrateur fonctionnel. Par exemple: "Adulte dans le ménage", "Enfant dans le ménage", "Enfant hors domicile", etc.
## Résumé du ménage
<!-- /fr/person/household/{household_id}/summary -->
![Résumé d'un ménage](./img/fr_person_household_376_summary.png)
On accède à la page de résumé du ménage via le menu "usager" ou bien en cliquant sur l'icône représentant le ménage dans la recherche par personne. La page de résumé du ménage présente l'adresse actuelle du ménage, les membres du ménage et la composition du ménage.
### Associer un usager à un ménage
Lorsqu'aucun ménage n'est renseigné dans la liste des ménages d'un usager, alors le logiciel vous permet de créer un nouveau ménage. Lors de cette étape, on peut créer un nouveau ménage ou rejoindre un ménage existant. Le logiciel va automatiquement proposer des ménages possibles en faisant des suggestions de ménages.
::: { .info }
**Quels ménages sont suggérés ?**
Le logiciel essaye d'établir des liens entre les utilisateurs concernés par le changement de ménage, et d'autres ménages.
Les liens effectués sont les suivants:
* Pour chaque usager concerné par le changement, le logiciel vérifie s'il est présent dans un autre parcours, avec d'autres usagers. Si ces usagers sont eux-mêmes associés à un ménage, alors le logiciel propose de rejoindre ce ménage existant.
* Le logiciel examine également la localisation des parcours dans lequel se trouve l'usager concerné par le changement. Si le parcours est localisé à une adresse de référence, le logiciel recherche si d'autres ménages habitent à cette adresse. S'il en trouve, ces ménages seront suggérés également.
:::
Dès cette étape, vous pouvez indiquer une adresse; cela permettra de localiser immédiatement le ménage créé. Le logiciel va vous suggérer de ré-utiliser des adresses connues.
::: { .info }
**Quelles adresses sont suggérées ?**
Le logiciel vous propose de ré-utiliser la localisation temporaire des parcours associés aux usagers.
Pour chaque usager qui va "changer de ménage", le logiciel examine s'il est actuellement associé à un parcours. Si ce parcours dispose d'une adresse temporaire, alors cette adresse sera reprise dans les suggestions.
:::
### Rejoindre un ménage
Il y a plusieurs voies possibles pour faire rejoindre un usager à un ménage:
- lorsqu'on crée un parcours pour un usager qui n'est pas dans un ménage, le logiciel suggère de renseigner leur appartenance à un ménage. L'action permet alors de les positionner dans un ménage, que ce soit un ménage existant ou à créer.
- lorsqu'on est sur la page de résumé du ménage, on peut toujours rechercher et ajouter un usager. Pour cela, on utilise le bouton "Ajouter un membre" en bas de la page.
### Les positions dans le ménage
<!-- attention, les positions "enfants hors ménage", etc., c'est de la configuration -->
Chaque membre du ménage est détaillé dans la page "résumé du ménage". L'usager peut avoir une certaine position dans le ménage: adulte ou enfant, ainsi qu'être titulaire d'un ménage. A tout moment il est possible de faire quitter un usager d'un ménage, ou de le repositionner dans le ménage (par exemple le rendre titulaire).
Le cas échéant, il est possible aussi de visualiser une ancienne appartenance, soit un usager ayant appartenu au ménage mais qui n'en fait plus partie actuellement.
## Ajouter des membres au ménage, quitter un ménage, rejoindre un ménage
En bas de la page de résumé du ménage, le bouton "Ajouter un membre" permet d'ajouter un usager au ménage. Lors d'un clic sur ce bouton, dans les pages suivantes, on peut:
- ajouter un ou plusieurs usagers existants, ou en créer;
- positionner chaque usager dans le ménage, c'est-à-dire spécifier si c'est un enfant ou un adulte, et éventuellement le qualifier en tant que titulaire du ménage;
- inscrire la date où l'usager rejoint le ménage, et éventuellement, un commentaire;
- et, enfin, enregistrer.
Dans la liste des membres du ménage, en utilisant les boutons à droite, on peut:
- quitter le ménage: dans ce cas, l'usager peut rejoindre un autre ménage ou bien quitter sans rejoindre un ménage. A nouveau, une date de changement est enregistrée.
- repositionner le membre: c'est-à-dire changer le positionnement (adulte, enfant, ...) du membre.
- renseigner l'appartenance: c'est-à-dire changer la date et le commentaire du changement
## Historique des adresses d'un ménage
L'historique des adresses du ménage peut être accédé dans le menu du ménage sous le titre "Historique adresse". L'historique des adresses montre toutes les adresses successives des ménages et permet d'en ajouter.
<!-- /fr/person/household/{household_id}/addresses -->
![Historique des adresses d'un ménage](./img/fr_person_household_376_addresses.png)
Une liste des parcours d'accompagnement du ménage peut être également affichée en cliquant dans le menu du ménage sous "parcours d'accompagnement".
## Filiations
<!-- /fr/person/household/{household_id}/relationship -->
![Filiations d'un ménage](./img/menage_filiations.png)
La page "Filiations" propose une vue d'ensemble sous forme de graphe des filiations au sein d'un ménage, c'est-à-dire les liens de parenté entre ses membres. Cette page permet non seulement de visualiser les filiations mais aussi de les éditer. En cliquant sur "Créer un lien de filiation", puis en sélectionnant 2 personnes, il est possible de définir les liens de filiations entre ces 2 personnes: mère/père-fille/fils, frère/soeur-frère/soeur, oncle/tante-neveu/nièce.
En outre, le graphe montre également les parcours d'accompagnement associé à chaque membre du ménage. En affichant les parcours, des usagers éventuellement liés à ces parcours mais appartenant à d'autres ménages peuvent être affichés. Les éléments du graphe peuvent être déplacés en cliquant dessus et en les glissant. Enfin, on peut exporter ce graphe sous forme d'une image.
En bref, cette page résume un ménage et ses liens de filiations sous forme de diagramme facile à appréhender.
## Composition familiale
La composition familiale est une qualification du ménage en tant que type de ménage, par exemple, couple avec enfants, couple sans enfants, mère seule, femme seule, etc. Cette composition est valide jusqu'à une date donnée.
De même que pour les adresses d'un ménage, il est possible de visualiser l'historique de la composition d'un ménage.

View File

@@ -2,7 +2,11 @@
title: Manuel utilisateur de Chill
lang: fr-BE
toc: true
page: a4
book: true
titlepage: true,
#logo: "img/logo-chill-outil-accompagnement.svg"
header-includes: |
\usepackage{awesomebox}

Some files were not shown because too many files have changed in this diff Show More