Appearance
P1 Integration Toolkit
Repozytorium do testowania i integracji z Systemem P1 (Platforma e-Zdrowie). Zawiera klienty Python do komunikacji z różnymi modułami P1 (e-Rejestracja, e-Recepta, RED, CBH) oraz aplikację webową IKP do przeglądania historii wizyt pacjentów.
Tech Stack
Backend (ikp-app/api)
- Python (FastAPI)
- Klienty SOAP dla P1:
p1_client.py,p1_rejestracja_client.py - Zarządzanie certyfikatami:
cert_manager.py(obsługa .p12 TLS/WSS) - Deployment: Railway (Docker)
Frontend (ikp-app/frontend)
- TypeScript + React
- Bundler: Vite
- Deployment: Cloudflare Pages (unverified — confirm with team)
Dokumentacja (spec)
- XSLT/XML schemas (61.7 MB WSDL/XSD z dokumentacji integracyjnej P1)
- Format:
.docx,.txt,.xlsx,.xml
Struktura Repozytorium
p1/
├── ikp-app/ # Aplikacja Historia Wizyt IKP
│ ├── api/ # Backend FastAPI (Railway)
│ │ ├── main.py # Główny endpoint API
│ │ ├── p1_client.py # Klient SOAP dla P1
│ │ ├── p1_rejestracja_client.py # Klient e-Rejestracja
│ │ ├── cert_manager.py # Obsługa certyfikatów P12
│ │ ├── config.py # Konfiguracja środowisk
│ │ └── requirements.txt # Zależności Python
│ ├── frontend/ # React + Vite (Cloudflare Pages)
│ │ ├── src/ # Kod źródłowy TypeScript/React
│ │ ├── public/ # Statyczne assety
│ │ └── package.json # Zależności npm
│ ├── tests/ # Testy E2E
│ │ └── test_e2e_p1.py
│ ├── scripts/ # Skrypty deployment
│ │ └── set-railway-vars.sh
│ ├── docs/ # Dokumentacja projektu
│ ├── DEPLOY.md # Instrukcja wdrożenia
│ ├── Dockerfile # Kontener dla Railway
│ └── railway.json # Konfiguracja Railway
│
├── spec/ # Specyfikacja P1 (CEZ)
│ ├── docki/ # Pełna dokumentacja integracyjna
│ │ ├── Dokumentacja integracyjna e-Rejestracja_W26_20241206/
│ │ ├── Dokumentacja integracyjna dla badań histopatologicznych W25_20240626/
│ │ ├── Dokumentacja_integracyjna_dla_eksportu_rejestru_lekow_W25_3_20241112/
│ │ ├── ObslugaKomunikatow/
│ │ ├── P1-DS-Dokumentacja integracyjna_RED_W23_20231220/
│ │ ├── P1-DS-Dokumentacja-integracyjna-Systemu-P1-API do pobierania raportów MZT_W25_20240606/
│ │ └── P1-DS-Dokumentacja-integracyjna-Systemu-P1-w-zakresie-obslugi-EWPv2_4_20220830/
│ ├── INDEX.md # Indeks modułów P1
│ └── README.md # Opis specyfikacji
│
├── Podmiot_leczniczy_756/ # Certyfikaty podmiotu leczniczego 756
│ ├── Adam756 Leczniczy.p12
│ ├── Podmiot_leczniczy_756-tls.p12
│ └── Podmiot_leczniczy_756-wss.p12
│
└── ___wsa certy/ # Certyfikaty WSA/ZUSModuły P1 (spec/docki)
Repozytorium zawiera dokumentację integracyjną dla następujących modułów Systemu P1:
| Moduł | Wersja | Opis |
|---|---|---|
| e-Rejestracja | W26 (XII 2024) | Obsługa rejestracji wizyt (WSDL: ObslugaRejestracji, ObslugaRejestracjiPush) |
| CBH | W25 (VI 2024) | Centralna Baza Histopatologii (badania histopatologiczne) |
| Rejestr Leków | W25.3 (XI 2024) | Eksport rejestru leków (WSDL/XSD) |
| Poświadczenia szczepień | W14.6 | Obsługa certyfikatów szczepień QR |
| RED | W23 (XII 2023) | Rejestr Elektronicznej Dokumentacji Medycznej |
| MZT API | W25 (VI 2024) | Pobieranie raportów Ministerstwa Zdrowia i Telemetrii |
| EWP | v2.4 (VIII 2022) | Elektroniczna Wizyta Pacjenta |
| Obsługa Komunikatów | — | Przykładowe XMLe, szkielety komunikatów, identyfikatory podmiotów |
Każdy folder w spec/docki/ zawiera:
- Dokumentację
.docx/.txt(wersje integracyjne) - Pliki WSDL/XSD (schematy SOAP)
- Przykładowe komunikaty XML
- Kody wyników operacji (
.xlsx)
Quickstart (unverified — confirm setup steps)
Uruchomienie API (Backend)
bash
cd ikp-app/api
pip install -r requirements.txt
# Skonfiguruj zmienne środowiskowe (certyfikaty, endpointy P1)
python main.pyUruchomienie Frontendu
bash
cd ikp-app/frontend
npm install
npm run devDeployment
Szczegółowa instrukcja wdrożenia (Railway + Cloudflare): ikp-app/DEPLOY.md
Konfiguracja Certyfikatów
Repozytorium zawiera przykładowe certyfikaty P12 dla środowiska testowego:
- TLS:
Podmiot_leczniczy_756-tls.p12 - WSS (Web Service Security):
Podmiot_leczniczy_756-wss.p12
Certyfikaty są zarządzane przez api/cert_manager.py. Dla środowiska produkcyjnego użyj własnych certyfikatów zgodnie z wymaganiami P1 (patrz: dokumentacja w spec/docki/Wniosek_o_nadanie_uprawnien).
Testy
bash
cd ikp-app
pytest tests/test_e2e_p1.pyTesty E2E weryfikują komunikację z sandbox P1 (wymaga certyfikatów i zmiennych środowiskowych).
Status Projektu
- ✅ Klienty Python dla e-Rejestracja (SOAP)
- ✅ Backend FastAPI + zarządzanie certyfikatami
- ✅ Frontend React (IKP - historia wizyt)
- ✅ Deployment pipeline (Railway + Cloudflare)
- ✅ Dokumentacja integracyjna P1 (WSDL/XSD)
- 🔄 Moduły w fazie testów: CBH, Rejestr Leków, RED (unverified — confirm with team)
Licencja i Autorzy
Wellysa — integracja z Platformą P1 (e-Zdrowie).
Dokumentacja źródłowa: Centrum e-Zdrowia (CEZ).
Kontakt: [email protected]
Last updated: 2026-05-10