Skip to content

Commit 8d602cc

Browse files
feat(helm-charts): Remove SNOMED archive and include stubbed SNOMED files instead
1 parent 93830b3 commit 8d602cc

8 files changed

Lines changed: 16 additions & 24 deletions

File tree

cogstack-cohorter/WebAPP/.dockerignore

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,3 @@ client/node_modules/
33
client-react/node_modules/
44
server/node_modules/
55

6-
server/data/
7-
!server/data/snomed_terms_data.tar.gz

cogstack-cohorter/WebAPP/Dockerfile

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,6 @@ COPY . .
55
RUN cd /usr/src/app/client-react && npm install && npm run build
66
RUN cd /usr/src/app/server && npm install
77

8-
# Bundle the demo SNOMED data archive so random/demo mode works with no volume mount.
9-
# Kept separate from server/data/ so a runtime volume mount doesn't shadow it.
10-
RUN mkdir -p /usr/src/app/server/data-bundled
11-
RUN cp /usr/src/app/server/data/snomed_terms_data.tar.gz /usr/src/app/server/data-bundled/
12-
138
COPY entrypoint.sh /entrypoint.sh
149
RUN sed -i 's/\r$//' /entrypoint.sh && chmod +x /entrypoint.sh
1510

cogstack-cohorter/WebAPP/entrypoint.sh

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,15 @@
22
set -e
33

44
DATA_DIR=/usr/src/app/server/data
5-
BUNDLED_ARCHIVE=/usr/src/app/server/data-bundled/snomed_terms_data.tar.gz
65

7-
# ── Step 1: extract bundled SNOMED data if not already present ────────────────
8-
if [ ! -f "$DATA_DIR/snomed_terms.json" ]; then
9-
echo "[webapp] Extracting bundled SNOMED data..."
10-
tar xzvf "$BUNDLED_ARCHIVE" -C "$DATA_DIR"
11-
fi
6+
# Ensure the writable data directory exists (may be an emptyDir or PVC mount).
7+
mkdir -p "$DATA_DIR"
128

13-
# ── Step 2 (optional): generate random patient data ───────────────────────────
14-
# Runs only on first startup — skipped if patient data files already exist.
15-
# Set RANDOM_DATA=false and supply real MIMIC-IV shaped data via volume mount.
9+
# ── Generate random patient data on first startup (random/demo mode) ──────────
1610
if [ "${RANDOM_DATA}" = "true" ] && [ ! -f "$DATA_DIR/ptt2age.json" ]; then
1711
echo "[webapp] Generating random demo patient data..."
1812
node --max-old-space-size=32768 /usr/src/app/server/gen_random_data.js
1913
fi
2014

21-
# ── Step 3: start the server ──────────────────────────────────────────────────
15+
# ── Start the server ──────────────────────────────────────────────────────────
2216
exec node --max-old-space-size=32768 server.js

cogstack-cohorter/WebAPP/server/data/cui_pt2ch_example.json

Lines changed: 1 addition & 0 deletions
Large diffs are not rendered by default.

cogstack-cohorter/WebAPP/server/data/snomed_example.json

Lines changed: 1 addition & 0 deletions
Large diffs are not rendered by default.

cogstack-cohorter/WebAPP/server/gen_random_data.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
// node --max-old-space-size=32768 gen_random_data.js
44
console.log('Generating random data')
55
const fs = require('fs');
6-
const snomed_terms = require('./data/snomed_terms.json');
6+
const snomed_terms = require('./data/snomed_example.json');
77

88
// Returns a random integer between min (inclusive) and max (inclusive).
99
function random_int(min, max) {

cogstack-cohorter/WebAPP/server/server.js

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,15 @@ const NL2DSL_SERVER = process.env.NL2DSL_SERVER || "http://localhost:3002/api/co
3333
let port = process.env.PORT || 3000;
3434
console.log('Loading data...');
3535

36-
// index all the snomed concepts
37-
const snomed_terms = require('./data/snomed_terms.json');
38-
const cui_pt2ch = require('./data/cui_pt2ch.json');
36+
// In random/demo mode use the example subset baked into the image.
37+
// In production mode use the full SNOMED files supplied via volume mount.
38+
const isRandomMode = (process.env.RANDOM_DATA || 'true') === 'true';
39+
const snomed_terms = isRandomMode
40+
? require('./data/snomed_example.json')
41+
: require('./data/snomed_terms.json');
42+
const cui_pt2ch = isRandomMode
43+
? require('./data/cui_pt2ch_example.json')
44+
: require('./data/cui_pt2ch.json');
3945

4046
// for admin login
4147
const admin_pwd = process.env.PASSWORD || 'admin_pass';
Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
11
# CI smoke-test overrides.
2-
# RANDOM_DATA=true is already the default — the image's bundled demo SNOMED data
3-
# is used automatically, so no data mount or init container is needed here.
4-
# Persistence is disabled so no PVC is provisioned during the test.
52
webapp:
63
persistence:
74
enabled: false

0 commit comments

Comments
 (0)