Inference Search

A principal usecase for the OMI protocol is the automated suggestion for inference based on images and metadata following the MII Kerndatensatz Bildgebung Implementation Guide. The OMI protocol supports this by annotating algorithms contained in the registry. In order to filter algorithms based on parameters like modality and e.g. resolution custom FHIR SearchParameter resources were created.

Currently supported filter criteria for Algorithms:

Field ValueSet Binding
Modality ValueSet
BodySite ValueSet
Laterality ValueSet
ServiceType ValueSet
ImageReconstructionPane ValueSet
Maturity ValueSet
Resolution We use the MII KDS extension SearchParameters
* instance-slice-thickness
* instance-pixel-spacing-y
* instance-pixel-spacing-x

More SearchParameter can be defined if necessary and should be aligned with MII. An overview of defined parameters is provided in the following section.

StructureDefinitions

namecodetypeurl
DevicePropertyTypeCodeproperty-type-codecompositehttp://omi.de/fhir/registry/SearchParameter/DevicePropertyTypeAndCodeSP
DevicePropertyTypeSPproperty-typetokenhttp://omi.de/fhir/registry/SearchParameter/DevicePropertyTypeSP
DevicePropertyValueCodeSPproperty-value-codetokenhttp://omi.de/fhir/registry/SearchParameter/DevicePropertyValueCodeSP
InferencePriceinference-pricequantityhttp://omi.de/fhir/registry/SearchParameter/ServiceInferencePriceSP
MaxResolutionXSPmax-res-xquantityhttp://omi.de/fhir/registry/SearchParameter/MaxResolutionXSP
MaxResolutionYSPmax-res-yquantityhttp://omi.de/fhir/registry/SearchParameter/MaxResolutionYSP
MaxResolutionZSPmax-res-zquantityhttp://omi.de/fhir/registry/SearchParameter/MaxResolutionZSP
MinResolutionXSPmin-res-xquantityhttp://omi.de/fhir/registry/SearchParameter/MinResolutionXSP
MinResolutionYSPmin-res-yquantityhttp://omi.de/fhir/registry/SearchParameter/MinResolutionYSP
MinResolutionZSPmin-res-zquantityhttp://omi.de/fhir/registry/SearchParameter/MinResolutionZSP
ServiceEstimatedWaitingTimeSPestimated-waiting-timenumberhttp://omi.de/fhir/registry/SearchParameter/ServiceEstimatedWaitingTimeSP
ServiceQueueLengthSPqueue-lengthnumberhttp://omi.de/fhir/registry/SearchParameter/ServiceQueueLengthSP
ServiceStatuscodeSPstatuscodetokenhttp://omi.de/fhir/registry/SearchParameter/ServiceStatuscodeSP
ServiceToAlgorithmLinkSPservicetoalgorithmreferencehttp://omi.de/fhir/registry/SearchParameter/ServiceToAlgorithmLinkSP
ServiceToHeartbeatLinkSPservicetoheartbeatreferencehttp://omi.de/fhir/registry/SearchParameter/ServiceToHeartbeatLinkSP
Versionversionstringhttp://omi.de/fhir/registry/SearchParameter/DeviceVersionSP

To familiarize with the OMI FHIR registry query capabilities we have prepared some example queries. Queries can be executed on Device (=abstract algorithm) and HealthcareService (=instance of an algorithm).

Queries on Device (Algorithms)

This queries algorithms that are represented within the registry. This does not indicate if these instances are available as services. This has to be done using the queries on HealthcareServices. For standard search parameters please refer to the FHIR Specification for Device searchparameters.

Queries on HealthcareServices (Instances of algorithms that offer inference)

In order to provide the needed search possibilities we defined custom SearchParameters: servicetoalgorithm and servicetoheartbeat. Once they are invoked the standard search parameter for the linked resource can be applied. Please refer to the examples below for some guidance.

# Description Query
1 Get all HealthcareServices (instances of an algorithm) that are providing an algorithm created by University Clinics Erlangen (using the id of the organization) [FHIR-BASE-URL]/HealthcareService?servicetoalgorithm.organization=UKER
2 Get all HealthcareServices (instances of an algorithm) that are providing algorithms with "CATS" in their name [FHIR-BASE-URL]/HealthcareService?servicetoalgorithm.device-name=cats
3 Get all HealthcareServices (instances of an algorithm) that are offered by the MOLIT Institute (using the id of the organization) [FHIR-BASE-URL]/HealthcareService?organization=MOLIT
4 Get all HealthcareServices (instances of an algorithm) with device name cats_cds_service in version "0.1.0" and the endpoint connection type dsfv1 [FHIR-BASE-URL]/HealthcareService?endpoint.connection-type=dsfv1&_include=HealthcareService:endpoint&servicetoalgorithm.device-name=cats_cds_service&servicetoalgorithm.version=0.1.0
5 Get all HealthcareServices (instances of an algorithm) with device name cats_cds_service with an inference price of less than 6, statuscode online (see https://simplifier.net/omi-protocol/aiservicestatuscodescs) and an estimated waiting time of less than 10 minutes [FHIR-BASE-URL]/HealthcareService?servicetoalgorithm.device-name=cats&servicetoheartbeat.component-value-concept=http://omi.de/fhir/registry/CodeSystem/AiServiceStatusCodesCS|online&servicetoheartbeat.component-code=http://omi.de/fhir/registry/sid/component-codes|queue-length&servicetoheartbeat.component-code-value-quantity=http://omi.de/fhir/registry/sid/component-codes|inference-price$lt6&servicetoheartbeat.component-code-value-quantity=http://omi.de/fhir/registry/sid/component-codes|estimated-waiting-time$lt10