Waarderweg 52G 2031 BP Haarlem The Netherlands Telefoon +31 (0)23 517 26 30 Telefax +31 (0)23 517 26 39 website: www.daxarchiving.com email:
[email protected]
DAX Medisch Video Archief Oplossing Handleiding en troubleshooting
Page 1 of 16
DAX Archiving Solutions
DAX Archiving Solutions Date: 04/02/10
Inhoud 1
Algemeen ........................................................................................................................ 3 1.1 Belangrijke onderdelen.............................................................................................. 3
2
Installation procedure ...................................................................................................... 4
3
Codec installation ............................................................................................................ 7
4
De IMS Storage Manager ................................................................................................ 8
5
FFA web interface ........................................................................................................... 9
6
Proces beschrijvingen.................................................................................................... 10 6.1 Archiveer proces via de backup van de broker ........................................................ 10 6.2 Archiveer proces via de IMS Storage Manager ....................................................... 11 6.3 Purge proces........................................................................................................... 12 6.4 Procedures zoeken en restoren .............................................................................. 12
7
Systeem monitoren........................................................................................................ 13 7.1 Controleer de D:\SmithNephewBackup folder ......................................................... 13 7.2 Controleer de D:\JFAQUEUE folder ........................................................................ 13 7.3 Is web interface up .................................................................................................. 13 7.4 Controleer de status van de DAX ............................................................................ 13 7.5 Controleer de log file van de processen .................................................................. 13
8
Backup .......................................................................................................................... 15
9
Troubleshooting............................................................................................................. 16 9.1 Een procedure komt niet in het archief .................................................................... 16 9.2 Een video heeft geen low-res video in het archief ................................................... 16 9.3 De web interface is down ........................................................................................ 16 9.4 Het restoren van een job duurt heel lang................................................................. 16
Page 2 of 16
DAX Archiving Solutions
DAX Archiving Solutions Date: 04/02/10
1
Algemeen
Het DAX Medish Video Archief archiveert de video en foto bestanden die tijdens een operatie gemaakt worden. Van de video en foto bestanden wordt een lage resolutie gemaakt dat permanent online beschikbaar blijft. De hoge resolutie blijft altijd beschikbaar via de smartDAX. Voor deze oplossing draait op de Windows server de FFA software die hiervoor speciaal geconfigureerd is. Daarnaast is er een BluRay DAX in de server ruimte waarop de bestanden permanent op weggeschreven wordt.
1.1
Belangrijke onderdelen
De volgende directories worden door de oplossing gebruikt: D:\Hotfolder Deze folder bevat de procedures welke door de DAX IMS Storage Manager (die om de IMS660 draait) hierin gekopeerd wordt D:\PACS Alle procedures die in de hotfolder gevonden worden, wordt ook naar de PACS folder gekopieerd D:\SmithNephewBackup Deze folder bevat de procedures welke door de Smith&Nephew broker gemaakt worden. D:\JFAQUEUE In deze folder wordt de procedure verplaatst nadat de software de procedure in de ‘D:\SmithNephewBackup’ heeft gezien. Hierin staan ook al de lage resolutie foto’s. Echter nog niet de lage resolutie video bestanden. Deze blijft hier tot een uur nadat het gearchiveerd is. D:\JFAHighRes Hier staat de procedure nadat het gearchiveerd is. Hier blijft het zo lang mogelijk staan. D:\JFADatabase Hierin staat de database en log files van de FFA server. Tevens staan hier de lage resolutie video en foto bestanden. Overige onderdelen: De FFA service draait als Windows service onder de naam ‘DAXjf’ De FFA web interface is te bekijken op http://[server]
Page 3 of 16
DAX Archiving Solutions
DAX Archiving Solutions Date: 04/02/10
2
Installation procedure
* Install Windows 2003 server + the latest updates * Install quicktime http://www.apple.com/quicktime/win.html Press ‘Free Download’, Select “QuickTime 7.1.6 for Windows 2000/XP” * Install VirtualDub http://fcchandler.home.comcast.net/stable/VirtualDub-MPEG2.zip
Extract this zip file to c:\program files\vdub * Install MPEG2 codecs This is needed for Quicktime to be able to read the MPG2 video’s This must be bought separately from. An installation is available on:h:\downloads\quicktime_mpg2_component * Install DivX Install from www.divx.com NOTE: This software needs to be licensed! During the installation, only select the codec and converter - License the DivX Codec: - Open the DivX Converter - Press ‘enter serial’ and enter the license * Set the compression for the subclips (the clips around each photo) - The IMS640Settings.settings contains 4 entries for the compression of the subclips. These are used in the vdub script calls: VirtualDub.video.SetCompression(subClipFCC, subClipKeyRate, subClipQuality, subClipDatarate); and VirtualDub.video.SetCompData(subClipCompressionData);
These are the default settings: subClipCompressionData= subClipFCC=cvid subClipDatarate=700 subClipKeyRate=0 subClipQuality=0 The ‘cvid’ code is cinepack codec. This codec was the only codec found that vdub could generate and quicktime could read. If this needs to be changed, then these settings needs to be changed. * Set the compression for the low resolution video files - Open VirtualDub - Select Video-Compression - Select the DivX codec (where FOURCC is ‘divx’) - Select Configure - Open the compression settings again and change the following: - In the rate control, set the bitrate to 200 - enable the ‘use preset to configure the encode’ , select the bar to the left (0) Page 4 of 16
DAX Archiving Solutions
DAX Archiving Solutions Date: 04/02/10
- In the ‘video’ tab, set resize to width ‘200’ - Save these settings (file – save processing settings), open the vcf file and check the ‘VirtualDub.video.SetCompData()’ line, make sure that this line is copied in the following script: * Test Video Conversion Copy a test.mpg to c:\ - Create the following script: c:\script.vcf: VirtualDub.Open(VirtualDub.params[0]); VirtualDub.video.SetCompression("divx",100,0,100); VirtualDub.audio.SetSource(0); VirtualDub.SaveAVI(VirtualDub.params[1]); VirtualDub.video.SetCompData(171,"LWJ2MSAyMDAwMDAgLXZidiA0ODU0MDAwLDMxNDU3MjgsMzE0NTcyOCAtciAy MDAsMCwxIC1kaXIgIkM6XERvY3VtZW50cyBhbmQgU2V0dGluZ3Nccm9iYmVydC5EQVhcQXBwbGljYXRpb24gRGF0YVxEaX ZYXERpdlggQ29kZWMiIC1iIDAgLXByb2ZpbGU9MyAtdXNlX3ByZXNldHM9MSAtcHJlc2V0PTAA");
Run the command tool: "C:\Program Files\vdub\vdub.exe" /i c:\script.vcf "c:\test.mpg" "c:\out.avi"
Test if the c:\out.avi can be opened in both Media player, and in Quicktime. Also, convert a video file with the cinepack codec, and check if that can be opened in Media Plater and Quicktime. * Test Quicktime for correct codec - Open the sample test.mpg to see if quicktime can open it (for generating the thumbnail images of the video) * Install FFA licenses for : - FFA - Thumbnail Module - 640IMS Module * Disable the Windows IIS In the service manager, disable de “World Wide Web Publishing service” * Setup the highres location In the basic settings, setup the ‘Restore Job Folder’ to a location on a large HDD, this is to where the jobs are restored. * Pre and post archive module in the plugin.settings (manually edit these files): preArchive=DELETE_640IMS_OVERHEAD_FILES postArchive=MOVE_SOURCE_TO_RESTORE_LOCATION_AFTER_ARCHIVED_AND_CLEANUP_IMS640
Restart the FFA server after the changes are made. * 640ims html templates In the advanced settings: fill in at the ‘User Template Directory’: 640ims-templates * Thumbnail module settings: video extensions: mpg mpeg mp4 mov avi Generated thumbnail video extension: avi Page 5 of 16
DAX Archiving Solutions
DAX Archiving Solutions Date: 04/02/10
image extensions: dcm jpg gif Also copy extension: txt Nr of video posters: 2 Zorg dat de ‘Video thumbnail command’ klopt (virtualdub locatie, script locatie) Test dit commando van de command line * 640IMS settings Hot folder: Selecteer de HIS folder, b.v. d:\share\IMS\HIS QueueFolder: Set the queue folder, b.v. d:\share\IMS\QUEUE The job will first be moved to the queue, then archived, and later removed from the queue (there is some overlap time) * metadata velden in global.settings (nu met de hand invullen): metadata_part1_description=Last name metadata_part2_description=First name metadata_part3_description=Initials metadata_part4_description=Day of birth metadata_part5_description=Gender metadata_part6_description=Patient ID metadata_part7_description=Surgeon metadata_part8_description=Procedure metadata_part9_description=Procedure ID metadata_part10_description=Procedure Date - restart the JFA server to read the settings * enable the purger thread - enable this in the basic-settings in the HTML interface - also set the high and low water mark and the working times. * DAXfs settings - enable ‘purge after flush’ (de highres wordt gebruikt als eerste cache). * Create a test job - Create a folder in the HIS folder. - Copy sample data files in this folder: ..\HIS\[userfolder]\[procedure] - Copy the alldone.txt in the customer folder
Page 6 of 16
DAX Archiving Solutions
DAX Archiving Solutions Date: 04/02/10
3
Codec installation
To be able to play the video files, a codec pack must be installed. We tested it here with ffdshow The latest version can be downloaded from http://www.codecs.com/download/FFDShow.htm Or go to the official page: http://sourceforge.net/projects/ffdshow This is all freeware.
Page 7 of 16
DAX Archiving Solutions
DAX Archiving Solutions Date: 04/02/10
4
De IMS Storage Manager
Optioneel kan de IMS Storage Manager op de 660 draaien. Deze zorgt er voor dat de procedures automatisch naar de server gecopieerd worden. Zodra een procedure is afgesloten wordt deze gekopieerd naar de ‘hotfolder’ locatie die gedefinieerd is in de IMS660 settings op de FFA server. Dit kan gebruikt worden als alternatief voor de ‘save’ functionaliteid van de 660 zelf. Procedures die in de hotfolder staan wordt door de FFA server weer naar de PACS folder gecopeerd (waar de ‘save’ functie van de 660 het normaal ook neer zou zetten) zodat de broker deze verder kan verwerken. Het is dus niet meer nodig om op de broker een ‘backup’ locatie te definieeren. Voordelen hiervan zijn: - Alle procedures worden gecopieerd, dat kan niet vergeten worden - Als het opslaan niet lukt, dan probeerd het systeem het later nog een keer, net zolang tot dat gelukt is - Een logging is geschikbaar om te zien welke procedures wanneer gebackupped zijn. - In het archief zijn de timestamps van de video en foto files correct waardoor er ook subclips gemaakt kan worden
Page 8 of 16
DAX Archiving Solutions
DAX Archiving Solutions Date: 04/02/10
5
FFA web interface
De FFA web interface kan bekeken worden door met de browser naar http://[server] te gaan. Vanaf hier kan direct gezocht worden naar procedures. Door op [meer] te drukken wordt een meer uitgebreide pagina getoond. Vanaf deze pagina kunnen de huidige archive en restore jobs bekeken worden door op [monitor current tasks] te drukken. Door op [Administration] te drukken wordt de admin pagina getoond. Hier kunnen alle settings en log files bekeken worden. In deze setup zijn alleen de volgende settings van belang: - Basic settings - Mail settings - Advances settings - Purge settings - IMS640 settings - Thumbnail settings Verder lopen er 4 processen die van belang zijn en waarvan de logging te bekijken is: - Archiver : De standaard FFA archive proces - Restorer : De standaard FFA restore proces - Purger : De purger - IMS640 Archive : De IMS640 archiver Deze processen worden in het volgende hoofdstuk verder behandeld.
Page 9 of 16
DAX Archiving Solutions
DAX Archiving Solutions Date: 04/02/10
6
Proces beschrijvingen
Er zijn 2 manieren om te archiveren. De eerste manier is het archiveren van de procedures die uit de backup komen van de broker. De tweede manier is via de procedures die uit de IMS Storage Manager komen. Beide worden hier beschreven.
6.1
Archiveer proces via de backup van de broker
Stap 1: Folder in D:\SmithNephewBackup Het ‘IMS640 Archive’ proces scant deze folder elke minuut voor nieuwe procedures. Een procedure staat altijd in een folder met de volgende structuur: D:\SmithNephewBackup\[patiënt]\[procedure] Deze wordt echter pas verwerkt als er in de “D:\SmithNephewBackup\[patiënt]” folder een bestand ‘alldone.txt’ staat. Op deze manier weet het systeem dat de folders volledig zijn beschreven. Het systeem verplaatst deze folder nu in zijn geheel naar de Queue folder: D:\JFAQUEUE. Ook word er direct een thumbnail image van de video en foto’s gemaakt (nog geen lowres video). Vanaf dit moment is deze procedure te vinden via de web interface. Op dit moment is alleen de hoge resolutie video beschikbaar en de foto’s, de lage resolutie nog niet. Hierna wordt een FFA archive job in de archive queue aangemaakt. Stap 2: Archiveren van de procedure FFA heeft een archive proces dat de archive jobs in de queue 1 voor 1 afhandelt. Voor elke job wordt een lage resolutie video aangemaakt. Hier wordt virtualdub voor gebruikt. Ook wordt er van elke foto de timestamp bepaald. Als die timestamp overeenkomt met een periode in een video bestand, dan zal het systeem een subvideo maken van de periode om de foto heen. Nadat de lage resoluties zijn aangemaakt word de folder ingepakt in .rar files en naar de DAX gestuurd. Daarna wordt de procedure uit de queue naar de D:\JFAHighRes folder gekopieerd. Vanaf deze plek kunnen de bestanden direct restored worden. Stap 3: Purgen van de JFAQueue Een uur nadat een procedure gearchiveerd is wordt deze verwijderd uit the JFAQueue.
Page 10 of 16
DAX Archiving Solutions
DAX Archiving Solutions Date: 04/02/10
6.2
Archiveer proces via de IMS Storage Manager
Stap 1: Folder in D:\hotfolder Het ‘IMS640 Archive’ proces scant deze folder elke minuut voor nieuwe procedures. Een procedure staat altijd in een folder met de volgende structuur: D:\SmithNephewBackup\[patiënt]\[procedure] Deze wordt echter pas verwerkt als er een ‘ready.txt’ bestand in staat. Op deze manier weet het systeem dat de folders volledig zijn beschreven. De server maakt nu de subclips aan van de video’s (rond een foto die tijdens een video genomen is). Ook word er direct een thumbnail image van de video en foto’s gemaakt (nog geen lowres video). Daarna copieerd het systeem deze folder nu in zijn geheel (behalve de DICOM directory) naar de Queue folder: D:\JFAQUEUE Vanaf dit moment is deze procedure te vinden via de web interface. Op dit moment is alleen de hoge resolutie video beschikbaar en de foto’s, de lage resolutie nog niet. Hierna wordt een FFA archive job in de archive queue aangemaakt. Tot slot wordt de gehele folder wordt ook naar de PACS directory gecopieerd en wordt de folder uit de hotfolder verwijdererd. Let op, het kan zijn dat de broker dezelfde procedure nu weer in de backup folder copieerd die ook door de IMS640 archive process vewerkt gaat worden. Deze herkent echter dat dit een job is die uit de backup komt doordat er een ‘ready.txt’ bestand in staat. In dat geval wordt de procedure uit de backup folder verwijderd zorder verder te verwerkten. Stap 2: Archiveren van de procedure FFA heeft een archive proces dat de archive jobs in de queue 1 voor 1 afhandelt. Voor elke job wordt een lage resolutie video aangemaakt. Hier wordt virtualdub voor gebruikt. Ook wordt er van elke foto de timestamp bepaald. Als die timestamp overeenkomt met een periode in een video bestand, dan zal het systeem een subvideo maken van de periode om de foto heen. Nadat de lage resoluties zijn aangemaakt word de folder ingepakt in .rar files en naar de DAX gestuurd. Daarna wordt de procedure uit de queue naar de D:\JFAHighRes folder gekopieerd. Vanaf deze plek kunnen de bestanden direct restored worden. Stap 3: Purgen van de JFAQueue Een uur nadat een procedure gearchiveerd is wordt deze verwijderd uit the JFAQueue.
Page 11 of 16
DAX Archiving Solutions
DAX Archiving Solutions Date: 04/02/10
6.3
Purge proces
De JFAHighRes folder zal blijven groeien met data. Om dit te beperken is er een purge proces. Deze controleert 1 keer per dag de grootte van deze folder. Als die groter is dan 800GB dan zullen de oudste procedures verwijderd worden tot er maximaal 700GB in de folder zit.
6.4
Procedures zoeken en restoren
Via de web interface kan gezocht worden naar procedures binnen het archief. Dit zal alle resultaten weergeven die in het FFA archief zitten EN alle procedures uit de FFAQueue. Bij het openen van een procedure uit de FFAQueue kan alleen de hoge resolutie video bekeken worden en de foto’s. Bij het openen van een procedure uit het FFA archief kan de gebruiker zowel de hoge resolutie als de lage resolutie openen. Als de hoge resolutie video echter niet meer in de D:\JFAHighRes staat dan moet deze eerst uit de DAX gehaald worden. Door op ‘restore’ te drukken wordt de gehele procedure uit de DAX teruggezet naar de D:\JFAHighRes folder. Zodra die terug is kunnen gebruikers de hoge resolutie video bestanden weer downloaden.
Page 12 of 16
DAX Archiving Solutions
DAX Archiving Solutions Date: 04/02/10
7
Systeem monitoren
Om het systeem te monitoren kan de volgende procedure gehanteerd worden.
7.1
Controleer de D:\SmithNephewBackup folder
Als deze folder procedures bevat die ouder dan een paar uur zijn dan archiveert het systeem niet meer.
7.2
Controleer de D:\JFAQUEUE folder
Als deze folder procedures bevat die ouder dan een paar dagen zijn, of steeds groter wordt, dan archiveert het systeem niet meer naar de DAX. Wellicht zijn de BluRay disks op of is er een hardware probleem.
7.3
Is web interface up
Controleer of de web pagina nog beschikbaar is, als dat niet zo is dan is de FFA service waarschijnlijk gestopt. De service kan gestart worden in de Windows services pagina, de naam van de service is: ‘DAX Job Folder’.
7.4
Controleer de status van de DAX
De DAX heeft een web interface op http://10.40.40.252:2222. Door op ‘status’ te drukken is de status te zien van de DAX. Hier staan eventuele errors en waarschuwingen. Bij een error of waarschuwing is het verstandig om DAX hierover te informeren. Dit zouden hardware errors kunnen zijn (een drive die kapot is of een robot die gestopt is), maar ook logistieke errors (de disks zijn bijna op).
7.5
Controleer de log file van de processen
In de admin gedeelte van de FFA server kunnen de log files van de interne processen bekeken worden. Als er iets niet werkt dan is het mogelijk om via deze log files te kijken waar de processen nu mee bezig zijn. Archiver: Het archive proces bestaat uit 2 threads, een master en een client thread waarvan beide de logfile te bekijken is. De master thread scant de queue voor nieuwe jobs en geeft de opdracht aan een client thread om deze te archiveren. Restorer: Het restore proces bestaat uit meerdere threads: Een update thread die de queue bekijkt voor alle jobs en eventueel de status hiervan aanpast. Een master en client touch thread om de DAX het signaal te geven om de benodigde bestanden op te halen. Page 13 of 16
DAX Archiving Solutions
DAX Archiving Solutions Date: 04/02/10
Een master en client load thread om bestanden van de DAX naar deze server te kopiëren. Een master en client restore thread om bestanden van de server te restoren naar de JFAHighRes folder. Purger: Dit is het proces die de HighRes folder purged. IMS640 Archive: Dit is het proces dat de D:\SmithNephewBackup scant voor nieuwe procedures en deze verplaatst naar de D:\JFAQUEUE
Page 14 of 16
DAX Archiving Solutions
DAX Archiving Solutions Date: 04/02/10
8
Backup
De volgende directories zouden meegenomen moeten worden in de backup van het ziekenhuis: D:\SmithNephewBackup D:\JFAQUEUE D:\JFADatabase E:\Program Files (x86)\DAXfs
: Procedures die nog niet verwerkt zijn : Procedures die nog niet gearchiveerd zijn : De database folder van FFA : De installatie folder, inclusief alle settings
Daarnaast zouden de ‘dirty’ files van de DAX meegenomen moeten worden voor de backup. De dirty files zijn de bestanden die naar de DAX zijn verstuurd, maar nog niet weg zijn geschreven op BluRay disk. Hiervoor kan een script geïnstalleerd worden die deze files op een netwerk locatie kan zetten. Dit moet echter wel een netwerkshare zijn die via NFS (Unix) benaderd kan worden.
Page 15 of 16
DAX Archiving Solutions
DAX Archiving Solutions Date: 04/02/10
9
Troubleshooting
9.1
Een procedure komt niet in het archief
Controleer of de procedure in de D:\SmithNephewBackup staat. Als hij hier niet in staat dat heeft de S&N Broker de procedure niet goed verwerkt. Als hij hier wel in staat, controleer dan de log file van de ‘IMS640 Archiver’. Dit is het proces dat de procedure zou moeten verwerken. Hier zou een error in kunnen staan, of misschien ‘hangt’ hij door een fout. Dat is te zien aan de tijdstempel die bij de laatste actie staat. Als hij met de laatste actie heel lang bezig is dan zou dat daar op duiden. Herstarten van de FFA service is dan nodig.
9.2
Een video heeft geen low-res video in het archief
Dit zou kunnen komen omdat de video een verkeerd formaat heeft. FFA kan alleen Mpeg-2 video’s converteren, niet Mpeg-4.
9.3
De web interface is down
Controleer of de web pagina nog beschikbaar is, als dat niet zo is dan is de FFA service waarschijnlijk gestopt. De service kan gestart worden in de Windows services pagina, de naam van de service is: ‘DAX Job Folder’.
9.4
Het restoren van een job duurt heel lang
Controleer de status van de restore job. Door in de loggen op de web interface en op [meer] en [Monitor Current Tasks] te drukken is een lijst te zien van alle archive en restore jobs. Controleer de status van de restore job. Deze zou in een error kunnen staan, vanaf hier kan de job herstart worden. Als de job in error blijft, of als hij niet verwerkt wordt zou er een probleem kunnen zijn met de restore proces. Dit kan geïnspecteerd worden door de restore log te bekijken. Als alles goed lijkt te zijn, maar er wordt niets uit de DAX teruggehaald, dan is er wellicht iets met de DAX aan de hand. Controleer de status van de DAX op http://[dax]:2222. Door op ‘status’ te drukken is de status te zien van de DAX. Wellicht is hier een probleem. Bij een error of waarschuwing is het verstandig om DAX hierover te informeren. Dit zouden hardware errors kunnen zijn (een drive die kapot is, of een robot die gestopt is), maar ook logistieke errors (de disks zijn bijna op).
Page 16 of 16
DAX Archiving Solutions
DAX Archiving Solutions Date: 04/02/10