# Wdrożenie Baltique OS Core 2.4.0 PRO

## Wymagany punkt startowy

- Baltique OS Core `2.1.0.1` lub nowszy;
- działający backup bazy, aplikacji i `storage`;
- konto `admin` albo `superadmin`;
- PHP zgodne z aktualną instalacją Baltique OS;
- MySQL/MariaDB z obsługą InnoDB, `utf8mb4` i kolumn JSON.

## 1. Backup

Przed wdrożeniem wykonaj i zweryfikuj:

1. pełny dump MySQL;
2. kopię całego katalogu aplikacji;
3. kopię katalogu `storage`;
4. kopię poza kontem hostingowym OVH;
5. zapis aktualnej wersji i sumy SHA256 wdrażanej paczki.

## 2. Staging

Najpierw wdróż paczkę na kopii środowiska. Nie rozpoczynaj od produkcji klinicznej.

## 3. Nadpisanie plików

Wypakuj ZIP do katalogu głównego Baltique OS, zachowując strukturę folderów. Paczka nie zawiera `app/config.php`, `.env`, danych pacjentów, dumpu bazy ani prywatnych kluczy.

## 4. Prawa katalogów

PHP musi mieć możliwość zapisu do:

- `storage/pro_evidence`;
- `storage/logs`;
- katalogów używanych przez warstwę 2.2.0.1 i platformę mobilną.

## 5. Instalator

Zaloguj się jako administrator i otwórz:

`/upgrade_2_4_0.php`

Kliknij `Uruchom upgrade 2.4.0` tylko raz. Instalator idempotentnie kończy brakujące warstwy 2.2.0.1 i 2.3.0, a następnie tworzy program PRO 2.4.0.

## 6. Pierwsze kontrole

Po wdrożeniu otwórz kolejno:

1. `/system_pro_clinical_operations.php`
2. `/system_pro_risks.php`
3. `/system_pro_uat.php`
4. `/system_pro_deployments.php`
5. `/system_runtime_preflight.php`
6. `/system_mobile_platform.php`

## 7. Przypisanie ról programu

W `/system_pro_risks.php` przypisz realnym osobom role programu, m.in.:

- `clinical_owner` / `medical_director`;
- `operations_owner`;
- `release_owner`;
- `security_owner` / `privacy_owner`;
- `infrastructure_owner`;
- `training_owner`;
- `data_owner`;
- `document_owner`;
- `automation_owner`;
- `model_owner`;
- `patient_experience_owner`;
- `multisite_owner`;
- `nurse_manager`.

## 8. Rozpoczęcie programu

Nie zatwierdzaj masowo kamieni milowych. Zacznij od `0.79.0`:

1. utwórz realny run Clinical Sandbox;
2. wykonaj każdy przypadek testowy;
3. zarejestruj defekty;
4. dołącz dowody;
5. przeprowadź niezależny review;
6. uzyskaj wymagane sign-offy;
7. dopiero wtedy uruchom ocenę milestone.

## 9. Rollback

Rollback kodu oznacza przywrócenie kopii plików. Rollback bazy musi korzystać z przygotowanego i wcześniej sprawdzonego backupu. Nie usuwaj tabel 2.4.0 ręcznie na żywej bazie.

## 10. Produkcja

Instalacja 2.4.0 nie jest zgodą na obsługę realnego pacjenta. Przed produkcją wymagane są prawdziwe UAT, pilot, backup/restore proof, przegląd bezpieczeństwa, akceptacja kliniczna/prawna i formalny Go-Live Decision Board.
