Streaming dicoms to Healthvault

Jan 31, 2012 at 12:05 PM

Scenario:

To upload dicom studies to Healthvault through a custom healthvault application. So that means we would have to bind a number of dicom files(blobs) with one Medical Image Study type. For that we need to upload blobs as separate files and from what I understand, will need to put in the URLs of the blob in the Medical Image Study object.

Suggestion/Possible solution:

streaming support not there in the Java API. Java API is fairly thin over the XML api.  At this time the only choice, if using java, is to trace the .NET Request/Responses to reverse engineer the protocol.  The XML api is available to you through Java.

Jan 31, 2012 at 12:06 PM

I'm currently trying to do the same. Will update the post with my results in about a day.

Jan 31, 2012 at 12:54 PM

Hi

As suggested, I tried the following:

Created a BeginPutBlob request and got the response as expected with a URL containing a security token.

Now when I try to do a post on the same URL, I'm getting the response as

java.io.FileNotFoundException: https://platform.healthvault-ppe.com/streaming/wildcatblob.ashx?blob-ref-token=ASAAAKmaG24%2b3WFMlVUA37YJwDIAZRW%2fh%2ftxp6A%2fbEfFSVzJtn%2bp0YVq%2f%2bHmkIGkx1yoYne%2fEGDbxUv1%2f2HJJZaQ0grBh4GGqB2iOKlBs0Psgylmz7sID9GQQK9TIkJ794ZGKxQAxqUtIzqEnR0tpSlxTcNaJgXfeGydRej%2fxeR7j6ZzSe2y0EA1x9VuRJc%2f2nt%2ffgRQasRDiDFh8W4SdW634tJyJbLarfuSJoVnSv9SnizViuySPWXcjA%2bPQRbTQWd4A6XCYRu%2fc9kFGvSXKhC5JEmwXbisvH1oOQVSbyRnelWfcuiIpawOA2fQBZ4dwCfEtq6gGdJkE%2fWFLy0uJ%2bbrDRNazsqNPnDiUUVwndzUvTLoD7FU1gkgu7iGnYSY5xuaxIGQ4odmiXydTAQVlh5uQTm27wGaBh7kW%2f2VuTFIxOBYwkofVOmEyDnU6P1k43x%2fv8aq7xb2%2bcsaOfOR%2fGKPEtibjrp1qul4PGb9J9JhlXNd
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(Unknown Source)

Not sure why is this happening?

Coordinator
Jan 31, 2012 at 7:25 PM

Hi,

Can you use the contact link in my profile.  I think we can work together to get this done.  I have a good portion of the work done already but would love some input.

Thanks,

Rob

Feb 1, 2012 at 5:03 AM

Sure. Sounds good. Thanks Rob.

Feb 26, 2012 at 1:38 PM

Hi

I've made some good headway in this. But for the past 2 days or so, I'm getting the following error when trying to upload a dicom. Can someone look into this and help me out 'cause now I'm stuck. Thanks.

App Id: e7eb76c8-1b69-40ab-b782-d7eca983fc52

Here's the exception:

Server returned HTTP response code: 500 for URL: https://platform.healthvault-ppe.com/streaming/wildcatblob.ashx?blob-ref-token=ASAAANkYX4VDFDNHj9yc7xhimFxYCngQ3XLWBbLaV20RegCvM7qALbDZThsDyP5roX5D66oQY2OT%2fYY6BgY9GoK0wMFgFVqiCyqTaCDEoSI%2bo9ztfoxVbL3lueHPm8dAL6df%2bccvd3LwfmMOVziLsHOB1W0Oml8NQmT%2ffSMn3qB%2fkyZl9vg4joTdUUDonpVkc1TYcLAlOhK4Sx3zBD%2fQR0v0P3msPqLMfJ1OgpJhX6wNJvRoG02TAggCl2JPZvr%2brkGuzgv%2bHcY4pHm0boxQSgx%2fQvw9LsCg7bQBJ0FceFGFzVulnyNYd0BDYOym1CidN9RlGf4T5hO5FlddgIrCwKZg9PChFA5LV20KWe5DOme%2fyjLESMwPHOpFfBYPw27DG9%2fJCKo0iaUv0m9nMrhxQsgqtbfafEJ7hb8vm%2bIeRpWLHBQFuWi1dsIu9DB4YBe%2bCYEioSFPHXe3igDEc7YuHd5%2ble9zDl3mYWe5DXFw88r0f1AL
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1436)
    at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:234)
    at com.microsoft.hsg.applications.image.MedicalImageStudyPage.makeHttpPOSTCall(MedicalImageStudyPage.java:590)
    at com.microsoft.hsg.applications.image.MedicalImageStudyPage.createAndUploadMedicalImageStudy(MedicalImageStudyPage.java:260)
    at com.microsoft.hsg.applications.ShellUtils.uploadDicom(ShellUtils.java:198)
    at com.microsoft.hsg.applications.UnsecuredSimpleActions.processRequest(UnsecuredSimpleActions.java:59)
    at com.microsoft.hsg.applications.Controller.service(Controller.java:106)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
    at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
    at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:367)
    at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
    at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
    at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712)
    at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
    at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
    at org.mortbay.jetty.Server.handle(Server.java:295)
    at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:503)
    at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:827)
    at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:511)
    at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:210)
    at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:379)
    at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:226)
    at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442)

Coordinator
Mar 1, 2012 at 12:23 AM

Hi,

On your last write for your blob, you need to include the header: 

x-hv-blob-complete: 1

It looks like you may not be completing your blobs before calling PutThings.

 

--Rob

Aug 29, 2012 at 4:21 PM

Are there any updates on supporting streaming blobs in the Java API?

Coordinator
Sep 6, 2012 at 3:38 PM

I haven't put anything together for streaming in Java, yet.

 

--Rob

Sep 21, 2012 at 6:59 AM
Guys, I have integrated the JAVA API to upload dicoms and its working well. I'm in process of finishing it up and I can post my code once I'm done. Till then if anyone needs assistance, I'll be happy to help. Thanks.

-----Original Message-----

From: robmay
Sent: 6 Sep 2012 15:38:27 GMT
To: [email removed]
Subject: Re: Streaming dicoms to Healthvault [HealthVaultJavaLib:288014]

From: robmay

I haven't put anything together for streaming in Java, yet.

--Rob