
# Sintetinių duomenų sekimo spartinimas sveikatos tyrimams naudojant Formize

## Kodėl svarbus sintetinių duomenų sekimas sveikatos priežiūroje

Sveikatos AI projektai remiasi milžiniškais duomenų rinkiniais, kuriuose dažnai yra apsaugotos sveikatos informacijos (PHI). Siekdamos apsaugoti pacientų privatumą ir tuo pačiu suteikti galimybę mokyti aukštos kokybės modelius, organizacijos kreipiasi į **sintetinius duomenis** – dirbtinai sukurtus įrašus, kurie imituoja realių pacientų duomenų statistines savybes.  

Tačiau sintetiniams duomenims atsiranda naujas atitikties iššūkis: **sekimas**. Reguliuotojai, etikos tarybos ir tyrimų rėmėjai vis dažniau reikalauja įrodymų, kad:

1. Sintetiniai duomenys buvo sugeneruoti iš **patvirtinto šaltinio** (tikras pacientų kohortas, sutikimo duomenys ir t.t.).
2. **Generavimo procesas** (modelis, parametrai, atsitiktinis sėklos skaičius) yra pilnai dokumentuotas.
3. Bet kokie **post‑apdorojimo** veiksmai (šališkumo mažinimas, de‑identifikavimas) yra įrašyti.
4. Duomenų kilmė gali būti **audituojama** bet kuriuo tyrimo gyvavimo ciklo momentu.

Be patikimos sekimo sistemos sintetiniai duomenų rinkiniai gali tapti „juoda dėžė“, keliančia pavojų tyrimo patvirtinimams, finansavimui ir visuomenės pasitikėjimui.

## Formize: Žemo kodo variklis visapusiškam sekimui

Formize yra **žemo kodo, formų centrinė automatizacijos platforma**, puikiai tinka struktūrizuotų dokumentų fiksavimui, saugojimui ir pateikimui. Jos pagrindiniai privalumai sintetiniam duomenų sekimui:

| Savybė | Privalumas sintetiniams duomenims |
|--------|-----------------------------------|
| **Dinaminis formų kūrėjas** | Kuria pritaikytas generavimo metaduomenų formas, kurios prisitaiko prie kiekvienos AI modelio versijos. |
| **Nekeičiamas audito takas** | Kiekvienas formos pateikimas yra kriptografiškai maišų (hash) ir, jei pageidaujama, prijungiamas prie blokų grandinės, garantuojant nepakitimo įrodymą. |
| **Versijuojamas duomenų katalogas** | Susieja sintetinį duomenų rinkinį su jo kilmės forma, leidžiant vieno spustelėjimo kelią į kilmės informaciją. |
| **API‑pirmas integravimas** | Sklandžiai įterpia Formize kvietimus į duomenų srautus, parašytus Python, R arba Java kalbomis. |
| **Atitikties šablonai** | Iš anksto paruošti [HIPAA](https://www.hhs.gov/hipaa/index.html), [GDPR](https://gdpr.eu/) ir HHS‑AAIR šablonai pagreitina politikos suderinimą. |

Įdėjus Formize į sintetinių duomenų srautą, organizacijos gali **automatizuoti visą kilmės fiksavimą**, suteikdamos tyrėjams lankstumą greitai iteruoti.

## Architektūrinis brėžinys

Žemiau pateikiamas aukšto lygio Mermaid diagramos pavyzdys, iliustruojantis srautą nuo neapdorotų pacientų duomenų iki visiškai sekamo sintetinės duomenų rinkinio.

```mermaid
flowchart LR
    A["Real Patient Data (PHI)"] -->|Consent & De‑identification| B["Cleaned Source Dataset"]
    B -->|Model Training| C["Synthetic Data Generator"]
    C -->|Generate Metadata| D["Formize Generation Form"]
    D -->|Store Immutable Record| E["Formize Audit Ledger"]
    C -->|Output Synthetic Dataset| F["Synthetic Dataset Repository"]
    F -->|Link to Record| E
    E -->|API Query| G["Researcher Dashboard"]
    G -->|Download + Provenance| H["AI Model Training"]
    H -->|Model Evaluation| I["Regulatory Review"]
    I -->|Access Audit Trail| E
```

*Visi mazgo pavadinimai yra įdėti į dvigubas kabutes, kaip reikalauja Mermaid sintaksė.*

### Pagrindiniai integracijos taškai

1. **Išankstinis sutikimo fiksavimas** – Formize forma surenka sutikimo apimtį, duomenų naudojimo apribojimus ir IRB patvirtinimo ID prieš pradedant bet kokį sintetinių duomenų generavimą.
2. **Modelio metaduomenų fiksavimas** – Kai generatorius paleidžiama, lengvas SDK siunčia JSON duomenis (modelio versija, hiperparametrai, atsitiktinė sėkla) į Formize galinį tašką, automatiškai užpildydamas generavimo formą.
3. **Post‑apdorojimo dokumentavimas** – Bet kokie šališkumo mažinimo ar statistinio patikrinimo žingsniai sukelia papildomas Formize formas, susietas su pradiniu generavimo įrašu.
4. **Duomenų registravimas** – Sintetinis duomenų rinkinys saugomas objektų saugykloje (pvz., S3) su unikaliu identifikatoriumi. Galutinė Formize forma įrašo saugojimo vietą, kontrolinę sumą ir prieigos politiką.
5. **Auditui paruoštas išgavimas** – Tyrėjai užklausia Formize API ir gauna **vieną, nekintamą kilmės paketą** (PDF + JSON), atitinkantį reguliatorių ir rėmėjų reikalavimus.

## Žingsnis po žingsnio įgyvendinimo vadovas

### 1. Apibrėžkite valdymo politiką

- Sukurkite **Sintetinių duomenų valdymo politiką** naudodami Formize politikos šabloną. Įtraukite skyrius apie:
  - Šaltinio duomenų tinkamumą
  - Generavimo modelio patvirtinimo procesą
  - Saugojimo ir ištrynimo tvarkaraštį
- Publikuokite politiką kaip tik skaitymui skirtą Formize puslapį; įterpkite versijos ženklelį, kuris atnaujinamas automatiškai, kai politika keičiasi.

### 2. Sukurkite sutikimo fiksavimo formą

```json
{
  "title": "Synthetic Data Source Consent",
  "fields": [
    {"name": "IRB_Approval_ID", "type": "text", "required": true},
    {"name": "Data_Use_Limitations", "type": "textarea"},
    {"name": "Consent_Expiration", "type": "date"}
  ]
}
```

- Įdiekite formą per Formize UI.
- Integruokite formos webhook URL į ETL srautą, kad duomenų išgavimas sustotų, kol nebus įrašytas sutikimas.

### 3. Instrumentuokite generatorių

Pridėkite ploną apvalkalą aplink savo sintetinių duomenų generatorių (pvz., **SDV**, **CTGAN** arba savą GAN). Pavyzdys Python kalba:

```python
import requests, json, uuid, datetime

def log_generation(metadata):
    endpoint = "https://api.formize.io/v1/forms/GEN_FORM_ID/submissions"
    payload = {
        "submission_id": str(uuid.uuid4()),
        "timestamp": datetime.datetime.utcnow().isoformat(),
        "metadata": metadata
    }
    headers = {"Authorization": "Bearer YOUR_FORMIZE_TOKEN"}
    response = requests.post(endpoint, json=payload, headers=headers)
    response.raise_for_status()
    return response.json()["record_id"]

# Example usage
metadata = {
    "model_name": "CTGAN_v2.1",
    "training_data_id": "cleaned_source_2026_08",
    "random_seed": 42,
    "hyperparameters": {"epochs": 200, "batch_size": 128}
}
record_id = log_generation(metadata)
print(f"Generation logged with record ID: {record_id}")
```

- Gautas `record_id` saugomas kartu su sintetiniu duomenų rinkiniu vėlesniam susiejimui.

### 4. Registruokite sintetinius duomenis

Po generavimo įkelkite duomenų rinkinį į saugią saugyklą ir sukurkite **Duomenų registracijos formą**:

```json
{
  "title": "Synthetic Dataset Registration",
  "fields": [
    {"name": "Dataset_ID", "type": "text", "default": "synthetic_{{date}}_{{uuid}}"},
    {"name": "Generation_Record_ID", "type": "text", "required": true},
    {"name": "Checksum_SHA256", "type": "text"},
    {"name": "Storage_URI", "type": "url"},
    {"name": "Access_Policy", "type": "select", "options": ["internal", "partner", "public"] }
  ]
}
```

- Automatizuokite formos pateikimą per tą patį SDK, perduodami `record_id` iš 3 žingsnio.

### 5. Sukurkite tyrėjų skydelį

Pasinaudokite Formize **Embedded Views**, kad sukurtumėte vieno puslapio skydelį, kuriame tyrėjai galėtų:

- Ieškoti sintetinių duomenų rinkinių pagal metaduomenis.
- Spustelėti rinkinį ir atsisiųsti tiek duomenis, tiek **Kilmės paketą** (PDF + JSON).
- Peržiūrėti vizualų kilmės grafą (generuojamą iš audito žurnalo).

### 6. Įgalinkite reguliatorių peržiūrą

Kai reguliatorius prašo įrodymų, atitikties pareigūnas gali:

1. Ištraukti **Audito žurnalo** įrašą dėl duomenų rinkinio (nekintamas, su laiko žyme).
2. Eksportuoti visą kilmės paketą.
3. Pateikti kriptografinį įrodymą, kad žurnalo įrašas atitinka saugomą kontrolinę sumą.

Kadangi Formize gali nepriklausomai pririšti kiekvieną žurnalo įrašą prie viešos blokų grandinės (pvz., Ethereum), įrodymas yra **viešai patikrinamas** neatskleidžiant jautrių duomenų.

## Privalumų skaičiai

| Rodiklis | Prieš Formize | Po Formize | Patobulinimas |
|----------|---------------|------------|----------------|
| Laikas sukurti kilmės paketą | 4–6 val. (rankinis) | < 5 min. (automatinis) | 95 % sumažėjimas |
| Audito takų pažeidžiamumas | Aukštas (sklaidos skaičiuoklės) | Beveik nulinis (maišų patvirtinimas) | Artimas nuliui |
| Atitikties patvirtinimo ciklai | 2–3 savaitės | 2–3 dienos | 80 % greitesnis |
| Tyrėjų pasitenkinimas (NPS) | 45 | 78 | +33 taškai |

## Realus pavyzdys: akademinių ligoninių tinklas

Trijų akademinių ligoninių konsorciumas įdiegė aukščiau aprašytą darbo eigą, kad sukurtų sintetinę **ICU gyvybinių požymių** duomenų versiją sepsio prognozavimo tyrimui.

- **Apimtis**: 1,2 M pacientų įrašų, 150 GB neapdorotų PHI duomenų.
- **Sintetinis generavimas**: CTGAN mokytas de‑identifikuotu duomenų rinkiniu, sukurtos 5 sintetinės kohortos.
- **Sekimas**: Kiekviena kohorta susieta su Formize įrašu, kuriame yra IRB patvirtinimas, modelio versija ir šališkumo mažinimo žingsniai.
- **Rezultatas**: Tyrimas gavo **spartų IRB patvirtinimą**, nes kilmės paketas atitiko tarybos „sekimo“ kontrolinį sąrašą. Konsorciumas pranešė apie **30 % sumažėjimą** laiko iki publikacijos.

## Geriausios praktikos kontrolinis sąrašas

- **Versijuokite kiekvieną modelį** – Laikykite modelio binarius versijavimo saugykloje (pvz., Nexus) ir nurodykite versiją Formize metaduomenyse.
- **Maišų (hash) skaičiavimas visiems artefaktams** – Apskaičiuokite SHA‑256 maišus šaltiniams, modelio failams ir sintetinėms išvestims; saugokite maišus Formize.
- **Ribokite prieigą** – Naudokite Formize vaidmenų pagrindu paremtą prieigos kontrolę, kad tik auditoriai galėtų redaguoti generavimo formas; kiti mato tik nekintamus žurnalus.
- **Periodiški auditai** – Planuokite automatizuotas skriptus, kurie lygina saugomus maišus su realiais artefaktais, kad aptiktų nukrypimus.
- **Kryžminis domenų susiejimas** – Jei sintetiniai duomenys tiekiami į vėlesnius analizės srautus, sukurkite papildomas Formize formas, fiksuojančias šiuos transformacijas, išlaikant galutinę kilmės grandinę.

## Ateities kryptys

1. **AI‑pagrįstas metaduomenų išgavimas** – Naudoti LLM, kad automatiškai užpildytų Formize laukus iš modelio mokymo žurnalų, sumažinant rankinį įvedimą.
2. **Nulinio žinojimo įrodymai (Zero‑Knowledge Proofs)** – Integruoti zk‑SNARK, kad įrodytų, jog sintetiniai duomenys atitinka statistinius panašumo apribojimus, neatskleidžiant tikrųjų duomenų.
3. **Federacinis sintetinės generacijos modelis** – Sujungti Formize su federaciniu mokymu, kad kelios institucijos kartu generuotų sintetinį duomenų rinkinį, išlaikant vieningą kilmės žurnalą.

## Išvada

Sintetiniai duomenys yra šiuolaikinės sveikatos AI kertinis akmuo, tačiau jų vertė priklauso nuo **skaidraus, nekintamo sekimo**. Įtraukus Formize į kiekvieną etapą – nuo sutikimo fiksavimo iki duomenų registracijos – organizacijos gali **paspartinti atitiktį**, **padidinti tyrėjų pasitikėjimą** ir **sutrumpinti įžvalgų gavimo laiką**. Žemo kodo pobūdis leidžia net be gilių inžinerinių išteklių įgyvendinti gamybos lygio kilmės sistemą per kelias savaites, o ne mėnesius.