Technical FAQs for "PrizmDoc Cloud"

The use of electronic health records (EHR) systems has been steadily rising in the healthcare industry. A government study released in December 2016, in fact, showed that 87 percent of office-based physicians had implemented some form of an EHR system. This is a dramatic shift from 2004, when only 21 percent had done so, with most providers still relying largely upon paper records.

EHR systems, which focus broadly on a patient’s entire medical history, are meant to be seen and managed by all care providers for a given patient. This approach is a departure from the earlier trend of using electronic medical records (EMR), which typically are more detail-oriented about the patient’s history and meant to be maintained by one specific practice. The expanding use of EHR methodology, not surprisingly, has also occurred during a general industry shift in priority from services-based care to quality-based care, since the patient’s entire treatment experience is now more easily compiled and analyzed.



Why security is critical for EHR systems

So if you’ve helped implement an EHR-based system for medical professionals, those numbers are probably very encouraging. But it’s important to remember that with this freer movement of information come risk and responsibility. The Health Insurance Portability and Accountability Act (HIPAA) and subsequent legislation, for instance, set stringent federal standards for the safeguarding of patient information.

Thus, if there’s one word you need to keep in mind when planning EHR improvements it’s this: security. But what should you do to guarantee a secure, authoritative patient data system, and how should you go about it?



A complex problem with a powerful solution

Accusoft’s PrizmDoc document and image viewer API is a versatile toolkit for adding powerful features to EHR systems while meeting strict security requirements. It supports any programming language or platform along with displaying dozens of file types, and is continually being updated to meet the demands of a diverse customer base.

Here are three ways PrizmDoc is being used inside EHR and EMR systems to make management of patient documents easier and more efficient:


1. Securely view documents from any device

Medical professionals frequently ask for the ability to quickly access documents with the peace of mind of knowing that the patient data being displayed is fully secure. This commonly includes the secure viewing of PDFs, which often contain forms that need reviewing.

PrizmDoc meets this need by restricting access to only those users authorized to view the documents (patients and providers, typically), as well as limiting the printing and downloading of sensitive information. This is a key provision of complying with HIPAA and various other legal requirements.

Because it’s web-based, PrizmDoc also makes documents freely accessible online to everyone authorized to view them through the use of a secure URL, eliminating the need for emailing document versions. It’s also an HTML5 viewer, so it works on any device – desktop, tablet or smartphone.



2. Full collaboration: Annotation and redaction

Another tool that makes medical professionals’ jobs easier is access to an online portal where they can securely work together on patient records. One common task in this collaborative process, for instance, is the redaction of specific PII (personally identifiable information) for a given patient, still another important provision in legal requirements.

PrizmDoc offers several collaboration features, including annotation (marking up documents and/or adding comments) in addition to redaction. These tools allow individuals to make comments or redactions on a document without updating the original.

The use of eSignatures is another key collaborative element of PrizmDoc. Physicians and patients alike can digitally sign forms, providing acknowledgments or authorizations within relevant documents. This saves time that would otherwise be wasted in sending (and waiting for) these forms for everyone involved.



3. Management of all patient forms

Medical practitioners also often cite the complexity of handling myriad patient forms as a problem in maintaining their records system. There are forms for new patient registration, assignment of insurance, relay of information permissions and financial responsibility forms, to name a few. With no centralized method of creating and managing these documents, practices can spend huge amounts of time handling them and also risk omitting key patient information.

PrizmDoc simplifies this process by allowing for the creation and editing of forms directly in the web browser. Fields can be added, deleted or changed as needed over time, seamlessly enabling the forms to keep up with changing regulations and industry trends such as new treatments and diagnostic innovations.

Best of all, the forms can also be filled out by patients online, rather than printed for the mistake-prone process of filling them out by hand. This guarantees the secure transmission of sensitive information from patient to practice, with enormous time savings for everyone involved.



A complete digital records resource

The trend toward EHR is here to stay, and PrizmDoc is an indispensable tool for keeping up with the fast-changing medical industry. It creates a central repository for all patient forms, provides secure viewing of them and facilitates group work and discussion. It also features a highly intuitive user interface that patients and providers alike appreciate, and its search functionality is a huge help when high volumes of records are involved.



Let us help

We’re always here to answer your questions about PrizmDoc and other products from our complete suite of document and imaging tools. Contact us here to learn more about how Accusoft can enhance any medical document management system, including the comprehensive upgrading your EHR system.

Project Goal:
Create a command line program in C# that can upload a HTML file to the PrizmDoc cloud server, issue a conversion command, and download the converted PDF file upon completion.

Project Goal:

Need to programmatically convert HTML into PDF files? Going from one format to the next can be troublesome, and maintaining the correct layout and styles in the final document is often a complex challenge.

PrizmDoc API handles file type conversions smoothly and with no hassle. No installation, no servers to set up. Just use the API to upload a file and have it converted for you. For this demonstration, we’ll be creating a C# program that just requires the Newtonsoft.JSON package (which can be acquired via NuGet).


PreRequisites

Before we get started, there’s a few steps to take. First, register for your own Accusoft PrizmDoc Cloud services account. Your account will come with a free trial.

Once your account is set up, copy the API key. This will be used to authenticate your requests to the PrizmDoc server:

API key

This demo will require the use of Newtonsoft.json package. If we’re using Visual Studio, just add this package to your project via the NuGet Package Manager:

JSON-Package


The HTML To PDF Conversion Process

Converting a file using PrizmDoc servers is a 4 step process:

    1. Upload: Upload the file to the server. We’re not making this a permanent part of the file portal – just putting it in temporarily while PrizmDoc does the work. When the file is uploaded, PrizmDoc returns a JSON response with internal file ID and an affinity token – we need both for the next step, which is conversion. See the PrizmDoc documentation on the Work Files API for more details ( http://help.accusoft.com/SAAS/pcc-for-acs/work-files.html#get-data ) .

 

    1. Convert: Issue the conversion command on the uploaded file. Using the file ID returned from the Upload stage, our software orders PrizmDoc to convert that file to one of the supported file formats listed on the PrizmDoc documentation page. In this demo, we’ll just be converting an HTML file to PDF – but this program can be modified for a number of other file formats. Once a conversion process has started, the Conversion API provides a ProcessID that can be used to check the status of the conversion process.
      The Content Conversion API documentation provides more details on how the process works ( http://help.accusoft.com/SAAS/pcc-for-acs/webframe.html#content-conversion-service.html ) .

 

    1. Status: Until the conversion process is complete, we don’t want to try to download a file that doesn’t exist. The Content Conversion API as listed above also provides the current status of the file conversion with a ProcessID. Once the file conversion is complete, the Content Conversion API provides a new FileID of the converted file.

 

  1. Download: Using the same Work File API with our new File ID and affinity token, we can now download the file.

And with that, let’s get coding!


HTML to PDF C# Code Sample

Here’s the C# code you’ll need to convert HTML to PDF using PrizmDoc. You can jump right into the code and run with it, or keep scrolling for a detailed walk through of the code and how it works.

Download Zip File

 

HTML to PDF C# Code Analysis

 

Step 0: Setting Up Our Class

In the sample project, there are a few housekeeping items to work through. The first is setting up the use of our API key. If you’ve downloaded our sample project, then edit the file config.json and insert your PrizmDoc API key like this:

In our sample project, the actual work is being driven by our PrizmDocConvert class. The first thing we do when generating the class is set the API key:

In our sample program, the API Key is read from our config.json file:


 

Step 1: Upload

The first part of our process is to Upload our file to the PrizmDoc server. Our member function really just needs one thing – the name of the file to upload, and it will return a JSON.Net JObject with the results:

The Work File API uses the POST command to upload the file, and requires the following headers:

The method uses the WebClient object to perform our uploading. So we set up the Work File API URI, and set our headers:

Then, read our file into a Byte object, and upload it to the PrizmDoc server using a POST command. The Work API will return a JSON response, which we can then parse for the next steps. In this case, we’ll upload an HTML file:


 

Step 2: Convert

Our uploaded file is sitting on the PrizmDoc server, all happy and content. But we want more than that – we want to convert it! In the last phase, the Work API returned a JSON file to us. Let’s peek inside:

If you’re familiar with JSON, then this should be simple enough. In our test application, we can snag the two fields we care about (the fileId and the affinityToken) with our JSON.Net objects. Our sample code uses another function to call our Upload method, but the final result is a JSON object with the Work File API results:

Now it’s time for the Content Conversion API to come into play. This API call requires a JSON file be posted with the details of what file is to be converted.

In this case, we’ll use our new method Convert to utilize that API with three parameters: the affinityToken, the fileID, and the format to convert to (which defaults to pdf):

We already covered how to add the headers to the WebClient object, so we won’t belabor the point. These are the required headers:

  • Content-Type: The type of file, in this case “application/json”
  • Accusoft-Affinity-Token: The Affinity Token we received from the Work File Upload
  • Acs-api-key: The API key

And our new URI will be “https://api.accusoft.com/v2/contentConverters”.

Our Convert request is in the form of a JSON file. We could submit requests for multiple files to be converted, but this demo will just focus on the one. Here’s the format of the JSON request:

Our method generates the JSON file this way.

There’s a lot of whitespace here, but it helps make clear what nodes of the JSON file belong to which parts.

All that’s left is to POST the JSON string:

The conversion process is started! But until it’s complete, we can’t download our completed file. So we need to request the Status until the conversion is complete.

For that, we need to know what the ProcessID is. The Content Conversion API returns a JSON file, of which the most important thing we need is the processID:


 

Step 3: Status

The Content Conversion API allows us to track the status of a conversion using the ProcessId returned from our Convert request. The URL is the same, with one major difference:

This is very important – this is a GET command, but don’t try to use the WebClient QueryString.Add member to add the processId. Your URI will not look like this:

It must look like this:

For example, a processID of ahidasf7894 would give use a URI of:

With that, let’s look at our ConvertStatus method, which will query the PrizmDoc server via the Content Conversion API. This API will return another JSON file for us to parse:

Our headers in this case are similar to before:

  • Accusoft-Affinity-Token
  • acs-api-key

That’s it – since this is just a GET, and the Content Conversion API is getting the processId from the URI we request from, we just need to submit the request and return the JSON file:

Here’s a sample JSON file that will be returned:

What we’re looking for is for the “state” field to return “complete”. The sample code uses a 30 second wait timer after each Convert Status request. Once it sees the conversion is complete, it snags the new fileId that will be used to download the file:

And here’s the JSON file that returns the result we need:

Perfect. All that’s left is to extract the fileId:

Note that a Conversion Request can generate multiple files. For example, converting a multipage document into a series of image files. For more details, see the Content Conversion API documentation.

All that’s left now is to download our converted file with the Work File API.


 

Step 4: Download

We’re back where we started – the Work File API. This time, instead of uploading a file, we’re going to download the processed file. The URI is the same as before, with one change – the fileId of the file we’re downloading:

For our Download Work File method, we set up the method this way. The only new parameter is the outfile – this will be the name of the file we save the converted file to:

We use the same headers as in our Convert Status request:

  • Accusoft-Affinity-Token
  • acs-api-key

 

Since this is a Get command, we just submit the request and pipe the results out to our file:

And with that, our program is complete! Here’s the results. In this case, the method calls are set to be verbose to track progression, but feel free to edit the program to your liking:

Sample Code

The converted document will retain images, lists, links, and other formatting and elements:

Tampa PDF

This program sample is just converting a simple HTML file – but if we were converting something like a Microsoft Word document, the results would be the same – a perfectly created PDF file. In fact, PrizmDoc uses Microsoft Word to process the Word Document conversion to have the highest possible fidelity.

Document management security is essential for keeping company information private and secure. However, not all businesses maintain an ongoing document management process with their employees.

According to LBMC Technology Solutions, “Efficient document management involves having a well-written, strong, and clear policy as well as a computer system (or in some cases several systems) that can index information for easy retrieval and allow for varying levels of security in accessing the documents.”

Recent research from ComputerWorld shows that the average organization shares documents with 826 external domains, which include corporate business partners and personal email addresses. It’s obvious that with so much information shared internally and externally, document security is a huge risk for businesses of any size.

Accusoft’s recent survey of 100 IT managers and 250 full-time employees from the U.S. showed interesting results, represented in the infographic below.

Given these statistics, it’s important to evaluate your own document management security policies to ensure privacy for your data and your company.


Get the Full Report — FREE

For more information on document awareness gaps, please download our full data study, Closing the Document Management Awareness Gap, which includes many more insights on document security.

As software developers and firms look for ways to save time and money to create new applications, third-party software tools and SDKs are becoming more prevalent. Are they right for your business?

Money
One of the benefits of using third-party code in your software is the monetary savings. The cost of developing software in-house by your team is higher than purchasing out-of-the-box solutions from third-party providers. Many times, staff resources can be better spent developing new applications than writing code for a toolkit that already exists from a third-party source.

Time
Creating new tools and developing new software is time-intensive. Many times, developers are under tight deadlines to improve their products and add new features for quick turnarounds. Responding to competitor upgrades, adding a new capability requested by a top client, or putting out a new release requires developers to be able to stay on top of their game in terms of the latest and greatest tools. Third-party SDKs and toolkits allow developers to access the newest software quickly, decreasing the time to market for their applications.Finding the right provider
Third-party code libraries are everywhere these days. But just because you found something great on GitHub doesn’t mean it’s without risk to you and your business. If you’re thinking about using third-party code in your applications, here are some important factors to consider:

  1. Security: Recent hacks of retail giants like Target and Home Depot have put cyber security in the spotlight recently. You need to be able to make sure they SDK you integrate into your software comes from a safe and reliable provider. Do you due diligence and make sure the company you choose meets your security needs.
  2. Versatility: Is it the best solution for your business? Don’t purchase software that doesn’t meet your needs. The toolkits you use should be flexible enough to do what you need them to do, even if you change your application. Finding software that is updated regularly with the newest features will let your applications grow without needing major revamps.
  3. Support: Documentation, maintenance, stability, and tech support are all important factors when sourcing your third-party code provider. Does the software support your framework and platform? Make sure the SDKs you choose have the right documentation to allow you to implement the tool quickly and easily. Do the developers provide support? They should. Your provider should be able to answer any questions you have about their product.

The key to making third-party code work for you and your business is setting and maintaining high standards. Make sure the code you choose to integrate into your applications is something you would be happy to see coming out of your own department.

Accusoft provides a variety of versatile and secure SDK and product suite solutions for adding document management to your existing framework. Learn more.