| Version 4 (modified by henk, 5 years ago) (diff) |
|---|
TOC(heading=Spooler OpenAC 3)? TOC(heading=Moduleconfiguratie, sectionindex, compact, depth=3, allactive, Documentatie/Beheerder/Modules/)? TOC(heading=Beheerder, sectionindex, compact, depth=2, allactive, indirect=Documentatie/Beheerder/TOC)? TOC(heading=Documentatie, sectionindex, compact, depth=1, allactive, Documentatie/)?
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":
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.
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 | Toelichting | Bestandsnaam |
| (?<patient_key>ACH-[A-Z]{1} d{5,6}).pdf | PDF-bestanden met alleen een patiëntnummer. Patiëntnummers beginnen met "ACH-" gevolgd door één hoofdletter, 5 0f 6 cijfers en eindigend op ".pdf" | ACH-G12345.pdf |
| verwijsbrief-(?P<patient_key>ACH-[A-Z]{1} d{5,6})-(?P<behandeling_key>ACH-[A-Z]{1} d{5,6}.docx | Word-bestanden met zowel een patiëntnummer als een key van een zorgtraject | verwijsbrief-ACH-G12345-ACH-H654321.docx |
def finish():
from kern.f050_spool import handler
f050_spool.add_handler(
"s010.tabelscherm_patient",
handler.SpoolHandlerOpKey("verwijsbrief-(?P<patient_key>\w{4}-\d{2}-\d{4})-(?P<behandeling_key>\w{4}-\w{1}\d{7}).pdf"))
Deze regel matcht bestand "verwijsbrief-ABCD-16-1234-ABCD-A1234567.pdf" en koppelt deze aan zorgtraject ABCD-A1234567 van patiënt ABCD-A1234567. Het is ook mogelijk om bestanden rechtstreeks te koppelen aan de patiënt:
def finish():
from kern.f050_spool import handler
f050_spool.add_handler(
"s010.tabelscherm_patient",
handler.SpoolHandlerOpKey("verwijsbrief-(?P<patient_key>\w{4}-\d{2}-\d{4}).pdf"))
In dat geval is alleen het patiëntnummer nodig in de bestandsnaam: "verwijsbrief-ABCD-16-1234.pdf"
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.
Thema's koppelen
Het is mogelijk om automatisch thema's te koppelen aan bestanden die door een handler worden gematcht door een lijst met thema's mee te geven aan de constructor van een spoolhandler:
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", themas=["audiologie", "psychologie"]))
In bovenstaand voorbeeld krijgen door deze handler gematchte bestanden automatisch de thema's "audiologie" en "psychologie". "audiologie" en "psychologie" moeten als bestandthema bestaan in OpenAC.