Giter VIP home page Giter VIP logo

sialia's Introduction

SialiaJS

Sialia is an embeddable C-CDA rendering library. It breaks down CDA documents into sections, allowing clinical users to order and select sections that are relevant to their job. Sialia references a single built javascript file, then targets a section of your app to inject the viewer. Check out the installation and demo for more details.

Demo

Viewer: http://mikelarned.github.io/sialia/client/
File Upload: http://sialia.ria.ms/

C-CDA files uploaded at sialia.ria.ms and will be available for testing in the demo viewer document dropdown.

Installation

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>My HL7 Viewer</title>
</head>

<body>

    <sialia></sialia>
    <script src="https://cdn.rawgit.com/MikeLarned/sialia/gh-pages/client/build/sialia.js"></script>
    <script>
        var url = "http://sialia.ria.ms/files";

        $.get(url, function(docs) {
            new Sialia({
                docs: docs
            });
        });

    </script>
</body>
</html>
  1. Reference the sialia.js file.
  2. Include the tag on your page.
  3. Load a set of documents for sialia to consume.
  4. Create a new Sialia instance.

The 'docs' parameter is an array of document objects containing a Name and Url. Each URL would return an xml cda document with a mime type of text/html; charset=utf-8. Our example loads a set of docs through jquery for our Sialia instance. Here is an example docs array object.

[{
  Name: "CCD_1",
  Url: "http://sialia.ria.ms:80/file/CCD_1"
},
{
  Name: "Doc2",
  Url: "http://sialia.ria.ms:80/file/Doc2"
}]

Building

npm install
gulp

Development

To use BrowserSync as a development server and watch for file changes, run the following gulp command:

gulp serve

BlueButton Updates

There are a number of pre parsed sections for CCDA and C32 documents. In the orignal bluebutton.js the section name was a key off of the data object containing an array of entries. Those sections now contain an object vs an array with the following properties.

{
  displayName: "friendly display name",
  templateId: "",
  text: "<div>Some HTML for section</div>",
  entries: []
}
  1. displayName - Friendly name to display in viewer.
  2. templateId - The HL7 templateId for the section. This currently isn't filled for the pre parsed sections such as allergies, medications, etc. For any generically created section, there will be a template id.
  3. text - the narrative text (generally HTML) for each section. All the objects on data outside of demographics, document and smoking status should have this value set. We can default to displaying this HTML if there is no custom section display.
  4. entries - the original array of entries

BlueButton Generic sections

We've also modified BlueButton.js to include generic sections. These are sections where a specific templateId isn't present in section mapping function for c32, ccd, etc. Generic sections only parse out narrative text, displayName and templateId. this gave us the ability to still display and filter on a section that wasn't explicitly added in the BlueButton library.

The forked bluebutton is here:

https://github.com/MikeLarned/bluebutton.js

sialia's People

Contributors

dougludlow avatar mikelarned avatar oblakeerickson avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.