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
Example queries for inference search
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 |