Vai al contenuto principale
Dopo aver configurato le attività di Extraction Rules, possiamo aggiungere regole di business per validare e normalizzare i valori dei field.

Regolare l’ID del medico

Per prima cosa, regoleremo le proprietà del field “Doctor ID”. L’attività Extraction Rules lavora sui risultati del pre-riconoscimento, che possono contenere errori di Optical Character Recognition (OCR) e caratteri superflui. Una volta individuata la regione del field, possiamo perfezionare il valore del field specificando un’espressione regolare nelle proprietà dei field. I dati verranno rielaborati e gli errori OCR verranno eliminati.
  1. Fai clic sul nome della skill e poi vai alla scheda Fields.
  2. Espandi il gruppo “Doctor” e apri le impostazioni del field “Doctor ID” facendo clic sull’icona delle impostazioni accanto ad esso.
  3. Nella sezione Value delle proprietà del field, fai clic sull’icona Aggiungi accanto all’opzione Regular expression.
  4. Incolla la seguente espressione nel Regular Expression Editor: [0-9]{1}[\/.-]{1}[0-9]{5}[\/.-]{1}[0-9]{2}[\/.-]{1}[0-9]{3}
Nota: Questo editor utilizza una notazione comune che differisce dalla notazione usata nell’Extraction Rules Activity Editor. Per maggiori informazioni, fai clic su Syntax help nel Regular Expression Editor.
  1. Fai clic su Save per chiudere il Regular Expression Editor e poi fai clic su Save per chiudere le proprietà del field.

Verifica della validità del certificato di malattia

Il paziente dovrebbe ricevere il certificato di malattia entro 3 giorni da quando si è ammalato per la prima volta. Ciò significa che la data di emissione non deve essere successiva al terzo giorno dalla data di inizio della malattia. Per verificare questa condizione è necessario configurare una regola di script
  1. Fai clic sull’icona di aggiunta sotto il modulo dati. Si aprirà la finestra di dialogo New Rule.
Nota: Se non vedi l’icona di aggiunta, passa alla sezione Reference sopra l’immagine del documento.
  1. Seleziona Advanced Script Rule e fai clic su Next.
  2. Rinomina la regola in “Check validity”.
  3. Seleziona i field “Date”, “Start Date” e “End Date” nell’elenco dei fields.
  4. Fai clic su Next.
  5. Incolla il seguente script nell’editor di script:
// Crea variabili per tutti i field a cui accederai
var dateField = Context.GetField("Date");
var startField = Context.GetField("Start Date");
var endField = Context.GetField("End Date");

var issueDate = dateField.Value;
var startDate = startField.Value;

//Verifica se il field "Start Date" è stato trovato sul documento
if (startDate && issueDate)
{
   //Verifica se la data di emissione non supera i 3 giorni dalla data di inizio
    if ((issueDate.getTime() - startDate.getTime()) / 3600000 / 24 > 3)
    {
        Context.CheckSucceeded = false;
        Context.ErrorMessage = "Il certificato medico è stato emesso troppo tardi";
    }
}
  1. Fai clic su Save ed esamina come la regola funziona su diversi documenti del set. Per verificare come la regola gestisce gli errori, puoi immettere manualmente valori di test nei field nel modulo dati. La regola verrà riapplicata ogni volta che modifichi il valore del field.

Verifica della durata della malattia

Calcoleremo la durata della malattia utilizzando le date di inizio e fine. Se il documento specifica una durata, verificheremo che coincida con la durata calcolata. Se il documento non contiene una durata, scriveremo il valore calcolato nel field corrispondente.
  1. Fai clic sull’icona Aggiungi sotto il modulo dati per creare una regola.
  2. Seleziona Advanced Script Rule e fai clic su Next.
  3. Rinomina la regola in “Check duration”.
  4. Seleziona i field “Start Date”, “End Date” e “Duration” nell’elenco dei fields. È importante selezionare i field in entrambe le colonne, perché non ci limiteremo a leggere i valori dei field, ma li correggeremo anche se necessario.
  5. Fai clic su Next.
  6. Incolla il seguente script nell’editor di script:
// Crea variabili per tutti i field a cui accederai
var startField = Context.GetField("Start Date") ;
var endField = Context.GetField("End Date");
var durationField = Context.GetField("Duration");

var startDate = startField.Value;
var endDate = endField.Value;

//Verifica se i field "Start Date" e "End Date" sono stati trovati nel documento
if (endField && endDate && startField && startDate)
{
   //Calcola la durata del congedo per malattia
   var length = (1 + (endDate.getTime() - startDate.getTime()) / 3600000 / 24);

   //Se il field della durata non è stato trovato o non può essere analizzato come numero, passa il valore calcolato al field
   if (!durationField.Value)
       durationField.Value = length; 

   //Se il field della durata è stato trovato, confronta il suo valore con la durata calcolata
   else if (durationField.Value != length)
   {
       Context.CheckSucceeded = false;
       Context.ErrorMessage = "Il valore del field \"Duration\" non corrisponde alla durata effettiva del congedo per malattia";
       durationField.AddSuggestion(length.toString());
   }
}
  1. Fare clic su Save ed esaminare come funziona la regola sui diversi documenti del set. Per verificare come la regola gestisce gli errori, è possibile immettere manualmente valori di test nei field nel modulo dati. La regola verrà applicata di nuovo ogni volta che si modifica il valore del field.