wiki:Documentatie/Beheerder/Modules/SpoolOpenAC3

Version 9 (modified by henk, 5 years ago) (diff)

--

Spooler OpenAC 3

De ingebouwde spoolmodule biedt functionaliteit om bestanden automatisch aan een (onderdeel van een) OpenAC dossier te koppelen. Het is mogelijk om meerdere spoolfolders te configureren, elk met eigen regels voor het verwerken van bestanden die erin worden geplaatst.

Configuratie

De spoolmodule wordt geconfigureerd in appsettings.json onder de sectie "Spooler":

"Spooler": {
  "Handlers": [
    {
      "Name": "DefaultSpoolHandler",
      "Patterns": ["(?<patient_key>ACH-[A-Z]{1}\\d{5,6}).pdf"]
    }
  ],
  "Folders": [
    {
      "Path": "D:\\openac_data\\spooler",
      "Handlers": ["DefaultSpoolHandler"]
    }
  ]
},

De Spooler-sectie bestaat uit twee lijsten: "Handlers" en "Folders". Elke handler heeft twee eigenschappen: "Name" en "Patterns". "Name" moet overeenkomen met de naam van één van de in OpenAC ingebouwde spoolhandlers. "Patterns" is een lijst met reguliere expressies die patronen beschrijft van bestandsnamen die de handler moet verwerken.

Automatisch thema's koppelen

In de configuratie kunnen thema's worden gekoppeld aan folders. Deze thema's worden automatisch toegewezen aan de bestanden die worden verwerkt in de betreffende folder.

"Spooler": {
  "Handlers": [
    {
      "Name": "DefaultSpoolHandler",
      "Patterns": ["(?<patient_key>ACH-[A-Z]{1}\\d{5,6}).pdf"]
    }
  ],
  "Folders": [
    {
      "Path": "D:\\openac_data\\spooler\audiologie_psychologie",
      "Handlers": ["DefaultSpoolHandler"],
      "Themes": ["audiologie", "psychologie"]

    }
  ]
},

In bovenstaand voorbeeld krijgen bestanden uit folder "D:\openac_data\spooler\audiologie_psychologie" automatisch de thema's "audiologie" en "psychologie". "audiologie" en "psychologie" moeten als bestandthema bestaan in OpenAC.

Een tweede mogelijkheid om automatisch thema's te koppelen aan een bestand is om handlers te voorzien van een configuratiesectie. Hierin kun je per patroon een configuratie opnemen:

"Spooler": {
  "Handlers": [
    {
      "Name": "DefaultSpoolHandler",
      "Patterns": ["(?<patient_key>ACH-[A-Z]{1}\\d{5,6}).pdf", 
                   "verwijsbrief-(?P<patient_key>ACH-[A-Z]{1}\\d{5,6})-(?P<behandeling_key>ACH-[A-Z]{1}\\d{5,6}.docx"],
      "Configs": {
        "(?<patient_key>ACH-[A-Z]{1}\\d{5,6}).pdf": {
          "Item": "",
          "Themes": ["audiologie", "psychologie"]
        }
      }
    }
  ],
  "Folders": [
    {
      "Path": "D:\\openac_data\\spooler",
      "Handlers": ["DefaultSpoolHandler"]
    }
  ]
},

De thema's van de handler krijgen voorrang boven de thema's van de folder.

Handlers

Om te bepalen wat er met bestanden in de spoolmappen moet gebeuren past OpenAC een aantal regels toe. De implementatie van een set van deze regels heet een spoolhandler. Hieronder een opsomming van beschikbare spoolhandlers.

DefaultSpoolHandler

Bestanden worden geselecteerd op basis van patiëntnummer. Bestanden met alleen een patiëntnummer in de naam worden rechtstreeks aan een patiënt gekoppeld. Als de bestandsnaam behalve het patiëntnummer ook de key van een zorgtraject bevat dan koppelt OpenAC het bestand aan het betreffende zorgtraject. Voorbeelden:

Patroon (?<patient_key>ACH-[A-Z]{1}\\d{5,6}).pdf
Toelichting PDF-bestanden met alleen een patiëntnummer. Patiëntnummers beginnen met "ACH-" gevolgd door één hoofdletter, 5 0f 6 cijfers en eindigend op ".pdf"
Bestandsnaam ACH-G12345.pdf
--
Patroon verwijsbrief-(?<patient_key>ACH-[A-Z]{1}\\d{5,6})-(?<behandeling_key>ACH-[A-Z]{1}\\d{5,6}.docx
Toelichting Word-bestanden beginnend met "verwijsbrief" en zowel een patiëntnummer als een key van een zorgtraject
Bestandsnaam verwijsbrief-ACH-G12345-ACH-H654321.docx

Voorbeeldconfiguratie:

"Spooler": {
  "Handlers": [
    {
      "Name": "DefaultSpoolHandler",
      "Patterns": ["(?<patient_key>ACH-[A-Z]{1}\\d{5,6}).pdf", 
                   "verwijsbrief-(?P<patient_key>ACH-[A-Z]{1}\\d{5,6})-(?P<behandeling_key>ACH-[A-Z]{1}\\d{5,6}.docx"]
    }
  ],
  "Folders": [
    {
      "Path": "D:\\openac_data\\spooler",
      "Handlers": ["DefaultSpoolHandler"]
    }
  ]
},

Met deze configuratie verwerkt "DefaultSpoolHandler" pdf- en docx-bestanden in de map "D:\openac_data\spooler" waarvan de bestandsnaam overeenkomt met de beschreven patronen.

SpoolHandlerOpDatum

Bestanden worden geselecteerd op basis van patiëntnummer, datum en type. Voorbeeld:

def finish():
    f050_spool.add_handler(
        "s010.tabelscherm_patient",
        handler.SpoolHandlerOpDatum(
            "bera-(?P<patient_key>\d{5})-(?P<datum>\d{4}-\d{2}-\d{2}).pdf", "meting"))

Deze regel matcht bestand "bera-12345-2016-04-29.pdf" en koppelt deze aan de meting van 29 april 2016 van patiënt <prefix>-12345.