| Version 13 (modified by adriaan, 14 years ago) (diff) |
|---|
Grouper Instellingen
De aansluiting op de landelijke Grouper in het kader van de overgang naar DOT in 2012 vereist een aantal instellingen. Deze pagina beschrijft hoe een UZI servercertificaat in OpenAC opgenomen kan worden en welke andere instellingen nodig zijn.
Onderstaande stappen moeten per AGB code die het AC gebruikt, uitgevoerd worden. Wij raden aan om aparte UZI servercertificaten voor elke AGB code aan te vragen. De locatie instellingen moeten sowieso voor elke AGB code die in gebruik is, ingevuld worden.
Certificaat Aanvragen
Vraag het certificaat aan. Hiervoor moet je een server key genereren en dan via de site van het UZI Register een formulier invullen.
Het maken van de server key kan op veel verschillende manieren. De pagina's van het UZI Register over aanmaken van een key en installeren van het certificaat kunnen behulpzaam zijn; in het bijzonder ook de documentatie voor het aanmaken van een server key voor Apache. Omdat dezelfde OpenSSL gereedschappen meegeleverd worden met OpenAC is het ook mogelijk om de server key aan te maken met een OpenAC installatie:
- Op een vertrouwd werkstation, start een command-prompt (opdrachtregel) en ga naar de installatiemap van OpenAC.
- Ga dan naar de subdirectory bin.
- Controleer of er een subdirectory openssl bestaat met daarin een openssl.exe. (Zo niet, start OpenAC een keer op en log in; daarmee wordt de meegeleverde openssl-0.9.8b.zip uitgepakt om de gevraagde bestanden aan te maken.)
- Ga naar de subdirectory openssl (dan zit je nu meestal in de map C:\Program Files\OpenAC\bin\openssl).
- Download dit openssl.cnf bestand en sla het op in diezelfde map.
- Genereer een server key en een PKCS#10 certificaat aanvraag door het volgende commando uit te voeren:
openssl.exe req -nodes -newkey rsa:2048 -keyout server.key -out server.csr -config openssl.cnf
Dit staat omschreven in stap 1.2.3 van de Apache handleiding van het UZI Register. Er wordt naar een aantal gegevens gevraagd. Het is sterk aanbevolen om toch het land (NL) en de Organization Name (organisatie, bijvoorbeeld "FENAC") in te vullen. Als je niks invult, werkt het niet. - Als je deze stappen volgt, krijg je een server key zonder wachtwoord.
Maak een backup van het bestand server.key en onthoud het wachtwoord goed!
Certificaat Ontvangen
Bij het aanvragen van een certificaat maak je een server key aan; meestal staat die key in een (met wachtwoord beveiligd) bestand server.key. Van het UZI Register krijg je een certificaat terug, meestal in een tekst bestandje zoals services-cert-900009320.txt (de cijfers in de bestandsnaam stellen je UZI Registernummer voor).
Die twee bestanden moeten samengevoegd worden tot een zogenaamd PKCS#12 bestand dat zowel de server key als het certificaat bevat. Dit kan met gereegschap dat is meegeleverd bij OpenAC:
- Open een command-prompt (opdrachtregel) en ga naar de installatiemap van OpenAC.
- Ga naar de subdirectory bin. Controleer dat de subdirectory openssl bestaat (zo niet, start OpenAC een keer op). Ga naar de subdirectory openssl.
- Zet beide bestanden in diezelfde subdirectory (vaak C:\Program Files\OpenAC\bin\openssl) van OpenAC.
- Combineer nu de twee bestanden (de server key en het certificaat) naar een PKCS#12 bestand dat geschikt is om in Internet Explorer te importeren:
openssl pkcs12 -export -out grouper.pfx -in services-cert-900009320.txt -inkey server.key -name "Grouper Certificaat"
Indien de server key een wachtwoord heeft, zal het nodig zijn om hier een wachtwoord in te voeren. Er wordt gevraagd om een export wachtwoord. Die mag leeg zijn. - Controleer dat je een bestand grouper.pfx in deze map hebt gekregen.
Nu er een gecombineerd bestand is, kan het in Internet Explorer worden geimporteerd.
- Start Internet Explorer.
- Ga naar het menu Extra, en dan Internetopties.
- Op het tabblad Inhoud
, klik op de knop Certificaten
.
- Er verschijnt een dialoog met reeds geinstalleerde certificaten (misschien is die leeg). Zorg ervoor dat het tabblad Persoonlijk open staat. Klik op de knop Importeren.
- De Wizard voor het importeren van certificaten verschijnt. Klik op Volgende. Klik op Bladeren... en ga naar de OpenAC installatiemap, dan naar bin en naar openssl, alwaar het bestand grouper.pfx staat. Selecteer dat bestand (misschien moet je bij het bladeren, rechtsonder het bestandstype veranderen van "X.509-certificaat *.cer" naar "Personal Information Exchange *.pfx"). Klik op Openen in dat dialoog, dan Volgende.
- Er wordt om een wachtwoord gevraagd
. Dit is het wachtwoord van het gecombineerde bestand, dat niet noodzakelijk hetzelfde is als het wachtwoord van de server key (dat hangt af van wat je hebt ingevoerd bij het maken van het gecombineerde bestand). Vul het wachtwoord in, of laat het leeg als er geen wachtwoord is gebruikt.
- Vink het vakje Deze sleutel als exporteerbaar aanmerken
aan. Anders kan OpenAC de sleutel niet ophalen. Klik dan op Volgende.
- Op de pagina Certificaatarchief hoef je niks te veranderen. Klik Volgende. Klik tot slot Voltooien.
- Controleer nu dat het certificaat voor de Grouper is verschenen in het lijstje van certificaten.
Het bestand grouper.pfx kan worden verplaatst naar andere machines die ook met de Grouper moeten communiceren en op elke machine op soortgelijke wijze in Internet Explorer geimporteerd worden.
Certificaat Installatie
Nu het certificaat in Internet Explorer is geimporteerd, kan OpenAC het overnemen. Hiervoor is het wel essentieel dat het certificaat daarbij is gemarkeerd als exporteerdbaar.
- Start OpenAC op en ga naar het instellingenscherm. Ga naar de instellingen van de Grouper.
- Laat het vinkje OpenAC groepeert zelf
uit staan. Klik op de link grouper certificaat installeren
.
- Selecteer het certificaat dat zojuist is geimporteerd (met deze instructies heeft het de naam Grouper)
.
- Klik OK. Er verschijnt een groene (success) melding in het meldingen tabblad.
Het certificaat is nu voor OpenAC bruikbaar. Desnoods kunnen de twee resulterende bestanden (grouper-19003223.cert en grouper-19003223.key, genoemd naar de AGB code die in gebruik is) samen gekopieerd worden naar andere machines waar OpenAC met de Grouper moet communiceren. Zet de bestanden in de certificaten map van OpenAC.
Locatie Instellingen
Tot slot moet OpenAC weten welk UZI certificaatnummer en welk UZI Registernummer horen bij de AGB code die het AC gebruikt.
- Start OpenAC op en ga naar het codetabellen scherm.
- Kies bij module kern.d010_systeem de tabel AGB-Locatie.
Waarschijnlijk zijn de AGB codes van het AC al ingevoerd als codetabel-entries. Klik op de regel van de AGB code waarvoor het Grouper certificaat is geinstalleerd. De entry wordt geopend. Controleer of de AGB code
van het record de juiste is.
- Vul het UZI certificaatnummer (dat wordt vermeld door het UZI als ze het certificaat opsturen) in bij UZI-Nummer
. Vul het UZI Register Abonneenummer van het AC in bij URA-Nummer
. Sla deze wijzigingen op.
- (optioneel) Lever de wijziging op de codetabel in, zodat centraal bij de FENAC ook bekend is welke UZI- en URA-nummers in gebruik zijn.
Alternatieve Installatie
Het is mogelijk om de server.key en het server certificaat rechtstreeks in OpenAC neer te zetten, zonder tussenkomst van Internet Explorer of OpenAC zelf.
- Kopieer het bestand dat van de UZI komt, services-cert-900009320.txt, naar de OpenAC certificaten directory (dit staat onder de OpenAC bestanden directory; die instelling is in OpenAC zelf te vinden). Hernoem het bestand naar grouper-AGBCODE.cert waarbij voor AGBCODE de acht-cijferige AGB code van het AC wordt ingevuld.
- Converteer de server key met OpenSSL als volgt:
openssl.exe rsa -in server.key -out grouper-AGBCODE.key
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.
Grouper Test Script
De naam van dit script is ping-grouper.
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 scripts (manier van opstarten, parameters en configuratieinstellingen) geldt ook voor dit script.
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.
De verschillende test-stappen worden hieronder beschreven.
- cert Controleer of het server-certificaat voor de Grouper correct is geinstalleerd.
- 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.
- openssl Gebruik OpenSSL om, buiten OpenAC om en zonder de proxy instellingen te gebruiken, een verbinding met de Grouper te maken.
- key Vraag de hash-code sleutel aan de Grouper. Dit vereist wel dat er communicatie mogelijk is en dat de certificaten goed zijn geinstalleerd.
- 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.
- test0.5 Dient een enkel financieel traject (subtraject) in bij de Grouper en leidt een product af.
- 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, zie hieronder. Deze stap is nodig voor het ondertekenen van de testverklaring voor DBC-Onderhoud.
- test2 Ketentest waarbij test-producten worden aangemaakt, gebundeld en aangeboden door
Tests Algemeen
De tests zijn afkomstig uit het document van DBC-Onderhoud "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.
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.
Grouper Test Fase 0
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:
INFO:root:Begin ping-grouper INFO:openac:Tick-tock test naar DBCO Grouper acceptatie.dbcogrouper.nl begin. INFO:openac:TESTSTAP 0: DEBUG:openac.grouper:Opvragen Grouper certificaat voor AGB 99001020 DEBUG:openac.grouper:Grouper connectie acceptatie.dbcogrouper.nl:443 (geen proxy) INFO:openac:Tick-tock response '33350654_000001' op 'OK' INFO:openac:Tick-tock naar DBCO Grouper acceptatie.dbcogrouper.nl is succesvol verlopen. INFO:openac:TESTSTAP 0: OK
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).
Grouper Test Fase 1
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:
Python25\python.exe script.py ping-grouper test1
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:
- switch test_grouper moet uit staan,
- switch gebruik_acc_grouper moet aan staan,
- 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.
- 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).
- de tests key en cert en test0 gaan goed.
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:
Start DOT-Grouper test fase1
DOT-Grouper test op basis van DBC-Onderhoud document
'Testprocedure voor technische aansluiting op de grouper
voor zorginstellingen en ICT-leveranciers' v20110401.
Centrum AGB 19009332, URA None, UZI None Test Nee
Centrumdata is onvolledig (UZI en URA nummers verplicht).
Hier zien we alvast een waarschuwing dat de gegevens niet volledig zijn (Centrumdata is onvolledig). Vul in dat geval de data in.
De log file vervolgt met een heleboel test-gevallen met allemaal dezelfde structuur:
Start test test_NN_achternaam <extra uitvoer> * Casus <toestand>
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.
Casus 2 is niet van toepassing en ziet er zo uit:
Start test test_02_pietersen * Casus niet van toepassing (geen IC)
Casus 1 is wel van toepassing en kan zoiets produceren:
Start test test_01_jansen
Traject wordt afgesloten als 08
** Afsluiting resultaat
Zorgproduct 991900013
Grouper Hash <random>
Product is 11/11/12 991900013
* Casus OK.
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!
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:
Start test test_10_vriens Verwachte foutmelding 'DBC004' gevonden. Verwachte foutmelding 'heeft geen valide datum' gevonden. * Casus OK.
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).
Caussen 12 (de Wit) t/m 34 (van Dalen) zijn allemaal fout-casussen die niet zijn geimplementeerd. Die geven geen verdere meldingen.
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.
Deze bestanden worden vooralsnog niet opgeruimd.
Test Fase 1.5
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.
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.
Python25\python.exe script.py test1.5 VTL-J9991234
Test Fase 2
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).
Attachments (6)
- openssl.cnf (2.9 KB) - added by adriaan 14 years ago.
- locatie-record.png (4.9 KB) - added by adriaan 14 years ago.
- openac-instellingen.png (3.4 KB) - added by adriaan 14 years ago.
- openac-select.png (30.7 KB) - added by adriaan 14 years ago.
- certificaat-ie-instellingen.png (28.8 KB) - added by adriaan 14 years ago.
- certificaat-ie-eigenschappen.png (9.8 KB) - added by adriaan 14 years ago.
Download all attachments as: .zip