Saltar al contenido principal
Una vez configuradas las actividades de Extraction Rules, podemos añadir reglas empresariales para validar y normalizar los valores de los campos.

Ajustar el ID del médico

Primero, vamos a ajustar las propiedades del campo “Doctor ID”. La actividad Extraction Rules trabaja con resultados previos al reconocimiento que pueden contener errores de Reconocimiento óptico de caracteres (OCR) y caracteres innecesarios. Una vez identificada una región del campo, podemos ajustar el valor especificando una expresión regular en las propiedades del campo. Los datos se volverán a extraer y se eliminarán los errores de OCR.
  1. Haga clic en el nombre de la skill y luego vaya a la pestaña Fields.
  2. Expanda el grupo “Doctor” y abra la configuración del campo “Doctor ID” haciendo clic en el icono de configuración junto a él.
  3. En la sección Value de las propiedades del campo, haga clic en el icono de añadir junto a la opción Regular expression.
  4. Pegue la siguiente expresión en el Regular Expression Editor: [0-9]{1}[\/.-]{1}[0-9]{5}[\/.-]{1}[0-9]{2}[\/.-]{1}[0-9]{3}
Nota: Este editor utiliza una notación común que difiere de la notación utilizada en el Extraction Rules Activity Editor. Para obtener más información, haga clic en Syntax help en el Regular Expression Editor.
  1. Haga clic en Save para cerrar el Regular Expression Editor y luego haga clic en Save para cerrar las propiedades del campo.

Comprobar si la baja médica es válida

El paciente debe recibir la baja médica dentro de los 3 días posteriores a la primera aparición de la enfermedad. Esto significa que la fecha de emisión no debe ser posterior a 3 días desde la fecha de inicio de la enfermedad. Para comprobar esta condición, necesitamos configurar una regla de script
  1. Haga clic en el icon debajo del formulario de datos. Se abrirá el cuadro de diálogo New Rule.
Nota: Si no ve el icon de agregar, cambie a la sección Reference sobre la imagen del documento.
  1. Seleccione Advanced Script Rule y haga clic en Next.
  2. Cambie el nombre de la regla a “Check validity”.
  3. Seleccione los campos “Date”, “Start Date” y “End Date” en la lista de fields.
  4. Haga clic en Next.
  5. Pegue el siguiente script en el editor de scripts:
// Crear variables para todos los campos a los que va a acceder
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;

//Verificar si el campo "Start Date" se encontró en el documento
if (startDate && issueDate)
{
   //Verificar si la fecha de emisión no es más de 3 días después de la fecha de inicio
    if ((issueDate.getTime() - startDate.getTime()) / 3600000 / 24 > 3)
    {
        Context.CheckSucceeded = false;
        Context.ErrorMessage = "La nota médica fue emitida demasiado tarde";
    }
}
  1. Haz clic en Save y examina cómo funciona la regla en distintos documentos del conjunto. Para comprobar cómo la regla maneja los errores, puedes introducir manualmente valores de prueba en los campos del formulario de datos. La regla se volverá a aplicar cada vez que cambies el valor del campo.

Comprobación de la duración de la baja por enfermedad

Vamos a calcular la duración de la baja por enfermedad utilizando las fechas de inicio y fin. Si el documento especifica una duración, comprobaremos si coincide con la duración calculada. Si el documento no contiene una duración, escribiremos el valor calculado en el campo correspondiente.
  1. Haga clic en el icono de agregar debajo del formulario de datos para crear una regla.
  2. Seleccione Advanced Script Rule y haga clic en Next.
  3. Cambie el nombre de la regla a “Check duration”.
  4. Seleccione los campos “Start Date”, “End Date” y “Duration” en la lista de campos. Es importante seleccionar los campos en ambas columnas, ya que no solo vamos a leer los valores de los campos, sino también a corregirlos si es necesario.
  5. Haga clic en Next.
  6. Pegue el siguiente script en el editor de scripts:
// Crear variables para todos los campos a los que va a acceder
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;

//Verificar si los campos "Start Date" y "End Date" se encontraron en el documento
if (endField && endDate && startField && startDate)
{
   //Calcular la duración de la baja por enfermedad
   var length = (1 + (endDate.getTime() - startDate.getTime()) / 3600000 / 24);

   //Si el campo de duración no se encontró o no se pudo analizar como número, pasar el valor calculado al campo
   if (!durationField.Value)
       durationField.Value = length; 

   //Si el campo de duración se encontró, comparar su valor con la duración calculada
   else if (durationField.Value != length)
   {
       Context.CheckSucceeded = false;
       Context.ErrorMessage = "El valor del campo \"Duration\" no coincide con la duración real de la baja por enfermedad";
       durationField.AddSuggestion(length.toString());
   }
}
  1. Haz clic en Guardar y revisa cómo funciona la regla en distintos documentos del conjunto. Para comprobar cómo la regla gestiona errores, puedes introducir manualmente valores de prueba en los campos del formulario de datos. La regla se volverá a aplicar cada vez que cambies el valor del campo.