Query Adaptor New Registry actor feature to enable efficient queries.

21
Query Adaptor New Registry actor feature to enable efficient queries

Transcript of Query Adaptor New Registry actor feature to enable efficient queries.

Page 1: Query Adaptor New Registry actor feature to enable efficient queries.

Query Adaptor

New Registry actor feature to enable efficient queries

Page 2: Query Adaptor New Registry actor feature to enable efficient queries.

Registry and its Interfaces

Registry

LifeCycle

ManagerInterface

QueryManagerInterface

The is the configuration of the ebXML Registry standard. All interaction with the Registry is through one of the two interfaces.

Page 3: Query Adaptor New Registry actor feature to enable efficient queries.

Registry Adaptor Function

Registry

LifeCycle

ManagerInterface

QueryManagerInterface

XDS adds the Registry Adaptor Function to simplify the implementation of the Document Source actor and to allow integration with the Patient Identify Feed for validation of Patient IDs.

RegistryAdaptorFunction

Page 4: Query Adaptor New Registry actor feature to enable efficient queries.

What about queries?

Registry

LifeCycle

ManagerInterface

QueryManagerInterface

The biggest complaint from vendors at Connectathon was the number of queries were required to get useful work done. A review of newer work in ebXML Registry found parameterized stored queries on the the Registry. These are still restricted to returning a single registry object type. We need something significantly more powerful, on the order of sophistication found in the registry submissions to the LCM.

RegistryAdaptorFunction

???

Page 5: Query Adaptor New Registry actor feature to enable efficient queries.

Query Adaptor Function

Registry

LifeCycle

ManagerInterface

QueryManagerInterface

We propose a new element in the architecture, the Query Adaptor Function. It would be capable of executing many local queries to construct a query response that is meaningful to XDS. The query response could be as complicated as the metadata found in Register transactions.

RegistryAdaptorFunction

QueryAdaptorFunction

Page 6: Query Adaptor New Registry actor feature to enable efficient queries.

Issues (Technology)

Query response could be quite complicated, requiring significant evaluation of the XML. This is the trade-off for not having to send multiple simple queries.

Require addition to the ebRS Schema controlling query requests. A new XML element would be introduced for specifying Query Adaptor queries. Standard queries could still be used.

Require addition to the ebRS Scheme controlling query responses. A new XML element would be introduced as a wrapper for these expanded queries.

Page 7: Query Adaptor New Registry actor feature to enable efficient queries.

Issues (Standard)

This introduces new technology beyond the standard.

The issue of inefficient queries is acknowledged by the OASIS committee.

Will present our solution and propose it to OASIS as a new optional query interface to the ebXML Registry standard.

Other option is for IHE to accept that we need to go beyond the standard in this area.

Page 8: Query Adaptor New Registry actor feature to enable efficient queries.

Query Functions

Need a name for this functionality: Query Functions

Purpose of Query Adaptor is to support Query Functions:

Input is XML coded function call

Output is arbitrary collection of metadata

Page 9: Query Adaptor New Registry actor feature to enable efficient queries.

Query Request

<Query name=“Query_Name”>

<Parm name=“Query_Parm_1” value=“value 1”/>

<Parm name=“Query_Parm_2” value=“value 2”/>

</Query>

Page 10: Query Adaptor New Registry actor feature to enable efficient queries.

Query Response

Create new XML element as wrapper for results of query functions.

Returned content takes form of submission, arbitrary mixture of registry objects.

<RegistryResponse>

<QueryFunctionResponse> <!-- NEW ELEMENT -->

… arbitrary collection of ebRIM elements…

</QueryFunctionResponse>

</RegistryResponse>

Page 11: Query Adaptor New Registry actor feature to enable efficient queries.

Query Registration

XDS profile would define and document Query Functions to be implemented in the Query Adaptor

Each Query Function would be named and have named parameters. Parameters can be labeled as optional.

Page 12: Query Adaptor New Registry actor feature to enable efficient queries.

Next Steps

Go forward with this proposal?

Present to OASIS REGREP - negotiate generic form of proposal that is acceptable to registry community

Write CP for XDS

Ready for this season? What are deadlines for review?

Page 13: Query Adaptor New Registry actor feature to enable efficient queries.

Proposed New Queries

GetAllByPatient(patientId, deprecatedFlag)Example: Obvious - get the entire object graph of all

XDSSubmissionSet, XDSDocumentEntry, and XDSFolder instances associated with the specified patient and the associations between these instances.

Page 14: Query Adaptor New Registry actor feature to enable efficient queries.

Proposed New Queries

GetDocumentsByPatient(patientId, classCode|*, fromDateTime|*, toDateTime|*, practiceSettingCode|*, healthcareFacilityTypeCode|*, DeprecatedFlag)

a. Example: show me all the [lab reports] documents for my patient over the past 3 years. b. Returns a sequence of XDSDocumentEntry metadata for approved. If Document has/is an addendum, it includes relationships.c. Dates need to be defined: dates of submission (either by value or reference) seem most useful. Ordered in reverse chronological order.

Page 15: Query Adaptor New Registry actor feature to enable efficient queries.

Proposed New Queries

GetDocumentsbyID(XDSDocument.UUID|*, XDSDocument.uniqueId|*)

a. Example: show the metadata (including the URI) of a specific document for which I only have the UniqueID (e.g. reference within a document) or the UUID of the registry entry.

Returns a sequence of XDSDocumentEntry metadata for the document.

Page 16: Query Adaptor New Registry actor feature to enable efficient queries.

Proposed New Queries

GetDocumentsByKeywords(patientId, eventCodeList|*, fromDateTime|*, toDateTime|*, deprecatedFlag)

a. Example: show me all the documents with certain “key word” for my patient over the past 3 years. b. Returns a sequence of XDSDocumentEntry metadata for approved and non-deprecated documents matching the parameters. If Document has/is an addendum, it includes relationships.c. Dates need to be defined: dates of document creation seem most useful.

Page 17: Query Adaptor New Registry actor feature to enable efficient queries.

Proposed New Queries

GetSubmissions(authorPersonId|*, sourceId|*, patientId , fromDateTime|*, toDateTime|*)

a. Example: what have I submitted in the past 6 months (auther personId) ? What have been submitted from this EHR-CR in the past year (SourceId) ? Show me what’s been submitted on my patient in the past year (Patient Id).b. This query returns a sequence of XDSSubmissionSet metadata only. Use GetSubmissionAll () to drill down.

Page 18: Query Adaptor New Registry actor feature to enable efficient queries.

Proposed New Queries

GetSubmissionAll(XDSSubmissionSet.uniqueId)

a. Example: what did Dr Winston submit on my patient via a specific submission request March 7th? b. This query returns an object graph of the specified submission set and all of its documents, folders and their associations to each other.

Page 19: Query Adaptor New Registry actor feature to enable efficient queries.

Proposed New Queries

GetFoldersByPatient(patientId, withinDaysSinceLastUpdate|*)

a. Example: what disease-oriented folders are there for my patient? b. This query returns a list of XDSFolder metadata for each folder associated with a specified patient that has been updated within the specified number of days.

Page 20: Query Adaptor New Registry actor feature to enable efficient queries.

Proposed New Queries

GetFolder(XDSFolder.uniqueId)a. show me all the documents in my patient’s cardiac treatment folder.

This query returns an XDSFolder, the XDSSubmissionSet it is associated with and a list of XDSDocumentEntry metadata currently associated with the folder.

Page 21: Query Adaptor New Registry actor feature to enable efficient queries.

Proposed New Queries

GetFoldersByDocument(XDSDocument.UUID|*, XDSDocument.uniqueId|*)

a. Example: In what folders is this document ? b. This query returns a list of XDSFolder metadata for each folder associated with a specified document.