wiki:Documentatie/Beheerder/Modules/SpoolOpenAC3

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. OpenAC 3 verwerkt bestanden die in de geconfigureerde spoolfolders worden geplaatst onmiddelijk.

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.

Elk patroon bevat één of meerdere informatiegroepen. Elke groep beschrijft een onderdeel waarmee OpenAC het bestand kan identificeren en classificeren. De naam van de groep geeft aan op welk onderdeel de reguliere expressie van deze groep beschrijft. Het patroon (?<patient_key>ACH-[A-Z]{1}\\d{5,6}).pdf uit bovenstaand voorbeeld bevat één groep: (?<patient_key>ACH-[A-Z]{1}\\d{5,6}), dus alles behalve ".pdf". Een groep staat altijd tussen haakjes en begint met de naam. Deze begint met ? en staat tussen < en >. Het patroon verwijsbrief-(?<patient_key>ACH-[A-Z]{1}\\d{5,6})-(?<behandeling_key>ACH-[A-Z]{1}\\d{5,6}.docx"} bevat twee groepen: patient_key en behandeling_key.

Let op: In OpenAC 2 begon de naam van een groep met ?P. In OpenAC 3 moet je de P weglaten. Dus ?<patient_key> in plaats van ?P<patient_key>

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-(?<patient_key>ACH-[A-Z]{1}\\d{5,6})-(?<behandeling_key>ACH-[A-Z]{1}\\d{5,6}.docx"],
      "Configs": {
        "(?<patient_key>ACH-[A-Z]{1}\\d{5,6}).pdf": {
          "Themes": ["audiologie", "psychologie"]
        }
      }
    }
  ],
  "Folders": [
    {
      "Path": "D:\\openac_data\\spooler",
      "Handlers": ["DefaultSpoolHandler"]
    }
  ]
},

Thema's van een handler krijgen voorrang boven thema's van een 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. Alle spoolhandlers verwachten een groep met de naam ?<patient_key>.

Hieronder een opsomming van beschikbare spoolhandlers.

DefaultSpoolHandler

Groepsnamen: patient_key (verplicht), behandeling_key (optioneel)

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

Groepsnamen: patient_key (verplicht), datum (verplicht)

SpoolHandlerOpDatum koppelt een bestand aan item onder een zorgtraject op basis van het patiëntnummer, een datum en een item.

Het patiëntnummer en de datum worden uit de reguliere expressie gehaald. Het item waaraan het bestand gekoppeld moet worden komt uit de configuratie bij de reguliere expressie.

"Spooler": {
  "Handlers": [
    {
      "Name": "DefaultSpoolHandler",
      "Patterns": [
        "(?<patient_key>ACH-[A-Z]{1}\\d{5,6}).pdf",
        "(\\w*)(?<patient_key>ACH-[A-Z]{1}\\d{5,6}).docx"
      ]
    },
    {
      "Name": "SpoolHandlerOpDatum",
      "Patterns": [
        "brief-(?<patient_key>ACH-[A-Z]{1}\\d{5,6})-(?<datum>\\d{4}-\\d{2}-\\d{2}).pdf"
      ],
      "Configs": {
        "brief-(?<patient_key>ACH-[A-Z]{1}\\d{5,6})-(?<datum>\\d{4}-\\d{2}-\\d{2}).pdf": {
          "Item": "plandag"
        }
      }
    }
  ],
  "Folders": [
    {
      "Path": "D:\\openac_data\\spooler",
      "Handlers": ["DefaultSpoolHandler", "SpoolHandlerOpDatum"],
      "Themes": ["audiologie"]
    }
  ]
},

Deze configuratie matcht bestand "brief-ACH-H117033-2021-06-28.pdf" en koppelt deze aan de plandag van 28 juni 2021 van patiënt ACH-H117033. Het is mogelijk om 0000-00-00 op te geven als datum, dan zal OpenAC het meest recente item selecteren.

SpoolHandlerOpKeyAanRecept

Deze spoolhandler is verouderd en wordt niet meer ondersteund. Gebruik SpoolHandlerOpDatum "Item": "recept" in de configuratie en datum "0000-00-00" in de bestandsnaam.

SpoolHandlerMetingOpDatum

Groepsnamen: patient_key (verplicht), datum (verplicht), meting (verplicht)

SpoolHandlerMetingOpDatum probeert een bestand aan een meting op datum te koppelen. De handler maakt een meting aan als deze niet bestaat op de betreffende datum. Er moet dan wel een bezoek zijn op die datum. De groep meting evalueert naar een metingtype. De naam van het bestandssjabloon wordt BIJLAGE-<metingtype>.

SpoolHandlerOpenZorgtraject

Groepsnamen: patient_key (verplicht), omschrijving (optioneel)

SpoolHandlerOpenZorgtraject probeert bestanden aan het meest recente open zorgtraject te koppelen. Als er een beschrijving voorkomt in de bestandsnaam dan plaatst OpenAC deze in de body van het bestand.

Last modified 5 months ago Last modified on Dec 15, 2023 8:59:00 AM