Opal Guides
A list of all available topic guides.
Opal
| Opal - Applications, Plugins | How Opal components hang together | 
| Command line tool | Running admin tasks from the command line | 
| Discoverable | Design patterns and library for creating easily reusable features | 
| Plugins | Available interfaces for Opal plugins | 
| List of Plugins | A list of available high quality plugins | 
Data and Business Logic
| Data Model | How Opal models clinical reality | 
| Episodes | Opal Episodes and how to customise them | 
| Core Clinical Model | The core clinical data model available to Opal applications | 
| Reference data | Canonical coded terms and reference data | 
| App metadata | Working with Metadata on the front end | 
| Flow | Hooks to customise key moments in a patient's flow through a clinical service | 
| Angular models | Working with Clinical data in Angular | 
| Roles & Permissions | How we handle authorization in Opal | 
| Tagging | Tagging episodes in Opal | 
| JSON API | The Opal JSON API | 
Presentation and templating
| Theming | How to theme your application | 
| Templates | Server and client side templating | 
| Default Context Processors | Opal Django context processors | 
| Static Files | How Opal handles static files | 
| Forms | Forms for entering or editing data | 
| Patient Detail Views | Detailed views of a Patient | 
| Patient List Views | Lists of patients | 
Optional Components
| Search | Default search implementation | 
| Pathway | Build forms with multiple models, easily | 
| Django Admin | Working with Opal models in the Django Admin | 
Working on Opal itself
| Contributing | Contributing to Opal | 
| Development environment | Setting up the Opal development environment | 
| Making a Release | Releasing a version of Opal | 
Other Guides
| Deployment | Deploying Opal |