Skip to content
Back to testkits

Developer hub

Testkit | FHIR® Subscriptions

Proactive real-time notifications (R4 Backport IG → R6 compatible): asynchronous, non-blocking, high-performance. SubscriptionTopics define trigger events, the full range of filter and search criteria, as well as payloads. Delivery via REST-hook or NATS JetStream (Pub/Sub streaming from Multi-Cloud to Edge, integration with WebSocket, email, SMS/push). Subscriptions conveniently configurable via standardized tools with SLM/LLM.

89 / 89 = 100.0 %Community compliance

  • ✓ 6 Passed✕ 0 Failed

    • ✓ FHIR Subscriptions - Scope and Usage: Subscription can use filterBy to refine notifications
    • ✓ FHIR Subscriptions - Scope and Usage: Subscription is an active resource
    • ✓ FHIR Subscriptions - Scope and Usage: Subscription references SubscriptionTopic via canonical URL
    • ✓ FHIR Subscriptions - Scope and Usage: Subscription.content can be empty
    • ✓ FHIR Subscriptions - Scope and Usage: Subscription.content can be full-resource
    • ✓ FHIR Subscriptions - Scope and Usage: Subscription.content can be id-only
  • ✓ 5 Passed✕ 0 Failed

    • ✓ FHIR Subscriptions - Multi-Resource: Subscription can combine filterBy with and without resourceType
    • ✓ FHIR Subscriptions - Multi-Resource: Subscription can use filterBy with resourceType for specific resource
    • ✓ FHIR Subscriptions - Multi-Resource: Subscription can use filterBy without resourceType for all resources
    • ✓ FHIR Subscriptions - Multi-Resource: Subscription can use multiple filterBy with different resourceTypes
    • ✓ FHIR Subscriptions - Multi-Resource: SubscriptionTopic can have multiple resource types in triggers
  • ✓ 25 Passed✕ 0 Failed

    • ✓ FHIR Subscriptions - Query Criteria Complex combination with modifiers
    • ✓ FHIR Subscriptions - Query Criteria Date Parameter with :ap modifier (approximately)
    • ✓ FHIR Subscriptions - Query Criteria Date Parameter with :ge modifier
    • ✓ FHIR Subscriptions - Query Criteria Date Parameter with :le modifier
    • ✓ FHIR Subscriptions - Query Criteria Different parameter types combined
    • ✓ FHIR Subscriptions - Query Criteria Empty filterBy array should be accepted
    • ✓ FHIR Subscriptions - Query Criteria Invalid parameter name should be rejected
    • ✓ FHIR Subscriptions - Query Criteria missing modifier (false)
    • ✓ FHIR Subscriptions - Query Criteria missing modifier (true)
    • ✓ FHIR Subscriptions - Query Criteria Multiple conditions (AND)
    • ✓ FHIR Subscriptions - Query Criteria Quantity Parameter with :eq modifier
    • ✓ FHIR Subscriptions - Query Criteria Quantity Parameter with :gt modifier
    • ✓ FHIR Subscriptions - Query Criteria Quantity Parameter with :le modifier
    • ✓ FHIR Subscriptions - Query Criteria Reference Parameter with :identifier modifier
    • ✓ FHIR Subscriptions - Query Criteria Reference Parameter with :of-type modifier
    • ✓ FHIR Subscriptions - Query Criteria Reference Parameter with ResourceType/ID
    • ✓ FHIR Subscriptions - Query Criteria String Parameter (default matching)
    • ✓ FHIR Subscriptions - Query Criteria String Parameter with :contains modifier
    • ✓ FHIR Subscriptions - Query Criteria String Parameter with :exact modifier
    • ✓ FHIR Subscriptions - Query Criteria Token Parameter with :text modifier
    • ✓ FHIR Subscriptions - Query Criteria Token Parameter with :text-advanced modifier
    • ✓ FHIR Subscriptions - Query Criteria Token Parameter with |code (no system)
    • ✓ FHIR Subscriptions - Query Criteria Token Parameter with system|code
    • ✓ FHIR Subscriptions - Query Criteria URI Parameter with :above modifier
    • ✓ FHIR Subscriptions - Query Criteria URI Parameter with :below modifier
  • ✓ 4 Passed✕ 0 Failed

    • ✓ FHIR Subscriptions - fhirPathCriteria: Complex expression with AND logic
    • ✓ FHIR Subscriptions - fhirPathCriteria: Expression with %current variable
    • ✓ FHIR Subscriptions - fhirPathCriteria: Expression with %previous.empty() for create events
    • ✓ FHIR Subscriptions - fhirPathCriteria: Simple expression matches resource
  • ✓ 5 Passed✕ 0 Failed

    • ✓ FHIR Subscriptions - Event Numbering: eventsSinceSubscriptionStart Extension in SubscriptionStatus
    • ✓ FHIR Subscriptions - Event Numbering: First Event Has Event Number 1
    • ✓ FHIR Subscriptions - Event Numbering: Multiple Subscriptions Have Independent Counters
    • ✓ FHIR Subscriptions - Event Numbering: Notification Bundle Contains Event Number
    • ✓ FHIR Subscriptions - Event Numbering: Sequential Event Numbers
  • ✓ 5 Passed✕ 0 Failed

    • ✓ FHIR Subscriptions - Missing Event Detection: $events Operation with eventsSinceNumber
    • ✓ FHIR Subscriptions - Missing Event Detection: Client Can Detect Missing Events
    • ✓ FHIR Subscriptions - Missing Event Detection: Gap Detection Over Multiple Missing Events
    • ✓ FHIR Subscriptions - Missing Event Detection: Recovery Workflow
    • ✓ FHIR Subscriptions - Missing Event Detection: Sequential Event Numbers Enable Gap Detection
  • ✓ 9 Passed✕ 0 Failed

    • ✓ FHIR Subscriptions - $events Operation: Error Handling for Non-Existent Subscription
    • ✓ FHIR Subscriptions - $events Operation: eventsSinceNumber Parameter
    • ✓ FHIR Subscriptions - $events Operation: Limit Parameter
    • ✓ FHIR Subscriptions - $events Operation: Returns Notification Bundles
    • ✓ FHIR Subscriptions - $events Operation: Returns Past Events
    • ✓ FHIR Subscriptions - $status Operation: Contains eventsSinceSubscriptionStart
    • ✓ FHIR Subscriptions - $status Operation: Contains lastEventNumber
    • ✓ FHIR Subscriptions - $status Operation: Error Handling for Non-Existent Subscription
    • ✓ FHIR Subscriptions - $status Operation: Returns Subscription Status
  • ✓ 7 Passed✕ 0 Failed

    • ✓ FHIR Subscriptions - canFilterBy: Subscription with allowed comparator is accepted
    • ✓ FHIR Subscriptions - canFilterBy: Subscription with allowed filterParameter is accepted
    • ✓ FHIR Subscriptions - canFilterBy: Subscription with allowed modifier is accepted
    • ✓ FHIR Subscriptions - canFilterBy: Subscription with multiple allowed filterParameters is accepted
    • ✓ FHIR Subscriptions - canFilterBy: Subscription with not-allowed filterParameter is rejected
    • ✓ FHIR Subscriptions - canFilterBy: Subscription with not-allowed modifier is rejected
    • ✓ FHIR Subscriptions - canFilterBy: Subscription without filterBy is accepted
  • ✓ 4 Passed✕ 0 Failed

    • ✓ FHIR Subscriptions - notificationShape: Bundle contains included resources
    • ✓ FHIR Subscriptions - notificationShape: Iterative includes are supported
    • ✓ FHIR Subscriptions - notificationShape: Multiple includes are processed
    • ✓ FHIR Subscriptions - notificationShape: Works without notificationShape
  • ✓ 5 Passed✕ 0 Failed

    • ✓ FHIR Subscriptions - resultForCreate: test-fails prevents create events when criteria matches
    • ✓ FHIR Subscriptions - resultForCreate: test-passes allows create events when criteria matches
    • ✓ FHIR Subscriptions - resultForCreate/resultForDelete: Combined usage
    • ✓ FHIR Subscriptions - resultForDelete: test-fails prevents delete events
    • ✓ FHIR Subscriptions - resultForDelete: test-passes allows delete events
  • ✓ 7 Passed✕ 0 Failed

    • ✓ FHIR Subscriptions - SubscriptionTopic Search: Search by _content (full-text search on title)
    • ✓ FHIR Subscriptions - SubscriptionTopic Search: Search by _id
    • ✓ FHIR Subscriptions - SubscriptionTopic Search: Search by _lastUpdated
    • ✓ FHIR Subscriptions - SubscriptionTopic Search: Search by code (SubscriptionTopic type)
    • ✓ FHIR Subscriptions - SubscriptionTopic Search: Search returns only SubscriptionTopic resources
    • ✓ FHIR Subscriptions - SubscriptionTopic Search: Search with _count limit
    • ✓ FHIR Subscriptions - SubscriptionTopic Search: Search with _sort
  • ✓ 4 Passed✕ 0 Failed

    • ✓ FHIR Subscriptions - Trigger Combinations: Only FHIRPath (no Query Criteria)
    • ✓ FHIR Subscriptions - Trigger Combinations: Only Query Criteria (no FHIRPath)
    • ✓ FHIR Subscriptions - Trigger Combinations: Query Criteria + FHIRPath (both match)
    • ✓ FHIR Subscriptions - Trigger Combinations: Query Criteria + FHIRPath (update event with previous/current)
  • ✓ 3 Passed✕ 0 Failed

    • ✓ FHIR Subscriptions - Filter Timing: Filters on Create Interactions (after resource created)
    • ✓ FHIR Subscriptions - Filter Timing: Filters on Delete Interactions (before resource deleted)
    • ✓ FHIR Subscriptions - Filter Timing: Filters on Update Interactions (may be before or after)