Kodjin FHIR profiler tool for profiling with HL7® FHIR® standard created by Edenlab.
It supports classic JSON notation for Structure Definition, resource validation, snapshot creation, and the resource tree render for visualization.

Available as a browser-based web editor and plugin for Visual Studio Code

System requirements

System: Windows, macOS
Visual Studio Code (version 1.63 min.)


  • JSON
  • Syntax control
  • FHIR JSON schema support
  • Slicing
  • Validation
  • Differential only or snapshot
  • Render (visualize) resource tree


  1. Download the VSIX file with extension
  2. In Visual Studio Code, open Preferences → Extensions
  3. Choose “install from VSIX”
  4. Select downloaded file
  5. Restart Visual Studio Code

Getting started

  1. Please be sure the plugin has been installed (see Installation section)
  2. Create and save a new file with extension *.fhir.json (optional, but required to support the JSON schema).
  3. Place { } brackets for JSON structure
  4. Start typing “res,” then select

“resourceType”: “StructureDefinition”

from the drop-down list. You should receive the code:

2 “resourceType”: “StructureDefinition”,
3 “id”: “”,
4 “url”: “”,
5 “version”: “0.01”,
6 “name”: “”,
7 “title”: “”,
8 “status”: “draft”,
9 “experimental”: true,
10 “date”: “”,
11 “publisher”: “”,
12 “fhirVersion”: “”,
13 “kind”: “primitive-type”,
14 “abstract”: true,
15 “derivation”: “specialization”,
16 “type”: “”,
17 “baseDefinition”: “”

Tab through the fields and use the up and down keys for different values from the FHIR JSON scheme.


FHIR Profiling Tool: Snapshot URL

Specifies FHIR server snapshot generation endpoint. To pass FHIR resource type to URL use the ${resourceType} template variable.
<path to kodjin fhir server>/${resourceType}/$snapshot

FHIR Profiling Tool: Validation URL
Specifies FHIR server validation endpoint. To pass FHIR resource type to URL use the ${resourceType} template variable.
<path to kodjin fhir server>/${resourceType}/$validate


The Kodjin FHIR Profiling tool supports three main functions by context menu

  1. FHIR create/refresh tree
  2. FHIR validate resource
  3. FHIR create snapshot

Create snapshot

For this function, the resource should have a valid syntax structure and a differential section. If this function is selected, the plugin will send the data to the server, which is identified as the Snapshot URL in the settings. If the snapshot creation from the differential is successful, then the current code will be replaced by a full resource with both snapshot and differential sections.

Validate resource

For this function, the resource will be sent to the server, which is identified as a Validation URL in the settings. The validation server should check the structure, data types, etc. If any errors are found, they will appear at the bottom window in the PROBLEMS tab.

Create/refresh the resource tree

This is the most beautiful advantage of the plugin. When you have a full profile with the snapshot section, you could build the whole tree of the resource. This function will create a new window and render an FHIR-resource tree.


Any syntax errors or validation errors retrieved from the operation outcome will be displayed at the bottom section in a PROBLEMS tab. Pointing the cursor to the problem will navigate to the corresponding line in the code.

More resources about FHIR profiling

Profiling FHIR

Guidance on writing FHIR profiles

By clicking this button, you agree to our Terms of Service

Start profiling online


If you have questions or suggestions, write to us and describe them in the message.

    Thank you!

    Let’s chat

    We would be glad to share more details about our enterprise-level solutions and other cases based on the FHIR standard

      Schedule demo

      We will share all details about our enterprise-level solutions and other cases based on the FHIR standard

        Thank you!


        Please leave your email to get Kodjin White Paper.
        By downloading files from this site you agree to the Policy

          Thank you!

          Thank you!

          Read more about event-driven FHIR Server with unique configuration options