Stoker is a web-based authoring tool for creating FHIR R4 ValueSet resources. It provides an intuitive interface for healthcare terminology specialists and FHIR implementers to build, validate, and export ValueSet definitions without writing JSON by hand.
- Production (Stable): https://mattcordell.github.io/Stoker/
- Development (Latest Features): https://stoker-dev.netlify.app/
- Feature Branches:
https://[branch-name]--stoker-dev.netlify.app/
Creating FHIR ValueSet resources typically requires manual JSON editing and deep knowledge of the FHIR specification. Stoker simplifies this process by providing a form-based interface where users can:
- Define ValueSet metadata (title, description, version, status, publisher, copyright)
- Add include blocks using various methods: explicit code lists, ECL expressions, property filters, external ValueSet references, or entire code systems
- Validate the resulting resource against FHIR R4 requirements
- Download the ValueSet as a properly formatted JSON file
- Save and reload work in progress
The tool runs entirely in the browser with no server-side dependencies, making it easy to use and deploy. All functionality is contained in a single index.html file that can be hosted on GitHub Pages or opened locally.
Simply open the application in a web browser and start filling in the form. The JSON preview updates in real-time as you work, and you can download the final ValueSet resource when ready.
While the production deployment is recommended for general use, you can run Stoker locally if needed (e.g., for development or testing). Since this is a static web application, you'll need a local HTTP server to properly load the configuration files:
Python HTTP Server:
python -m http.server 8000Node.js http-server:
npx http-server -p 8000VS Code Live Server:
Right-click on index.html and select "Open with Live Server".
Then navigate to http://localhost:8000 in your browser.
Note: Opening
index.htmldirectly in your browser (viafile://) may cause CORS issues when loading configuration files.