Dokumentacja DICOMweb

PrerequisitesWprowadzenie i informacje ogólne

Ten dokument stanowi kompleksowy przewodnik techniczny po funkcjach API DICOMweb wraz z przykładowymi metodami wykorzystywanymi w przykładowej aplikacji w języku C#. Zawiera szczegółowe wyjaśnienia wszystkich dostępnych funkcji, obejmujące zarówno standardowe usługi DICOMweb (takie jak QIDO-RS, WADO-RS i STOW-RS), jak i niestandardowe punkty końcowe API DICOMweb opracowane przez PostDICOM. Funkcje te są przeznaczone do wywołań po stronie serwera.

Aby korzystać z usług DICOMweb firmy PostDICOM, muszą Państwo najpierw włączyć tę funkcję dla swojego konta i posiadać ważne poświadczenia użytkownika. Jeśli dostęp do DICOMweb nie został jeszcze aktywowany dla Państwa konta, a chcieliby Państwo zintegrować swoją aplikację z PostDICOM, prosimy o kontakt z nami w celu złożenia wniosku o aktywację.

Nazwa użytkownika: Są to Państwa główne poświadczenia logowania, najczęściej adres e-mail. Jest on przypisany do Państwa konta i używany jako nazwa użytkownika w uwierzytelnianiu podstawowym (Basic Authentication).

Hasło: To hasło jest powiązane z Państwa kontem PostDICOM. Używa się go w połączeniu z nazwą użytkownika podczas uwierzytelniania podstawowego. Dla zapewnienia optymalnego bezpieczeństwa, zdecydowanie zalecamy wybór silnego hasła. Prosimy o zapewnienie odpowiednich mechanizmów zabezpieczeń podczas wywołań po stronie serwera, tak aby nazwa użytkownika i hasło były przez Państwa chronione.

Hasłem i ustawieniami bezpieczeństwa mogą Państwo zarządzać na stronie profilu konta po zalogowaniu do konta PostDICOM.


DICOMwebStandardowe usługi DICOMweb

Przechowywanie instancji DICOM (STOW-RS)

UploadDicomImagesInAFolder(UserName, Password, WebAddress, FileNamesList)

Ta funkcja zarządza przesyłaniem wszystkich plików .dcm z określonego folderu lokalnego na serwer DICOMweb. Najpierw identyfikuje wszystkie odpowiednie pliki, a następnie używa metod pomocniczych do skonstruowania i wysłania uwierzytelnionego żądania POST typu multipart/related dla każdego pliku, zgodnie ze standardem STOW-RS.

Wymagane parametry Typ danych Opis
UserName string Nazwa użytkownika (adres e-mail) dla konta PostDICOM. (z inicjalizacji)
Password string Hasło powiązane z kontem PostDICOM. (z inicjalizacji)
WebAddress string Podstawowy adres URL interfejsu API. (z inicjalizacji)
DirectoryPath string Pełna ścieżka do katalogu lokalnego zawierającego pliki DICOM (.dcm) do przesłania.

Wyszukiwanie obiektów DICOM (QIDO-RS)

QidoSearch(UserName, Password, WebAddress, PatientID, StudyInstanceUID, SeriesInstanceUID)

Ta funkcja wykonuje zapytanie o obiekty DICOM zgodnie ze standardem QIDO-RS, umożliwiając wyszukiwanie na poziomie badania (Study), serii (Series) lub instancji (Instance). Na podstawie podanego parametru wyszukiwania (takiego jak ID pacjenta, UID instancji badania lub UID instancji serii), konstruuje odpowiedni adres URL i wykonuje uwierzytelnione żądanie, aby pobrać pasujące wyniki z serwera.

Wymagane parametry Typ danych Opis
UserName string Nazwa użytkownika (adres e-mail) dla konta PostDICOM. (z inicjalizacji)
Password string Hasło powiązane z kontem PostDICOM. (z inicjalizacji)
WebAddress string Podstawowy adres URL interfejsu API. (z inicjalizacji)
PatientID string Opcjonalny. Używany do identyfikacji pacjenta i wyszukiwania powiązanych badań.
StudyInstanceUID string Opcjonalny. Używany do wyszukiwania określonego badania lub wszystkich serii w obrębie tego badania.
SeriesInstanceUID string Opcjonalny. Używany do wyszukiwania wszystkich instancji obrazów w ramach konkretnej serii.

Pobieranie instancji DICOM (WADO-RS)

RetrieveImagesUsingWadoRs(UserName, Password, WebAddress, StudyInstanceUID, SeriesInstanceUID, SOPInstanceUID)

Ta funkcja udostępnia interaktywne menu do pobierania obiektów DICOM zgodnie ze standardem WADO-RS. Użytkownik wybiera poziom pobierania (Badanie, Seria lub Instancja) i podaje odpowiedni UID. Funkcja wykonuje następnie uwierzytelnione żądanie i przetwarza odpowiedź typu multipart/related, zapisując każdą część DICOM jako oddzielny plik .dcm w nowo utworzonym katalogu lokalnym.

Wymagane parametry Typ danych Opis
UserName string Nazwa użytkownika (adres e-mail) dla konta PostDICOM. (z inicjalizacji)
Password string Hasło powiązane z kontem PostDICOM. (z inicjalizacji)
WebAddress string Podstawowy adres URL interfejsu API. (z inicjalizacji)
StudyInstanceUID string Opcjonalny. Globalnie unikalny identyfikator badania DICOM. Służy do pobierania wszystkich serii i instancji powiązanych z danym badaniem.
SeriesInstanceUID string Opcjonalny. Globalnie unikalny identyfikator serii w obrębie badania DICOM. Służy do pobierania wszystkich obrazów w tej serii.
SOPInstanceUID string Opcjonalny. Unikalny identyfikator pojedynczej instancji obrazu DICOM. Służy do pobierania określonego obrazu za pomocą WADO-RS.

ShareZarządzanie udostępnianiem

Tworzenie linku udostępniania

CreateShareLink(UserName, Password, WebAddress, PatientOrderInfoList, ExpireDate, SharePassword, Downloadable)

Ta funkcja generuje bezpieczny link internetowy do udostępniania jednego lub wielu zleceń pacjentów użytkownikom zewnętrznym. Link może być chroniony hasłem i opcjonalnie umożliwiać pobieranie plików.

Wymagane parametry Typ danych Opis
UserName string Nazwa użytkownika (e-mail) dla konta PostDICOM. (z inicjalizacji)
Password string Hasło do konta PostDICOM. (z inicjalizacji)
WebAddress string Podstawowy adres URL interfejsu API. (z inicjalizacji)
PatientOrderInfoList List Lista ciągów JSON, z których każdy zawiera klucz "PatientOrderUuid", identyfikujących zlecenia pacjentów do udostępnienia.
ExpireDate string (YYYY-MM-DD) Data ważności linku udostępniania. Po tej dacie link zostanie zdezaktywowany.
SharePassword string Opcjonalny. Hasło wymagane do uzyskania dostępu do linku. Proszę pozostawić puste w przypadku dostępu publicznego.
Downloadable bool Opcjonalny. Określa, czy odbiorca może pobrać badania DICOM.

Udostępnianie zlecenia pacjenta za pomocą adresu URL

SharePatientOrderWithUrl(UserName, Password, WebAddress, OrderUuidList, ExpireDate, SharePassword, UserCanDownloadStudies)

Ta funkcja generuje udostępniany adres URL dla wybranych zleceń pacjentów z dodatkowymi opcjami kontroli dostępu, takimi jak uprawnienia do pobierania i ochrona hasłem.

Wymagane parametry Typ danych Opis
UserName string Nazwa użytkownika (e-mail) konta PostDICOM. (z inicjalizacji)
Password string Hasło do konta PostDICOM. (z inicjalizacji)
WebAddress string Podstawowy adres URL interfejsu API. (z inicjalizacji)
OrderUuidList List Lista identyfikatorów UUID określających zlecenia pacjentów do udostępnienia.
ExpireDate string (YYYY-MM-DD) Data, po której link udostępniania staje się nieaktywny.
SharePassword string Opcjonalny. Hasło wymagane do uzyskania dostępu do udostępnionego linku.
UserCanDownloadStudies bool Opcjonalny. Jeśli ustawiono na true, odbiorca może pobrać badania.

FolderZarządzanie folderami i zleceniami

Utwórz folder

CreateFolder(UserName, Password, WebAddress, FolderName, FolderDescription, ParentFolderUuid)

Ta funkcja służy do utworzenia nowego folderu (wirtualnego kontenera) na koncie PostDICOM w celu łatwiejszej organizacji zleceń pacjentów.

Wymagane parametry Typ danych Opis
UserName string Nazwa użytkownika (adres e-mail) dla konta PostDICOM. (z inicjalizacji)
Password string Hasło powiązane z kontem PostDICOM. (z inicjalizacji)
WebAddress string Podstawowy adres URL interfejsu API. (z inicjalizacji)
FolderName string Wymagany. Widoczna nazwa nowego folderu.
FolderDescription string Opcjonalny. Opis tekstowy folderu.
ParentFolderUuid string Opcjonalny. Identyfikator UUID istniejącego folderu nadrzędnego, wewnątrz którego zostanie utworzony nowy folder.

Wyszukiwanie folderu

SearchFolder(UserName, Password, WebAddress, ParentFolderUuid, FolderName, GetOrdersInFolder)

Ta funkcja wyszukuje istniejące foldery na podstawie kryteriów wyszukiwania. Może opcjonalnie zawierać listę zleceń pacjentów w ramach każdego znalezionego folderu.

Wymagane parametry Typ danych Opis
UserName string Nazwa użytkownika (adres e-mail) dla konta PostDICOM. (z inicjalizacji)
Password string Hasło powiązane z kontem PostDICOM. (z inicjalizacji)
WebAddress string Podstawowy adres URL interfejsu API. (z inicjalizacji)
ParentFolderUuid string Opcjonalny. Identyfikator UUID folderu w celu ograniczenia wyszukiwania do jego elementów podrzędnych.
FolderName string Opcjonalny. Pełna lub częściowa nazwa do wyszukania.
GetOrdersInFolder bool Opcjonalny. Jeśli ustawiono na `true`, odpowiedź będzie zawierać listę zleceń pacjentów dla każdego znalezionego folderu.

Udostępnianie folderu za pomocą adresu URL

ShareFolderWithUrl(UserName, Password, WebAddress, FolderUuid, SharePassword, ShareTitle, ShareDescription, ExpireDate, UserCanDownloadStudies)

Ta funkcja generuje bezpieczny, udostępniany adres URL dla całego folderu i jego zawartości. Umożliwia kompleksową kontrolę dostępu poprzez ustawienie niestandardowego tytułu, opisu, hasła, daty ważności oraz określenie, czy odbiorca może pobrać zawartość.

Wymagane parametry Typ danych Opis
UserName string Nazwa użytkownika (adres e-mail) dla konta PostDICOM. (z inicjalizacji)
Password string Hasło powiązane z kontem PostDICOM. (z inicjalizacji)
WebAddress string Podstawowy adres URL interfejsu API. (z inicjalizacji)
FolderUuid string Wymagany. Unikalny identyfikator (UUID) folderu do udostępnienia.
SharePassword string Opcjonalny. Hasło do ochrony udostępnionego linku. Jeśli pozostawiono puste, link będzie publicznie dostępny.
ShareTitle string Opcjonalny. Niestandardowy tytuł strony udostępnionego folderu, widoczny dla odbiorcy.
ShareDescription string Opcjonalny. Opis wyświetlany na stronie udostępnionego folderu.
ExpireDate string (YYYY-MM-DD) Opcjonalny. Data, w której link udostępniania automatycznie stanie się nieaktywny.
UserCanDownloadStudies bool Opcjonalny. Jeśli ustawiono na `true`, odbiorcy mogą pobrać zlecenia pacjentów zawarte w folderze.

Dodawanie zlecenia do folderu

AddOrderToFolder(UserName, Password, WebAddress, PatientOrderUuid, FolderUuidList)

Ta funkcja tworzy powiązanie między istniejącym zleceniem pacjenta a istniejącym folderem. Jest to narzędzie organizacyjne; nie przenosi ani nie kopiuje danych.

Wymagane parametry Typ danych Opis
UserName string Nazwa użytkownika (adres e-mail) dla konta PostDICOM. (z inicjalizacji)
Password string Hasło powiązane z kontem PostDICOM. (z inicjalizacji)
WebAddress string Podstawowy adres URL interfejsu API. (z inicjalizacji)
PatientOrderUuid string Wymagany. Identyfikator UUID zlecenia pacjenta, które ma zostać umieszczone w folderze.
FolderUuidList List Wymagany. Lista zawierająca identyfikatory UUID folderu docelowego.

WorkflowPrzepływ pracy i przypisywanie

Przypisywanie zlecenia do użytkownika

AssignOrderToUser(UserName, Password, WebAddress, PatientOrderUuid, AssignedUserUuid)

Ta funkcja to podstawowe narzędzie przepływu pracy. Przypisuje zlecenie pacjenta do poszczególnego użytkownika, co oznacza, że dany użytkownik jest teraz odpowiedzialny za zadanie związane z tym zleceniem (np. opisanie badania).

Wymagane parametry Typ danych Opis
UserName string Nazwa użytkownika (adres e-mail) dla konta PostDICOM. (z inicjalizacji)
Password string Hasło powiązane z kontem PostDICOM. (z inicjalizacji)
WebAddress string Podstawowy adres URL interfejsu API. (z inicjalizacji)
PatientOrderUuid string Wymagany. Identyfikator UUID zlecenia pacjenta, które wymaga podjęcia działania.
AssignedUserUuid string Wymagany. Identyfikator UUID konkretnego użytkownika, któremu zostanie przypisana odpowiedzialność.

Przypisywanie zlecenia do grupy użytkowników

AssignOrderToUserGroup(UserName, Password, WebAddress, PatientOrderUuid, AssignedUserGroupUuid)

Podobnie jak w przypadku przypisania do pojedynczego użytkownika, funkcja ta przypisuje zlecenie pacjenta całej grupie, umożliwiając pracę zespołową, w której każdy członek grupy może wykonać dane zadanie.

Wymagane parametry Typ danych Opis
UserName string Nazwa użytkownika (adres e-mail) dla konta PostDICOM. (z inicjalizacji)
Password string Hasło powiązane z kontem PostDICOM. (z inicjalizacji)
WebAddress string Podstawowy adres URL interfejsu API. (z inicjalizacji)
PatientOrderUuid string Wymagany. Identyfikator UUID zlecenia pacjenta do przypisania do grupy.
AssignedUserGroupUuid string Wymagany. Identyfikator UUID grupy użytkowników, do której ma zostać przypisane zlecenie.

Patient OrderCykl życia zlecenia pacjenta i pobieranie danych

Tworzenie zlecenia pacjenta

CreatePatientOrder(UserName, Password, WebAddress, InstitutionUuid, PatientName, PatientId, OtherPatientId, PatientSex, PatientBirthdate, Modality, StudyDescription, AccessionNumber, PatientComplaints, OrderScheduledDatetime, RequestedProcedureId, RequestedProcedureDescription, RequestingPhysician, ReferringPhysiciansName, ScheduledEquipmentUuid)

Ta funkcja tworzy nowe zlecenie pacjenta w celu planowania i zarządzania badaniami obrazowymi w systemie. Aby operacja się powiodła, należy podać wymagane parametry.

Wymagane parametry Typ danych Opis
InstitutionUuid string Wymagany. Identyfikator UUID instytucji, w której tworzone jest zlecenie pacjenta.
PatientName string Wymagany. Pełne imię i nazwisko pacjenta.
PatientId string Wymagany. Unikalny identyfikator pacjenta, taki jak PESEL lub numer historii choroby (MRN).
PatientBirthdate string (YYYY-MM-DD) Wymagany. Data urodzenia pacjenta w formacie ISO.
Modality string Wymagany. Typ modalności, taki jak CT, MR, US itp.
OtherPatientId string Opcjonalny. Dodatkowy identyfikator pacjenta (jeśli dotyczy).
PatientSex string Opcjonalny. Płeć pacjenta (np. M, F, O).
StudyDescription string Opcjonalny. Opis zlecanego badania obrazowego.
AccessionNumber string Opcjonalny. Unikalny numer akcesyjny zlecenia (jeśli dotyczy).
PatientComplaints string Opcjonalny. Tekst opisujący dolegliwości lub objawy pacjenta.
OrderScheduledDatetime string (YYYY-MM-DD HH:MM) Opcjonalny. Zaplanowana data i godzina rozpoczęcia procedury.
RequestedProcedureId string Opcjonalny. Identyfikator wnioskowanej procedury.
RequestedProcedureDescription string Opcjonalny. Opis wnioskowanej procedury.
RequestingPhysician string Opcjonalny. Imię i nazwisko lekarza zlecającego badanie.
ReferringPhysiciansName string Opcjonalny. Imię i nazwisko lekarza kierującego, jeśli jest inne niż lekarza zlecającego.
ScheduledEquipmentUuid string Opcjonalny. Identyfikator UUID sprzętu obrazującego, który ma zostać użyty do zaplanowanej procedury.

Pobieranie właściwości zlecenia pacjenta

GetPatientOrderProperties(UserName, Password, WebAddress, PatientOrderInstitutionUuid, PatientOrderUuid)

Ta funkcja pobiera pełny zestaw właściwości dla pojedynczego, określonego zlecenia pacjenta.

Wymagane parametry Typ danych Opis
UserName string Nazwa użytkownika (adres e-mail) dla konta PostDICOM. (z inicjalizacji)
Password string Hasło powiązane z kontem PostDICOM. (z inicjalizacji)
WebAddress string Podstawowy adres URL interfejsu API. (z inicjalizacji)
PatientOrderInstitutionUuid string Wymagany. Identyfikator UUID instytucji, do której należy zlecenie.
PatientOrderUuid string Wymagany. Identyfikator UUID konkretnego zlecenia pacjenta, które ma zostać pobrane.

Wyszukiwanie zleceń pacjentów

GetPatientOrderList(UserName, Password, WebAddress, InstitutionUuidList, PatientName, PatientId, OtherPatientId, AccessionNumber, ModalityList, StudyDateFrom, StudyDateTo, PatientBirthdateFrom, PatientBirthdateTo)

Ta funkcja pobiera listę zleceń pacjentów na podstawie kombinacji filtrów wyszukiwania, takich jak imię i nazwisko pacjenta, ID, modalność oraz data badania lub data urodzenia. Umożliwia zaawansowane funkcje wyszukiwania dla instytucji zarządzających wieloma zleceniami.

Wymagane parametry Typ danych Opis
UserName string Nazwa użytkownika (adres e-mail) dla konta PostDICOM. (z inicjalizacji)
Password string Hasło powiązane z kontem PostDICOM. (z inicjalizacji)
WebAddress string Podstawowy adres URL interfejsu API. (z inicjalizacji)
InstitutionUuidList List Lista identyfikatorów UUID wskazujących instytucje w celu przeszukania zleceń pacjentów.
PatientName string Opcjonalny. Filtrowanie po pełnym imieniu i nazwisku pacjenta.
PatientId string Opcjonalny. Filtrowanie po unikalnym identyfikatorze pacjenta.
OtherPatientId string Opcjonalny. Drugi identyfikator pacjenta (jeśli dostępny).
AccessionNumber string Opcjonalny. Filtrowanie według numeru akcesyjnego przypisanego do badania.
ModalityList List Lista modalności (np. CT, MR, US) do filtrowania wyników wyszukiwania.
StudyDateFrom string (YYYY-MM-DD) Opcjonalny. Początkowa data zakresu dat badań do filtrowania wyników.
StudyDateTo string (YYYY-MM-DD) Opcjonalny. Końcowa data zakresu dat badań do filtrowania wyników.
PatientBirthdateFrom string (YYYY-MM-DD) Opcjonalny. Początkowa data zakresu daty urodzenia do filtrowania pacjentów według wieku.
PatientBirthdateTo string (YYYY-MM-DD) Opcjonalny. Końcowa data zakresu daty urodzenia do filtrowania pacjentów według wieku.

Usuwanie zlecenia pacjenta

DeletePatientOrder(UserName, Password, WebAddress, PatientOrderInstitutionUuid, PatientOrderUuid)

Ta funkcja trwale usuwa zlecenie pacjenta z systemu. Wymaga podania identyfikatora UUID instytucji oraz UUID konkretnego zlecenia pacjenta w celu zapewnienia dokładności i zapobieżenia przypadkowemu usunięciu.

Wymagane parametry Typ danych Opis
UserName string Nazwa użytkownika (adres e-mail) dla konta PostDICOM. (z inicjalizacji)
Password string Hasło powiązane z kontem PostDICOM. (z inicjalizacji)
WebAddress string Podstawowy adres URL interfejsu API. (z inicjalizacji)
PatientOrderInstitutionUuid string Wymagany. Identyfikator UUID instytucji, do której należy zlecenie. Gwarantuje użycie właściwego kontekstu podczas operacji usunięcia.
PatientOrderUuid string Wymagany. Identyfikator UUID określonego zlecenia pacjenta do usunięcia. Jednoznacznie identyfikuje to zlecenie w systemie.

Dicom TagPobieranie zawartości tagu DICOM

Pobieranie zawartości tagu DICOM

GetDicomTagContent(UserName, Password, WebAddress, PatientOrderInstitutionUuid, PatientOrderUuid, PatientSeriesUuid, DicomTagIdList)

Ta funkcja pobiera wartości określonych tagów DICOM z obrazów przypisanych do zlecenia pacjenta.

Wymagane parametry Typ danych Opis
UserName string Nazwa użytkownika (adres e-mail) dla konta PostDICOM. (z inicjalizacji)
Password string Hasło powiązane z kontem PostDICOM. (z inicjalizacji)
WebAddress string Podstawowy adres URL interfejsu API. (z inicjalizacji)
PatientOrderInstitutionUuid string Wymagany. Identyfikator UUID instytucji, w której znajduje się zlecenie.
PatientOrderUuid string Wymagany. Identyfikator UUID zlecenia zawierającego obrazy.
PatientSeriesUuid string Opcjonalny. Jeśli zostanie podany, tagi zostaną odczytane tylko z tej określonej serii.
DicomTagIdList List Opcjonalny. Lista identyfikatorów tagów DICOM do pobrania.