OHI Studio
Send/fetch Dynamic Logic, view logs, and browse objects without ever having to ask, "Why isn't this just a feature?"
OHI Studio is a powerful VS Code extension designed to streamline your development workflow with Oracle Health Insurance applications. It integrates essential tasks like managing Dynamic Logic, exploring Floorplans, querying logs, and viewing objects directly into your editor, eliminating the need for external tools and constant context switching.
Features
- Multi-Environment Management: Configure and switch between multiple OHI environments (Dev, QA, Prod) with ease.
- Dynamic Logic & Floorplans: Send, fetch, test, and preview DyLo and Floorplan files directly from the editor.
- Advanced Log Viewer: Query Application and Dynamic Logic logs with a date-range filter and view trace files in a built-in modal.
- Object Viewer: Parse a folder of Groovy files to create a searchable, interactive view of your OHI objects, properties, and methods.
- Secure Token Storage: Tokens are managed per-environment and stored securely using the VS Code Secret Storage API.
- Integrated UI: Access all features via the Command Palette, editor title buttons, and right-click context menus.
- Status Bar Integration: Quickly see and switch your active environment and application right from the status bar.
Quick Start
Configure Your First Environment:
- Open the Command Palette (
Ctrl+Shift+P or Cmd+Shift+P ).
- Run
OHI: Manage Environments and select "Add Environment".
- Follow the prompts to name the environment (e.g., "DEV"), set its token, and add an application with its Base URL (e.g., "Policies",
https://.../policies ).
Select Your Target:
- Click
OHI Env: (select) in the bottom-left status bar to choose your active environment.
- Click
OHI App: (select) to choose your active application.
Open a File & Go:
- Open a
.groovy (Dynamic Logic) or floorplan_*.json file.
- Right-click in the editor or use the icons in the title bar to Send, Get, or Test your file.
Commands
All commands are accessible from the Command Palette (Ctrl+Shift+P ).
Command |
Description |
OHI: Manage Environments |
The central hub to add, rename, or delete environments and their applications, tokens, and settings. |
OHI: Select Active Environment |
Quickly switch the active environment you are working against via a dropdown. |
OHI: Select Active Application |
Switch the active application (e.g., Policies, Claims) within the current environment. |
OHI: Send Dynamic Logic |
Updates (PATCH) the content of the active dylo file to the selected OHI application. |
OHI: Get Dynamic Logic |
Fetches the latest version of a DyLo file from OHI and replaces the content of the active editor. |
OHI: Test Dynamic Logic |
Executes the current DyLo file against the /api/testdynamiclogic endpoint. (Only works for Dylos with Test Unit Signature) |
OHI: Send/Get/Preview Floorplan |
A set of commands to send, fetch, or preview floorplan_*.json files in a visual webview. |
OHI: Query Application Logs |
Opens an advanced log viewer to search Application and DyLo logs with date ranges and a trace file viewer. |
OHI: View Objects |
Parses a datamodel folder of .groovy files to provide a searchable, interactive object browser. These are the groovy created by the generate datamodel. You should save the folder which contains the groovy files and signatures, and point to that folder |
OHI: Set Objects Folder Path |
Opens a folder picker to conveniently set the path for the "View Objects" command. |
OHI: Show Output Channel |
Displays the "OHI Studio" output channel for detailed request/response logs. |
Configuration
To configure the extension, go to File > Preferences > Settings and search for "OHI Dylo".
Setting |
Description |
Default Value |
ohiDylo.verifySSL |
If false, disables TLS certificate verification (not recommended for production). |
true |
ohiDylo.timeoutMs |
HTTP request timeout in milliseconds. |
20000 |
ohiDylo.tokenMaxAgeMinutes |
If a stored token is older than this, you will be prompted to refresh it. |
60 |
ohiDylo.confirmBeforeSend |
Show a confirmation dialog before sending a file. |
true |
ohiDylo.confirmBeforeGetReplace |
Ask for confirmation before replacing editor content. |
true |
ohiDylo.preferFilenameKey |
For Dynamic Logic, prefer using the filename as the key instead of the -- Name: header. |
true |
ohiDylo.testDynamicLogic.sendBeforeRun |
If true, automatically sends the latest logic before running the Test command. |
true |
ohiDylo.logs.serverTimeZone |
Default IANA time zone for servers. This can be overridden for each environment in Manage Environments . |
Asia/Manila |
ohiDylo.objects.folderPath |
The absolute local path to the folder containing your .groovy object files for the Object Viewer. |
"" |
Troubleshooting
- 401/403 Unauthorized: Your token is likely expired. The extension will automatically prompt you to enter a new token and will retry the request once.
- 404 Not Found: Double-check the Base URL for your selected Application in
Manage Environments .
- SSL Errors: For development environments with self-signed certificates, you can set
ohiDylo.verifySSL to false .
- For all other issues: Check the
OHI Studio channel in the Output panel for detailed request logs, responses, and error messages.
Support the Project
If this extension saved you even 10 minutes a day, imagine what that adds up to in a month.
Security
- Tokens are stored via VS Code Secret Storage (per environment)
- Auth headers are masked in logs
- Avoid disabling TLS except in non-production environments
Changelog
- 0.9.1 - Added highlight for com.oracle.healthinsurance inside of the trace log blocks
- 0.10.0 - Added signatures in the view objects window
| |