Subscription Adapter Implementation Guide
0.1.0 - ci-build
Publish Box goes here
The prototype is implemented as one Kotlin/Ktor process so that both roles and the mock source system can be inspected together. In deployment these responsibilities can be split.
The implementation uses HAPI FHIR R4 for typed FHIR resources and JSON serialization.
TopicCatalog defines supported topics.SubscriptionRegistry owns lifecycle state and deduplicates by endpoint, topic and patient.NotificationFactory builds R4 Backport notification bundles.HeartFailureFixtures creates sample source-system resources.SubscriberInbox receives notifications and executes the pull.Servers wires HTTP routes for the UI, source adapter, subscriber adapter and mock source system.The adapter keeps the complex exchange protocol at the boundary:
This is the main design point. Existing care systems can integrate by exposing the minimum local contract instead of implementing the full subscription lifecycle.
The heart-failure event contains:
Observation for body weight;QuestionnaireResponse for symptoms and daily status;The notified-pull response returns the resources for the event notification id. It does not return all patient resources.
This is a prototype. It does not implement production:
These concerns belong around the same adapter boundaries shown here. They should not be pushed into source systems that only provide care data or into receiving systems that only process pulled event content.