modif doc

This commit is contained in:
Pierre Marx
2025-09-04 12:33:46 -04:00
parent 3f21bc0465
commit ee038cedd8

View File

@@ -14,6 +14,7 @@ Ce document décrit le parcours complet d'un agent utilisant SimpleConnect, depu
```
**Processus système** :
- Connexion automatique au serveur SignalR (configuré dans `config.json`)
- Vérification de la disponibilité du service
- Récupération de la liste des terminaux téléphoniques disponibles
@@ -25,7 +26,8 @@ Ce document décrit le parcours complet d'un agent utilisant SimpleConnect, depu
### 2.1 Interface de connexion
L'agent arrive sur l'écran de connexion avec :
- Champ email
- Champ code agent
- Champ mot de passe
- Sélecteur de terminal téléphonique (liste dynamique)
- Bouton de connexion
@@ -63,6 +65,7 @@ AgentLogin(email, password, terminal) → Serveur SignalR
### 2.3 Post-connexion
**Actions automatiques après connexion réussie** :
1. Génération dynamique des onglets selon les centres assignés
2. Création des webviews pour chaque plateforme
3. Auto-connexion aux plateformes médicales (injection des credentials)
@@ -78,6 +81,7 @@ AgentLogin(email, password, terminal) → Serveur SignalR
### 3.1 État disponible
**L'agent est prêt à recevoir des appels** :
- Statut : indicateur vert "Disponible"
- Peut naviguer librement entre les onglets
- Peut consulter les plannings de manière proactive
@@ -102,12 +106,13 @@ AgentLogin(email, password, terminal) → Serveur SignalR
#### Actions système
**Notification immédiate** :
```javascript
// Alerte visuelle
showIncomingCallAlert({
centreName: "Centre Cardio Lyon",
patientInfo: "Marie LAMBERT - 0612345678",
motif: "Consultation urgente"
motif: "Consultation urgente",
});
// Son de notification
@@ -115,6 +120,7 @@ playNotificationSound();
```
**Auto-acceptation** :
- Timer de 3 secondes avant acceptation automatique
- Ou acceptation manuelle immédiate par l'agent
@@ -122,13 +128,13 @@ playNotificationSound();
```javascript
// Le système identifie le centre concerné
selectCenter('centre1');
selectCenter("centre1");
// Bascule sur le bon onglet/webview
switchToTab('Centre Cardio Lyon');
switchToTab("Centre Cardio Lyon");
// Mise à jour du statut
updateStatus('EN APPEL - Centre Cardio Lyon');
updateStatus("EN APPEL - Centre Cardio Lyon");
```
### 3.3 Pendant l'appel
@@ -136,11 +142,13 @@ updateStatus('EN APPEL - Centre Cardio Lyon');
**Actions possibles de l'agent** :
1. **Prise de RDV** :
- Navigation dans le planning actif
- Recherche de créneaux disponibles
- Validation du RDV directement dans la webview
2. **Prise de notes** :
```javascript
// Zone de notes rapides
quickNotes.value = "Patient souhaite mardi matin de préférence";
@@ -148,6 +156,7 @@ updateStatus('EN APPEL - Centre Cardio Lyon');
```
3. **Consultation documentation** :
```javascript
// Ouverture wiki interne (nouvelle fenêtre)
OpenDoc("http://wiki.interne/protocoles");
@@ -181,7 +190,7 @@ updateStatus('EN APPEL - Centre Cardio Lyon');
```javascript
// Mise à jour automatique
updateStatus('DISPONIBLE');
updateStatus("DISPONIBLE");
callStats.calls++;
callStats.appointments++; // Si RDV pris
@@ -191,7 +200,7 @@ saveCallHistory({
duration: 180, // secondes
centre: "centre1",
status: "completed",
appointment: true
appointment: true,
});
```
@@ -202,18 +211,19 @@ saveCallHistory({
```javascript
// L'agent peut gérer plusieurs centres simultanément
centres = [
{ id: 'centre1', nom: 'Centre Cardio Lyon', couleur: '#FF6B6B' },
{ id: 'centre2', nom: 'Clinique Saint-Jean', couleur: '#4ECDC4' },
{ id: 'centre3', nom: 'Cabinet Dr Martin', couleur: '#45B7D1' }
{ id: "centre1", nom: "Centre Cardio Lyon", couleur: "#FF6B6B" },
{ id: "centre2", nom: "Clinique Saint-Jean", couleur: "#4ECDC4" },
{ id: "centre3", nom: "Cabinet Dr Martin", couleur: "#45B7D1" },
];
// Navigation libre entre les onglets (hors appel)
selectCenter('centre2'); // Changement manuel
selectCenter("centre2"); // Changement manuel
```
### 4.2 Outils de productivité
**Statistiques temps réel** :
```javascript
{
calls: 15, // Appels traités aujourd'hui
@@ -224,12 +234,13 @@ selectCenter('centre2'); // Changement manuel
```
**Notes et historique** :
```javascript
// Notes rapides par appel
saveNotes({
content: "Patient à rappeler pour confirmation",
centre: "centre1",
timestamp: new Date()
timestamp: new Date(),
});
// Consultation historique
@@ -241,14 +252,16 @@ getCallHistory(); // 100 derniers appels
```javascript
// Documentation (DocXplore)
childClientDocXplore = new BrowserWindow({
x: 1920, y: 0, // Position configurée
title: "SimpleConnect / Wiki"
x: 1920,
y: 0, // Position configurée
title: "SimpleConnect / Wiki",
});
// Informations client
childClientDoc = new BrowserWindow({
x: 2880, y: 0, // Position configurée
title: "SimpleConnect / Infos client"
x: 2880,
y: 0, // Position configurée
title: "SimpleConnect / Infos client",
});
```
@@ -257,6 +270,7 @@ childClientDoc = new BrowserWindow({
### 5.1 Déclenchement
La déconnexion peut être initiée par :
- Clic sur le bouton "Déconnexion"
- Fermeture de l'application (croix de fenêtre)
- Timeout de session (si configuré)
@@ -265,7 +279,7 @@ La déconnexion peut être initiée par :
```javascript
// Dialogue de confirmation
if (confirm('Voulez-vous vraiment vous déconnecter ?')) {
if (confirm("Voulez-vous vraiment vous déconnecter ?")) {
// 1. Notification au serveur
AgentLogoff(agentId);
@@ -280,12 +294,12 @@ if (confirm('Voulez-vous vraiment vous déconnecter ?')) {
// 4. Génération log final
writeDashboardLog({
"PrestaConnect": {
"Connexion": {
"Connecte": "Non",
"Date_Deconnexion": new Date().toISOString()
}
}
PrestaConnect: {
Connexion: {
Connecte: "Non",
Date_Deconnexion: new Date().toISOString(),
},
},
});
// 5. Retour page connexion ou fermeture
@@ -425,7 +439,7 @@ ctiSimulator.simulateScenarios():
```javascript
// Identification par priorité haute
if (callData.priority === 'high') {
if (callData.priority === "high") {
// Notification visuelle renforcée
showUrgentCallAlert(callData);
// Son différent
@@ -442,7 +456,7 @@ if (callData.priority === 'high') {
if (callData.lastVisit) {
showPatientHistory({
lastVisit: callData.lastVisit,
appointments: callData.appointmentHistory
appointments: callData.appointmentHistory,
});
}
```