Changes between Version 20 and Version 21 of Documentatie/Beheerder/Modules/Grouper


Ignore:
Timestamp:
06/04/18 13:10:00 (8 years ago)
Author:
bob
Comment:

--

Legend:

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

    v20 v21  
    9696   Voer het wachtwoord (als er een is) voor de server key in als dit commando er om vraagt. Verplaats dit bestand naar de OpenAC certificaten directory. 
    9797 
    98 == Grouper Test Script == 
     98== Grouper Testen == 
    9999 
    100 De naam van dit script is {{{ping-grouper}}}. 
     100Dit kun je tegenwoordig gelijk uitvoeren in OpenAC2 indien je de switches  "gebruik-acc-grouper" en "gebruik-acc-vecozo" aan zet en vervolgens 
     101kiest voor factureren > "D gegroepeerde trajecten" of "OHW trajecten bundelen". Als het proces goed gaat en zonder fouten verloopt, dan is er succesvol verbinding 
     102gemaakt met de grouper-service van Vecozo en is de grouperwaarde goed terug gekomen van de service. 
     103Notabene: OpenAC gebruikt url https://accgroupervecozowebservice.vecozo.nl/router.v1.svc/GrouperAfleidenV1Soap11 in grouperv7b.py unit en niet SOAP 1.2: https://accgroupervecozowebservice.vecozo.nl/router.v1.svc/GrouperAfleidenV1 
    101104 
    102  
    103 Dit script test de communicatie met de Grouper van DBC Onderhoud en maakt onderdeel uit van de test-fase van de aansluiting op de Grouper. Daarnaast kan het helpen bij het debuggen van communicatieproblemen met de Grouper. De informatie die geldt voor gewone [wiki:Documentatie/Beheerder/Scripts scripts] (manier van opstarten, parameters en configuratieinstellingen) geldt ook voor dit script. 
    104  
    105 Het script neemt een of meer namen van test-stappen aan en voert die test-stappen uit. De speciale naam ''alle'' zorgt ervoor dat alle zinvolle teststappen uitgevoerd worden, een achter de ander. Het is mogelijk om alleen sommige stappen uit te voeren door (bijvoorbeeld) ''key test0'' als argumenten mee te geven. 
    106  
    107 De verschillende test-stappen worden hieronder beschreven. 
    108  
    109  - ''cert'' Controleer of het server-certificaat voor de Grouper correct is geinstalleerd. 
    110  - ''https'' Gebruik een standaard HTTPS verbinding, met de proxy-instellingen van OpenAC, om een verbinding met de Grouper te maken en de webpagina op te vragen. 
    111  - ''openssl'' Gebruik OpenSSL om, buiten OpenAC om en zonder de proxy instellingen te gebruiken, een verbinding met de Grouper te maken. 
    112  - ''key'' Vraag de hash-code sleutel aan de Grouper. Dit vereist wel dat er communicatie mogelijk is en dat de certificaten goed zijn geinstalleerd. 
    113  - ''test0'' Teststap 0 uit de formele test-procedure voor aansluiting op de Grouper. Hiermee wordt nogmaals het HL7-versie3 protocol getest en de beschikbaarheid van de Grouper. 
    114  - ''test0.5'' Dient een enkel financieel traject (subtraject) in bij de Grouper en leidt een product af. 
    115  - ''test1'' Teststap 1 uit de formele test-proceudre voor aansluiting op de Grouper. Er worden standaard-voorbeeld casussen aan de Grouper aangeboden. Deze testen of de gegevens (URA, UZI) in OpenAC goed zijn ingevuld, of de communicatie goed verloopt en of de Grouper reageert zoals verwacht. Voor uitleg over het interpreteren van de uitvoering van de test, [#GrouperTestFase1 zie hieronder]. Deze stap is nodig voor het ondertekenen van de testverklaring voor DBC-Onderhoud. 
    116  - ''test2'' Ketentest waarbij test-producten worden aangemaakt, gebundeld en aangeboden door  
    117  
    118 === Tests Algemeen === 
    119  
    120 De tests zijn afkomstig uit het document van DBC-Onderhoud "[http://www.dbconderhoud.nl/index.php?option=com_docman&task=doc_download&gid=3304&Itemid=32 testprocedure technische aansluiting]" (links op de DBC-O site worden vaak veranderd, dit hoeft niet meer de actuele versie te zijn). De casussen zelf zijn te vinden in een document "Casussen Grouper". De tekst van de casussen zoals verspreid in november 2011 is te vinden in de broncode van de tests voor de Grouper in OpenAC, in {{{kern/e080_grouper/unittests.py}}}. 
    121  
    122 De uitvoer van de tests van de grouper komen te staan in het log bestand {{{ping-grouper.log}}}, bij de andere logfiles in de OpenAC configuratiemap. 
    123  
    124 === Grouper Test Fase 0 === 
    125  
    126 Deze fase test of de verbinding via Internet met de Grouper tot stand kan komen. Als er problemen met de certificaten van de Grouper zijn, zal je dat hier ontdekken. Indien de instructies hierboven over het certificaat aanvragen zijn opgevolgd, ziet de uitvoer van {{{Python25\python.exe script.py test0}}} er ongeveer zo uit: 
    127  
     105In geval dat je kiest voor een test met "OHW trajecten bundelen" dan krijg je teksten in tabblad "Meldingen" zoals hieronder weergegeven. 
    128106{{{ 
    129 INFO:root:Begin ping-grouper 
    130 INFO:openac:Tick-tock test naar DBCO Grouper acceptatie.dbcogrouper.nl begin. 
    131 INFO:openac:TESTSTAP 0: 
    132 DEBUG:openac.grouper:Opvragen Grouper certificaat voor AGB 99001020 
    133 DEBUG:openac.grouper:Grouper connectie acceptatie.dbcogrouper.nl:443 (geen proxy) 
    134 INFO:openac:Tick-tock response '33350654_000001' op 'OK' 
    135 INFO:openac:Tick-tock naar DBCO Grouper acceptatie.dbcogrouper.nl is succesvol verlopen. 
    136 INFO:openac:TESTSTAP 0: OK 
     107INFO:openac:Grouper omgeving A bijgewerkt 20171006, certificaatversie 01 
     108[2018-06-04 13:55:09]:INFO:openac:Grouper response van 2.16.840.1.113883.2.4.3.27.15.99.1.4, versie 2.3.18115-04 
    137109}}} 
    138110 
    139 In andere gevallen volgt meestal informatie over de oorzaak van de fout: onbrekende certificaatbestanden of een weigering van de Grouper (in welk geval de proxy of uitgaande IP-adressen wellicht het achterliggende probleem zijn). 
     111De grouper test die wij hebben gedaan, daar hadden wij in een OpenAC2 geïmporteerde Fenac Vecozo certifcaat (d.m.v. de link aanklikken zoals hierboven beschreven) EN  
     112een kopie van vecozo-AGBCode naar de 2 bestanden grouper-AGBCode.* zodat er dus in totaal 4 certificaten in de directory staan. 
     113- vecozo-AGBcode.cert 
     114- vecozo-AGBcode.key 
     115- grouper-AGBcode.cert 
     116- grouper-AGBcode.key 
    140117 
    141 === Grouper Test Fase 1 === 
    142  
    143 Het eigenlijke aanbieden van subtrajecten aan de grouper kan met ''test1'' van het ''ping-grouper'' script. Voer het zo uit in de installatiedirectory van OpenAC v2: 
    144  
    145 {{{ 
    146 Python25\python.exe script.py ping-grouper test1 
    147 }}} 
    148  
    149 Dit script gaat proberen om de formele test-set van DBC-O aan te bieden aan de grouper. ''Voordat'' je de test uitvoert, controleer de volgende zaken: 
    150  - switch ''test_grouper'' moet '''uit''' staan, 
    151  - switch ''gebruik_acc_grouper'' moet '''aan''' staan, 
    152  - switch ''debug_grouper'' mag aan of uit; als het aan staat zal je veel bestanden met XML krijgen die betrekking hebben op de communicatie met de grouper. 
    153  - je hebt je URA en UZI nummers ingevuld in de codetabel ''agb_locatie'' (ga naar startscherm, codetabellen, kies onder d010_systeem de tabel AGB locatie en vul ze daar in). 
    154  - de tests ''key'' en ''cert'' en ''test0'' gaan goed. 
    155  
    156 Na het uitvoeren van het script heb je in je log-directory (waarschijnlijk is dat {{{.openac}}}) een bestand {{{grouper-fase1.log}}}. Hierin staat wat de test uitvoert. In de bovenste paar regels staat informatie over de gebruikte instellingen: 
    157  
    158 {{{ 
    159 Start DOT-Grouper test fase1 
    160       DOT-Grouper test op basis van DBC-Onderhoud document 
    161       'Testprocedure voor technische aansluiting op de grouper 
    162       voor zorginstellingen en ICT-leveranciers' v20110401. 
    163 Centrum AGB 19009332, URA None, UZI None Test Nee 
    164       Centrumdata is onvolledig (UZI en URA nummers verplicht). 
    165 }}} 
    166  
    167 Hier zien we alvast een waarschuwing dat de gegevens niet volledig zijn (''Centrumdata is onvolledig''). Vul in dat geval de data in. 
    168  
    169 De log file vervolgt met een heleboel test-gevallen met allemaal dezelfde structuur: 
    170  
    171 {{{ 
    172 Start test test_NN_achternaam 
    173   <extra uitvoer> 
    174   * Casus <toestand> 
    175 }}} 
    176  
    177 Veel van de casussen zijn niet van toepassing op Audiologie en zeggen ook waarom dat is. De resterende casussen 1 en 8 (die twee zijn wel van toepassing) moeten {{{* Casus OK}}} zeggen.  
    178  
    179 Casus 2 is niet van toepassing en ziet er zo uit: 
    180 {{{ 
    181 Start test test_02_pietersen 
    182   * Casus niet van toepassing (geen IC) 
    183 }}} 
    184  
    185 Casus 1 is wel van toepassing en kan zoiets produceren: 
    186 {{{ 
    187 Start test test_01_jansen 
    188   Traject wordt afgesloten als 08 
    189   ** Afsluiting resultaat 
    190      Zorgproduct  991900013 
    191      Grouper Hash <random> 
    192   Product is 11/11/12 991900013 
    193   * Casus OK. 
    194 }}} 
    195 Hier zien we het begin van de casus, wat tussendoor informatie en een bevestiging dat de casus goed is verlopen. Hiermee zien we dat het mogelijk is om een 11/11/12 (AP101) aan de grouper aan te bieden. Daarmee weten we dat communicatie met de grouper en het ophalen van gegroupeerde producten werkt! 
    196  
    197 Sommige tests controleren op verwachte fouten; dan geeft de grouper een melding terug en die zou je te zien moeten krijgen. In de logfile  {{{grouper-fase1.log}}} staat niet de hele melding, maar alleen de controle dat de melding wordt gevonden: 
    198 {{{ 
    199 Start test test_10_vriens 
    200   Verwachte foutmelding 'DBC004' gevonden. 
    201   Verwachte foutmelding 'heeft geen valide datum' gevonden. 
    202   * Casus OK. 
    203 }}} 
    204  
    205 Als je wilt weten hoe dat in het "echt" er uit ziet voor de gebruiker, dan kan je in {{{sessie.log}}} kijken. Zoek naar DBC004 en daar heb je een aantal regels met WARNING en de grouper foutmeldingen. Binnen OpenAC zouden deze regels als rode waarschuwingen verschijnen in het meldingen-paneel. (Merk op dat dit om dingen gaat als "je hebt nul juli ingevuld als begindatum", OpenAC houdt dat zelf al tegen dus de fout-casussen zijn niet heel relevant). 
    206  
    207 Caussen 12 (de Wit) t/m 34 (van Dalen) zijn allemaal fout-casussen die niet zijn geimplementeerd. Die geven geen verdere meldingen. 
    208  
    209 Als de switch ''debug_grouper'' aanstaat, of wanneer er fouten optreden in de communicatie met de grouper, dan worden de berichten die gestuurd zijn en die ontvangen worden opgeslagen onder de ''bestanden_dir'' van OpenAC (dit kan je terugvinden in het instellingenscherm). Er wordt een directory {{{grouper/}}} aangemaakt en '''daar''' onder weer een directory met de datum. Elk bericht wordt als ''sent'' of ''recv'' (ontvangen) opgeslagen, met een volgnummer. 
    210  
    211 Deze bestanden worden vooralsnog niet opgeruimd. 
    212  
    213 === Test Fase 1.5 === 
    214  
    215 Om te experimenteren met "echte" data kan de teststap ''test1.5'' uitgevoerd worden. Dit neemt een patient en biedt de subtrajecten van de patient aan aan de Grouper om te kijken wat de Grouper er van maakt. Hiermee valt te vergelijken wat de Grouper maakt en wat OpenAC van het product vindt. 
    216  
    217 Zet na ''test1.5'' in het commando een '''volledig''' patientnummer (inclusief centrumprefix). De subtrajecten van die patient die aangeboden ''mogen'' worden aan de Grouper, worden verstuurd. Er worden '''geen wijzigingen''' in het dossier doorgevoerd. 
    218  
    219 {{{ 
    220 Python25\python.exe script.py test1.5 VTL-J9991234 
    221 }}} 
    222  
    223  
    224 === Test Fase 2 === 
    225  
    226 Als je ''test2'' draait, dan probeert het test-script ook dingen te bundelen en een VEKTIS bestand te schrijven en een DIS bestand aan te maken. In de log-file staan de locaties waar deze bestanden terecht komen (merk op! dat is, tenzij je ''bestanden_dir'' en dergelijke hebt aangepast, misschien op dezelfde network share als OpenAC v1 dingen doet, en je zou dus OpenAC v1 in de weg kunnen zitten hiermee). 
     118Notabene: in verleden bestond ping-grouper.py. Dit script was beschikbaar in oudere versie van OpenAC en is per 15 december 2017 uitgefaseerd.