Aidbox FHIR API
How to load FHIR Canonical resources via Aidbox FHIR API
Aidbox provides a FHIR CRUD API over canonical resources such as StructureDefinition, SearchParameter, and ValueSet.
1. Run Aidbox with FHIR Schema Validation Engine
Setup Aidbox with FHIR Schema validation engine2. Creating conformance resources
StructureDefinition
This allows you to create profiles on resources in Aidbox instance at runtime
Send a PUT request to create a profile called "patient-profile" and specify that the "gender" key must be present.
PUT /fhir/StructureDefinition/patient-profile
content-type: text/yaml
accept: text/yaml
resourceType: StructureDefinition
url: http://example.org/fhir/StructureDefinition/patient-profile
name: patient-profile
derivation: constraint
type: Patient
status: active
kind: resource
abstract: false
differential:
element:
- id: Patient.gender
path: Patient.gender
max: "1"
min: 1
Check that the profile was successfully uploaded by creating a Patient resource with the URL of the created profile specified.
POST /fhir/Patient
content-type: text/yaml
accept: text/yaml
resourceType: Patient
meta:
profile:
- http://example.org/fhir/StructureDefinition/patient-profile
In response, you will receive an error because the profile specifies that the "gender" key is required.
resourceType: OperationOutcome
text:
status: generated
div: Invalid resource
issue:
- severity: fatal
code: invalid
expression:
- Patient.gender
diagnostics:
type: required-key
path: gender
Creating a SearchParameter
You can create SearchParameters to search for resources.
Send a PUT request to create a FHIR search parameter called "patient-profile"
PUT /fhir/SearchParameter/new-gender
content-type: text/yaml
accept: text/yaml
resourceType: SearchParameter
url: http://example.org/fhir/SearchParameter/new-gender
base:
- Patient
expression: Patient.gender
status: draft
type: token
version: 4.0.1
name: new-gender
code: new-gender
Check that the search parameter was successfully uploaded by creating a Patient resource and search them using "new-gender" query parameter.
POST /fhir/Patient
content-type: text/yaml
accept: text/yaml
gender: unknown
GET /fhir/Patient?new-gender=unknown
Creating a ValueSet
Send a PUT request to create a ValueSet called "my-gender-identity"
PUT /fhir/ValueSet/my-gender-identity
content-type: text/yaml
accept: text/yaml
resourceType: ValueSet
url: http://hl7.org/fhir/ValueSet/my-gender-identity
status: draft
name: my-gender-identity
compose:
include:
- system: http://hl7.org/fhir/gender-identity
concept:
- code: male
display: male
- code: female
display: female
- code: non-binary
display: non-binary
- code: transgender-male
display: transgender male
- code: transgender-female
display: transgender female
- code: other
display: other
- code: non-disclose
display: does not wish to disclose
Learn about other methods for loading IGs here:
Upload FHIR Implementation GuideLast updated