Skip to content

Commit

Permalink
Update docs - starting from the component overview.
Browse files Browse the repository at this point in the history
  • Loading branch information
davidmiller committed Dec 16, 2015
1 parent 59119f8 commit 9c01c2a
Show file tree
Hide file tree
Showing 9 changed files with 49 additions and 20 deletions.
1 change: 1 addition & 0 deletions doc/docs/guides/archetypes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Core Clinical Archetypes
45 changes: 28 additions & 17 deletions doc/docs/guides/components_overview.md
Original file line number Diff line number Diff line change
@@ -1,37 +1,48 @@
# Components of an OPAL application

The OPAL ecosystem comprises several types of components - let's take a look at how they all
hang together.
OPAL applications will typically be made up of several types of components.

### Core OPAL framework
![Layers of an OPAL application](../img/OPALLayers.png)

The core OPAL framework provides common patterns for writing clinical facing transactional
applications. It is an opinionated approach, and amongst many other things, it gives you
authentication and login mechanisms, hooks for integration with other clinical systems, a
foundational [Clinical Data Model](datamodel.md), self-documenting, open JSON APIs for your
data, a [Permission framework](roles_and_permissions.md) and a pattern library for UX
components.
### OPAL

In addition to this, OPAL also provides some very common functionality as part of the core
framework, such as Search, rendering lists of patients, viewing the detail and history of
episodes of care, as well as multi-user realtime updates.
The core OPAL framework provides you with a range of commonly required elements
of clinical applications.

It contains a core [data model](datamodel.md) for persisting clinical information,
as well core [clinical archetypes](archetypes.md) out of the box that build on many
years of collaboratively modelling clinical concepts by medical domain experts.

OPAL also makes it easy to integrate standard clinical [reference data](referencedata.md)
into your application - things like medical diagnoses, tests, drugs et cetera.

Some common functional components end up in to most clinical applications, and many
of these come with OPAL as "batteries included" - immediately available modular features
that can be simply re-used without having to reinvent the wheel.

For example:

* [Patient lists](list_views.md)
* [Search](search.md)
* Authentication and [Permissions](roles_and_permissions.md)
* [Forms for data entry](forms.md)
* [JSON based REST APIs](json_api.md) for all of your models
* ... and [many more](topic-guides.md)...

### Plugins

OPAL plugins are intended to provide high quality generic, composable, re-usable chunks of
functionality that can be "dropped in" to an application. For example, installing the
[Analytics](https://github.com/openhealthcare/opal-analytics) plugin allows you to integrate
your application with Google or Piwik Analytics with a minimum of fuss. The
[Dashboards](https://github.com/openhealthcare/opal-dashboards) plugin allows you to easily
create clinical dashboards within your application. The
[Referral](https://github.com/openhealthcare/opal-referral) plugin provides the plumbing for
building complex inter-team referrals within an institution.

Plugins have a [rich plugin API](plugins.md) they can hook into to aid the seamlessness, and
Plugins have a [rich plugin API](plugins.md) they can hook into to, and
many examples can be found by inspecting the source of [existing plugins](plugins_list.md).
This includes defining patient Flows through the system, adding to the core JSON API, ovrerriding
templates, adding patient Actions, as well as much more.

TODO: Write the Plugin Tutorial

### Applications

An application is the collection of configuration and bespoke functionality that would be
Expand Down
1 change: 1 addition & 0 deletions doc/docs/guides/referencedata.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Clinical Reference data
1 change: 1 addition & 0 deletions doc/docs/guides/search.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# OPAL Search overview
7 changes: 7 additions & 0 deletions doc/docs/guides/topic-guides.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ A list of all available topic guides.
|||
|---------------------------|-------------------------------------------------------------------------------|
|[Data Model](datamodel.md) | How OPAL models clinical reality.|
|[Archetypes](archetypes.md) | Core Clinical Archetypes|
|[Reference Data](referencedata.md)|Clinical reference data|
|[Flow](flow.md) | Hooks to customise key moments in a patient's flow through a clinical service.|
|[Roles & Permissions](roles_and_permissions.md)| How we handle authorization in OPAL|
|[Teams](teams.md) | Clinical teams in OPAL |
Expand All @@ -33,3 +35,8 @@ A list of all available topic guides.
|[Episode Detail Views](episode_detail_views.md)|Detailed views of an episode of care|
|[Patient List Views](list_views.md)| Lists of patients |

### Optional Components

|||
|--|--|
|[Search](search.md)|Default search implementation|
Binary file added doc/docs/img/OPALLayers.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions doc/docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@

OPAL is a framework that makes writing clinical digital services easy.

<img src="/img/clinical.advice.png" width="600px;" style="margin: 12px auto; border: 1px solid black;"/>

It builds upon [Django](https://djangoproject.com/), [Angular JS](https://angularjs.org/)
and [Bootstrap](http://getbootstrap.com/) to help developers quickly build easy to maintain,
robust clinical applications.

<img src="/img/clinical.advice.png" width="600px;" style="margin: 12px auto; border: 1px solid black;"/>

This is the developer documentation.

OPAL is an entirely Open [Source](https://github.com/openhealthcare/opal),
Expand Down
2 changes: 1 addition & 1 deletion doc/docs/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ You should now have the `opal` commandline tools installed.
Let's just check that you do:

$ opal --version
OPAL 0.3.0
OPAL 0.6.0

### Step 3: There is no step 3.

Expand Down
8 changes: 8 additions & 0 deletions doc/docs/opaldocs.css
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@ body {
h1,h2,h3,h4 {
font-weight: bold;
}
h1 {
margin-bottom: 24px;
}
h2 {
font-size: 48px;
}
Expand Down Expand Up @@ -46,3 +49,8 @@ pre, p {
.custom-quote .fa-user-md {
color: #6dbd63;
}

.col-md-9 img {
width: 100%;
padding: 24px 0px;
}

0 comments on commit 9c01c2a

Please sign in to comment.