radfusion/app/Services/Pacs/PacsUrlGen.php
2025-01-05 12:44:15 +06:00

56 lines
1.5 KiB
PHP

<?php
namespace App\Services\Pacs;
use Uri;
final class PacsUrlGen
{
public static function stoneViewer(string $study_uid): string
{
$url = Uri::of(config('pacs.viewer.stone.endpoint'))
->withPath('/stone-webviewer/index.html')
->withQuery(['study' => $study_uid]);
return (string) $url;
}
public static function ohifViewer(string $study_uid): string
{
$url = Uri::of(config('pacs.viewer.ohif.endpoint'))
->withPath('/ohif/viewer')
->withQuery(['StudyInstanceUIDs' => $study_uid]);
return (string) $url;
}
public static function ohifViewerMpr(string $study_uid): string
{
$url = Uri::of(config('pacs.viewer.ohif.endpoint'))
->withPath('/ohif/viewer')
->withQuery([
'hangingprotocolId' => 'mprAnd3DVolumeViewport',
'StudyInstanceUIDs' => $study_uid,
]);
return (string) $url;
}
public static function ohifSegmentation(string $study_uid): string
{
$url = Uri::of(config('pacs.viewer.ohif.endpoint'))
->withPath('/ohif/segmentation')
->withQuery(['StudyInstanceUIDs' => $study_uid]);
return (string) $url;
}
public static function archive(string $study_uid): string
{
$url = Uri::of(config('pacs.api.endpoint'))
->withPath('/studies/' . $study_uid . '/archive');
return (string) $url;
}
}