10 KiB
Génération de documents
Syntaxe de génération d'un document
Principes liés au variables
Nommage de variables
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…
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.
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):
username
;service
;email
;
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:
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 1, avec la première lettre en bas de casse (en minuscule).
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.
Exemple, une liste des interlocuteurs principaux. Le premier est une personne:
text=Maxime Berger
firstName=Maxime
lastName=Berger
birthDate=19/01/1996
type=
job=
Le second est un tiers:
text=Jean Couteau
firstName=Jean
lastName=Couteau
birthDate=
type=Médecin
job=Assistant social
Variables disponibles par document
Lorsqu'une variable n'est pas de type "texte", ses champs sont complétés par ceux décrits dans la section suivante.
Pour chaque document
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
Le document hérite de toutes les variables disponibles pour chaque document, à laquelle vient s'ajouter la variable suivante et tout ses champs:
courseId
(texte): l'identifiant du parcourscourseStartDate
(texte): la date de confirmation du parcours (vide si le parcours est à l'état brouillon);courseEndDate
(texte): la date de fin du parcours (vide si le parcours n'est pas clotûré);courseEnd
(texte): la mention "clotûré" si le parcours est clotûré;courseStatus
(texte): contient la mention "En file active", "Archivé", ou est vide si le parcours n'a aucun de deux statuts;courseRef
: (User): le référent du parcours;courseLocation
(Adresse): l'adresse de localisation du parcourscoursePersonLocation
(Person): l'utilisateur qui localise le parcours (s'il y en a un, peut être vide);courseTitulaire1
(Person): le premier titulaire du parcours, déterminé comme étant le plus âgé parmi les personnes qui sont titulaires d'un ménage;courseTitulaire2
(Person): le second titulaire du parcours, déterminé comme étant le deuxième plus âgé parmi les personnes qui sont titulaires d'un ménage;courseEmergency
(texte): la chaine "Urgent" si le parcours est urgent, chaine vide sinon;courseConfidential
(texte): "Confidentiel" si le parcours est confidentiel, chaine vide sinon;courseOrigin
(texte): l'appellation de l'origine du parcours;courseClosingMotive
(texte): l'appellation du motif de clotûre du parcours;
Les titulaires 1 et 2 sont déterminés par leur âge de cette manière:
- Parmi toutes les personnes associées au parcours au moment de la génération du document, le logiciel sélectionne tout ceux qui sont actuellement titulaire d'un ménage;
- Les deux plus âgés sont choisis dans cette liste. Le plus âgé sera le
titulaire1
, et le suivant sera letitulaire2
Par ailleurs, les listes suivantes sont disponibles:
-
coursePersons
(liste de Person): une liste des personnes du parcoursPar ailleurs, pour chaque personne membre de la liste, deux champs sont ajoutés et indiquent le lien de parenté avec le titulaire 1 et le titulaire 2 (à condition que ce lien soit effectivement renseigné).
-
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
Exemple d'utilisation:
Le parcours a débuté le ${courseStartDateLong} et s'est clotûré le ${courseEndDateLong}.
Le référent est ${courseRefUsername}.
Participants au parcours:
+--------------------------+---------------------------+-------------------------------+
| Nom | Prénom | Date de naissance |
+==========================+===========================+===============================+
| ${coursePersonsLastName} | ${coursePersonsFirstname} | ${coursePersonsBirthdateLong} |
+--------------------------+---------------------------+-------------------------------+
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:
workId
(texte): l'identifiant de l'action;workNote
(texte): la note;workCreateDate
(Date): la date de création de l'action;workStartDate
(Date): la date de début de l'action (vide si inexistant)workEndDate
(Date): la date de début de l'action (vide si inexistant)workHandlingThirdParty
(ThirdParty): le tiers traitant
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
:
evaluationId
(texte): l'identifiant de l'évaluation;evaluationType
(texte): le libellé de l'évaluation;evaluationStartDate
(Date): la date de début de l'évaluation;evaluationEndDate
(Date) la date de fin de l'évaluation;evaluationMaxDate
(Date): la date d'échéance de l'évaluation;evaluationComment
(texte): le commentaire de l'évaluation;evaluationCreatedBy
(User): le créateur de l'évaluation;evaluationCreatedAt
(Date): la date de création de l'évaluation;
Champs par objet
Les champs ci-dessous étendent les variables disponibles dans les documents.
Par exemple, le document généré à partir d'un parcours présente la variable startDate
qui contient la date de début du parcours. Ce champ peut être exploité de la manière suivante:
${courseStartDateLong} // 15 janvier 2021
ou dans la forme courte:
${courseStartDateShort} // 15/01/2021
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 (voirPersonRender::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 emailfirstPhoneNumber
(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émonumberOfChildren
(texte): le nombre d'enfantscurrentAddress
(Adresse): l'adresse actuellemother
(Person): les champs de la mère de la personne, si elle est renseignée dans le module "filiation";father
(Person): les champs du père de la personne, s'il est renseigné dans le module "filiation";
Exemple d'utilisation:
Nom de la personne: ${personLastname} // Dupuis
Prénom de la personne: ${personFirstname} // Gérard
Date de naissance: ${personBirthdateLong} // le 7 juillet 1974
Nom du père: ${personFatherLastName} ${personFatherFirstname} // Dupuis Marcel
Téléphone du père: ${personFatherFirstphonenumber} // 01 23 45 67 89
ThirdParty
TODO
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
username
(texte)email
(texte)service
(texte): service principal