{"openapi":"3.1.0","info":{"title":"SIMP REST API","description":"Dokumentacja API dla usług typu RESTful systemu SIMP.","version":"v3.7.0"},"servers":[{"url":"https://host:port/context/","description":"Serwer usług sieciowych systemu SIMP"}],"tags":[{"name":"Anulacja danych","description":"Usługi odpowiedzialne za anulację danych w systemie SIMP."},{"name":"Rejestracja danych badania","description":"Usługi odpowiedzialne za rejestrację badań w systemie SIMP."},{"name":"Import plików XML","description":"Usługi odpowiedzialne za import plików XML z danymi o badaniach do systemu SIMP."},{"name":"Weryfikacja danych","description":"Usługi odpowiedzialne za weryfikację danych w systemie SIMP."},{"name":"Uwierzytelnianie i autoryzacja","description":"Usługi odpowiedzialne za uwierzytelnienie i autoryzację użytkownika w systemie SIMP."}],"paths":{"/api/v1/weryfikacja":{"post":{"tags":["Weryfikacja danych"],"summary":"Weryfikacja czy pacjentka posiada uprawnienia do programu profilaktycznego oraz czy pacjentka przebywa na kwarantannie.","operationId":"weryfikuj","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WeryfikacjaInputDto"}}},"required":true},"responses":{"200":{"description":"Informacja o posiadanych uprawnieniach oraz o kwarantannie.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WeryfikacjaOutputDto"}}}},"403":{"description":"Brak tokena uwierzytelniającego lub token uwierzytelniający jest niepoprawny."},"401":{"description":"Brak tokena uwierzytelniającego lub token uwierzytelniający jest niepoprawny."},"400":{"description":"Żądanie zostało odrzucone ze względu na jego niepoprawną strukturę."}},"security":[{"csm-wss-api":[]}]}},"/api/v1/weryfikacja-rozszerzona":{"post":{"tags":["Weryfikacja danych"],"summary":"Weryfikacja czy pacjentka posiada uprawnienia do programu profilaktycznego oraz czy pacjentka przebywa na kwarantannie, a także informacja o powodzie braku uprawnień do programu profilaktycznego oraz dacie ostatniego badania i dacie możliwego badania","operationId":"weryfikujD","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WeryfikacjaInputDto"}}},"required":true},"responses":{"200":{"description":"Informacja o posiadanych uprawnieniach oraz o kwarantannie.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WeryfikacjaOutputDto"}}}},"403":{"description":"Brak tokena uwierzytelniającego lub token uwierzytelniający jest niepoprawny."},"401":{"description":"Brak tokena uwierzytelniającego lub token uwierzytelniający jest niepoprawny."},"400":{"description":"Żądanie zostało odrzucone ze względu na jego niepoprawną strukturę."}},"security":[{"csm-wss-api":[]}]}},"/api/v1/haslo":{"post":{"tags":["Uwierzytelnianie i autoryzacja"],"summary":"Zmiana hasła użytkownika systemu SIMP.","operationId":"zmienHaslo","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ZmianaHaslaInputDto"}}},"required":true},"responses":{"403":{"description":"Brak tokena uwierzytelniającego lub token uwierzytelniający jest niepoprawny."},"401":{"description":"Brak tokena uwierzytelniającego lub token uwierzytelniający jest niepoprawny."},"200":{"description":"Informacja o zmianie hasła.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ZmianaHaslaOutputDto"}}}},"400":{"description":"Żądanie zostało odrzucone ze względu na jego niepoprawną strukturę."}},"security":[{"csm-wss-api":[]}]}},"/api/v1/badanie":{"post":{"tags":["Rejestracja danych badania"],"summary":"Rejestracja danych badania.","operationId":"rejestruj","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RejestracjaBdaniaInputDto"}}},"required":true},"responses":{"403":{"description":"Brak tokena uwierzytelniającego lub token uwierzytelniający jest niepoprawny."},"401":{"description":"Brak tokena uwierzytelniającego lub token uwierzytelniający jest niepoprawny."},"200":{"description":"Informacja o identyfikatorze pod którym zostało zarejestrowane dane badanie lub lista komunikatów błędów walidacji.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RejestracjaBadaniaOutputDto"}}}},"400":{"description":"Żądanie zostało odrzucone ze względu na jego niepoprawną strukturę."}},"security":[{"csm-wss-api":[]}]},"delete":{"tags":["Anulacja danych"],"summary":"Anuluje badanie zarejestrowane w systemie SIMP.","operationId":"anuluj","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnulacjaBadaniaInputDto"}}},"required":true},"responses":{"403":{"description":"Brak tokena uwierzytelniającego lub token uwierzytelniający jest niepoprawny."},"401":{"description":"Brak tokena uwierzytelniającego lub token uwierzytelniający jest niepoprawny."},"200":{"description":"Informacja o pomyślnym ukończeniu operacji lub powód odmowy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WeryfikacjaOutputDto"}}}},"400":{"description":"Żądanie zostało odrzucone ze względu na jego niepoprawną strukturę."}},"security":[{"csm-wss-api":[]}]}},"/api/v1/badanie/plik/import":{"post":{"tags":["Import plików XML"],"summary":"Import pliku XML z danymi o badaniach.","operationId":"wczytajPlikZBad","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"rodzajBadania":{"description":"Rodzaj badania, którego dotyczy importowany plik.","enum":["CYTOLOGIA","MAMMOGRAFIA","CHUK"]},"plikXml":{"type":"string","format":"binary","description":"Plik XML z badaniami"}},"required":["plikXml","rodzajBadania"]}}}},"responses":{"403":{"description":"Brak tokena uwierzytelniającego lub token uwierzytelniający jest niepoprawny."},"401":{"description":"Brak tokena uwierzytelniającego lub token uwierzytelniający jest niepoprawny."},"200":{"description":"Odpowiedź na żądanie importu pliku XML.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WczytaniePlikuOutputDto"}}}},"400":{"description":"Żądanie zostało odrzucone ze względu na jego niepoprawną strukturę."}},"security":[{"csm-wss-api":[]}]}},"/api/v1/auth/token":{"post":{"tags":["Uwierzytelnianie i autoryzacja"],"summary":"Uwierzytelnienie użytkownika w systemie SIMP.","description":"W wyniku poprawnego wywołania operacji następuje zwrócenie tokena uwierzytelniającego w formacie JWT.<br/>Czas ważności tokena uwierzytelniającego wynosi 24h. Po tym czasie należy wygenerować nowy token uwierzytelniający.<br/>Token uwierzytelniający należy przekazywać w nagłówku <i>Authorization</i> żądania HTTP przy wywoływaniu usług dziedzinowych.","operationId":"uwierzytelnij","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DaneUwierzytelniajaceDto"}}},"required":true},"responses":{"200":{"description":"Użytkownik został uwierzytelniony w systemie - został wygenerowany token uwierzytelniający w formacie JWT.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JwtTokenDto"}}}},"401":{"description":"Użytkownik nie posiada dostępu do zasobu."},"403":{"description":"Użytkownik nie posiada wymaganych uprawnień pozwalających na dostęp do zasobu."},"400":{"description":"Żądanie zostało odrzucone ze względu na jego niepoprawną strukturę."}}}},"/api/v1/auth/revoke":{"post":{"tags":["Uwierzytelnianie i autoryzacja"],"summary":"Unieważnienie aktywnego tokena uwierzytelniającego.","operationId":"revoke","responses":{"200":{"description":"Żądanie zostało zaakceptowane."},"401":{"description":"Użytkownik nie posiada dostępu do zasobu."},"400":{"description":"Żądanie zostało odrzucone ze względu na jego niepoprawną strukturę."}},"security":[{"csm-wss-api":[]}]}},"/api/v1/badanie/plik/status2/{idOperacji}":{"get":{"tags":["Import plików XML"],"summary":"Pobranie statusu operacji przetwarzania danych z zaimportowanego pliku XML (wersja 2)","operationId":"podajStatusPlikuZBad2","parameters":[{"name":"idOperacji","in":"path","description":"Identyfikator operacji importu pliku XML z danymi o badaniach.","required":true,"schema":{"type":"string"}}],"responses":{"403":{"description":"Brak tokena uwierzytelniającego lub token uwierzytelniający jest niepoprawny."},"401":{"description":"Brak tokena uwierzytelniającego lub token uwierzytelniający jest niepoprawny."},"200":{"description":"Informacja o statusie operacji przetwarzania danych z zaimportowanego pliku XML (SMPRB wersja 2).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WczytaniePlikuStatusOutput2Dto"}}}},"400":{"description":"Żądanie zostało odrzucone ze względu na jego niepoprawną strukturę."}},"security":[{"csm-wss-api":[]}]}},"/api/v1/badanie/plik/status/{idOperacji}":{"get":{"tags":["Import plików XML"],"summary":"Pobranie statusu operacji przetwarzania danych z zaimportowanego pliku XML.","operationId":"podajStatusPlikuZBad","parameters":[{"name":"idOperacji","in":"path","description":"Identyfikator operacji importu pliku XML z danymi o badaniach.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Informacja o statusie operacji przetwarzania danych z zaimportowanego pliku XML.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WczytaniePlikuStatusOutput2Dto"}}}},"403":{"description":"Brak tokena uwierzytelniającego lub token uwierzytelniający jest niepoprawny."},"401":{"description":"Brak tokena uwierzytelniającego lub token uwierzytelniający jest niepoprawny."},"400":{"description":"Żądanie zostało odrzucone ze względu na jego niepoprawną strukturę."}},"security":[{"csm-wss-api":[]}]}}},"components":{"schemas":{"WeryfikacjaInputDto":{"type":"object","description":"Zapytanie o uprawnienia i kwarantannę","properties":{"pesel":{"type":"string","description":"Numer PESEL świadczeniobiorcy.","example":22222222222,"maxLength":11,"minLength":11},"zakresProfilaktyki":{"type":"string","description":"Zakres profilaktyki.","enum":["CYTOLOGIA","HPV","MAMMOGRAFIA","CHUK","KOLONOSKOPIA"],"example":"CYTOLOGIA"},"dataBadania":{"type":"string","format":"YYYY-MM-DD","description":"Data badania. Wartość z przedziału: dzień bieżący, dzień bieżący + 30 dni.","example":"2022-06-22"}},"required":["dataBadania","pesel","zakresProfilaktyki"]},"WeryfikacjaOutputDto":{"type":"object","properties":{"komunikaty":{"type":"array","description":"Lista komunikatów błędów.","items":{"type":"string"}},"prawoDoProfilaktyki":{"type":"string","description":"Czy osoba posiada prawo do profilaktyki (wykonania badania).","enum":["TAK","NIE"],"example":"TAK"},"prawoDoSwiadczen":{"type":"string","description":"Czy osoba posiada prawo do świadczeń (potwierdzenie EWUŚ) - wartość dostępna tylko dla zapytań na dzień bieżący (w żądaniu wartość pola dataBadania została ustawiona na dzień bieżący).","enum":["TAK","NIE"],"example":"TAK"}}},"ZmianaHaslaInputDto":{"type":"object","description":"Zapytanie o zmianę hasła","properties":{"noweHaslo":{"type":"string","description":"Nowe hasło.","example":"S8#4fo!gO12on8","maxLength":64,"minLength":14}},"required":["noweHaslo"]},"ZmianaHaslaOutputDto":{"type":"object","properties":{"komunikaty":{"type":"array","description":"Lista komunikatów błędów.","items":{"type":"string"}}}},"ObciazeniaRodzinneDto":{"type":"object","properties":{"wystapily":{"type":"string","description":"Czy dla danego świadczeniobiorcy występują obciążenia genetyczne.","enum":["NIE","TAK","NIE_WIEM"],"example":"TAK"},"pokrewienstwo":{"type":"array","description":"Lista spokrewnionych osób u których występują obciążenia generyczne.","items":{"$ref":"#/components/schemas/PokrewienstwoDto"}}}},"PokrewienstwoDto":{"type":"object","properties":{"stopien":{"type":"string","description":"Stopień pokrewieństwa.","enum":["OJCIEC","MATKA","BRAT","SIOSTRA","DZIECKO"],"example":"OJCIEC"},"wiek":{"type":"string","description":"Wiek spokrewnionej osoby.","enum":["PONIZEJ_SZESCDZIESIATEGO_ROKU_ZYCIA","SZESCDZIESIAT_LAT_I_WIECEJ"],"example":"PONIZEJ_SZESCDZIESIATEGO_ROKU_ZYCIA"}}},"RejestracjaBdaniaInputDto":{"type":"object","description":"Żądanie rejestracji badania","properties":{"pesel":{"type":"string","description":"Numer PESEL świadczeniobiorcy.","example":22222222222,"maxLength":11,"minLength":11},"rodzajBadania":{"type":"string","description":"Rodzaj badania.","enum":["CYTOLOGIA","HPV","MAMMOGRAFIA","CHUK","KOLONOSKOPIA"],"example":"KOLONOSKOPIA"},"dataBadania":{"type":"string","format":"YYYY-MM-DD","description":"Data badania. Wartość z przedziału: dzień bieżący, dzień bieżący + 30 dni.","example":"2022-06-22"},"trybUdzielSwiad":{"type":"string","description":"Tryb udzielania świadczenia dla cytologii.","enum":["STACJONARNY","MOBILNY"],"example":"STACJONARNY"},"nrSerMammog":{"type":"string"},"obciazeniaRodzinne":{"$ref":"#/components/schemas/ObciazeniaRodzinneDto","description":"Rodzinne obciążenia genetyczne."},"zakresSwiadczen":{"type":"string","description":"Zakres świadczeń dla cytologii.","enum":["POZ","AOS"],"example":"POZ"}},"required":["dataBadania","pesel","rodzajBadania"]},"RejestracjaBadaniaOutputDto":{"type":"object","properties":{"komunikat":{"type":"string","description":"Komunikat opisujący status operacji rejestracji badania."},"status":{"type":"integer","format":"int32","description":"Status operacji rejestracji badania."},"idBadania":{"type":"integer","format":"int64","description":"Identyfikator zarejestrowanego badania w systemie SIMP","example":1234}}},"WczytaniePlikuOutputDto":{"type":"object","properties":{"idOperacji":{"type":"string","description":"Identyfikator operacji importu pliku XML z danymi o badaniach."},"komunikat":{"type":"array","description":"Lista komunikatów błędów walidacji danych wejściowych.","items":{"type":"string"}}}},"DaneUwierzytelniajaceDto":{"type":"object","description":"Dane identyfikacyjne użytkownika systemu.","properties":{"uzytkownik":{"type":"string","description":"Nazwa użytkownika systemu SIMP.","example":"STEBATORY"},"haslo":{"type":"string","description":"Hasło użytkownika systemu SIMP zaszyfrowane funkcją skrótu MD5.","example":"ABC...1234"}},"required":["haslo","uzytkownik"]},"JwtTokenDto":{"type":"object","properties":{"access_token":{"type":"string","description":"Token uwierzytelniający w formacie JWT.","example":"eyJraWQiOiI3ODE2ODNjNi01…MQHLpc3m05N9BZxIJWg"},"token_type":{"type":"string","description":"Typ tokena uwierzytelniającego.","enum":["Bearer"],"example":"Bearer"},"expires_in":{"type":"integer","format":"int64","description":"Czas (wyrażony w sekundach) ważności tokena uwierzytelniającego liczony od momentu jego wygenerowania.","example":86400}}},"Blad2Dto":{"type":"object","properties":{"idPoz":{"type":"integer","format":"int32","description":"Identyfikator pozycji"},"nr":{"type":"integer","format":"int32","description":"Identyfikator błędu"},"opis":{"type":"string","description":"Identyfikator pozycji"}}},"WczytaniePlikuStatusOutput2Dto":{"type":"object","properties":{"idOperacji":{"type":"string","description":"Identyfikator operacji wczytania i przetworzenia pliku XML z badaniami."},"typ":{"type":"string","description":"Typ komunikatu."},"wersja":{"type":"integer","format":"int32","description":"Wersja komunikatu."},"rodzRap":{"type":"integer","format":"int32","description":"Rodzaj raportu."},"idOdb":{"type":"string","description":"Identyfikator odbiorcy."},"idNad":{"type":"integer","format":"int32","description":"Identyfikator nadawcy."},"idInstNad":{"type":"string","description":"Identyfikator instytucji nadawcy."},"nazwaPliku":{"type":"string","description":"Nazwa zaimportowanego pliku XML z badaniami."},"czasWczytPliku":{"type":"string","format":"date-time","description":"Czas importu pliku XML z badaniami."},"czasGen":{"type":"string","format":"date-time","description":"Czas generacji komunikatu."},"status":{"type":"string","description":"Status operacji importu pliku XML z badaniami.","enum":["ROZPOCZETA","ZAKONCZONA_PRAWIDLOWO","ZAKONCZONA_NIEPRAWIDLOWO"]},"zestBledow":{"type":"array","description":"Lista błędów walidacji parametrów wejściowych operacji pobrania logu.","items":{"$ref":"#/components/schemas/Blad2Dto"}}}},"AnulacjaBadaniaInputDto":{"type":"object","description":"Zapytanie o uprawnienia i kwarantannę","properties":{"pesel":{"type":"string","description":"Numer PESEL świadczeniobiorcy.","example":22222222222,"maxLength":11,"minLength":11},"zakresProfilaktyki":{"type":"string","description":"Rodzaj badania.","enum":["CYTOLOGIA","HPV","MAMMOGRAFIA","CHUK","KOLONOSKOPIA"],"example":"KOLONOSKOPIA"},"idBadania":{"type":"integer","format":"int64","description":"Identyfikator badania w systemie SIMP","example":123},"dataBadania":{"type":"string","format":"YYYY-MM-DD","description":"Data badania. Wartość z przedziału: dzień bieżący, dzień bieżący + 30 dni.","example":"2022-06-22"},"przyczynaAnulacji":{"type":"string","description":"Przyczyna anulacji.","enum":["PACJENT_NIE_ZGLOSIL_SIE","BLAD_UZYTKOWNIKA_SIMP","BLAD_TECHNICZNY_ZDJECIA","REZYGNACJA","ZMIANA_TERMINU","POMYLKA","BLAD_TECHNICZNY"],"example":"PACJENT_NIE_ZGLOSIL_SIE"}},"required":["pesel","zakresProfilaktyki"]}},"securitySchemes":{"csm-wss-api":{"type":"http","in":"header","scheme":"bearer","bearerFormat":"JWT"}}}}