[[TOC(heading=Spooler)]] [[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 = Module f050_spool biedt functionaliteit om bestanden automatisch aan een (onderdeel van een) OpenAC dossier te hangen. Bestanden moeten in één van de twee spoolmappen worden geplaatst waar ze op gezette tijden door OpenAC worden opgepikt. == Spoolfunctie aanzetten == De spoolfunctie wordt aangezet door in de adaptatie module f050_spool te importeren: {{{ from kern import f050_spool }}} Vervolgens moet de module in de adaptatie startfunctie worden gestart: {{{ def start(): f050_spool.start() }}} == Configuratie == Als de f050_spool is aangezet kun je in het instellingenscherm opgeven welke spoolmappen OpenAC in de gaten moet houden. In de sectie "Bestandslocaties" gaat het om "Spool directory 1 (globaal)" en "Spool directory 2 (lokaal)". == Handlers == Om te bepalen wat er met bestanden in de spoolmappen moet gebeuren past OpenAC een aantal regels toe. Deze regels kunnen worden geconfigureerd met spool handlers. Een spool handler dient te worden geregistreerd in de finish() functie van de adaptatie en verwerkt bestanden op basis van de opgegeven reguliere expressie. Er zijn een tweetal voorgedefinieerde spoolhandlers: !SpoolHandlerOpKey en !SpoolHandlerOpDatum === !SpoolHandlerOpKey === Bestanden worden geselecteerd op basis van patiëntnummer en/of nummer van het zorgtraject. Voorbeeld: {{{ def finish(): from kern.f050_spool import handler f050_spool.add_handler( "s010.tabelscherm_patient", handler.SpoolHandlerOpKey("verwijsbrief-(?P\w{4}-\d{2}-\d{4})-(?P\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\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\d{5})-(?P\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 -12345. === Automatisch thema's koppelen aan 'gespoolde' bestanden === 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\d{5})-(?P\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. === Eigen handlers === Het is ook mogelijk om eigen handlers te ontwikkelen afgeleid van de basisklasse !SpoolHandlerRE waarvan ook !SpoolHandlerOpKey en !SpoolHandlerOpDatum van afgeleid zijn. == Systeemdocumentatie == Zie de systeemdocumentatie voor meer informatie: * [https://www.fenac.nl/openac/downloads/documentatie/namespacekern_1_1f050__spool.html#a76a8345aec7cf68f987b45dd38c185f3 f050_spool.add_handler()] * [https://www.fenac.nl/openac/downloads/documentatie/classkern_1_1f050__spool_1_1handler_1_1SpoolHandlerOpKey.html#details SpoolHandlerOpKey] * [https://www.fenac.nl/openac/downloads/documentatie/classkern_1_1f050__spool_1_1handler_1_1SpoolHandlerOpDatum.html#details SpoolHandlerOpDatum] * [https://www.fenac.nl/openac/downloads/documentatie/classkern_1_1f050__spool_1_1handler_1_1SpoolHandlerRE.html#details basisklasse SpoolHandlerRE]