Skip to content

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/ZUS

Moduły P1 (spec/docki)

Repozytorium zawiera dokumentację integracyjną dla następujących modułów Systemu P1:

ModułWersjaOpis
e-RejestracjaW26 (XII 2024)Obsługa rejestracji wizyt (WSDL: ObslugaRejestracji, ObslugaRejestracjiPush)
CBHW25 (VI 2024)Centralna Baza Histopatologii (badania histopatologiczne)
Rejestr LekówW25.3 (XI 2024)Eksport rejestru leków (WSDL/XSD)
Poświadczenia szczepieńW14.6Obsługa certyfikatów szczepień QR
REDW23 (XII 2023)Rejestr Elektronicznej Dokumentacji Medycznej
MZT APIW25 (VI 2024)Pobieranie raportów Ministerstwa Zdrowia i Telemetrii
EWPv2.4 (VIII 2022)Elektroniczna Wizyta Pacjenta
Obsługa KomunikatówPrzykł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.py

Uruchomienie Frontendu

bash
cd ikp-app/frontend
npm install
npm run dev

Deployment

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.py

Testy 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

Wellysa Consigliere — internal use only.