A VS Code extension for extracting, editing, and reassembling openEHR form ZIP files with full version control support.
This extension supports the openEHR form syntax developed jointly by Better and DIPS. This form format was previously proposed for inclusion in the official openEHR specifications and represents a standardized approach to creating forms for openEHR-based healthcare systems.
Features
- Extract Forms: Unpack versioned ZIP files into versionless, editable components
- Edit Components: Work with JSON, JavaScript, XML, AQL queries, and calc scripts with full IDE support
- Reassemble Forms: Package components back into versioned ZIP files with automatic version bumping
- Validate Forms: Check form structure and dependencies before assembly
- Version Management: Automatic semantic version bumping (patch, minor, major)
- Form Information: View detailed form metadata, version history, and component structure
Installation
From VS Code Marketplace
- Open VS Code
- Go to Extensions view (
Ctrl+Shift+X)
- Search for "openEHR Form Assistant"
- Click Install
Or install directly from the VS Code Marketplace
From VSIX File
Download the latest .vsix file from Codeberg Releases and install it:
- Open VS Code
- Go to Extensions view (
Ctrl+Shift+X)
- Click the
... menu → Install from VSIX...
- Select the downloaded
.vsix file
Quick Start
Extract a Form:
- Right-click a
.zip file → openEHR: Extract Form
- Or use Command Palette:
openEHR: Extract Form
Edit Components:
- Navigate to
definition/form-components/{form_name}/
- Edit JSON, JS, XML, AQL, or calc files with full IDE support
Reassemble a Form:
- Right-click extracted form folder →
openEHR: Assemble Form
- Choose version bump (patch/minor/major/custom)
- New versioned ZIP created in
src/forms/
Requirements
Extension Settings
This extension contributes the following settings:
dipsArenaForms.extractionPath: Where to extract forms (default: definition/form-components)
dipsArenaForms.assemblyOutputPath: Where to save assembled ZIPs (default: src/forms)
dipsArenaForms.defaultVersionBump: Default version bump behavior (ask, patch, minor, major)
dipsArenaForms.autoFormat: Auto-format files during extraction
dipsArenaForms.extractAQL: Extract AQL queries to separate files
dipsArenaForms.extractCalc: Extract calc scripts to separate files
Contributing
Contributions are welcome! Please feel free to submit issues and pull requests on Codeberg.
Changelog
See CHANGELOG.md for version history and release notes.
Acknowledgments
This extension uses JSZip (MIT License) for ZIP file manipulation.
License
See the LICENSE file for licensing information.