Wprowadzenie 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.
Przechowywanie instancji DICOM (STOW-RS)
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)
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)
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. |
Tworzenie linku udostępniania
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
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. |
Utwórz folder
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
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
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
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. |
Przypisywanie zlecenia do użytkownika
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
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. |
Tworzenie zlecenia pacjenta
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
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
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
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. |
Pobieranie zawartości tagu DICOMPobieranie zawartości tagu DICOM
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. |