How agilehealthinformatics/structured-clinical-document-poc works
SCDPOC is a synthetic-data demonstrator for preserving a clinical document while exchanging its computable FHIR IPS. Its main journey composes and validates an IPS, renders it for people, packages it in a PDF/A-3 envelope, then publishes and serves the representations through XDS/MHD; lifecycle, integrity, and cross-border exchange extend that journey. The map also includes the documented conformance checker and EHDS preview. Several runtime modules were not sampled, so those branches rely on README claims and are linked only where documented.
Main entry points: app.py HTTP application · actors.py XDS actors · service.py Consumer exchange · packager.py PDF/A packager
Components 31
Clinical document
- HTTP application
src/scdpoc/app.py - Runtime settings
src/scdpoc/config.py - IPS composer
src/scdpoc/ips/composer.py - IPS validator
src/scdpoc/ips/validator.py - Clinical view model
src/scdpoc/ips/view.py - HTML rendition
src/scdpoc/render/html.py - Rendition labels
src/scdpoc/render/labels.py - PDF rendition
src/scdpoc/render/pdf.py
Preservation assurance
- PDF/A packager
src/scdpoc/pdfa/packager.py - PDF/A preflight
src/scdpoc/pdfa/preflight.py - veraPDF validation
src/scdpoc/pdfa/verapdf.py - IPS extraction
src/scdpoc/pdfa/extract.py - Rendition fidelity
src/scdpoc/fidelity.py - Integrity checks
src/scdpoc/integrity.py - Issuance lifecycle
src/scdpoc/lifecycle.py - Preservation events
src/scdpoc/preservation.py
Discovery and exchange
- XDS actors
src/scdpoc/xds/actors.py - XDS metadata model
src/scdpoc/xds/model.py - ebRIM metadata
src/scdpoc/xds/ebrim.py - XDS persistence
src/scdpoc/xds/store.py - XDS endpoints
src/scdpoc/xds/endpoints.py - MHD façade
src/scdpoc/mhd/router.py
Cross-border services
- Consumer exchange
src/scdpoc/crossborder/service.py - Initiating gateway
src/scdpoc/crossborder/initiating.py - Responding gateway
src/scdpoc/crossborder/gateway.py - IPS translation
src/scdpoc/crossborder/translate.py - EHDS export preview
src/scdpoc/ehds/adapter.py
Controls and conformance
- Conformance checker
src/scdpoc/checker.py - Conformance kit
src/scdpoc/conformance_kit.py - Synthetic-data safeguards
src/scdpoc/safety.py
Other components
- Demonstrator user
Connections 37
- Demonstrator user → HTTP application: uses
README.md - HTTP application → Runtime settings: loads settings
src/scdpoc/app.py - HTTP application → XDS actors: wires actors
src/scdpoc/app.py - HTTP application → XDS endpoints: mounts routes
src/scdpoc/app.py - HTTP application → MHD façade: mounts routes
src/scdpoc/app.py - HTTP application → Responding gateway: mounts routes
src/scdpoc/app.py - HTTP application → Synthetic-data safeguards: applies safeguards
src/scdpoc/app.py - HTTP application → IPS composer: orchestrates journey
- IPS composer → IPS validator: validates IPS
README.md - IPS composer → Clinical view model: derives view
src/scdpoc/ips/composer.py - Clinical view model → HTML rendition: renders HTML
src/scdpoc/render/html.py - Clinical view model → PDF rendition: renders pages
src/scdpoc/render/pdf.py - HTML rendition → Rendition labels: uses labels
src/scdpoc/render/html.py - PDF rendition → Rendition labels: uses labels
src/scdpoc/render/pdf.py - PDF rendition → PDF/A packager: provides rendition
README.md - PDF/A packager → PDF/A preflight: runs preflight
src/scdpoc/pdfa/preflight.py - PDF/A packager → veraPDF validation: validates optionally
- PDF/A packager → IPS extraction: embeds IPS
README.md - Rendition fidelity → HTML rendition: checks fidelity
src/scdpoc/fidelity.py - Integrity checks → IPS extraction: checks embedded bytes
src/scdpoc/integrity.py - Issuance lifecycle → Preservation events: records transitions
README.md - XDS actors → XDS metadata model: uses metadata
src/scdpoc/xds/actors.py - XDS actors → XDS persistence: persists entries
src/scdpoc/xds/actors.py - XDS endpoints → XDS actors: routes operations
src/scdpoc/xds/endpoints.py - XDS endpoints → ebRIM metadata: serializes metadata
src/scdpoc/xds/endpoints.py - ebRIM metadata → XDS metadata model: maps metadata
src/scdpoc/xds/ebrim.py - MHD façade → XDS actors: serves discovery
src/scdpoc/mhd/router.py - Consumer exchange → Initiating gateway: requests exchange
src/scdpoc/crossborder/service.py - Initiating gateway → Responding gateway: calls remotely
src/scdpoc/crossborder/initiating.py - Responding gateway → XDS actors: queries repository
src/scdpoc/crossborder/gateway.py - Consumer exchange → IPS validator: verifies received IPS
src/scdpoc/crossborder/service.py - Consumer exchange → IPS translation: translates projection
src/scdpoc/crossborder/service.py - Consumer exchange → EHDS export preview: builds preview
src/scdpoc/crossborder/service.py - Conformance kit → Conformance checker: runs checks
src/scdpoc/conformance_kit.py - Conformance checker → IPS validator: checks IPS
src/scdpoc/checker.py - Conformance checker → IPS extraction: checks envelope
src/scdpoc/checker.py - Conformance checker → PDF/A preflight: checks PDF/A
src/scdpoc/checker.py