vumchealthitpublic/stratify-ahf-api

By vumchealthitpublic

Updated about 5 hours ago

Rest API for the stratify-ahf application

Helm
Image
0

2.7K

vumchealthitpublic/stratify-ahf-api repository overview

Release History

  • 0.2.0 - Modified the chart so that the name of the secrets and configmap matches the release name. This release uses the "unstable" tagged image.
  • 0.1.0 - Initial Release. This release uses the "unstable" tagged image.

Installation

Prerequisites

This app depends on a Kubernetes secret named the same as the helm release. For instance, if you are naming the helm release "stratify-ahf-api-dev" then the secret must also be named "stratify-ahf-api-dev". The secret, for now, can be empty. For example...

kubectl create secret generic stratify-ahf-api-dev

This app uses spring-cloud-kubernetes which needs access to the Kubernetes API to load properties from the ConfigMap. For development purposes, you could add cluster-reader permissions to the default service account, but it's better that we provide more granular permissions (e.g., get, list, and watch). For example...

kubectl create role config-reader --verb=get --verb=list --verb=watch --resource=configmaps --resource=secrets --resource=pods --resource=services --resource=endpoints

kubectl create rolebinding config-reader-binding --serviceaccount=default:default --namespace=default --role=config-reader

Installing Helm Chart

The stratify-ahf-api application should be installed using Helm.

helm install <MY_RELEASE_NAME> oci://registry-1.docker.io/vumchealthitpublic/stratify-ahf-api --version <HELM_CHART_VERSION>

Where...

  • MY_RELEASE_NAME is your name for the installed application
  • HELM_CHART_VERSION is the version of the stratify-ahf-api Helm Chart.

Overriding Container Image

Although each Helm Chart is associated with a specific container image version, a different container image can be specified on the command line.

helm install <MY_RELEASE_NAME> oci://registry-1.docker.io/vumchealthitpublic/stratify-ahf-api --version <HELM_CHART_VERSION> --set image.tag=<IMAGE_TAG>

Where...

  • MY_RELEASE_NAME is your name for the installed application
  • HELM_CHART_VERSION is the version of the stratify-ahf-api Helm Chart
  • IMAGE_TAG is the version of the container to be deployed

NOTE: Not all container images are compatible with every Helm Chart. Override the container image version at your own risk.

Validation

The API configuration values can be confirmed by accessing /api/prefetch/config on the host and port where the API is hosted.

Configuration

The application is configured by overriding configMap values.

ConfigMap values can be overridden (as above) by supplying flags to the helm install which specify items beginning with "configMap.data.".

Example:

helm install <MY_RELEASE_NAME> oci://registry-1.docker.io/vumchealthitpublic/stratify-ahf-api \
  --set configMap.data.my-config-key=my-config-value \
  --set-file configMap.data.my-config-key=my-config-file.json \
  ...

All the configuration keys org.vumc.stratifyahfapi.* can be defined in a single file.

  • key: site-application.yaml
  • default: classpath:org/vumc/stratifyahfapi/fhir/stratifyahf-library-bundle.json
  • example flag: --set-file configMap.data.site-application\\.yaml=my-site-application.yaml
Risk Evaluation

The application relies on CQL Library resources that are evaluated to perform the data element acquisition and also the risk score evaluation. The CQL uses FHIR ValueSet resources to identifiy data elements from the EHR.

The individual Library and ValueSet resources can be replaced to provide site-specific algorithms and code-matching.

These resources must be provided either in (a) one single FHIR Bundle (JSON format) or (b) a collection of FHIR resource files and/or CQL source files

FHIR Bundle
  • key: org.vumc.stratifyahfapi.fhir.embedded
  • default: classpath:org/vumc/stratifyahfapi/fhir/stratifyahf-library-bundle.json
  • example flag: --set configMap.data.org\\.vumc\\.stratifyahfapi\\.fhir\\.embedded=file:/etc/config/fhir/my-override-stratifyahf-library-bundle.json

The contents of this key is a Spring resource specification. The default refers to a FHIR Bundle resource (JSON format) embedded in the application JAR.

Individual Resources
  • key: org.vumc.stratifyahfapi.fhir.manifest
  • default: none
  • example flag: --set configMap.data.org\\.vumc\\.stratifyahfapi\\.fhir\\.manifest=file:/etc/config/fhir/manifest.txt
  • example flag: --set configMap.data.org\\.vumc\\.stratifyahfapi\\.fhir\\.manifest=file:/etc/config/fhir/

The contents of this key is a Spring resource specification. There is no default.

The value of this key may identify either (a) a text file or (b) a directory.

Text Manifest File

If the manifest identifies a file, it contains text with one resource reference per line. Each resource reference can be either (a) a full Spring reference starting with the reference scheme (e.g. classpath:/my-main-library.json) (b) an absolute file reference (e.g. /etc/config/my-main-library.cql) or (c) a relative file reference (e.g. my-main-library.cql) which is evaluated relative to the manifest file

Manifest Directory

If the manifest identifies a directory, the directory is searched for any files with a .json or .cql suffix.

Individual FHIR Resources

A resource identified in the manifest that has a .json extension is a FHIR resource. The resource may be either a ValueSet or a Library.

Individual CQL Source Files

A resource identified in the manifest that has a .cql extension is a CQL source file. The file is loaded as a FHIR Library using the contents of the file as the only Attachment with content type text/cql.

Prefetch Capability
Prefetch Library
  • key: org.vumc.stratifyahfapi.fhir.prefetch.libraryId
  • default: stratifyahf-prefetch
  • example flag: --set-file configMap.data.org\\.vumc\\.stratifyahfapi\\.fhir\\.prefetch\\.libraryId=my-my-prefetch-library-id
Prefetch Servers
  • key: org.vumc.stratifyahfapi.fhir.prefetch.servers.*
  • default: stratifyahf-prefetch
Prefetch Targets
  • key: org.vumc.stratifyahfapi.fhir.prefetch.targets.*
  • default: stratifyahf-prefetch

Tag summary

Content type

Image

Digest

sha256:3d9d504b2

Size

311.7 MB

Last updated

about 5 hours ago

docker pull vumchealthitpublic/stratify-ahf-api:20260716.1.4ced25fd22b862193d3041edf88a61208c4c7f6c