In the last article, I’m showing how to sync PDQm with a FHIR subscription. This is just one step in the overall interaction performed on the Cross Document Exchange (XCA). However, this is usually the biggest delay.
Baseline with a synchronized API
Below is a simplified view of a client requested by parallel applications for Patient Discovery (PD), Document Query (QD), and Recovery Document (RD). Further details can be found in previous articles. This high level visualization works with MHD as XCA API, eg. The use of the old XCA / XDS school.
Imagine having 200 stock market partners. The “Discovery of the patient” should be sent to each of them. This fan does not appear, the service is running right. The service should wait for an answer from each of them. Only when all partners respond or wait times have passed can the results be returned to buyers. As I mentioned earlier, about 200 partners may need a few minutes to return the result. Therefore, “patient detection” may take several minutes before the second step of the document request is completed.
The query documents are more specific because only partners are asked to have a positive patient identification agreement. In the example of 200 partners only 10 know the patient’s care. Therefore, query documents can only be limited to 10. Maybe these 10 are slow.
The ten user query documents can be made in parallel, as long as it allows consumer stack technology. I see it here after the other. Therefore, general query documents consist of a mix of all partners, including the slowest partner, containing data about the patient of interest.
This graphic shows that the recovery document works for every document found. This is unusual for some intermediate programs that may interfere with these documents, such as: For example, the environment of mXDE I see. I think I really need to blog the mXDE environment.
There are also ways to see the same document in multiple places, removing multiple recovery documents. See this article
Better response to asynchronous API.
There is an asynchronous support for XCPD / XCA, it is not often used. For example, eHealth Exchange and CareQuality have no asynchronous use if all individuals will be asked to support it. I understand that the XCPD / XCA-based EpCP Care Everywhere network uses asynchronous SOAP. The use of SOynchronous SOAP has got the same optimization described here.
This optimization can also be done by subscribing to FHIR and coordinating with each notification. The graph shows a complete patient discovery, getting documents and getting documents. Recent views indicate that the same result can be obtained for each returned result.
Quite difficult to draw is that all events are not synchronized, so everything is connected to each other at the same time.
The result is that the first complete retrieval document can be obtained at fractions of one second, while the final document may take a long time. The last method requires only three steps (PD + QD + RD) for this entry only. This asynchronous approach separates the response of each partner.
The async is amazing … but it still needs to be managed, and the distractions are confusing. If you have unlimited resources, such as For example, if you have an unlimited number of subprocesses, you can only allow the switch system. Often, however, it has a limited number of threads, memory or cache, so some events can be queued until resources are available.
Documentation automation is not a very important task, but it appears that it can only be performed on the Hammers startup message. This step is not performed for human presentation, but for an intermediary that analyzes documents, eg. Example description of mXDE.