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:

  • Modality (see ValueSet)
  • Resolution (including resolution for x/y/z, see extension definition):
    • Minimum resolution required to request inference for this algorithm
    • Maximum resolution required to request inference for this algorithm
  • BodySite (see ValueSet)
  • Laterality (see ValueSet)
  • ServiceType (see CodeSystem)
  • ImageReconstructionPane (see ValueSet)

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

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.

# Description Query
1 Get all algorithms in the OMI Registry [FHIR-BASE-URL]/Device
2 Get all algorithms that require a CT modality in the OMI Registry [FHIR-BASE-URL]/Device?property-type-code=http://snomed.info/sct|360037004$http://dicom.nema.org/resources/ontology/DCM|CT
3 Get all algorithms that require a CT modality and a slice thickness of greater than 1.2mm [FHIR-BASE-URL]/Device?property-type-code=http://snomed.info/sct|360037004$http://dicom.nema.org/resources/ontology/DCM|CT&min-res-z=gt1.2
4 Get all algorithms for modality magnetic resonance (MR) with a slice thickness of more than 1.2 mm [FHIR-BASE-URL]/Device?property-type-code=http://snomed.info/sct|360037004$http://dicom.nema.org/resources/ontology/DCM|MR&min-res-z=gt1.2
5 Get all algorithms that can process brain scans with modality magnetic resonance (MR) and a slice thickness of more than 1.2mm [FHIR-BASE-URL]/Device?property-type-code=http://snomed.info/sct%7C123037004$http://snomed.info/sct%7C12738006&min-res-z=gt1.2&property-type-code=http://snomed.info/sct%7C360037004$http://dicom.nema.org/resources/ontology/DCM%7CMR
6 Get all algorithms for body site Adrenal structure which has modality CT, slice thickness of 5mm and right laterality [FHIR-BASE-URL]/Device?property-type-code=http://snomed.info/sct|360037004$http://dicom.nema.org/resources/ontology/DCM|CT&property-type-code=http://snomed.info/sct|272741003$http://snomed.info/sct|24028007&min-res-z=gt1.2
7 Get all algorithms that do segmentation on CT modalities [FHIR-BASE-URL]/Device?property-type-code=http://snomed.info/sct|360037004$http://dicom.nema.org/resources/ontology/DCM|CT&property-type-code=http://snomed.info/sct|410656007$http://omi.de/fhir/registry/CodeSystem/ai-service-type-codesystem|segmentation
8 Get all algorithms from University Clinic Erlangen (using the id of the organization) [FHIR-BASE-URL]/Device?organization=UKER

Queries on HealthcareService (Instances of Algorithms)

This queries the available services of the OMI registry. Each service should provide a heartbeat to know if it is currently in service. Services can be filtered accordingly. For standard search parameters please refer to the FHIR Specification for HealthcareService searchparameters.

# 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

Interactions supported by the OMI registry

REST Capabilities Server

ModeServer

Resource Interactions

Resource TypeSupported Profiles
Device
  • OmiDevice
  • HealthcareService
  • OmiHealthcareService
  • Endpoint
  • OmiAiEndpoint
  • Organization
  • OmiOrganization
  • StructureDefinition
  • OmiServiceOutputParameters
  • Search Parameters per resource type

    Device

    NameTypeLevel
    device-namestringSupported
    identifiertokenSupported
    organizationreferenceSupported
    statustokenSupported
    property-typetokenSupported
    property-value-codetokenSupported
    property-type-codecompositeSupported
    min-res-xquantitySupported
    min-res-yquantitySupported
    min-res-zquantitySupported
    max-res-xquantitySupported
    max-res-yquantitySupported
    max-res-zquantitySupported

    HealthcareService

    NameTypeLevel
    organizationreferenceSupported
    activetokenSupported
    identifiertokenSupported
    namestringSupported
    servicetoalgorithmreferenceSupported
    statuscodetokenSupported
    queue-lengthnumberSupported
    estimated-waiting-timenumberSupported
    inference-pricequantitySupported

    Endpoint

    NameTypeLevel
    connection-typetokenSupported
    identifiertokenSupported
    namestringSupported
    organizationreferenceSupported
    statustokenSupported

    Organization

    NameTypeLevel
    activetokenSupported
    addressstringSupported
    identifiertokenSupported
    namestringSupported

    StructureDefinition

    NameTypeLevel
    statustokenSupported
    urluriSupported