NOTE: This is not the recommended approach for deploying the Clinical Ingestion flow. Use the Helm chart unless you are sure you need manual control over the deployment process.
If you prefer to manually provide the underlying services used by the Clinical Ingestion Flow, you will need to provision the following:
- NiFi Registry
- NiFi - Configured to access the NiFi Registry
- FHIR server
- Kafka - This is optional, but is necessary for the preferred entry point and proper logging of errors
In order to add the Clinical Ingestion Flow to your Nifi canvas, you can either rely on a configured Nifi Registry pointing at the Health Patterns Nifi Flow Github repo, or you can import the flow from there manually:
To deploy a NiFi flow into a running NiFi Registry, follow these steps:
-
Download and install the NiFi CLI Toolkit
-
Execute "cli" from the bin folder in the Toolkit
-
Identify the base URL for your NiFi registry (i.e. http://localhost:8080/nifi-registry)
-
Create a bucket for your target NiFi Registry to store the flow (This will return the bucket identifier used in the next step):
registry create-bucket --baseUrl=<<BASE_URL>> --bucketName="Health Patterns"
-
Create a bucket entry for the flow (This will return the flow identifier used in the next step):
registry create-flow --baseUrl=<<BASE_URL>> --bucketIdentifier <<BUCKET_IDENTIFIER>> --flowName <<FLOW_NAME>>
-
Download the latest version of the Clinical Ingestion flow:
curl https://raw.githubusercontent.com/Alvearie/health-patterns-nifi-flows/main/Health_Patterns/Clinical_Ingestion.snapshot --output clinicalIngestion.json
-
Import current version of flow using flow json:
registry import-flow-version --baseUrl=<<BASE_URL>> --flowIdentifier=<<FLOW_ID>> -i clinicalIngestion.json
-
Once the flow file is imported into the NiFi Registry, it can be added to a NiFi canvas and initialized according to normal NiFi instructions.
The Clinical Ingestion Flow consists of multiple Parameter Contexts, used to advise the various processor groups on where target environments can be accessed. These parameters are important in order for the flow to operate correctly. All parameters should be filled out, according to the help text provided for each.
In addition, certain components in the Clinical Ingestion Flow require specific controller services to be enabled in order for the flow to operate successfully. In order to enable them, open the configuration options for the Clinical Ingestion processor group, and click on the Controller Services tab. Enable each listed service.