Thursday, November 15, 2012 5:18 PM
I have an offline HV app that uploads files to Healthvault. We have two questions:
1) is there a limit on the size of an individual file upload to HV? This is not a web app, so ASP.NET upload limits do not apply. Does HV itself impose a limit on the size of the files it will accept
2) Is there a cumulative limit on the size of files uploaded to HV?
Thursday, November 15, 2012 8:52 PM
HealthVault imposes a 10 MB limit on individual document, CCD, and CCR files that can be uploaded. Please note that the file must be one of the accepted document types. Can you tell us the max size of the file that you are uploading? And how much data are you planning to upload in total?
You may also want to take a look at the HealthVault and Medical Imaging white paper (here) when dealing with large amount of data.
Friday, November 16, 2012 1:51 PM
we are trying to implement a project to give our users an option to digitize their medical records and store them in HV. So there is now way of knowing in advance how large an individual file might become or how much data in total a user might decide to upload.
We will need to design around whatever HV limits are in place, which is the point of the question.
In general, the digitized medical records will be converted to PDF's, which I assume is one of the "accepted document types". What will happen if I try to upload a PDF larger than 10 meg?
And if there is a limit on the total amount of data that can be uploaded, what happens if i try to upload a file (that is within the individual size limit) and in the process of uploading, I go past the HV total data limit?
Friday, November 16, 2012 7:24 PM
Yes, PDF is a valid type that is accepted by HealthVault. See the complete list here.
If you use blobs and streaming data, you can upload large files (only limited by the storage limit of the record which is larger than 10 MB restrictions imposed in the UI). Please read more about it here. The individual record limit is as large as 7GB, but I will get back to you on this.
Friday, November 16, 2012 7:33 PM
thanks for pointing me in the direction of blobs and streaming data. I will investigate that approach. However, right now we are implementing this via code that looks like this:
HealthVaultItemTypes.File hvFile = HealthVaultItemTypes.File.CreateFromFilePath(newname, new hvIt.CodableValue("application/pdf"));
HealthRecordAccessor acc = newHealthRecordAccessor(offlineConn, recordId); acc.NewItem(hvFile);
what are the limits for this approach?
Friday, November 16, 2012 7:59 PM
Friday, November 16, 2012 8:27 PM
your initial post said "HealthVault imposes a 10 MB limit on individual document, CCD, and CCR files that can be uploaded". Now you are saying that there is no limit.
which is it?
Also, isn't there a cap on the total amount of data that can be stored in a HV account?
Friday, November 16, 2012 8:42 PMThe 10 MB limit is if you upload the file through HealthVault UI. As I said earlier, the individual record limit is as large as 7GB, but I will have to get back to you on this.
Monday, November 19, 2012 7:14 PM
are you saying that there is a 10MB limit when you upload via the HealthVault UI, but no limit when you upload programmatically via the HV API? We are not using the HealthVault UI, we are doing this programmatically. I included a sample of the code we are using to effect the upload in a previous response.
Also, you never answered the question as to whether there is a cap on the total amount of data uploaded or stored into a HV account.
Monday, November 19, 2012 7:27 PM
There is a 10 MB limit when you use HealthVault UI. If you use blobs and streaming data, files larger than 10 MB can be uploaded. The API you mentioned above (CreateFromFilePath) still imposes the 10 MB limit.
The data limit per record currently is 7 GB.
Tuesday, November 20, 2012 5:07 AM
I have to clarify myself a bit more here.
If you look at the HealthVault data model, you will notice that Things in HealthVault include the Data-XML section and the Blobs section. Data-XML specifies structured XML and is bound by the limit that is specified as 10 MB above. For instance, with the File type the structured data includes a file name, size and content type.(See the File data type). The Blobs section allows associating unstructured blobs to Things. There are two options for sending the blob data to HealthVault 1) blob data that is inline in the Data-XML section 2) using the HealthVault streaming interface. Blob data that is specified inline is subject to the 10MB limit. Blob data that is streamed is only limited in size by the record quota of the record to which the data is being written.
Note, the File.CreateFromFilePath method uses inline blobs and so has the 10MB limit. In order to use streamed blobs see the HealthRecordItem.GetBlobStore method.
Also note, record quotas can vary between records since users can request to extend their record quota. So you should programmatically find the quota of the record you are working with by looking at the QuotaInBytes property (currently these vary between 3 and 7 GB).
Hope this helps.
- Edited by Santhosh Pillai Tuesday, November 20, 2012 6:50 AM Adding a missing link
Monday, November 26, 2012 5:30 PM
thanks for the clarification. is there any place the HV API size limits are documented?
In addition to the 10Meg limit on uploads, i thought there was also a limit of the total amount of data that it was possible to store in an HV account. I think that used to be 100Meg. Do you know if that limit still applies? Also, do you know if these limits apply at the account level or at the individual patient level? So, if an account consists of 5 family members and one member chews up 80Meg of storage (i.e., 10 large CCRs), are the rest of the family members limited to 20Meg?
Monday, November 26, 2012 7:46 PMHi Ira,
You can view various limits by calling GetServiceDefinition method (see maxUncompressedSizeBytes described here). The total number of data allowed is per record and can vary by each record. You can find the quota of the record by looking at the QuotaInBytes property. Users can extend their record quota by contacting HealthVault support.
Hope this helps,