@smile-digital-health/crl 6.4.40 → 6.4.46

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (133) hide show
  1. package/dist/ast/builder.d.ts +3 -2
  2. package/dist/ast/builder.js +50 -4
  3. package/dist/ast/builder.js.map +1 -1
  4. package/dist/ast/types.d.ts +11 -0
  5. package/dist/ast/types.js.map +1 -1
  6. package/dist/authoring-kit/audit.json +4 -4
  7. package/dist/authoring-kit/index.js +31 -15
  8. package/dist/authoring-kit/index.js.map +1 -1
  9. package/dist/authoring-kit/navigation.js +5 -4
  10. package/dist/authoring-kit/navigation.js.map +1 -1
  11. package/dist/authoring-kit/questionUnitExample.d.ts +1 -0
  12. package/dist/authoring-kit/questionUnitExample.js +29 -0
  13. package/dist/authoring-kit/questionUnitExample.js.map +1 -0
  14. package/dist/cel/emitter/emitFhir.js +12 -0
  15. package/dist/cel/emitter/emitFhir.js.map +1 -1
  16. package/dist/cel/emitter/types.d.ts +1 -1
  17. package/dist/cli/nativeSignals.js +1 -1
  18. package/dist/cli/nativeSignals.js.map +1 -1
  19. package/dist/cli/run-apply-session.js +186 -63
  20. package/dist/cli/run-apply-session.js.map +1 -1
  21. package/dist/cli/run-emit-results.js +4 -0
  22. package/dist/cli/run-emit-results.js.map +1 -1
  23. package/dist/cli/run-regression.js +7 -4
  24. package/dist/cli/run-regression.js.map +1 -1
  25. package/dist/cli/sessionInputQueue.d.ts +14 -0
  26. package/dist/cli/sessionInputQueue.js +85 -0
  27. package/dist/cli/sessionInputQueue.js.map +1 -0
  28. package/dist/cql-emitter/emitCQL.js +6 -1
  29. package/dist/cql-emitter/emitCQL.js.map +1 -1
  30. package/dist/cql-emitter/renderPublicationSelection.d.ts +1 -0
  31. package/dist/cql-emitter/renderPublicationSelection.js +4 -4
  32. package/dist/cql-emitter/renderPublicationSelection.js.map +1 -1
  33. package/dist/cql-emitter/renderQuantityType.d.ts +3 -0
  34. package/dist/cql-emitter/renderQuantityType.js +75 -0
  35. package/dist/cql-emitter/renderQuantityType.js.map +1 -0
  36. package/dist/cre/run.js +65 -14
  37. package/dist/cre/run.js.map +1 -1
  38. package/dist/emit/presentation.d.ts +9 -1
  39. package/dist/emit/presentation.js +36 -0
  40. package/dist/emit/presentation.js.map +1 -1
  41. package/dist/emit/publicationProgram.d.ts +1 -0
  42. package/dist/emit/publicationProgram.js +14 -1
  43. package/dist/emit/publicationProgram.js.map +1 -1
  44. package/dist/emit/publicationQuantity.d.ts +5 -0
  45. package/dist/emit/publicationQuantity.js +25 -0
  46. package/dist/emit/publicationQuantity.js.map +1 -1
  47. package/dist/emit/questionUnit.d.ts +12 -0
  48. package/dist/emit/questionUnit.js +10 -0
  49. package/dist/emit/questionUnit.js.map +1 -0
  50. package/dist/fhir-emitter/closureOrchestrator.js +26 -2
  51. package/dist/fhir-emitter/closureOrchestrator.js.map +1 -1
  52. package/dist/fhir-emitter/decision.d.ts +1 -0
  53. package/dist/fhir-emitter/decision.js +18 -2
  54. package/dist/fhir-emitter/decision.js.map +1 -1
  55. package/dist/fhir-emitter/presentationGroups.d.ts +24 -0
  56. package/dist/fhir-emitter/presentationGroups.js +25 -0
  57. package/dist/fhir-emitter/presentationGroups.js.map +1 -0
  58. package/dist/fhir-emitter/presentationReachability.js +16 -1
  59. package/dist/fhir-emitter/presentationReachability.js.map +1 -1
  60. package/dist/fhir-emitter/structureDefinition.d.ts +1 -0
  61. package/dist/fhir-emitter/structureDefinition.js +11 -1
  62. package/dist/fhir-emitter/structureDefinition.js.map +1 -1
  63. package/dist/fhir-package/index.js +2 -2
  64. package/dist/fhir-package/index.js.map +1 -1
  65. package/dist/flag-change-summary.schema.json +246 -0
  66. package/dist/flags/buildFlagDraft.d.ts +11 -0
  67. package/dist/flags/buildFlagDraft.js +21 -0
  68. package/dist/flags/buildFlagDraft.js.map +1 -1
  69. package/dist/flags/changeSummary.d.ts +154 -0
  70. package/dist/flags/changeSummary.js +30 -0
  71. package/dist/flags/changeSummary.js.map +1 -0
  72. package/dist/flags/flagContext.d.ts +8 -0
  73. package/dist/flags/flagContext.js +20 -0
  74. package/dist/flags/flagContext.js.map +1 -0
  75. package/dist/flags/flagVocab.d.ts +5 -4
  76. package/dist/flags/flagVocab.js +16 -2
  77. package/dist/flags/flagVocab.js.map +1 -1
  78. package/dist/flags/mvFlag.d.ts +2 -1
  79. package/dist/flags/mvFlag.js +7 -0
  80. package/dist/flags/mvFlag.js.map +1 -1
  81. package/dist/grammar/generated/antlr/CRLLexer.d.ts +115 -111
  82. package/dist/grammar/generated/antlr/CRLLexer.js +765 -728
  83. package/dist/grammar/generated/antlr/CRLLexer.js.map +1 -1
  84. package/dist/grammar/generated/antlr/CRLParser.d.ts +232 -188
  85. package/dist/grammar/generated/antlr/CRLParser.js +1367 -1086
  86. package/dist/grammar/generated/antlr/CRLParser.js.map +1 -1
  87. package/dist/grammar/generated/antlr/CRLParserListener.d.ts +6 -0
  88. package/dist/grammar/generated/antlr/CRLParserVisitor.d.ts +4 -0
  89. package/dist/index.d.ts +8 -0
  90. package/dist/index.js +20 -4
  91. package/dist/index.js.map +1 -1
  92. package/dist/mcp/server.js +26 -11
  93. package/dist/mcp/server.js.map +1 -1
  94. package/dist/results/driver/ApplyDriver.build.json +6 -4
  95. package/dist/results/driver/ApplyDriver.class +0 -0
  96. package/dist/results/driver/ApplyDriver.java +132 -4
  97. package/dist/results/driver/ApplyWorker.class +0 -0
  98. package/dist/results/driver/ApplyWorker.java +107 -0
  99. package/dist/results/driver/windows-owned-process.ps1 +2 -2
  100. package/dist/results/driver.js +19 -18
  101. package/dist/results/driver.js.map +1 -1
  102. package/dist/results/nativeProcess.d.ts +20 -0
  103. package/dist/results/nativeProcess.js +98 -0
  104. package/dist/results/nativeProcess.js.map +1 -0
  105. package/dist/results/nativeWorker.d.ts +4 -0
  106. package/dist/results/nativeWorker.js +17 -0
  107. package/dist/results/nativeWorker.js.map +1 -0
  108. package/dist/results/nativeWorkerOwner.d.ts +31 -0
  109. package/dist/results/nativeWorkerOwner.js +271 -0
  110. package/dist/results/nativeWorkerOwner.js.map +1 -0
  111. package/dist/results/nativeWorkerPool.d.ts +47 -0
  112. package/dist/results/nativeWorkerPool.js +353 -0
  113. package/dist/results/nativeWorkerPool.js.map +1 -0
  114. package/dist/results/ownedProcess.d.ts +2 -0
  115. package/dist/results/ownedProcess.js +10 -2
  116. package/dist/results/ownedProcess.js.map +1 -1
  117. package/dist/results/produce.d.ts +10 -0
  118. package/dist/results/produce.js +110 -85
  119. package/dist/results/produce.js.map +1 -1
  120. package/dist/results/runProducer.d.ts +2 -0
  121. package/dist/results/runProducer.js +6 -4
  122. package/dist/results/runProducer.js.map +1 -1
  123. package/dist/results/runtimeFingerprint.d.ts +2 -1
  124. package/dist/results/runtimeFingerprint.js +5 -5
  125. package/dist/results/runtimeFingerprint.js.map +1 -1
  126. package/dist/results/session.d.ts +5 -0
  127. package/dist/results/session.js +91 -63
  128. package/dist/results/session.js.map +1 -1
  129. package/dist/results/spawn.d.ts +4 -4
  130. package/dist/results/spawn.js +4 -4
  131. package/dist/results/spawn.js.map +1 -1
  132. package/docs/apply-session.md +112 -0
  133. package/package.json +1 -1
@@ -1,10 +1,10 @@
1
1
  import { ParserRuleContext } from "antlr4ts/ParserRuleContext";
2
2
  import { AbstractParseTreeVisitor } from "antlr4ts/tree/AbstractParseTreeVisitor";
3
- import { CrlContext, PresentationStatementContext, DecisionStatementContext, CriterionStatementContext, DecisionBodyContext, BranchItemContext, BlockBodyContext, ActionItemContext, ActionStatementContext, RecommendStatementContext, UseStatementContext, TerminologyStatementContext, TerminologyValuesetContext, ActivityStatementContext, ConceptStatementContext, ParameterStatementContext, LibraryStatementContext, IncludeStatementContext, CountDefinitionContext, NarrativeDefinitionContext, DefinedAsBodyContext, DefinedAsBareRefContext, DefinedAsExistsContext, DefinedAsCompositionContext, DefinedAsBooleanCompositionContext, CompositionExpressionContext, SemOrContext, SemAndContext, SemNotContext, CompositionRefContext, CompositionGroupContext, NarrativeContext, NConceptRefContext, NQuantityContext, NWordContext, NArgGroupElementContext, QuantityContext, ArgGroupContext, ArgDisjunctionContext, ArgConjunctionContext, ArgSingletonContext, AVConceptRefContext, AVQuantityContext, AVNestedGroupContext, WhenWithBodyContext, WhenSingleActionContext, OtherwiseWithBodyContext, OtherwiseSingleActionContext } from "../grammar/generated/antlr/CRLParser";
3
+ import { CrlContext, PresentationStatementContext, PresentationGroupStatementContext, DecisionStatementContext, CriterionStatementContext, DecisionBodyContext, BranchItemContext, BlockBodyContext, ActionItemContext, ActionStatementContext, RecommendStatementContext, UseStatementContext, TerminologyStatementContext, TerminologyValuesetContext, ActivityStatementContext, ConceptStatementContext, ParameterStatementContext, LibraryStatementContext, IncludeStatementContext, CountDefinitionContext, NarrativeDefinitionContext, DefinedAsBodyContext, DefinedAsBareRefContext, DefinedAsExistsContext, DefinedAsCompositionContext, DefinedAsBooleanCompositionContext, CompositionExpressionContext, SemOrContext, SemAndContext, SemNotContext, CompositionRefContext, CompositionGroupContext, NarrativeContext, NConceptRefContext, NQuantityContext, NWordContext, NArgGroupElementContext, QuantityContext, ArgGroupContext, ArgDisjunctionContext, ArgConjunctionContext, ArgSingletonContext, AVConceptRefContext, AVQuantityContext, AVNestedGroupContext, WhenWithBodyContext, WhenSingleActionContext, OtherwiseWithBodyContext, OtherwiseSingleActionContext } from "../grammar/generated/antlr/CRLParser";
4
4
  import { CRLParserVisitor } from "../grammar/generated/antlr/CRLParserVisitor";
5
5
  import type { CRLError } from "../types/errors";
6
6
  import { ASTNode, Decision, Criterion, DecisionBody, WhenBlock, OtherwiseBlock, BranchBlock, BlockBody, ActionStatement, RecommendActivity, UseDecision, Terminology, TerminologyValueset, TerminologySystem, TerminologyCode, Activity, ActivityBody, ActivityRequest, ActivityWith, ActivityBecause, Concept, Parameter, DefinedAsDefinition, DefinedAsBareRef, DefinedAsExists, DefinedAsComposition, DefinedAsBooleanComposition, CompositionExpression, CompositionRef, CompositionGroup, DefinitionIsDefinition, ReductionDefinition, NarrativeClause, NConceptRef, NWord, NDisjunction, NConjunction, Quantity } from "./types";
7
- import type { CRL, Presentation, LibraryDeclaration, Include } from "./types";
7
+ import type { CRL, Presentation, PresentationGroup, LibraryDeclaration, Include } from "./types";
8
8
  export declare class CRLAstBuilder extends AbstractParseTreeVisitor<ASTNode> implements CRLParserVisitor<ASTNode> {
9
9
  private readonly errors;
10
10
  protected defaultResult(): ASTNode;
@@ -15,6 +15,7 @@ export declare class CRLAstBuilder extends AbstractParseTreeVisitor<ASTNode> imp
15
15
  visitIncludeStatement(ctx: IncludeStatementContext): Include;
16
16
  visitDecisionStatement(ctx: DecisionStatementContext): Decision;
17
17
  visitPresentationStatement(ctx: PresentationStatementContext): Presentation;
18
+ visitPresentationGroupStatement(ctx: PresentationGroupStatementContext): PresentationGroup;
18
19
  visitCriterionStatement(ctx: CriterionStatementContext): Criterion;
19
20
  visitDecisionBody(ctx: DecisionBodyContext): DecisionBody;
20
21
  visitBranchItem(ctx: BranchItemContext): BranchBlock;
@@ -103,8 +103,9 @@ class CRLAstBuilder extends AbstractParseTreeVisitor_1.AbstractParseTreeVisitor
103
103
  const includes = ctx
104
104
  .includeStatement()
105
105
  .map((i) => this.visitIncludeStatement(i));
106
- const statements = ctx.statement().filter((s) => !s.presentationStatement()).map((s) => this.visit(s));
106
+ const statements = ctx.statement().filter((s) => !s.presentationStatement() && !s.presentationGroupStatement()).map((s) => this.visit(s));
107
107
  const presentations = ctx.statement().flatMap((s) => s.presentationStatement() ? [this.visitPresentationStatement(s.presentationStatement())] : []);
108
+ const presentationGroups = ctx.statement().flatMap((s) => s.presentationGroupStatement() ? [this.visitPresentationGroupStatement(s.presentationGroupStatement())] : []);
108
109
  return {
109
110
  type: "CRL",
110
111
  ...(header ? { header } : {}),
@@ -112,6 +113,7 @@ class CRLAstBuilder extends AbstractParseTreeVisitor_1.AbstractParseTreeVisitor
112
113
  includes,
113
114
  statements,
114
115
  ...(presentations.length ? { presentations } : {}),
116
+ ...(presentationGroups.length ? { presentationGroups } : {}),
115
117
  location: getLocation(ctx),
116
118
  };
117
119
  }
@@ -153,7 +155,7 @@ class CRLAstBuilder extends AbstractParseTreeVisitor_1.AbstractParseTreeVisitor
153
155
  location: getLocation(line) });
154
156
  }
155
157
  else {
156
- const key = line.QUESTION_TEXT_IS() ? "questionText" : "questionDescription";
158
+ const key = line.CHOICE_GROUP_IS() ? "choiceGroup" : line.QUESTION_TEXT_IS() ? "questionText" : "questionDescription";
157
159
  const value = (line.QUOTED_STRING()?.text ?? line.backtickString().text).slice(1, -1);
158
160
  if (node[key] !== undefined || !value.trim())
159
161
  this.reportError("AstError", line, { message: `Presentation ${key} must be nonempty and declared only once.` });
@@ -165,6 +167,42 @@ class CRLAstBuilder extends AbstractParseTreeVisitor_1.AbstractParseTreeVisitor
165
167
  this.reportError("AstError", ctx, { message: "Presentation requires nonempty question text." });
166
168
  return node;
167
169
  }
170
+ visitPresentationGroupStatement(ctx) {
171
+ const node = { type: "PresentationGroup", name: unquote(ctx.identifier().text), location: getLocation(ctx) };
172
+ const seen = new Set();
173
+ for (const line of ctx.presentationGroupLine()) {
174
+ const key = line.COLUMNS_IS() ? "columns" : line.CONTROL_IS() ? "control" : line.QUESTION_TEXT_IS() ? "questionText" : "questionDescription";
175
+ if (seen.has(key)) {
176
+ this.reportError("AstError", line, { message: `Presentation group ${key} must be declared only once.` });
177
+ continue;
178
+ }
179
+ seen.add(key);
180
+ if (key === "columns") {
181
+ const value = Number(line.NUMBER().text);
182
+ if (!Number.isInteger(value) || value < 1 || value > 2147483647)
183
+ this.reportError("AstError", line, { message: "Presentation group columns must be a positive integer." });
184
+ else
185
+ node.columns = value;
186
+ }
187
+ else if (key === "control") {
188
+ const value = line.NARRATIVE_WORD().text;
189
+ if (value !== "checkbox" && value !== "radio")
190
+ this.reportError("AstError", line, { message: "Presentation group control must be checkbox or radio." });
191
+ else
192
+ node.control = value;
193
+ }
194
+ else {
195
+ const value = (line.QUOTED_STRING()?.text ?? line.backtickString().text).slice(1, -1);
196
+ if (!value.trim())
197
+ this.reportError("AstError", line, { message: `Presentation group ${key} must be nonempty.` });
198
+ else
199
+ node[key] = value;
200
+ }
201
+ }
202
+ if (!node.name.trim() || !node.questionText?.trim())
203
+ this.reportError("AstError", ctx, { message: "Presentation group requires a nonempty name and question text." });
204
+ return node;
205
+ }
168
206
  visitCriterionStatement(ctx) {
169
207
  const name = ctx.criterionIdentifier().text.slice(1, -1);
170
208
  const condition = this.branchConditionFrom(ctx.branchCondition());
@@ -477,7 +515,12 @@ class CRLAstBuilder extends AbstractParseTreeVisitor_1.AbstractParseTreeVisitor
477
515
  catch {
478
516
  }
479
517
  }
480
- return { conceptType, valueTypes };
518
+ const declared = valueTypeLines.filter(line => line.SINGLE_QUOTED_STRING());
519
+ const quantityUnit = declared[0]?.SINGLE_QUOTED_STRING()?.text.slice(1, -1);
520
+ if (declared.length && (valueTypes.length !== 1 || valueTypes[0] !== "Quantity" || !/^[\x21-\x7e]+$/.test(quantityUnit ?? ""))) {
521
+ this.reportError("AstError", _ctx, { message: "A unit requires exactly one Quantity value type and a nonempty unit code without whitespace." });
522
+ }
523
+ return { conceptType, valueTypes, ...(quantityUnit === undefined ? {} : { quantityUnit }) };
481
524
  }
482
525
  parseConceptShape(bodyCtx) {
483
526
  const shapeLine = bodyCtx.shapeLine?.()?.[0];
@@ -696,6 +739,8 @@ class CRLAstBuilder extends AbstractParseTreeVisitor_1.AbstractParseTreeVisitor
696
739
  const tok = vtl.CONCEPT_VALUE_TYPE();
697
740
  if (tok)
698
741
  valueTypes.push((tok.text === "text" ? "string" : tok.text));
742
+ if (vtl.SINGLE_QUOTED_STRING())
743
+ this.reportError("AstError", vtl, { message: "Declare the Quantity unit on the concept value type, not on a source representation." });
699
744
  }
700
745
  catch {
701
746
  }
@@ -771,7 +816,7 @@ class CRLAstBuilder extends AbstractParseTreeVisitor_1.AbstractParseTreeVisitor
771
816
  return null;
772
817
  }
773
818
  const types = this.parseConceptTypes(bodyCtx, ctx);
774
- const { conceptType, valueTypes } = types;
819
+ const { conceptType, valueTypes, quantityUnit } = types;
775
820
  const meta = this.metaFrom(bodyCtx.metaLine());
776
821
  const evidence = this.parseEvidence(bodyCtx);
777
822
  const code = this.parseCode(bodyCtx);
@@ -788,6 +833,7 @@ class CRLAstBuilder extends AbstractParseTreeVisitor_1.AbstractParseTreeVisitor
788
833
  name,
789
834
  ...(conceptType ? { conceptType } : {}),
790
835
  valueTypes,
836
+ ...(quantityUnit === undefined ? {} : { quantityUnit }),
791
837
  shape,
792
838
  ...(shapeReduction ? { shapeReduction } : {}),
793
839
  ...(code !== undefined ? { code } : {}),
@@ -1 +1 @@
1
- {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/ast/builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/ast/builder.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,7 @@ export interface CRL extends ASTNode {
23
23
  includes: Include[];
24
24
  statements: Statement[];
25
25
  presentations?: Presentation[];
26
+ presentationGroups?: PresentationGroup[];
26
27
  location: Location;
27
28
  }
28
29
  export interface Presentation extends ASTNode {
@@ -35,6 +36,15 @@ export interface Presentation extends ASTNode {
35
36
  }[];
36
37
  questionText?: string;
37
38
  questionDescription?: string;
39
+ choiceGroup?: string;
40
+ }
41
+ export interface PresentationGroup extends ASTNode {
42
+ type: "PresentationGroup";
43
+ name: string;
44
+ questionText?: string;
45
+ questionDescription?: string;
46
+ columns?: number;
47
+ control?: "checkbox" | "radio";
38
48
  }
39
49
  export type Statement = Decision | Concept | Activity | Terminology | Parameter | Criterion;
40
50
  export interface LibraryDeclaration extends ASTNode {
@@ -267,6 +277,7 @@ export interface ShapeReduction extends ASTNode {
267
277
  equalTime: "error" | "preferLocal";
268
278
  }
269
279
  export interface Concept extends ASTNode {
280
+ quantityUnit?: string;
270
281
  type: "Concept";
271
282
  name: string;
272
283
  conceptType?: ConceptType;
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/ast/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/ast/types.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  {
2
- "auditedRevision": "602bcfc8c6af0fe2e187d85bb00706fc658738e4",
3
- "auditedSchemaVersion": "2.33",
4
- "auditedContentHash": "2560908e70c401e8d963470a1a30df67b984ef8d9bdd6248c1faec12ee8cff1e",
5
- "scope": "Reviewed schema 2.33 Knowledge Engineer app and local Q/A disk workflow through 602bcfc8c6af0fe2e187d85bb00706fc658738e4. Windows path corrections, changed claims/tests/fixtures, review dispositions and bounded source/native/render evidence are recorded in coverage.md. CRL does not observe KELP locks or write MV flags/status. Release installation and customer deployment remain separately qualified.",
2
+ "auditedRevision": "8e9b442578bdfa7076b2dc7c7005dc0f64fa55c4",
3
+ "auditedSchemaVersion": "2.43",
4
+ "auditedContentHash": "3335e25050a9b4c5c9621780cac1838cc52c30ba2aa80e1b58d536f15ae6c8f9",
5
+ "scope": "Reviewed schema 2.43 Quantity type units and structured flags/summaries; baseline c5966c5f80aad52ec582774766e7332a9bdaddf4. Canonical delta: engine identity only. Release Notes UI is outside authoring guidance. R4/direct-profile/exact-admission limits retained; coverage.md has evidence. Installed release/deployment are separate gates.",
6
6
  "evidence": "packages/crl/src/authoring-kit/tests/coverage.md"
7
7
  }