Changes between Initial Version and Version 1 of Documentatie/Beheerder/Modules/SpoolOpenAC3


Ignore:
Timestamp:
Sep 6, 2021 12:00:33 PM (5 years ago)
Author:
henk
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Documentatie/Beheerder/Modules/SpoolOpenAC3

    v1 v1  
     1[[TOC(heading=Spooler OpenAC 3)]] 
     2[[TOC(heading=Moduleconfiguratie, sectionindex, compact, depth=3, allactive, Documentatie/Beheerder/Modules/)]] 
     3[[TOC(heading=Beheerder, sectionindex, compact, depth=2, allactive, indirect=Documentatie/Beheerder/TOC)]] 
     4[[TOC(heading=Documentatie, sectionindex, compact, depth=1, allactive, Documentatie/)]] 
     5 
     6 
     7= Spooler OpenAC 3 = 
     8Module 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. 
     9 
     10== Spoolfunctie aanzetten == 
     11De spoolfunctie wordt aangezet door in de adaptatie module f050_spool te importeren: 
     12{{{ 
     13from kern import f050_spool 
     14}}} 
     15 
     16Vervolgens moet de module in de adaptatie startfunctie worden gestart: 
     17{{{ 
     18def start(): 
     19    f050_spool.start() 
     20}}} 
     21 
     22== Configuratie == 
     23Als 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)". __Globaal__ kun je gebruiken voor bijvoorbeeld een netwerk share voor de hele instelling. __Lokaal__ voor bijvoorbeeld een directory per werkstation. Beide spoolmappen worden gecheckt. 
     24 
     25== Handlers == 
     26Om 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 
     27 
     28=== !SpoolHandlerOpKey === 
     29Bestanden worden geselecteerd op basis van patiëntnummer en/of nummer van het zorgtraject. Voorbeeld: 
     30 
     31{{{ 
     32def finish(): 
     33    from kern.f050_spool import handler 
     34    f050_spool.add_handler( 
     35        "s010.tabelscherm_patient", 
     36        handler.SpoolHandlerOpKey("verwijsbrief-(?P<patient_key>\w{4}-\d{2}-\d{4})-(?P<behandeling_key>\w{4}-\w{1}\d{7}).pdf")) 
     37 
     38}}} 
     39 
     40 
     41Deze 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: 
     42 
     43{{{ 
     44def finish(): 
     45    from kern.f050_spool import handler 
     46    f050_spool.add_handler( 
     47        "s010.tabelscherm_patient", 
     48        handler.SpoolHandlerOpKey("verwijsbrief-(?P<patient_key>\w{4}-\d{2}-\d{4}).pdf")) 
     49 
     50}}} 
     51 
     52In dat geval is alleen het patiëntnummer nodig in de bestandsnaam: "verwijsbrief-ABCD-16-1234.pdf" 
     53 
     54=== !SpoolHandlerOpDatum === 
     55Bestanden worden geselecteerd op basis van patiëntnummer, datum en type. Voorbeeld: 
     56 
     57{{{ 
     58def finish(): 
     59    f050_spool.add_handler( 
     60        "s010.tabelscherm_patient", 
     61        handler.SpoolHandlerOpDatum( 
     62            "bera-(?P<patient_key>\d{5})-(?P<datum>\d{4}-\d{2}-\d{2}).pdf", "meting")) 
     63 
     64}}} 
     65 
     66Deze regel matcht bestand "bera-12345-2016-04-29.pdf" en koppelt deze aan de meting van 29 april 2016 van patiënt <prefix>-12345. 
     67 
     68=== Thema's koppelen === 
     69Het 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: 
     70 
     71{{{ 
     72def finish(): 
     73    f050_spool.add_handler( 
     74        "s010.tabelscherm_patient", 
     75        handler.SpoolHandlerOpDatum( 
     76            "bera-(?P<patient_key>\d{5})-(?P<datum>\d{4}-\d{2}-\d{2}).pdf", "meting", themas=["audiologie", "psychologie"])) 
     77 
     78}}} 
     79 
     80In bovenstaand voorbeeld krijgen door deze handler gematchte bestanden automatisch de thema's "audiologie" en "psychologie". "audiologie" en "psychologie" moeten als bestandthema bestaan in OpenAC. 
     81 
     82=== Eigen handlers === 
     83 
     84Het is ook mogelijk om eigen handlers te ontwikkelen afgeleid van de basisklasse !SpoolHandlerRE waarvan ook !SpoolHandlerOpKey en !SpoolHandlerOpDatum van afgeleid zijn. 
     85 
     86=== Handmatig spoolen ===#handmatig 
     87(vanaf v2.016) #9910 
     88 
     89Je gebruik maken van de context functie bij het registreren van een spool handler. Als je het dossierscherm opent dan verwerkt de spoolfunctie alleen handlers die zijn geregistreerd met context "s010.tabelscherm_patient". Als het je het medewerkerscherm opent alleen handlers die zijn geregistreerd met context "s010.tabelscherm_medewerker" etc. Als je handlers registreert met een contextnaam die OpenAC niet kent, bijvoorbeeld "s010.handmatig", dan worden deze handlers niet automatisch aangeroepen. Dan kun je de optie "check spoolfolders" in het bestandsmenu gebruiken om bestanden in de spooldirectory's te verwerken. 
     90 
     91[[Image(check_spool.png)]] 
     92 
     93 
     94== Systeemdocumentatie == 
     95Zie de systeemdocumentatie voor meer informatie: 
     96 * [https://www.fenac.nl/openac/downloads/documentatie/namespacekern_1_1f050__spool.html#a76a8345aec7cf68f987b45dd38c185f3 f050_spool.add_handler()] 
     97 * [https://www.fenac.nl/openac/downloads/documentatie/classkern_1_1f050__spool_1_1handler_1_1SpoolHandlerOpKey.html#details SpoolHandlerOpKey] 
     98 * [https://www.fenac.nl/openac/downloads/documentatie/classkern_1_1f050__spool_1_1handler_1_1SpoolHandlerOpDatum.html#details SpoolHandlerOpDatum] 
     99 * [https://www.fenac.nl/openac/downloads/documentatie/classkern_1_1f050__spool_1_1handler_1_1SpoolHandlerRE.html#details basisklasse SpoolHandlerRE]