Skip to content

Supported Features

Sarah McDougall edited this page Jan 17, 2024 · 3 revisions

Supported Export Parameters

_type

Filters response to only include resources of the specified resource type(s). If not provided, the server pulls from src/util/supportedResources.js, which contains a list of resource types supported by the server.

If executing a patient-level or group-level export, the server calls filterPatientResourceTypes within src/services/export.service.js, which filters _type to only include types that are specified in the patient compartment definition.

_typeFilter

The server's implementation of _typeFilter supports several different filters:

  1. Support for FHIR Search Queries via Asymmetrik's FHIR Query Builder
  • Under the hood, the server creates a mapping of resource type to its valid search parameters (in src/util.exportToNDJson.js). An error is thrown if the server does not support the parameter.
  • Example usage: _typeFilter=MedicationRequest?status=completed&date=gt2018-07-01T00:00:00Z
  1. ValueSet-based queries using the :in modifier
  • This is a powerful way to filter for quality reporting. To the best of our knowledge, this is the only open-source server that supports the modifier.
  • The server extracts codes from the provided ValueSet, which is implemented in src/util/valueSetHelper.js.
  • Example usage: _typeFilter=Encounter?type:in=http://some-value-set-url

_outputFormat

The server supports the following output formats:

  • application/fhir+ndjson
  • application/ndjson+fhir
  • application/ndjson
  • ndjson

patient

The patient parameter is supported only for patient-level and group-level exports. The parameter is of type FHIR Reference and must be invoked via POST request only. Multiple patient references can be supplied in order to filter on multiple patients.

Example request body for POST request:

{
     "resourceType": "Parameters",
     "parameter": [
	{
	     "name": "patient",
	     "valueReference": {
		"reference": "Patient/patient-1"
	     }
	},
	{
	     "name": "patient",
	     "valueReference": {
		"reference": "Patient/patient-2"
	     }
	}
     ]
}

Clone this wiki locally