Install Patient Journey Intelligence
Patient Journey Intelligence installs from one release package with its deployment scripts, on a single Linux server with K3s, a self-managed Kubernetes cluster, Amazon EKS, Google GKE, Azure AKS, or OpenShift and ROSA. The same guides cover maintenance and upgrades. Choose your environment, review its prerequisites, and run the commands in order. Script and chart filenames keep the pj-app name.
Choose your installation environment
| Environment | Guide |
|---|---|
| Single-node Linux host | K3s |
| Self-managed Kubernetes | K8s |
| Amazon EKS | Amazon EKS |
| AWS Marketplace container product on EKS | AWS Marketplace Installation Guide · Quick Help |
| Google Kubernetes Engine | Google GKE |
| Azure Kubernetes Service | Azure AKS |
| OpenShift or ROSA | OpenShift / ROSA |
Prerequisites
All environments
Run the release scripts in a Bash environment with curl, awk, grep, jq, openssl, Helm, and kubectl available. Use the credentials and Kubernetes permissions required for your target cluster. On K3s, the bootstrap script installs Helm and kubectl on the host.
Single-node K3s
- Use a Linux host compatible with the release's bootstrap script, such as Debian, Ubuntu, or RHEL.
- Size the single server for the services you plan to run:
- 16 vCPU and 64 GiB RAM is the minimum, and runs the ingestion services.
- 32 vCPU and 128 GiB RAM runs all services together.
- For an air-gapped install (
--airgap), every image referenced by the chart and its dependencies must already be loaded into the node's container runtime. Check K3s images withsudo k3s ctr images ls. Missing images prevent deployment.
Self-managed Kubernetes
- Pass
--k8sto the installer and updater. See K8s. - Install a default StorageClass and an
nginxingress controller before installing. Unlike K3s,kubeadmprovides neither, and the installer stops when either is missing. - Use
--hostwith a DNS name, or omit it. Kubernetes rejects a bare IP address in an ingress host rule.
Managed clusters and OpenShift
Provide enough allocatable CPU, memory, and storage for the enabled workloads, including per-pod scheduling requirements. The single-node K3s sizing above is not a sizing guarantee for managed clusters.
- For managed clusters (EKS, GKE, AKS), install
kubectlandhelmon your admin machine and point the kube-context at the target cluster. - For OpenShift and ROSA, install
ocandhelm, log in withoc, and use an account that can create or select the target project and grant theanyuidandprivilegedSCCs. - EKS deployments require the AWS CLI configured for your account and region. If you pass
--efs, installeksctltoo. - GKE deployments require the
gcloudCLI configured for your project and cluster. - AKS deployments require the Azure CLI configured for your subscription and cluster.
- The
--eks,--gke, and--aksmodes expect an ingress-nginx controller in the cluster, with ingress classnginx.
Elasticsearch and offline dependencies
In-cluster Elasticsearch uses ECK 3.4.0. The installer and updater reuse its cluster-wide CRDs when both are present, or install ECK automatically when both are absent and the current user has cluster-admin permissions. AWS OpenSearch deployments skip ECK. OpenShift and ROSA users must run this bootstrap with a cluster-admin account.
- For an air-gapped first install or update where ECK is not already installed, place
eck-operator-3.4.0.tgzbeside the scripts, or setECK_OPERATOR_CHART=/path/to/eck-operator-3.4.0.tgz. The operator imageregistry.johnsnowlabs.com/pj-app/eck-operator:3.4.0must also be loaded.
These files must be in the same directory you run the scripts from:
pj-app-<version>.tgz: the Patient Journey Intelligence Helm chart packagejsl_create_secret: helper binary (executable)jsl_docker_pull: helper binary (executable)
pj-app-installer.sh and pj-app-updater.sh exit if any of these files is missing or not executable.
What you need before you start
- Access to the release package. John Snow Labs gives you the download location and credentials for each release.
- A John Snow Labs license file (
license.json). It turns on the licensed NLP services. You can also upload it later in the web interface. - A DNS name for the application, such as
pji.example.com, if you want HTTPS or a friendly address. - API keys for any external language model providers you plan to use. These are optional.
What the release package contains
Each release is published as one file named pj-app-<version>.tar.gz, for example pj-app-2.3.0.tar.gz. It unpacks into a flat folder with these files:
| File | What it does |
|---|---|
k3s-installer.sh | Bootstraps a single-node K3s cluster and installs Helm and kubectl. Used only for K3s installs. |
pj-app-installer.sh | Installs Patient Journey Intelligence for the first time, including dependencies, ingress configuration, and secrets. |
pj-app-updater.sh | Performs an idempotent upgrade of an existing Patient Journey Intelligence installation to the release in this package. |
setup_instance.sh | Sizes a running installation for the server's memory. |
pj-app-<version>.tgz | The Helm chart for this release. |
jsl_create_secret | Helper program that creates the image registry credentials in the cluster. |
jsl_docker_pull | Helper program that downloads the container images. |
marketplace-installer.sh | Installer for AWS Marketplace deployments. It uses Marketplace ECR images and scheduler metering configuration. |
packer/ | Files for building machine images. |
instructions.md | Notes on the deployment scripts. |
For an AWS Marketplace subscription, follow the Marketplace guide. It uses the release-supplied marketplace-installer.sh, Marketplace ECR images, and scheduler metering configuration. Obtain a Marketplace-specific upgrade procedure from Support.
Run the installer and updater from the unpacked folder. Both scripts stop with an error if the Helm chart or either helper program is missing or not executable.
Frequently asked questions
Patient Journey Intelligence ships as one release package named pj-app-<version>.tar.gz. Download the package, unpack it on the machine you will install from, prepare the Kubernetes cluster, run the installer, and run the updater for every later release. The same package installs the platform on every supported environment.
Patient Journey Intelligence installs on a single-node Linux host with K3s, a self-managed Kubernetes cluster, Amazon EKS, Google GKE, Azure AKS, and OpenShift or ROSA. An AWS Marketplace container product is also available for Amazon EKS, with its own installer and metering configuration.
The minimum is 16 vCPU and 64 GiB RAM, which runs the ingestion services. Running all services together needs 32 vCPU and 128 GiB RAM. This sizing is not a guarantee for managed clusters, which need enough allocatable CPU, memory, and storage for the enabled workloads.
The package unpacks into a flat folder containing the K3s installer, the Patient Journey Intelligence installer and updater, the instance sizing script, the Helm chart for the release, and two helper programs that create the image registry credentials and download the container images. It also includes the AWS Marketplace installer, machine image build files, and deployment notes.
You need access to the release package, which John Snow Labs provides along with the download location and credentials, and a John Snow Labs license file (license.json) that turns on the licensed NLP services. A DNS name is required if you want HTTPS or a friendly address, and API keys for external language model providers are optional.
Yes. The license file turns on the licensed NLP services, and you can supply it during installation or upload it later in the web interface.
Run the installer and updater from the unpacked folder. Both scripts stop with an error if the Helm chart or either helper program is missing or not executable.