One thing that sets the Redox API apart from API’s like HL7 FHIR is our ability to rapidly support newly emerging use cases and get them live in production quickly. As our data models evolve with new data points, our first focus is always on developer satisfaction. Below, you’ll find information on how we handle updates to our models today and what our plans are down the road.
What Will Stay Constant?
We do our best to not make any of the following types of changes:
- Changing data types of fields (e.g. string to Array, number to string, etc.)
- Removing fields that already exist
- Adding additional required fields
- Decommissioning a Data Model or Event Type
If we ever do run into a fringe case where any of the above updates need to be made (which has yet to happen), please know that we would notify all customers far in advance of the update and that in appropriate cases we would provide a transition plan for all affected customers.
Additions to the Redox Data Models
Current additions to models that Redox may make include:
- New fields of any data type (Array, string, etc.) to existing data models
- New Data Model event types
When we make an addition to a data model we will post it in our Change Log, which will also post to our public Slack General channel. You can join our Slack community here. Additionally, any changes made to our models will be automatically reflected in the schemas available for download here.
The best way to build against our models and account for these additions is to be as “tolerant” a reader as possible by ignoring data points that aren’t necessary and not parsing everything into strongly typed objects. If this isn’t feasible for your project or if you’re running into issues with this based on your specific stack or environment please let us know so we can talk through any other potential solutions.
We have lots of exciting projects in the works that will make using the Redox API even easier to consume and more enjoyable to use. As our API evolves, we do plan to introduce versioning so that our customers have greater flexibility over when to introduce certain additions that we make to our models.