Skip to main content

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​

EnvironmentGuide
Single-node Linux hostK3s
Self-managed KubernetesK8s
Amazon EKSAmazon EKS
AWS Marketplace container product on EKSAWS Marketplace Installation Guide · Quick Help
Google Kubernetes EngineGoogle GKE
Azure Kubernetes ServiceAzure AKS
OpenShift or ROSAOpenShift / 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 with sudo k3s ctr images ls. Missing images prevent deployment.

Self-managed Kubernetes​

  • Pass --k8s to the installer and updater. See K8s.
  • Install a default StorageClass and an nginx ingress controller before installing. Unlike K3s, kubeadm provides neither, and the installer stops when either is missing.
  • Use --host with 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 kubectl and helm on your admin machine and point the kube-context at the target cluster.
  • For OpenShift and ROSA, install oc and helm, log in with oc, and use an account that can create or select the target project and grant the anyuid and privileged SCCs.
  • EKS deployments require the AWS CLI configured for your account and region. If you pass --efs, install eksctl too.
  • GKE deployments require the gcloud CLI configured for your project and cluster.
  • AKS deployments require the Azure CLI configured for your subscription and cluster.
  • The --eks, --gke, and --aks modes expect an ingress-nginx controller in the cluster, with ingress class nginx.

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.tgz beside the scripts, or set ECK_OPERATOR_CHART=/path/to/eck-operator-3.4.0.tgz. The operator image registry.johnsnowlabs.com/pj-app/eck-operator:3.4.0 must also be loaded.
Required files in the script directory

These files must be in the same directory you run the scripts from:

  • pj-app-<version>.tgz: the Patient Journey Intelligence Helm chart package
  • jsl_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:

FileWhat it does
k3s-installer.shBootstraps a single-node K3s cluster and installs Helm and kubectl. Used only for K3s installs.
pj-app-installer.shInstalls Patient Journey Intelligence for the first time, including dependencies, ingress configuration, and secrets.
pj-app-updater.shPerforms an idempotent upgrade of an existing Patient Journey Intelligence installation to the release in this package.
setup_instance.shSizes a running installation for the server's memory.
pj-app-<version>.tgzThe Helm chart for this release.
jsl_create_secretHelper program that creates the image registry credentials in the cluster.
jsl_docker_pullHelper program that downloads the container images.
marketplace-installer.shInstaller for AWS Marketplace deployments. It uses Marketplace ECR images and scheduler metering configuration.
packer/Files for building machine images.
instructions.mdNotes 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.

Keep the files together

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.

Where to go next​