Intégrer des historiques.

Comment configurer le terminal pour récupérer des historiques de passages et de documents dans des tables Oracle

Introduction

Actuellement, le terminal est capable de récupérer l’historique des passages ainsi que l’historique des documents directement dans des tables Oracle. Nous n’avons pas eu d’autres cas pour le moment, mais nous pouvons créer d’autres méthodes afin de récupérer ces données dans d’autres environnements si nécessaire…

Prérequis

Il faut que le module php oci soit installé.

Configuration historique des documents

Configuration simple

La configuration technique se fait dans le fichier define.xml.php Il faut configurer les balises suivantes :

  • histodocs_db : le nom de la base oracle (en concordance avec votre tnsname.ora)
  • histodocs_user : utilisateur pour la connexion oracle
  • histodocs_pass : mot de passe pour la connexion oracle
  • histodocs_requete : requête oracle

La requête doit impérativement retourner les colonnes suivantes (attention à la casse) :

  • TITRE : titre du document
  • URLEDITION : l’url pour lire le document (éventuellement nulle si pas disponible)
  • DOCNUM : si le document est stocké en base, son identifiant doit être spécifié ici (et URLEDITION n’est plus nécessaire).
  • SEJOUR : le numéro de séjour du patient
  • DDATE : la date d’édition du document au format DATETIME (Y-m-d H:i:s)

– Note 1 : la recherche se fait sur l’identifiant du patient dans l’établissement (idu) => il vous suffit de mettre $idu pour qu’il soit remplacé lors de l’exécution de la requête.

– Note 2 : les résultats de la requête doivent être ordonnés par ordre de date DESC (de la plus récente à la plus ancienne).

– Note 3 : exemple d’une requête oracle définie dans le fichier define.xml.php :

<histodocs_requete>SELECT TITREDOC TITRE, URLDOC URLEDITION, SEJDOC SEJOUR, to_char(DTDOC,'yyyy-mm-dd hh24:mi:ss') DDATE FROM BASEDOC WHERE ILPDOC='$idu' ORDER BY DDATE DESC</histodocs_requete>

Il ne reste ensuite qu’à activer la récupération de l’historique via oracle dans les différents terminaux : Gestion -> Configuration Urgences -> Options -> Modules -> HistoriqueDocuments

Requête utilisée pour créer un document

Dans le cas où le document est stocké en base, il faut une deuxième requête pour récupérer le contenu et créer le document à la volée. Il faut configurer la balise supplémentaire suivante :

<histodocs_requete_contenu></histodocs_requete_contenu>

La requête doit impérativement retourner la colonne suivante (attention à la casse) :

  • CONTENU : le contenu du document à créer

– Note : la recherche se fait sur l’identifiant du document (DOCNUM) => il vous suffit de mettre $DOCNUM pour qu’il soit remplacé lors de l’exécution de la requête.

select CONTENU from DMI.TUDOCUMENT where NUMDOC='$DOCNUM'

Configuration historique des passages

La configuration technique se fait dans le fichier define.xml.php Il faut configurer les balises suivantes :

  • histopassages_db : le nom de la base oracle (en concordance avec votre tnsname.ora)
  • histopassages_user : utilisateur pour la connexion oracle
  • histopassages_pass : mot de passe pour la connexion oracle
  • histopassages_requete : requête oracle

La requête doit impérativement retourner les colonnes suivantes (attention à la casse) :

  • ILP : identifiant local du patient dans l’établissement
  • SEJOUR : le numéro de séjour du patient
  • SERVICE : le libellé de l’UF de localisation du patient
  • ENTREE : la date d’entrée du patient au format DATETIME (Y-m-d H:i:s)
  • SORTIE : la date de sortie du patient au format DATETIME (Y-m-d H:i:s)

– Note 1 : la recherche se fait sur l’identifiant du patient dans l’établissement (idu) => il vous suffit de mettre $idu pour qu’il soit remplacé lors de l’exécution de la requête.

– Note 2 : les résultats de la requête doivent être ordonnés par ordre de date d’entrée DESC (de la plus récente à la plus ancienne).

– Note 3 : exemple d’une requête oracle définie dans le fichier define.xml.php :

<histodocs_requete>SELECT IDPASS SEJOUR, ILP, to_char(DTENT,’dd/mm/yyyy’) ENTREE, LIBELLE_UF SERVICE, to_char(DTSOR,’dd/mm/yy’) SORTIE FROM passage, UF, REFID WHERE Passage.IDU=’$idu’ and DTSOR is not NULL and UFADM=NUMERO_UF and passage.IDU=refid.idu and REFID.idc=1 order by DTENT DESC</histodocs_requete>

Il ne reste ensuite qu’à activer la récupération de l’historique via oracle dans les différents terminaux : Gestion -> Configuration Urgences -> Options -> Modules -> HistoriquePassages