zdavatz / gdt2dicom

Convert a gdt file and an image folder to a dicom file
GNU General Public License v3.0
0 stars 1 forks source link

Worklist Server conversion for VividIQ by GE (Mobile) #34

Closed zdavatz closed 9 months ago

zdavatz commented 1 year ago
  1. ViviIQ by GE has a worklist extension. Modality is US
  2. AE Title is ECHONAS
  3. VividIQ runs on a Windows 10 machine, where no software can be installed.
  4. Bildschirmfoto 2023-07-21 um 16 33 08
  5. ViviIQ needs to query the worklist, not EchoPac
  6. https://customer-doc.cloud.gehealthcare.com/#/cdp/dashboard
zdavatz commented 10 months ago

Vivid IQ Connectivity.pdf Vivid IQ Setup.pdf teroperability-dicom-ultrasound-gehc-dicom-conformance_vivid-iq-v1-x-x_doc1867297_rev1.pdf

zdavatz commented 9 months ago

Vivid iQ needs ICMP Echo. vivi_iq_needs_icmp_echo

zdavatz commented 9 months ago

Wir haben den Workflow wie telefonisch besprochen konfiguriert. Somit läuft alles über das Echo Gerät. Nicht über das EchoPAC, da das EchoPAC keine Bilder generiert.

Sobald der Arzt das Archive öffnet am US System kommt die WL und sobald der Arzt auf End Exam klickt, werden die DICOM Daten auf den DICOM Server gesendet.

Der Port 104 auf dem Bild ist der Geräte-Port. Hat keinen Einfluss auf unsere gemeinsame Konfiguration.

zdavatz commented 9 months ago
$directory = 'S:\GDT-E-PAT-Vitabyte_echonas'
$originalFileName = 'epat.gdt'

# Check if the file exists in the directory
$files = Get-ChildItem -Path $directory -Filter $originalFileName

if ($files.Count -gt 0) {
    $timestamp = Get-Date -Format 'yyyyMMddHHmmss'
    $counter = 1

    foreach ($file in $files) {
        $extension = $file.Extension
        $newName = "$timestamp" + "_epat_$counter" + $extension
        $newPath = Join-Path -Path $directory -ChildPath $newName
        Rename-Item -Path $file.FullName -NewName $newPath
        $counter++
    }

    Write-Host "Files renamed successfully."
} else {
    Write-Host "No files named '$originalFileName' found in the directory."
}

$gdtDirectory = 'S:\GDT-E-PAT-Vitabyte_echonas'
$outputDirectory = 'C:\Users\medi-lan\gdt2dicom\dicom\echonas'
$gdt2dicomExe = 'C:\Users\medi-lan\gdt2dicom\gdt2dicom.exe'

# Create the output directory if it doesn't exist
if (-not (Test-Path -Path $outputDirectory)) {
    New-Item -ItemType Directory -Path $outputDirectory | Out-Null
}

# Get all GDT files in the input directory
$gdtFiles = Get-ChildItem -Path $gdtDirectory -Filter '*.gdt'

foreach ($gdtFile in $gdtFiles) {
    $outputFile = Join-Path -Path $outputDirectory -ChildPath ($gdtFile.Name -replace '\.gdt$', '.wl')
    & $gdt2dicomExe --gdt-file $gdtFile.FullName --output $outputFile
}

Get-ChildItem -Path $outputDirectory -Filter "*.wl" | ForEach-Object {
    & "dcmodify" -i "(0040,0100)[0].(0008,0060)=US" "$($_.FullName)"
    & "dcmodify" -i "0032,1060=echonas" "$($_.FullName)"
}

# Get all .gdt files in the specified directory
$files = Get-ChildItem -Path $directory -Filter *.gdt

# Remove each file
foreach ($file in $files) {
    Remove-Item $file.FullName -Force
}

Write-Host "All .gdt files in $directory have been removed."

# Get all .bak files in the specified directory
$files = Get-ChildItem -Path $outputDirectory -Filter *.bak

# Remove each file
foreach ($file in $files) {
    Remove-Item $file.FullName -Force
}

Write-Host "All .bak files in $outputDirectory have been removed."