labcomplete AIS-Schnittstelle
0.1.0 - ci-build Österreich

labcomplete AIS-Schnittstelle - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: Einmal-Link

Official URL: https://fhir.labcomplete.at/ais/v1/StructureDefinition/ais-session-link-message Version: 0.1.0
Draft as of 2026-10-29 Computable Name: AisSessionLinkMessage

Copyright/Legal: © 2026 medcom GmbH. Alle Rechte vorbehalten.

Die Antwort ok auf session-create: die Sitzung mit dem Einmal-Link.

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

Terminology Bindings

Path Status Usage ValueSet Version Source
Bundle.type Base required Bundle Type 📍5.0.0 FHIR Std.
Bundle.entry.request.​method Base required H T T P Verb 📍5.0.0 FHIR Std.
Bundle.entry:header.​request.method Base required H T T P Verb 📍5.0.0 FHIR Std.
Bundle.entry:session.​request.method Base required H T T P Verb 📍5.0.0 FHIR Std.

Constraints

Id Grade Path(s) Beschreibung Expression
ais-focus-task error Bundle MessageHeader.focus nennt genau den Task. entry.first().resource.focus.count() = 1 and entry.where(resource is Task).fullUrl contains entry.first().resource.focus.reference
ais-message-id error Bundle Bundle.identifier ist die messageId, eine UUID als urn:uuid; eine Antwort nennt sie in MessageHeader.response.identifier. identifier.system = 'urn:ietf:rfc:3986' and identifier.value.matches('^urn:uuid:[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$')
ais-response-ok error Bundle Die Antwort ok auf session-create. entry.first().resource.response.code = 'ok' and entry.first().resource.event.ofType(Coding).where(system = 'https://fhir.labcomplete.at/ais/v1/CodeSystem/ais-event' and code = 'session-create').exists()
ais-utc error Bundle Der Zeitpunkt der Nachricht ist in UTC angegeben. timestamp.toString().endsWith('Z')
bdl-1 error Bundle total only when a search or history total.empty() or (type = 'searchset') or (type = 'history')
bdl-2 error Bundle entry.search only when a search (type = 'searchset') or entry.search.empty()
bdl-5 error Bundle.entry, Bundle.entry:header, Bundle.entry:session must be a resource unless there's a request or response resource.exists() or request.exists() or response.exists()
bdl-7 error Bundle FullUrl must be unique in a bundle, or else entries with the same fullUrl must have different meta.versionId (except in history bundles) (type = 'history') or entry.where(fullUrl.exists()).select(fullUrl&iif(resource.meta.versionId.exists(), resource.meta.versionId, '')).isDistinct()
bdl-8 error Bundle.entry, Bundle.entry:header, Bundle.entry:session fullUrl cannot be a version specific reference fullUrl.exists() implies fullUrl.contains('/_history/').not()
bdl-9 error Bundle A document must have an identifier with a system and a value type = 'document' implies (identifier.system.exists() and identifier.value.exists())
bdl-10 error Bundle A document must have a date type = 'document' implies (timestamp.hasValue())
bdl-11 error Bundle A document must have a Composition as the first resource type = 'document' implies entry.first().resource.is(Composition)
bdl-12 error Bundle A message must have a MessageHeader as the first resource type = 'message' implies entry.first().resource.is(MessageHeader)
bdl-13 error Bundle A subscription-notification must have a SubscriptionStatus as the first resource type = 'subscription-notification' implies entry.first().resource.is(SubscriptionStatus)
bdl-14 error Bundle entry.request.method PATCH not allowed for history type = 'history' implies entry.request.method != 'PATCH'
bdl-15 error Bundle Bundle resources where type is not transaction, transaction-response, batch, or batch-response or when the request is a POST SHALL have Bundle.entry.fullUrl populated type='transaction' or type='transaction-response' or type='batch' or type='batch-response' or entry.all(fullUrl.exists() or request.method='POST')
bdl-16 error Bundle Issue.severity for all issues within the OperationOutcome must be either 'information' or 'warning'. issues.exists() implies (issues.issue.severity = 'information' or issues.issue.severity = 'warning')
bdl-17 error Bundle Use and meaning of issues for documents has not been validated because the content will not be rendered in the document. type = 'document' implies issues.empty()
bdl-18 error Bundle Self link is required for searchsets. type = 'searchset' implies link.where(relation = 'self' and url.exists()).exists()
bdl-3a error Bundle For collections of type document, message, searchset or collection, all entries must contain resources, and not have request or response elements type in ('document' | 'message' | 'searchset' | 'collection') implies entry.all(resource.exists() and request.empty() and response.empty())
bdl-3b error Bundle For collections of type history, all entries must contain request or response elements, and resources if the method is POST, PUT or PATCH type = 'history' implies entry.all(request.exists() and response.exists() and ((request.method in ('POST' | 'PATCH' | 'PUT')) = resource.exists()))
bdl-3c error Bundle For collections of type transaction or batch, all entries must contain request elements, and resources if the method is POST, PUT or PATCH type in ('transaction' | 'batch') implies entry.all(request.method.exists() and ((request.method in ('POST' | 'PATCH' | 'PUT')) = resource.exists()))
bdl-3d error Bundle For collections of type transaction-response or batch-response, all entries must contain response elements type in ('transaction-response' | 'batch-response') implies entry.all(response.exists())
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

This structure is derived from AisMessage

Constraints

Id Grade Path(s) Beschreibung Expression
ais-focus-task error Bundle MessageHeader.focus nennt genau den Task. entry.first().resource.focus.count() = 1 and entry.where(resource is Task).fullUrl contains entry.first().resource.focus.reference
ais-response-ok error Bundle Die Antwort ok auf session-create. entry.first().resource.response.code = 'ok' and entry.first().resource.event.ofType(Coding).where(system = 'https://fhir.labcomplete.at/ais/v1/CodeSystem/ais-event' and code = 'session-create').exists()

Terminology Bindings

Path Status Usage ValueSet Version Source
Bundle.language Base required All Languages 📍5.0.0 FHIR Std.
Bundle.type Base required Bundle Type 📍5.0.0 FHIR Std.
Bundle.link.relation Base required Link Relation Types 📍5.0.0 FHIR Std.
Bundle.entry.search.​mode Base required Search Entry Mode 📍5.0.0 FHIR Std.
Bundle.entry.request.​method Base required H T T P Verb 📍5.0.0 FHIR Std.
Bundle.entry:header.​search.mode Base required Search Entry Mode 📍5.0.0 FHIR Std.
Bundle.entry:header.​request.method Base required H T T P Verb 📍5.0.0 FHIR Std.
Bundle.entry:session.​search.mode Base required Search Entry Mode 📍5.0.0 FHIR Std.
Bundle.entry:session.​request.method Base required H T T P Verb 📍5.0.0 FHIR Std.

Constraints

Id Grade Path(s) Beschreibung Expression
ais-focus-task error Bundle MessageHeader.focus nennt genau den Task. entry.first().resource.focus.count() = 1 and entry.where(resource is Task).fullUrl contains entry.first().resource.focus.reference
ais-message-id error Bundle Bundle.identifier ist die messageId, eine UUID als urn:uuid; eine Antwort nennt sie in MessageHeader.response.identifier. identifier.system = 'urn:ietf:rfc:3986' and identifier.value.matches('^urn:uuid:[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$')
ais-response-ok error Bundle Die Antwort ok auf session-create. entry.first().resource.response.code = 'ok' and entry.first().resource.event.ofType(Coding).where(system = 'https://fhir.labcomplete.at/ais/v1/CodeSystem/ais-event' and code = 'session-create').exists()
ais-utc error Bundle Der Zeitpunkt der Nachricht ist in UTC angegeben. timestamp.toString().endsWith('Z')
bdl-1 error Bundle total only when a search or history total.empty() or (type = 'searchset') or (type = 'history')
bdl-2 error Bundle entry.search only when a search (type = 'searchset') or entry.search.empty()
bdl-5 error Bundle.entry, Bundle.entry:header, Bundle.entry:session must be a resource unless there's a request or response resource.exists() or request.exists() or response.exists()
bdl-7 error Bundle FullUrl must be unique in a bundle, or else entries with the same fullUrl must have different meta.versionId (except in history bundles) (type = 'history') or entry.where(fullUrl.exists()).select(fullUrl&iif(resource.meta.versionId.exists(), resource.meta.versionId, '')).isDistinct()
bdl-8 error Bundle.entry, Bundle.entry:header, Bundle.entry:session fullUrl cannot be a version specific reference fullUrl.exists() implies fullUrl.contains('/_history/').not()
bdl-9 error Bundle A document must have an identifier with a system and a value type = 'document' implies (identifier.system.exists() and identifier.value.exists())
bdl-10 error Bundle A document must have a date type = 'document' implies (timestamp.hasValue())
bdl-11 error Bundle A document must have a Composition as the first resource type = 'document' implies entry.first().resource.is(Composition)
bdl-12 error Bundle A message must have a MessageHeader as the first resource type = 'message' implies entry.first().resource.is(MessageHeader)
bdl-13 error Bundle A subscription-notification must have a SubscriptionStatus as the first resource type = 'subscription-notification' implies entry.first().resource.is(SubscriptionStatus)
bdl-14 error Bundle entry.request.method PATCH not allowed for history type = 'history' implies entry.request.method != 'PATCH'
bdl-15 error Bundle Bundle resources where type is not transaction, transaction-response, batch, or batch-response or when the request is a POST SHALL have Bundle.entry.fullUrl populated type='transaction' or type='transaction-response' or type='batch' or type='batch-response' or entry.all(fullUrl.exists() or request.method='POST')
bdl-16 error Bundle Issue.severity for all issues within the OperationOutcome must be either 'information' or 'warning'. issues.exists() implies (issues.issue.severity = 'information' or issues.issue.severity = 'warning')
bdl-17 error Bundle Use and meaning of issues for documents has not been validated because the content will not be rendered in the document. type = 'document' implies issues.empty()
bdl-18 error Bundle Self link is required for searchsets. type = 'searchset' implies link.where(relation = 'self' and url.exists()).exists()
bdl-3a error Bundle For collections of type document, message, searchset or collection, all entries must contain resources, and not have request or response elements type in ('document' | 'message' | 'searchset' | 'collection') implies entry.all(resource.exists() and request.empty() and response.empty())
bdl-3b error Bundle For collections of type history, all entries must contain request or response elements, and resources if the method is POST, PUT or PATCH type = 'history' implies entry.all(request.exists() and response.exists() and ((request.method in ('POST' | 'PATCH' | 'PUT')) = resource.exists()))
bdl-3c error Bundle For collections of type transaction or batch, all entries must contain request elements, and resources if the method is POST, PUT or PATCH type in ('transaction' | 'batch') implies entry.all(request.method.exists() and ((request.method in ('POST' | 'PATCH' | 'PUT')) = resource.exists()))
bdl-3d error Bundle For collections of type transaction-response or batch-response, all entries must contain response elements type in ('transaction-response' | 'batch-response') implies entry.all(response.exists())
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

This structure is derived from AisMessage

Summary

Mandatory: 2 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Bundle.entry

Key Elements View

Terminology Bindings

Path Status Usage ValueSet Version Source
Bundle.type Base required Bundle Type 📍5.0.0 FHIR Std.
Bundle.entry.request.​method Base required H T T P Verb 📍5.0.0 FHIR Std.
Bundle.entry:header.​request.method Base required H T T P Verb 📍5.0.0 FHIR Std.
Bundle.entry:session.​request.method Base required H T T P Verb 📍5.0.0 FHIR Std.

Constraints

Id Grade Path(s) Beschreibung Expression
ais-focus-task error Bundle MessageHeader.focus nennt genau den Task. entry.first().resource.focus.count() = 1 and entry.where(resource is Task).fullUrl contains entry.first().resource.focus.reference
ais-message-id error Bundle Bundle.identifier ist die messageId, eine UUID als urn:uuid; eine Antwort nennt sie in MessageHeader.response.identifier. identifier.system = 'urn:ietf:rfc:3986' and identifier.value.matches('^urn:uuid:[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$')
ais-response-ok error Bundle Die Antwort ok auf session-create. entry.first().resource.response.code = 'ok' and entry.first().resource.event.ofType(Coding).where(system = 'https://fhir.labcomplete.at/ais/v1/CodeSystem/ais-event' and code = 'session-create').exists()
ais-utc error Bundle Der Zeitpunkt der Nachricht ist in UTC angegeben. timestamp.toString().endsWith('Z')
bdl-1 error Bundle total only when a search or history total.empty() or (type = 'searchset') or (type = 'history')
bdl-2 error Bundle entry.search only when a search (type = 'searchset') or entry.search.empty()
bdl-5 error Bundle.entry, Bundle.entry:header, Bundle.entry:session must be a resource unless there's a request or response resource.exists() or request.exists() or response.exists()
bdl-7 error Bundle FullUrl must be unique in a bundle, or else entries with the same fullUrl must have different meta.versionId (except in history bundles) (type = 'history') or entry.where(fullUrl.exists()).select(fullUrl&iif(resource.meta.versionId.exists(), resource.meta.versionId, '')).isDistinct()
bdl-8 error Bundle.entry, Bundle.entry:header, Bundle.entry:session fullUrl cannot be a version specific reference fullUrl.exists() implies fullUrl.contains('/_history/').not()
bdl-9 error Bundle A document must have an identifier with a system and a value type = 'document' implies (identifier.system.exists() and identifier.value.exists())
bdl-10 error Bundle A document must have a date type = 'document' implies (timestamp.hasValue())
bdl-11 error Bundle A document must have a Composition as the first resource type = 'document' implies entry.first().resource.is(Composition)
bdl-12 error Bundle A message must have a MessageHeader as the first resource type = 'message' implies entry.first().resource.is(MessageHeader)
bdl-13 error Bundle A subscription-notification must have a SubscriptionStatus as the first resource type = 'subscription-notification' implies entry.first().resource.is(SubscriptionStatus)
bdl-14 error Bundle entry.request.method PATCH not allowed for history type = 'history' implies entry.request.method != 'PATCH'
bdl-15 error Bundle Bundle resources where type is not transaction, transaction-response, batch, or batch-response or when the request is a POST SHALL have Bundle.entry.fullUrl populated type='transaction' or type='transaction-response' or type='batch' or type='batch-response' or entry.all(fullUrl.exists() or request.method='POST')
bdl-16 error Bundle Issue.severity for all issues within the OperationOutcome must be either 'information' or 'warning'. issues.exists() implies (issues.issue.severity = 'information' or issues.issue.severity = 'warning')
bdl-17 error Bundle Use and meaning of issues for documents has not been validated because the content will not be rendered in the document. type = 'document' implies issues.empty()
bdl-18 error Bundle Self link is required for searchsets. type = 'searchset' implies link.where(relation = 'self' and url.exists()).exists()
bdl-3a error Bundle For collections of type document, message, searchset or collection, all entries must contain resources, and not have request or response elements type in ('document' | 'message' | 'searchset' | 'collection') implies entry.all(resource.exists() and request.empty() and response.empty())
bdl-3b error Bundle For collections of type history, all entries must contain request or response elements, and resources if the method is POST, PUT or PATCH type = 'history' implies entry.all(request.exists() and response.exists() and ((request.method in ('POST' | 'PATCH' | 'PUT')) = resource.exists()))
bdl-3c error Bundle For collections of type transaction or batch, all entries must contain request elements, and resources if the method is POST, PUT or PATCH type in ('transaction' | 'batch') implies entry.all(request.method.exists() and ((request.method in ('POST' | 'PATCH' | 'PUT')) = resource.exists()))
bdl-3d error Bundle For collections of type transaction-response or batch-response, all entries must contain response elements type in ('transaction-response' | 'batch-response') implies entry.all(response.exists())
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

Differential View

This structure is derived from AisMessage

Constraints

Id Grade Path(s) Beschreibung Expression
ais-focus-task error Bundle MessageHeader.focus nennt genau den Task. entry.first().resource.focus.count() = 1 and entry.where(resource is Task).fullUrl contains entry.first().resource.focus.reference
ais-response-ok error Bundle Die Antwort ok auf session-create. entry.first().resource.response.code = 'ok' and entry.first().resource.event.ofType(Coding).where(system = 'https://fhir.labcomplete.at/ais/v1/CodeSystem/ais-event' and code = 'session-create').exists()

Snapshot View

Terminology Bindings

Path Status Usage ValueSet Version Source
Bundle.language Base required All Languages 📍5.0.0 FHIR Std.
Bundle.type Base required Bundle Type 📍5.0.0 FHIR Std.
Bundle.link.relation Base required Link Relation Types 📍5.0.0 FHIR Std.
Bundle.entry.search.​mode Base required Search Entry Mode 📍5.0.0 FHIR Std.
Bundle.entry.request.​method Base required H T T P Verb 📍5.0.0 FHIR Std.
Bundle.entry:header.​search.mode Base required Search Entry Mode 📍5.0.0 FHIR Std.
Bundle.entry:header.​request.method Base required H T T P Verb 📍5.0.0 FHIR Std.
Bundle.entry:session.​search.mode Base required Search Entry Mode 📍5.0.0 FHIR Std.
Bundle.entry:session.​request.method Base required H T T P Verb 📍5.0.0 FHIR Std.

Constraints

Id Grade Path(s) Beschreibung Expression
ais-focus-task error Bundle MessageHeader.focus nennt genau den Task. entry.first().resource.focus.count() = 1 and entry.where(resource is Task).fullUrl contains entry.first().resource.focus.reference
ais-message-id error Bundle Bundle.identifier ist die messageId, eine UUID als urn:uuid; eine Antwort nennt sie in MessageHeader.response.identifier. identifier.system = 'urn:ietf:rfc:3986' and identifier.value.matches('^urn:uuid:[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$')
ais-response-ok error Bundle Die Antwort ok auf session-create. entry.first().resource.response.code = 'ok' and entry.first().resource.event.ofType(Coding).where(system = 'https://fhir.labcomplete.at/ais/v1/CodeSystem/ais-event' and code = 'session-create').exists()
ais-utc error Bundle Der Zeitpunkt der Nachricht ist in UTC angegeben. timestamp.toString().endsWith('Z')
bdl-1 error Bundle total only when a search or history total.empty() or (type = 'searchset') or (type = 'history')
bdl-2 error Bundle entry.search only when a search (type = 'searchset') or entry.search.empty()
bdl-5 error Bundle.entry, Bundle.entry:header, Bundle.entry:session must be a resource unless there's a request or response resource.exists() or request.exists() or response.exists()
bdl-7 error Bundle FullUrl must be unique in a bundle, or else entries with the same fullUrl must have different meta.versionId (except in history bundles) (type = 'history') or entry.where(fullUrl.exists()).select(fullUrl&iif(resource.meta.versionId.exists(), resource.meta.versionId, '')).isDistinct()
bdl-8 error Bundle.entry, Bundle.entry:header, Bundle.entry:session fullUrl cannot be a version specific reference fullUrl.exists() implies fullUrl.contains('/_history/').not()
bdl-9 error Bundle A document must have an identifier with a system and a value type = 'document' implies (identifier.system.exists() and identifier.value.exists())
bdl-10 error Bundle A document must have a date type = 'document' implies (timestamp.hasValue())
bdl-11 error Bundle A document must have a Composition as the first resource type = 'document' implies entry.first().resource.is(Composition)
bdl-12 error Bundle A message must have a MessageHeader as the first resource type = 'message' implies entry.first().resource.is(MessageHeader)
bdl-13 error Bundle A subscription-notification must have a SubscriptionStatus as the first resource type = 'subscription-notification' implies entry.first().resource.is(SubscriptionStatus)
bdl-14 error Bundle entry.request.method PATCH not allowed for history type = 'history' implies entry.request.method != 'PATCH'
bdl-15 error Bundle Bundle resources where type is not transaction, transaction-response, batch, or batch-response or when the request is a POST SHALL have Bundle.entry.fullUrl populated type='transaction' or type='transaction-response' or type='batch' or type='batch-response' or entry.all(fullUrl.exists() or request.method='POST')
bdl-16 error Bundle Issue.severity for all issues within the OperationOutcome must be either 'information' or 'warning'. issues.exists() implies (issues.issue.severity = 'information' or issues.issue.severity = 'warning')
bdl-17 error Bundle Use and meaning of issues for documents has not been validated because the content will not be rendered in the document. type = 'document' implies issues.empty()
bdl-18 error Bundle Self link is required for searchsets. type = 'searchset' implies link.where(relation = 'self' and url.exists()).exists()
bdl-3a error Bundle For collections of type document, message, searchset or collection, all entries must contain resources, and not have request or response elements type in ('document' | 'message' | 'searchset' | 'collection') implies entry.all(resource.exists() and request.empty() and response.empty())
bdl-3b error Bundle For collections of type history, all entries must contain request or response elements, and resources if the method is POST, PUT or PATCH type = 'history' implies entry.all(request.exists() and response.exists() and ((request.method in ('POST' | 'PATCH' | 'PUT')) = resource.exists()))
bdl-3c error Bundle For collections of type transaction or batch, all entries must contain request elements, and resources if the method is POST, PUT or PATCH type in ('transaction' | 'batch') implies entry.all(request.method.exists() and ((request.method in ('POST' | 'PATCH' | 'PUT')) = resource.exists()))
bdl-3d error Bundle For collections of type transaction-response or batch-response, all entries must contain response elements type in ('transaction-response' | 'batch-response') implies entry.all(response.exists())
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

This structure is derived from AisMessage

Summary

Mandatory: 2 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Bundle.entry

 

Other representations of profile: CSV, Excel, Schematron