diff --git a/admin/generation-documents.md b/admin/generation-documents.md index ede9a69..db94cc3 100644 --- a/admin/generation-documents.md +++ b/admin/generation-documents.md @@ -7,21 +7,42 @@ ### Nommage de variables -Les variables rendues disponibles sont composées de plusieurs champs. Par exemple, à chaque fois qu'un usager est évoqué, les variables suivantes sont disponibles: +Les variables contiennent des informations importées d'objets présents dans le logiciel. Par objet, nous entendons, par exemple, un utilisateur (User), un usager (Person), etc… -* userName; -* userService; -* … +Ces objets comportent plusieurs champs. On accède à ces champs en concaténant les noms de la variable qui contient un objet, et le nom des champs de ces objets. -Ces variables peuvent être préfixées par une autre variable. Par exemple, l'utilisateur qui crée un document est un `creator`. Les différentes variables accessibles sont donc: +Par exemple: le créateur d'un document est disponible sous la variable `creator`. Cette variable est un objet de type `User`. Cet objet contient ces trois champs ([la liste complète est disponible ci-dessous](#sec:gendoc-var-user)): -* `creatorUserName`; -* `creatorService`; -* … +* `username`; +* `service`; +* `email`; -Le camel-case est la syntaxe utilisée pour la composition des noms de variable. +Alors, pour indiquer le nom du créateur, son email et son service, on préfixe la variable par `creator`, et on ajoute les noms des champs de l'objet `User`, en commençant par une majuscule pour ces champs. Exemple: -### Cas où une variable peut être de deux natures différente +``` +Pour joindre ${creatorUsername} (service: ${creatorService}), +vous pouvez envoyer un courriel à l'adresse ${creatorEmail}. +``` + +Pour nommer les variables et les concaténer, nous utilisons la syntaxe camelcase [^camelcase], avec la première lettre en bas de casse (en minuscule). + +[^camelcase]: + +#### Application aux variable date + +Les dates sont disponibles dans deux formats: + +* 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`; + +lorsqu'une date est disponible, il est donc possible d'avoir accès à son format en précisant sa chaine de caractère. Exemple avec la date de naissance de la personne: + +``` +personBirthdateShort=15/06/1980 +personBirthdateLong=15 juin 1980 +``` + +### Cas où une variable peut être de deux natures différentes Certaines variables peuvent être de deux natures différentes, par exemple, soit une personne, soit un tiers. Dans ce cas, les variables qui sont de noms différents sont à l'état "vide". Par exemple, le champ "date de naissance" n'est pas disponible pour un tiers, dans ce cas, il est vide. @@ -33,6 +54,7 @@ firstName=Maxime lastName=Berger birthDate=19/01/1996 type= +job= ``` Le second est un tiers: @@ -43,24 +65,134 @@ firstName=Jean lastName=Couteau birthDate= type=Médecin +job=Assistant social ``` -## Variables disponibles +## Variables disponibles par document ### Pour chaque document -* `creator`: (User) le créateur -* `createDate`: la date de création, au formation jj/mm/dd -* `locate`: le lieu sélectionné par le créateur, au moment de la génération +* `creator`: (User) le créateur; +* `createdAt` (Date): la date de création; +* `locate`: le lieu sélectionné par le créateur, au moment de la génération; ### Document générés pour un parcours -* `coursePersons`: une liste des personnes du parcours -* `courseStartDate`: la date de confirmation du parcours -* `courseRef`: (User): le référent du parcours; -* `courseLocation` (Adresse): l'adresse de localisation du parcours -* `coursePersonLocation` (Person): l'utilisateur qui localise le parcours (s'il y en a un, peut être vide); -* `courseRequestor` (Person ou ThirdParty): le demandeur. Peut être vide. -* `courseResources` (Person ou ThirdParty): une liste des interlocuteurs privilégiés +Le document hérite de toutes les variables disponibles pour chaque document, à laquelle vient s'ajouter la variable suivante et tout ses champs: +* `course` (Parcours) + +Par ailleurs, les listes suivantes sont disponibles: + +* `coursePersons` (liste de Person): une liste des personnes du parcours +* `courseRequestor` (liste de Person ou ThirdParty): le demandeur. Peut être vide. +* `courseResources` (liste de Person ou ThirdParty): une liste des interlocuteurs privilégiés +* `courseSocialIssues` (liste de SocialIssues): la liste des problématiques d'accompagnement + +### Document générés pour une action d'accompagnement + +Le document hérite de toutes les variables et listes disponibles pour les document "générés par un parcours". De plus, les variables suivantes s'ajoutent: + +* `work` (Action d'accompagnement), et tout ses sous-champs; + +Les listes suivantes sont disponibles: + +* `workGoals`: une liste d'objectifs, où chaque item contient deux variables: + * `goal: le libellé de l'objectif (vide pour les résultats sans objectif); + * `result: une concaténation de toutes les appellations des résultats, séparés par une virgule; +* `workThirdParties` (liste de ThirdParty): une liste de tiers associés à l'action; +* `workPersons`: une liste de personnes associées à l'action + +### Document générés pour une évaluation + +Le document hérite des variables et listes disponibles pour les documents "Action d'accompagnement", auxquelles viennent s'ajouter la variable `evaluation`: + +* `evaluation`: Evaluation + +## Champs par objet + +### 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; + +### Person + +* `firstName` (texte) +* `lastName` (texte) +* `text` (texte): représentation du nom, prénom, et noms alternatifs (voir `PersonRender::renderString)`) +* `birthdate` (Date) +* `deathdate` (Date) +* `gender` (texte): peut être masculin, féminin, ou <à compléter> +* `maritalStatus` (texte): représentation textuelle de l'état civil; +* `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é +* `placeOfBirth (texte): le lieu de naissance +* `memo` (texte): le mémo +* `numberOfChildren` (texte): le nombre d'enfants +* `currentAddress` (Adresse): l'adresse actuelle + +### ThirdParty + +TODO avec Mathieu + +### 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; +* `postcodeName` (texte): le nom de la localité ou ville; +* `postcodeCode` (texte): le code postal; +* `countryName` (texte): le nom du pays; +* `countryCode` (texte): le code du pays; +* `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 + +### User { #sec:gendoc-var-user } + +* `username` (texte) +* `email` (texte) +* `service` (texte): service principal + +### Parcours + +* `id` (texte): l'identifiant du parcours +* `startDate` (texte): la date de confirmation du parcours (vide si le parcours est à l'état brouillon); +* `endDate` (texte): la date de fin du parcours (vide si le parcours n'est pas clotûré); +* `end` (texte): la mention "clotûré" si le parcours est clotûré; +* `status` (texte): contient la mention "En file active", "Archivé", ou est vide si le parcours n'a aucun de deux statuts; +* `ref`: (User): le référent du parcours; +* `location` (Adresse): l'adresse de localisation du parcours +* `personLocation` (Person): l'utilisateur qui localise le parcours (s'il y en a un, peut être vide); +* `emergency` (texte): la chaine "Urgent" si le parcours est urgent, chaine vide sinon; +* `confidential` (texte): "Confidentiel" si le parcours est confidentiel, chaine vide sinon; +* `origin` (texte): l'appellation de l'origine du parcours; +* `closingMotive` (texte): l'appellation du motif de clotûre du parcours; + +### Action d'accompagnement + +* `id` (texte): l'identifiant de l'action; +* `note` (texte): la note; +* `createDate` (Date): la date de création de l'action; +* `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) +* `handlingThirdParty` (ThirdParty): le tiers traitant + +### Evaluation + +* `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;