FHIR Chat · docs / Issue #5 Clearly define prefetching expectations · cds hooks/github

Stream: cds hooks/github

Topic: docs / Issue #5 Clearly define prefetching expectations


view this post on Zulip Github Notifications (Jun 05 2017 at 21:15):

kpshek commented on Issue #5

Spinning this off from #37, the root issue was that the EHR was sending prefetched data to the CDS Service as:

"prefetch": {
        "medicationOrders": {
            "resource": "<html><head><title>Apache Tomcat/7.0.53 - Error report</title><style><!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}HR {color : #525D76;}--></style> </head><body><h1>HTTP Status 404 - </h1><HR size=\"1\" noshade=\"noshade\"><p><b>type</b> Status report</p><p><b>message</b> <u></u></p><p><b>description</b> <u>The requested resource is not available.</u></p><HR size=\"1\" noshade=\"noshade\"><h3>Apache Tomcat/7.0.53</h3></body></html>",
            "response": {
                "status": "404Not Found"
            }
        },
        "patient": {
            "resource": "<html><head><title>Apache Tomcat/7.0.53 - Error report</title><style><!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}HR {color : #525D76;}--></style> </head><body><h1>HTTP Status 404 - &quot;/WEB-INF/grails-app/views/api/read.gsp&quot; not found.</h1><HR size=\"1\" noshade=\"noshade\"><p><b>type</b> Status report</p><p><b>message</b> <u>&quot;/WEB-INF/grails-app/views/api/read.gsp&quot; not found.</u></p><p><b>description</b> <u>The requested resource is not available.</u></p><HR size=\"1\" noshade=\"noshade\"><h3>Apache Tomcat/7.0.53</h3></body></html>",
            "response": {
                "status": "404 Not Found"
            }
        }
    },

We need to clearly define expectations for the EHR and CDS Service in these error scenarios. If the error information is not important to communicate to the CDS Service, we can simply ensure the EHR either:

1. Doesn't include the particular prefetch data key
2. Does something like "medicationOrders": null

If the error information is important to CDS Services, we could return the OperationOutcome from the FHIR server. However, what if the error occurs outside of the FHIR server or the FHIR server had some unhandled error in which case an OperationOutcome isn't available? Now the EHR would need to construct the OperationOutcome itself.

Additionally, one of the main intentions/notions of prefetch is that the EHR can send data which is already in memory to the CDS Service, removing the need for a FHIR service call. In other words, the EHR may never interact with its FHIR server to satisfy desired prefetched data.

Perhaps a more important question is what is a CDS Service going to do with this error information? It really cannot act on it and if the prefetched data is necessary for the CDS logic, the CDS Service needs to attempt to retrieve the prefetched data themselves (as they would need to do if the EHR was not able to satisfy the prefetched data).

In talking offline with @brynrhodes, we both agree that the prefetch error information isn't necessary to communicate with CDS Services and that EHR's should go with option 1 above where the prefetch data key is not present in the prefetch object.

view this post on Zulip Github Notifications (Jul 10 2017 at 20:52):

isaacvetter assigned Issue #5

view this post on Zulip Github Notifications (Aug 09 2017 at 18:31):

kpshek closed Issue #5


Last updated: Apr 12 2022 at 19:14 UTC