PI Assist - How it Works, and How it Can be Extended and Customized.

PI Assist is an XML-based application. That is, the document is ASCII text structured with tags that identify its various parts. Its structure is enforced by a schema (in an external file) that defines its grammar. The program, like the user interface, consists of three main parts...

The top right panel is an HTML view (transformation) of the document. The transform (XSL) itself is a separate, editable, file so the view can be easily changed. That is, the document content can be reformatted in a variety of ways. For example, a transform can be written that formats the experiment design section in a way that provides the first cut of an ethics submission. The production version of PI Assist will allow organizations to create their own local transforms and users can select any of these when using the program. The HTML can be saved and imported into a word processor like MS-WORD.

The left panel is the navigation window and it mirrors the document structure as defined by the schema. If we change the schema, by adding, removing, or reordering sections, the navigation window will automatically adapt to the changes.

The bottom right panel contains "editors." These allow you to modify and add information in the document. PI Assist automatically matches editors to the schema, so again, it adapts to changes in document structure.

So, to summarize, 

The schema can be modified to define documents that have more or less detail. Also, remember that even if the schema is too detailed, you don't have to fill in sections that are irrelevant.

If you can live with the existing set of editors, you can restructure (add, remove, reorder) the schema pretty much however you like. If you change the schema, you will need to change the transform that renders the document view in the top right panel.

If you have different types of projects that you want to use PI Assist with, you can create a different schema for each. PI Assist lets you select the schema you want to use for new documents, and if you select an existing document, it will automatically use the matching schema.

PI Assist is basically an editor for structured documents. Given a set of section editors, users could conceivably build their own document structures. Anyone familiar with XML technology and a specific schema could develop transforms that can display the document information in a variety of ways. Since the documents themselves are represented as XML, they can be interpreted with all of the industry standard XML tools.

If you want to use PI Assist for a different type of document (e.g., an accident report), we can create custom schemas and editors to specification.

Every PI Assist document can be thought of as a complex record in a database. We are working on another project where we are using ORACLE as a repository for our PI Assist documents and have built a search interface. Using it you could, for example, find all documents where "Smith" was the PI AND ("ECG" was in the title OR "SLEEP" was in a hypothesis)"