Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

I look forward to any questions or comments regarding this. I will also be happy to discuss this more on tomorrow's Client Registry call and hopefully we can come to an agreement so that we can move forward with the implementation.

I am attaching below an email string that summarizes a discussion we had with Ryan and Wayne regarding the interaction between the interoperability layer and OpenEMPI and how the single-best-record functionality will be implemented into the integration.

--------------------------------------------------------

Thanks Odysseas, this is my understanding of our discussion as well.

Ryan

On Fri, Jul 27, 2012 at 3:55 PM, Wayne Chelliah <wayne@jembi.org> wrote:
Hi Odysseas,

Thanks for summarizing our discussion and I believe you have captured this correctly.
Regards

Wayne
On Fri, Jul 27, 2012 at 3:46 PM, Odysseas Pentakalos, Ph.D. <odysseas@sysnetint.com> wrote:

Wayne and Ryan,

Thanks for staying on to discuss the technical approach to implementing the filtering of the records. I believe we came up with a great solution that adheres to Shaun's goal of being pragmatic about the time available to get things done and Liz and Richard's goal of not returning too many records to the client.

I am summarizing below the approach we decided upon but feel free to correct any mistakes I may have made.

There are two search scenarios between the interoperability layer and OpenEMPI:

- In the first scenario the OpenMRS client has obtained an ID from the patient and the interoperability layer will submit a query by identifier to OpenEMPI to retrieve the record (if one exists) with that ID and return it to the user. In this case there is only one record involved, so there is no filtering needed.

- In the second scenario, the OpenMRS client has obtained a number of demographic attributes from the patient. We can rely on family name, gender, and date of birth to always be there but additional fields may be available. The interoperability layer will submit a query to locate records based on the search criteria specified. OpenEMPI will return to the interoperability layer the records that match the query criteria. The interoperability layer will extract the key identifiers for each of the records in this set and submit them to OpenEMPI using a second call.  In response to this request, OpenEMPI will filter out the single best record associated with each cluster of records from the pool of records identified by the list of identifiers submitted in the request. The single best record functionality will be implemented in a flexible approach so that the rules used in selecting the best record can be modified in the future without impacting the rest of the system.

Please let me know if I captured our discussion accurately.

Thanks,
Odysseas