Notification Bundle Structure

All notification bundles are of type history. Each entry carries a request component with method = GET and the resource URL as the request target (per the Backport IG specification).


Handshake Bundle

Sent to the subscriber endpoint when the Subscription is first created. Single entry.

Entry 1 — Parameters (SubscriptionStatus)

Profile: backport-subscription-status-r4

{
"resourceType": "Parameters",
"meta": {
"profile": [
"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription-status-r4"
]
},
{
"name": "subscription",
"reference": "Subscription/d7ah4dt10009qn14t750"
}
},
{
"name": "topic",
"valueCanonical": "https://tiplu.de/fhir/maia/SubscriptionTopic/maia-alert-accepted"
},
{
"name": "status",
"valueCode": "requested"
},
{
"name": "type",
"valueCode": "handshake"
}
]
}


Heartbeat Bundle

Sent periodically while the Subscription is active. Single entry.

Entry 1 — Parameters (SubscriptionStatus)

Profile: backport-subscription-status-r4

{
"resourceType": "Parameters",
"meta": {
"profile": [
"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription-status-r4"
]
},
{
"name": "subscription",
"reference": "Subscription/d7ah4dt10009qn14t750"
}
},
{
"name": "topic",
"valueCanonical": "https://tiplu.de/fhir/maia/SubscriptionTopic/maia-alert-accepted"
},
{
"name": "status",
"valueCode": "active"
},
{
"name": "type",
"valueCode": "heartbeat"
}
]
}


Event-Notification Bundle

Sent when a clinician accepts a MaiaVerdachtsdiagnose. Contains four entries.

Entry 1 — Parameters (SubscriptionStatus)

Profile: backport-subscription-status-r4

{
"resourceType": "Parameters",
"meta": {
"profile": [
"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription-status-r4"
]
},
{
"name": "subscription",
"reference": "Subscription/d7ah4dt10009qn14t750"
}
},
{
"name": "topic",
"valueCanonical": "https://tiplu.de/fhir/maia/SubscriptionTopic/maia-alert-accepted"
},
{
"name": "status",
"valueCode": "active"
},
{
"name": "type",
"valueCode": "event-notification"
},
{
"name": "events-since-subscription-start",
},
{
"name": "notification-event",
"part": [
{
"name": "event-number",
},
{
"name": "timestamp",
"valueInstant": "2026-04-08T14:00:36.6997768+00:00"
},
{
"name": "focus",
"reference": "RiskAssessment/d7b3mad10005j25rmi9g"
}
},
{
"name": "additional-context",
"reference": "Basic/d7b3m9l10005j25rmg10"
}
}
]
}
]
}

Entry 2 — RiskAssessment (MaiaRuleBasedEvaluation)

idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
id0..1string
extensionC0..*Extension
statusS1..1codeBinding
divS C1..1xhtml
contained0..*Resource
id0..1string
extensionC0..0Extension
url1..1uriFixed Value
valueCodingCoding
id0..1string
extensionC0..*Extension
url1..1uriFixed Value
valueAddressAddress
valueAgeAge
valueAnnotationAnnotation
valueAttachmentAttachment
valueBase64Binarybase64Binary
valueBooleanboolean
valueCanonicalcanonical
valueCodecode
valueCodeableConceptCodeableConcept
valueCodingCoding
valueContactDetailContactDetail
valueContactPointContactPoint
valueContributorContributor
valueCountCount
valueDataRequirementDataRequirement
valueDatedate
valueDateTimedateTime
valueDecimaldecimal
valueDistanceDistance
valueDosageDosage
valueDurationDuration
valueExpressionExpression
valueHumanNameHumanName
valueIdid
valueIdentifierIdentifier
valueInstantinstant
valueIntegerinteger
valueMarkdownmarkdown
valueMetaMeta
valueMoneyMoney
valueOidoid
valueParameterDefinitionParameterDefinition
valuePeriodPeriod
valuePositiveIntpositiveInt
valueQuantityQuantity
valueRangeRange
valueRatioRatio
valueReferenceReference
valueRelatedArtifactRelatedArtifact
valueSampledDataSampledData
valueSignatureSignature
valueStringstring
valueTimetime
valueTimingTiming
valueTriggerDefinitionTriggerDefinition
valueUnsignedIntunsignedInt
valueUriuri
valueUrlurl
valueUsageContextUsageContext
valueUuiduuid
id0..1string
extensionC0..*Extension
url1..1uri
id0..1string
extensionC0..*Extension
ReasonS
textS
valueAddressAddress
valueAgeAge
valueAnnotationAnnotation
valueAttachmentAttachment
valueBase64Binarybase64Binary
valueBooleanboolean
valueCanonicalcanonical
valueCodecode
valueCodeableConceptCodeableConcept
valueCodingCoding
valueContactDetailContactDetail
valueContactPointContactPoint
valueContributorContributor
valueCountCount
valueDataRequirementDataRequirement
valueDatedate
valueDateTimedateTime
valueDecimaldecimal
valueDistanceDistance
valueDosageDosage
valueDurationDuration
valueExpressionExpression
valueHumanNameHumanName
valueIdid
valueIdentifierIdentifier
valueInstantinstant
valueIntegerinteger
valueMarkdownmarkdown
valueMetaMeta
valueMoneyMoney
valueOidoid
valueParameterDefinitionParameterDefinition
valuePeriodPeriod
valuePositiveIntpositiveInt
valueQuantityQuantity
valueRangeRange
valueRatioRatio
valueReferenceReference
valueRelatedArtifactRelatedArtifact
valueSampledDataSampledData
valueSignatureSignature
valueStringstring
valueTimetime
valueTimingTiming
valueTriggerDefinitionTriggerDefinition
valueUnsignedIntunsignedInt
valueUriuri
valueUrlurl
valueUsageContextUsageContext
valueUuiduuid
identifierΣ0..*Identifier
basedOnC0..1Reference(Resource)
parentC0..1Reference(MaiaRuleBasedEvaluation)
statusS Σ1..1codeBinding
id0..1string
extensionC0..*Extension
id0..1string
extensionC0..*Extension
systemS Σ1..1uriPattern
versionΣ0..1string
codeS Σ1..1codePattern
displayS Σ1..1stringPattern
userSelectedΣ0..1boolean
textΣ0..1string
id0..1string
extensionC0..*Extension
id0..1string
extensionC0..*Extension
systemS Σ1..1uri
versionΣ0..1string
codeS Σ1..1code
displayS Σ1..1string
userSelectedΣ0..1boolean
textS Σ0..1string
id0..1string
extensionC0..*Extension
referenceΣ C0..1string
typeΣ0..1uriBinding
id0..1string
extensionC0..*Extension
useΣ ?!0..1codeBinding
typeS Σ1..1CodeableConceptBindingPattern
systemS Σ1..1uri
valueS Σ1..1string
periodΣ C0..1Period
assignerΣ C0..1Reference(Organization)
displayΣ0..1string
id0..1string
id0..1string
extensionC0..*Extension
url1..1uriFixed Value
id0..1string
extensionC0..*Extension
typeS
systemS
valueS
valueAddressAddress
valueAgeAge
valueAnnotationAnnotation
valueAttachmentAttachment
valueBase64Binarybase64Binary
valueBooleanboolean
valueCanonicalcanonical
valueCodecode
valueCodeableConceptCodeableConcept
valueCodingCoding
valueContactDetailContactDetail
valueContactPointContactPoint
valueContributorContributor
valueCountCount
valueDataRequirementDataRequirement
valueDatedate
valueDateTimedateTime
valueDecimaldecimal
valueDistanceDistance
valueDosageDosage
valueDurationDuration
valueExpressionExpression
valueHumanNameHumanName
valueIdid
valueIdentifierIdentifier
valueInstantinstant
valueIntegerinteger
valueMarkdownmarkdown
valueMetaMeta
valueMoneyMoney
valueOidoid
valueParameterDefinitionParameterDefinition
valuePeriodPeriod
valuePositiveIntpositiveInt
valueQuantityQuantity
valueRangeRange
valueRatioRatio
valueReferenceReference
valueRelatedArtifactRelatedArtifact
valueSampledDataSampledData
valueSignatureSignature
valueStringstring
valueTimetime
valueTimingTiming
valueTriggerDefinitionTriggerDefinition
valueUnsignedIntunsignedInt
valueUriuri
valueUrlurl
valueUsageContextUsageContext
valueUuiduuid
referenceΣ C0..1string
typeΣ0..1uriBinding
identifierΣ0..1Identifier
displayΣ0..1string
occurrencePeriodPeriod
occurrenceDateTimeS Σ1..1dateTime
conditionΣ C0..1Reference(Condition)
performerS Σ C1..1Reference(Device)
reasonCode0..*CodeableConcept
reasonReferenceC0..*Reference(Condition | DiagnosticReport | DocumentReference | Observation)
basisC0..*Reference(Resource)
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
outcome0..1CodeableConcept
probabilityDecimaldecimal
probabilityRangeRange
id0..1string
extensionC0..*Extension
id0..1string
extensionC0..*Extension
systemS Σ1..1uriPattern
versionΣ0..1string
codeS Σ1..1code
displayS Σ1..1string
userSelectedΣ0..1boolean
textΣ0..1string
relativeRisk0..1decimal
whenRangeRange
id0..1string
extensionC0..*Extension
startS Σ C1..1dateTime
endS Σ C0..1dateTime
rationaleS0..1string
mitigation0..1string
note0..*Annotation

Entry 3 — Basic (MaiaRiskAssessmentDefinition)

idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
id0..1string
extensionC0..0Extension
url1..1uriFixed Value
valueStringstring
id0..1string
extensionC0..0Extension
url1..1uriFixed Value
valueStringstring
id0..1string
extensionC0..0Extension
url1..1uriFixed Value
valueStringstring
id0..1string
id0..1string
extensionC0..0Extension
url1..1uriFixed Value
valueUrlurl
id0..1string
extensionC0..0Extension
url1..1uriFixed Value
valueStringstring
url1..1uriFixed Value
id0..1string
extensionC0..0Extension
url1..1uriFixed Value
valueCodingCoding
modifierExtension?! C0..*Extension
identifierΣ0..*Identifier
id0..1string
extensionC0..*Extension
id0..1string
extensionC0..*Extension
systemS Σ0..1uri
versionΣ0..1string
codeS Σ0..1code
displayΣ0..1string
userSelectedΣ0..1boolean
id0..1string
extensionC0..*Extension
systemS Σ0..1uri
versionΣ0..1string
codeS Σ0..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textS Σ0..1stringPattern
subjectΣ C0..1Reference(Resource)
createdΣ0..1date
authorΣ C0..1Reference(Organization | Patient | Practitioner | PractitionerRole | RelatedPerson)


Known Limitations

  • Only MaiaVerdachtsdiagnose (TRBE) alerts are delivered; TRPM (risk predictions) acceptance is not supported in this version.
  • GET /fhir/Subscription returns all subscriptions; no search parameter filtering is supported.
  • events-since-subscription-start and event-number are always reported as "1" per event; cumulative event counting is not implemented.
  • entry.fullUrl is not supported as MAIA does not provide the endpoints to deliver the resources; throws validation errors.