Aidbox configuration project structure

Since the 2405 release, using Aidbox in FHIR schema validation engine is recommended, which is incompatible with zen or Entity/Attribute options.

Setup Aidbox with FHIR Schema validation engine

Aidbox configuration project consists of a set of files which together describe how a box should behave. Overview is given by the following filesystem tree example:

zen-package.edn
zrc/
  system.edn
  box/
    acl.edn
  โ€ฆ

The only required names are zen-package.edn and zrc/ directory. As you can see it is just a collection of .edn config files put into certain directories. Letโ€™s go through them one by one.

zen-package.edn

This is a project meta file. Currently it is only used to specify project dependencies.

zen-package.edn
{:deps {us-core  "https://github.com/zen-fhir/hl7-fhir-us-core.git"
        plan-net "https://github.com/zen-fhir/hl7-fhir-us-davinci-pdex-plan-net.git"}}

zrc/

This is a directory with all your configuration files. They specify how a box should behave and what features should be enabled. zrc/ directory from the example above contains:

  • system.edn โ€” config file for a system as a whole;

  • box/ โ€” directory with configs for services such as ACL or FHIR IG. Each service config comes with its own set of options.

zrc/system.edn
zrc/box/acl.edn
{ns     system
 import #{aidbox}

server {...}

 box 
 {:zen/tags #{aidbox/system} 
  :services {:http server โ€ฆ}}}
{ns     box.acl
import #{aidbox.rest.acl}
some-acl-symbol
{โ€ฆ}
โ€ฆ
some-other-acl-symbol
{โ€ฆ}}

Examples

Examples of Aidbox configuration projects in our GitHub repository.

Last updated

Was this helpful?