Migrate from Aidbox SearchParameter to FHIR SearchParameter
Last updated
Was this helpful?
Last updated
Was this helpful?
If you want to use the , your custom Aidbox SearchParameters defined via Zen or Entities will not be available. Aidbox with FHIRSchema validation enabled is more aligned with the FHIR specification and only supports FHIR SearchParameters. In this case, use this migration guide.
To migrate Aidbox SearchParameter you need to redefine it as regular using REST API:
To define FHIR SearchParameter you should know the meaning of some basic FHIR SearchParameter properties, required fields marked as *:
base
*
The resource type(s) this search parameter applies to.
In Aidbox SearchParameter it was reference
to Entity in resource
property.
url
*
Canonical identifier for this search parameter, represented as a URI (globally unique).
Didn't exists in Aidbox SearchParameter.
expression
*
name
*
Computationally friendly name of the search parameter.
The same as in Adibox SearchParameter.name
.
status
*
Didn't exist in Aidbox SearchParameter. Use active
status.
type
*
Transfer this value as it was in Adbox SearchParameter.type
.
Let's migrate custom Aidbox SearchParameter Patient.city
:
First step is to replace resource property to base property with target resource type:
Than you need to rewrite expression property to FHIRPath format. Usually it may be transformed by joining vector elements with each other separated by .
symbol and joining resource type in front of this construction like this:
The final step is to add the missing status
and url
fields required by the FHIR SearchParameter specification. For the status
property in the aidbox, you usually just set it to active
.
Here is the migration request for Patient.city
SearchParameter:
For more complex cases, there is a need for more complex expression mapping. Here is a few examples:
or
If expression contains multiple arrays, it means or
statement between multiple expressions:
or
This is what it looks like in the FHIRPath format:
where
When expression contains object, it means where
statement. In this case it would extract records with element telecom
which contains field system
with value email
:
where
This is what it looks like in the FHIRPath format:
that extracts the values.
You need to manually convert Adibox SearchParameter.expression
to .
draft | active | retired | unknown
. Binding to ValueSet.
number | date | string | token | reference | composite | quantity | uri | special
. Binding to ValueSet.