Aidbox FHIR API
How to load FHIR Canonical resources via Aidbox FHIR API
Last updated
Was this helpful?
How to load FHIR Canonical resources via Aidbox FHIR API
Last updated
Was this helpful?
Was this helpful?
Aidbox provides a FHIR CRUD API over canonical resources such as StructureDefinition, SearchParameter, and ValueSet.
See getting started guide.
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
id: patient-profile
resourceType: StructureDefinition
url: http://example.org/fhir/StructureDefinition/patient-profile
name: patient-profile
derivation: constraint
type: Patient
status: active
kind: resource
abstract: false
baseDefinition: http://hl7.org/fhir/StructureDefinition/Patient
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
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
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 Guide