Support for custom XDS stored queries
Current data model for org.openehealth.ipf.commons.ihe.xds.core.requests.query.Query does not allow to create custom queries as subclasses of this class. That is because type field is an enum, and new query UUIDs cannot be defined. My suggestion is to use an interface instead of an enum. And possibly some kind of registration mechanism, so that custom subclasses could also be handled when converting from/to RIM model.
We are currently implementing queries defined in Document Metadata Subscribe (ITI-52). It defines 2 new queries with UUIDs urn:uuid:aa2332d0-f8fe-11e0-be50-0800200c9a66 and urn:uuid:fbede94e-dbdc-4f6b-bc1f-d730e677cece, to be used as subscription filters. With the current implementation, we are stuck with RIM model (AdhocQueryType), unable to subclass Query class and convert to QueryRegistry.
But it would also make sense to support these two queries directly, right?
Yes, it would be great to have them supported directly, and sooner or later it has to happen if there are plans to ever support ITI-52 transaction. And it would probably be easier than adding support for custom queries - but I still think it would be a useful feature, the standard for ITI-18 allows custom queries.
Nice!
Would this include the DSUB queries from https://www.ihe.net/uploadedFiles/Documents/ITI/IHE_ITI_Suppl_DSUB_Extensions.pdf ?
DOCUMENT_ENTRY("urn:uuid:aa2332d0-f8fe-11e0-be50-0800200c9a66"),
PATIENT_INDEPENDENT_DOC_ENTRY("urn:uuid:742790e0-aba6-43d6-9f1f-e43ed9790b79"),
SUBMISSION_SET("urn:uuid:fbede94e-dbdc-4f6b-bc1f-d730e677cece"),
PATIENT_INDEPENDENT_SUBMISSION_SET("urn:uuid:868cad3d-ec09-4565-b66c-1be10d034399"),
FOLDER("urn:uuid:9376254e-da05-41f5-9af3-ac56d63d8ebd");