Liste des modifications apportées au présent document:
Il est possible d'importer des données en provenance d'autres logiciels d'orthodontie. ORT utilise XML comme langage d'interface. Le but du présent document est de vous présenter les conventions d'importation des différentes tables d'ORT, ainsi que des explications/précautions à prendre concernant l'import de certains champs. La confection d'un fichier d'export s'adresse à un programmeur, le langage XML et ses contraintes n'étant pas à la portée des non initiés.
Vous devrez produire autant de fichiers xml que le nombre de tables que vous décidez d'utiliser dans ORT. Vous pouvez également, étant donné la nature d'XML, créer des fichiers partiels d'importation. Si par exemple, les numéros de téléphone de l'application source sont dans une table séparée de la table Patients (eh, c'est logique), vous allez créer un fichier xml pour les patients, puis un fichier xml téléphones pour ces patients. Il faut juste que ces deux fichiers tiennent compte des champs obligatoires, comme l'IDpatient. Lorsqu'ORT importe, il fait d'abord une recherche sur cet ID. S'il n'existe pas, il crée la fiche. Lorsque vous ajoutez les téléphones, comme vous fournissez également dans votre fichier l'IDpatient, ORT se contentera d'ajouter vos téléphones aux fiches existantes. Vous faites ce que vous pouvez, en fait. ORT se contentera de ce que vous lui apportez. Le présent document énumérera les éléments et attributs de chaque table qu'il est possible d'utiliser dans ORT.
Les éléments sont en Majuscules (xml est sensible à la casse). Certains de ces éléments ont des liens vers des pages/explications pour vous aider à vous situer par rapport à ORT: par exemple, la date d'inscription ne vous dira peut-être rien, sauf si vous la voyez dans son contexte de saisie; c'est pourquoi de tels liens existent. L'ordre des éléments n'a aucune importance. Les éléments obligatoires sont… obligatoires.
La définition des éléments est supplémentée de commentaires comme Obligatoire (vous devez ajouter ce champ à votre document) ainsi que le type de champ:
Attention aux champs de Notes. Ces champs sont utiles pour consigner des informations textuelles de provenances diverses. Il est donc tentant d'ajouter le même champ, à plusieurs reprises. Faites l'assemblage du contenu en plusieurs étapes, mais l'expédition en xml en une seule étape car ORT n'importera qu'une seule instance de ce type de champ. En d'autres mots, au lieu d'écrire:
<NOTES>Ceci est la note 1.</NOTES>
<NOTES>Ceci est la note 2.</NOTES>
écrivez plutôt:
<NOTES>Ceci est la note 1. Ceci est la note 2.</NOTES>
Racine: ORT_PATIENTS
Chaque fiche Patient se trouve encadrée dans l'élément PATIENT
Le xPath de base, après le header, est donc le suivant: /ORT_PATIENTS/PATIENT/
Les données à importer se retrouvent entre les éléments suivants: (les noms d'éléments s'approchent des noms réels des champs d'ORT)
Champs de l'onglet Coordonnées
Champs de l'onglet Divers
Champs de l'onglet Honoraires
Exemple de code 4D:
$RefRacine:=DOM Creer ref XML("ORT_PATIENTS")
$xPath:="/ORT_PATIENTS/PATIENT/"
boucle... sur le nombre de fiches patients
$RefPatient:=DOM Creer element XML($RefRacine;$xPath) `la commande de création d'un nouveau patient
$RefElement:=DOM Creer element XML($RefPatient;"LANGUE") `noter l'utilisation de $RefPatient qui permet de ne pas inscrire tout le path
DOM ECRIRE VALEUR ELEMENT XML($refElément;$langue) `$langue est un booléen
$RefElement:=DOM Creer element XML($RefPatient;"IDPATIENT")
DOM ECRIRE VALEUR ELEMENT XML($refElément;$No) `$No est un numérique
$RefElement:=DOM Creer element XML($RefPatient;"NOM")
DOM ECRIRE VALEUR ELEMENT XML($refElément;$nom)
$RefElement:=DOM Creer element XML($RefPatient;"PRENOM")
DOM ECRIRE VALEUR ELEMENT XML($refElément;$Prenom)
etc.
Racine: ORT_PARENTS
Chaque fiche Parent se trouve encadrée dans l'élément PARENT
Le xPath de base, après le header, est donc le suivant: /ORT_PARENTS/PARENT/
Les données à importer se retrouvent entre les éléments suivants: (les noms d'éléments s'approchent des noms réels des champs d'ORT)
Racine: ORT_PROFESSIONNELS
Chaque fiche Patient se trouve encadrée dans l'élément PROFESSIONNEL
Le xPath de base, après le header, est donc le suivant: /ORT_PROFESSIONNELS/PROFESSIONNEL/
Les données à importer se retrouvent entre les éléments suivants: (les noms d'éléments s'approchent des noms réels des champs d'ORT)
Racine: ORT_ORGANISATIONS
Chaque fiche Patient se trouve encadrée dans l'élément ORGANISATION
Le xPath de base, après le header, est donc le suivant: /ORT_ORGANISATIONS/ORGANISATION/
Les données à importer se retrouvent entre les éléments suivants: (les noms d'éléments s'approchent des noms réels des champs d'ORT)
Racine: ORT_HONORAIRES
Chaque fiche Patient se trouve encadrée dans l'élément HONORAIRE
Le xPath de base, après le header, est donc le suivant: /ORT_HONORAIRES/HONORAIRE/
Les données à importer se retrouvent entre les éléments suivants: (les noms d'éléments s'approchent des noms réels des champs d'ORT)
Racine: ORT_MODESPAIEMENTS
Chaque fiche Patient se trouve encadrée dans l'élément MODEPAIEMENT
Le xPath de base, après le header, est donc le suivant: /ORT_MODESPAIEMENTS/MODEPAIEMENT/
Les données à importer se retrouvent entre les éléments suivants: (les noms d'éléments s'approchent des noms réels des champs d'ORT)
Les catégories de rendez-vous se caractérisent par le fait que chaque catégorie peut avoir des sous catégories.
Racine: ORT_CATEGORIESRENDEZVOUS
Chaque fiche Catégorie se trouve encadrée dans l'élément CATEGORIERENDEZVOUS
Le xPath de base, après le header, est donc le suivant: /ORT_CATEGORIESRENDEZVOUS/CATEGORIERENDEZVOUS/
Les données des catégories principales à importer se retrouvent entre les éléments suivants:
Chaque fiche Sous catégorie se trouve encadrée dans l'élément SOUSCATEGORIERENDEZVOUS
Le xPath de base, après le header, est donc le suivant: /ORT_CATEGORIESRENDEZVOUS/SOUSCATEGORIERENDEZVOUS/
La gestion d'agendas est particulière en ce qui concerne les répétitions, ce que ORT gère. Vous pouvez demander à ORT de les gérer, ou passer à ORT autant de fiches qu'il y a de répétitions. Le champ ORTGERERREPETITIONS, de type booléen, s'en occupe: si vrai, ORT gèrera les répétitions. Si faux, vous passez à ORT toutes vos fiches d'agenda sans vous occuper des champs relatifs aux répétitions.
Racine: ORT_AGENDAS
Chaque fiche Patient se trouve encadrée dans l'élément AGENDA
Le xPath de base, après le header, est donc le suivant: /ORT_AGENDAS/AGENDA/
Les données à importer se retrouvent entre les éléments suivants: (les noms d'éléments s'approchent des noms réels des champs d'ORT)
Les trois champs suivants: importer un des trois champs seulement;
Champs suivants: ne doivent être remplis que si la valeur du champ INTERVALLE=7 (Personnalisée)
Racine: ORT_RENDEZVOUSS
Chaque fiche de rendez-vous se trouve encadrée dans l'élément RENDEZVOUS
Le xPath de base, après le header, est donc le suivant: /ORT_RENDEZVOUSS/RENDEZVOUS/
Les données à importer se retrouvent entre les éléments suivants: (les noms d'éléments s'approchent des noms réels des champs d'ORT)