Commit 68f2802
authored
Add a shared helper for lookup field case normalization (#310)
## Rationale
Eleven trigger scripts across the EHR compliance and ONPRC modules had
each copied the same loop for case-normalizing lookup values on write,
so this adds the single shared implementation they can call instead. The
helper takes the LookupValidationHelper as an argument rather than
constructing one, because that class caches each lookup target's
allowable values per instance: callers keep creating it at script scope,
where the target table is read once per batch instead of once per row.
## Related Pull Requests
- LabKey/ehrModules#1199 — converts the EHR
compliance scripts to this helper.
- LabKey/onprcEHRModules#1885 — converts the
ONPRC scripts.
This must merge and deploy first. A consumer script that requires the
new function against an un-updated LDK fails at script compile time.
## Changes
- Adds `LDK.Server.Utils.normalizeLookupFields`, which replaces each
named field's value with the canonically-cased value from its lookup
target and reports a field error for any value the target does not
contain.
- Documents why the validation helper is a parameter, since creating one
per call would silently turn a per-batch read of each lookup target into
a per-row read.
## Tasks
- [x] Claude Code Review
- [x] Code Review1 parent c5baffb commit 68f2802
1 file changed
Lines changed: 19 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
73 | 73 | | |
74 | 74 | | |
75 | 75 | | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
76 | 95 | | |
77 | 96 | | |
78 | 97 | | |
| |||
0 commit comments