Appearance
Changelog
How the VimOS versioning works
To provide application developers with the best user experience, allowing automatic bug fixes and easy access to new features while ensuring existing application code continues to work, VimOS offers a versioning system. This system works whether your application installs VimOS via npm or uses a script tag.
Bug fixes
Bug fixes are deployed to the latest version of the VimOS code. Since both the script tag and the npm package dynamically load the VimOS code, your application will automatically receive these fixes without any required changes on your part. Therefore, most bug fixes are not tied to a specific released version and will not be detailed on this page.
New features
Some non-breaking new features are added to the current latest version, while others will only be available in future versions. As mentioned above in the bug fixes section, your application will automatically gain access to new features added to the current latest version. However, if a feature includes new TypeScript types, upgrading the npm version will be required to take full advantage of it.
Consequently, the changelog for a specific version may be updated in the future if a new feature is released for it.
Breaking changes
Breaking changes will only be released in future versions. This ensures that as long as you don't upgrade the major version of the npm package you are using or change the URL of the script tag, your application will not break.
2.x.x (sdk) / 2.0.0 (npm) - February 10th, 2025
Created a dedicated authentication server enhancement
We've launched a dedicated authentication server at api.getvim.com to improve the availability of third-party authentication.
The following endpoints have moved:
- https://connect.getvim.com/os-api/v2/oauth/authorize moved to https://api.getvim.com/v1/oauth/authorize
- https://connect.getvim.com/os-api/v2/oauth/token moved to https://api.getvim.com/v1/oauth/token
- https://connect.getvim.com/os-api/v2/oauth/userinfo moved to https://api.getvim.com/v1/oauth/userinfo
While the previous endpoints at connect.getvim.com will remain active for now, we recommend migrating to api.getvim.com for improved performance and reliability.
Removed facilityEhrId and contact_info from referral provider writeback Breaking change
The facility.facilityEhrId and facility.contact_info fields in the targetProvider section of the updateReferral payload are now deprecated due to limitations in both Vim and supported EHR systems. None of the compatible EHRs allow updating these values, so they has been removed to maintain consistency and prevent unsupported operations.
Action Required: If your application previously included these field in the writeback payload, please remove them to avoid any issues with referral updates.
Added read capabilities for SOAP fields new feature
All SOAP fields (Subjective, Objective, Assessment, and Plan) are now accessible for reading. This structured clinical documentation data in the encounter state enables developers to build solutions that streamline and enhance clinical workflows. Developers can now leverage the free text data within these fields to extract insightful information, enriching their application’s business logic with relevant clinical context and improving decision-making or workflow automation.
For further details, please refer to the updated documentation section here.
Billing information and Procedure codes in writeBack Breaking change
The procedureCodes object under encounter has been relocated to a new subsection, billingInformation . This update aligns with SDK writeback destination, where CPT code writebacks are processed in the billing section rather than the plans section
json
{
...encounter
billingInformation: {
procedureCodes: [...]
},
plan: {
generalNotes: ''
}
}
For further details, please refer to the updated documentation section here.
Organization Tin typing Breaking change
The tin field type has been updated from string
to string[]
, allowing developers to retrieve a complete list of TINs for a Vim organization as an array rather than a single value. This change better reflects scenarios where a single Vim organization may encompass multiple locations, each with its own TIN.
For further details, please refer to the updated documentation section here.
Number of visits typing Breaking change
The numberOfVisits field type has changed from string
to number
. This update aligns with EHR limitations, where this field only accepts numeric values, ensuring compatibility and accuracy.
For further details, please refer to the updated documentation section here.
1.x.x (SDK) / 1.0.6 (npm) - November 26th, 2024
Added closeApp
function to enable programmatic app closure new feature
Added a new closeApp
function to the SDK that allows developers to programmatically close the application. When the app is closed using this method, the appCloseTrigger
sent to appOpenStatus
subscriptions will be set to 'app_request'.
For further details, please refer to the updated documentation section here.
1.x.x (SDK) / 1.0.5 (npm) - November 14th, 2024
Add roles to user identifiers new feature
Added role information to user identifiers to enable role-based customization of the user experience. This enhancement provides more detailed user context and allows for dynamic interface adjustments based on user roles.
For further details, please refer to the updated documentation section here.
1.x.x (SDK) / 1.0.4 (npm) - September 25th, 2024
Add the ability to pass access token to initializeVimSDK function new feature
As part of the implementation of social login in the authentication flow implementation, you can now pass accessToken to the initializeVimSDK
function.
This token is required for the SDK initialization to make authenticated requests to Vim's API
For further details, please refer to the updated documentation section here.
1.x.x (SDK) / 1.0.3 (npm) - September 16th, 2024
Add subscriptions for changes in updatable fields new feature
To enable your application to respond in real-time to changes in writeback capabilities, which ensures a seamless and responsive user experience, you can now subscribe to events that notify you whenever the availability of specific fields for writeback changes.
For further details, please refer to the updated documentation section here.
1.x.x (SDK) / 1.0.2 (npm) - August 25nd, 2024
Expose vimOS.sessionContext.getIdToken()
method new feature
To enable optional Single Sign-On (SSO) functionality within your application, the vimOS.sessionContext.getIdToken() method has been exposed. This method allows your application to access the ID token, which is crucial for integrating with SSO flows.
For further details, please refer to the updated documentation section here.
1.x.x (SDK) / 1.0.1 (npm) - August 22nd, 2024
Make appTokenEndpoint
parameter in SDK initialization options optional: The SDK will now use the token endpoint defined in the manifest if the parameter is not provided. new feature
Instead of the previously suggested initialization method, we recommend using the following approach that will derive the token endpoint from the manifest definition:
ts
const vimOS = await window.vimSdk.initializeVimSDK();
// Use VimOS instance for further interactions with VimOS.js
ts
import { loadSdk } from 'vim-os-js-browser';
async function init() {
const vimOS = await loadSdk();
// Use vimOS instance for further interactions with VimOS.js
}
init();
1.x.x (SDK) / 1.0.0 (npm) - August 1st, 2024
Know why your application was open / closed new feature
We have upgraded the functionality of subscribing to changes in the app state. If you subscribe to appOpenStatus
, whenever you application open status changes you will receive not only what the new status is, but also what triggered the change.
ts
interface AppOpenStatus {
isAppOpen: boolean;
appOpenTrigger?: 'manually' | 'auto_popup' | 'push_notification_clicked';
appCloseTrigger?: 'manually' | 'app_switch' | 'app_disabled';
}
Session context data reorganization breaking change
The Session context data is now organized under sub entities, with each sub entity connection to permissions to be set under app version manifest.

EHR resources reorganization breaking change
EHR resources, both for reading and for writebacks, are now organized under sub entities, with each sub entity connected to a permission to be set under app version manifest.

Replacement of Enum types with string type breaking change
We are moving away from using enums in our type system; Types that where defined as enums in pervious versions are now simple strings instead:
- The
ActivationStatus
in the setActivationStatus function. - The
ApplicationSize
in the setDynamicAppSize function. - The EHR resource types, such as when subscribing to ehr state changes
- For example, if you were using
vimOS.ehr.subscribe(EHR.EHRResource.patient, onPatientChange)
to subscribe to patient changes, you should change it tovimOS.ehr.subscribe('patient', onPatientChange)
.
- For example, if you were using
- The
status
andpriority
of a referral. - The
status
of an encounter. - The
type
of an order - The
buttonStyle
in push notifications.