@smile-digital-health/crl 0.7.0
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.
- package/README.md +502 -0
- package/dist/ast/builder.d.ts +45 -0
- package/dist/ast/builder.js +389 -0
- package/dist/ast/builder.js.map +1 -0
- package/dist/ast/types.d.ts +223 -0
- package/dist/ast/types.js +73 -0
- package/dist/ast/types.js.map +1 -0
- package/dist/ast/utils.d.ts +14 -0
- package/dist/ast/utils.js +65 -0
- package/dist/ast/utils.js.map +1 -0
- package/dist/cli/run-ast.d.ts +1 -0
- package/dist/cli/run-ast.js +24 -0
- package/dist/cli/run-ast.js.map +1 -0
- package/dist/cli/run-lexer.d.ts +1 -0
- package/dist/cli/run-lexer.js +41 -0
- package/dist/cli/run-lexer.js.map +1 -0
- package/dist/cli/run-parser.d.ts +1 -0
- package/dist/cli/run-parser.js +33 -0
- package/dist/cli/run-parser.js.map +1 -0
- package/dist/cli/run-transformer-fsh-to-crl.d.ts +1 -0
- package/dist/cli/run-transformer-fsh-to-crl.js +20 -0
- package/dist/cli/run-transformer-fsh-to-crl.js.map +1 -0
- package/dist/cli/run-validator.d.ts +1 -0
- package/dist/cli/run-validator.js +37 -0
- package/dist/cli/run-validator.js.map +1 -0
- package/dist/grammar/activityTypes.d.ts +2 -0
- package/dist/grammar/activityTypes.js +9 -0
- package/dist/grammar/activityTypes.js.map +1 -0
- package/dist/grammar/conceptTypes.d.ts +2 -0
- package/dist/grammar/conceptTypes.js +9 -0
- package/dist/grammar/conceptTypes.js.map +1 -0
- package/dist/grammar/conceptValueTypes.d.ts +2 -0
- package/dist/grammar/conceptValueTypes.js +9 -0
- package/dist/grammar/conceptValueTypes.js.map +1 -0
- package/dist/grammar/generated/antlr/CRLLexer.d.ts +84 -0
- package/dist/grammar/generated/antlr/CRLLexer.js +505 -0
- package/dist/grammar/generated/antlr/CRLLexer.js.map +1 -0
- package/dist/grammar/generated/antlr/CRLParser.d.ts +653 -0
- package/dist/grammar/generated/antlr/CRLParser.js +3466 -0
- package/dist/grammar/generated/antlr/CRLParser.js.map +1 -0
- package/dist/grammar/generated/antlr/CRLParserListener.d.ts +162 -0
- package/dist/grammar/generated/antlr/CRLParserListener.js +3 -0
- package/dist/grammar/generated/antlr/CRLParserListener.js.map +1 -0
- package/dist/grammar/generated/antlr/CRLParserVisitor.d.ts +109 -0
- package/dist/grammar/generated/antlr/CRLParserVisitor.js +3 -0
- package/dist/grammar/generated/antlr/CRLParserVisitor.js.map +1 -0
- package/dist/grammar/generated/types/activityTypes.json +16 -0
- package/dist/grammar/generated/types/conceptTypes.json +26 -0
- package/dist/grammar/generated/types/conceptValueTypes.json +14 -0
- package/dist/index.d.ts +18 -0
- package/dist/index.js +147 -0
- package/dist/index.js.map +1 -0
- package/dist/lexer/CRLLexerErrorListener.d.ts +16 -0
- package/dist/lexer/CRLLexerErrorListener.js +168 -0
- package/dist/lexer/CRLLexerErrorListener.js.map +1 -0
- package/dist/lexer/createLexer.d.ts +6 -0
- package/dist/lexer/createLexer.js +14 -0
- package/dist/lexer/createLexer.js.map +1 -0
- package/dist/lexer/index.d.ts +1 -0
- package/dist/lexer/index.js +6 -0
- package/dist/lexer/index.js.map +1 -0
- package/dist/parser/CustomParserErrorListener.d.ts +8 -0
- package/dist/parser/CustomParserErrorListener.js +37 -0
- package/dist/parser/CustomParserErrorListener.js.map +1 -0
- package/dist/parser/createParser.d.ts +7 -0
- package/dist/parser/createParser.js +17 -0
- package/dist/parser/createParser.js.map +1 -0
- package/dist/transformer/fsh-to-crl/mapping/activityDefinition.d.ts +41 -0
- package/dist/transformer/fsh-to-crl/mapping/activityDefinition.js +229 -0
- package/dist/transformer/fsh-to-crl/mapping/activityDefinition.js.map +1 -0
- package/dist/transformer/fsh-to-crl/mapping/concept.d.ts +1 -0
- package/dist/transformer/fsh-to-crl/mapping/concept.js +14 -0
- package/dist/transformer/fsh-to-crl/mapping/concept.js.map +1 -0
- package/dist/transformer/fsh-to-crl/mapping/planDefinition.d.ts +14 -0
- package/dist/transformer/fsh-to-crl/mapping/planDefinition.js +235 -0
- package/dist/transformer/fsh-to-crl/mapping/planDefinition.js.map +1 -0
- package/dist/transformer/fsh-to-crl/mapping/terminology.d.ts +1 -0
- package/dist/transformer/fsh-to-crl/mapping/terminology.js +10 -0
- package/dist/transformer/fsh-to-crl/mapping/terminology.js.map +1 -0
- package/dist/transformer/fsh-to-crl/transformer.d.ts +1 -0
- package/dist/transformer/fsh-to-crl/transformer.js +172 -0
- package/dist/transformer/fsh-to-crl/transformer.js.map +1 -0
- package/dist/transformer/fsh-to-crl/utils/activityDeduplication.d.ts +11 -0
- package/dist/transformer/fsh-to-crl/utils/activityDeduplication.js +23 -0
- package/dist/transformer/fsh-to-crl/utils/activityDeduplication.js.map +1 -0
- package/dist/transformer/fsh-to-crl/utils/fshPathFunctions.d.ts +12 -0
- package/dist/transformer/fsh-to-crl/utils/fshPathFunctions.js +73 -0
- package/dist/transformer/fsh-to-crl/utils/fshPathFunctions.js.map +1 -0
- package/dist/types/errors.d.ts +8 -0
- package/dist/types/errors.js +3 -0
- package/dist/types/errors.js.map +1 -0
- package/dist/validator/actionUniquenessValidator.d.ts +20 -0
- package/dist/validator/actionUniquenessValidator.js +280 -0
- package/dist/validator/actionUniquenessValidator.js.map +1 -0
- package/dist/validator/cycleDetector.d.ts +13 -0
- package/dist/validator/cycleDetector.js +79 -0
- package/dist/validator/cycleDetector.js.map +1 -0
- package/dist/validator/nameUniquenessValidator.d.ts +5 -0
- package/dist/validator/nameUniquenessValidator.js +87 -0
- package/dist/validator/nameUniquenessValidator.js.map +1 -0
- package/dist/validator/unusedDeclarationsValidator.d.ts +21 -0
- package/dist/validator/unusedDeclarationsValidator.js +190 -0
- package/dist/validator/unusedDeclarationsValidator.js.map +1 -0
- package/dist/validator/validator.d.ts +27 -0
- package/dist/validator/validator.js +30 -0
- package/dist/validator/validator.js.map +1 -0
- package/package.json +92 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CRLParser.js","sourceRoot":"","sources":["../../../../src/grammar/generated/antlr/CRLParser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import { ParseTreeListener } from "antlr4ts/tree/ParseTreeListener";
|
|
2
|
+
import { WhenWithBodyContext } from "./CRLParser";
|
|
3
|
+
import { WhenSingleActionContext } from "./CRLParser";
|
|
4
|
+
import { NestedWhenBlockContext } from "./CRLParser";
|
|
5
|
+
import { BlockActionContext } from "./CRLParser";
|
|
6
|
+
import { DefinitionConceptContext } from "./CRLParser";
|
|
7
|
+
import { DefinitionLogicContext } from "./CRLParser";
|
|
8
|
+
import { ConceptAtomContext } from "./CRLParser";
|
|
9
|
+
import { GroupExpressionContext } from "./CRLParser";
|
|
10
|
+
import { CrlContext } from "./CRLParser";
|
|
11
|
+
import { StatementContext } from "./CRLParser";
|
|
12
|
+
import { DecisionStatementContext } from "./CRLParser";
|
|
13
|
+
import { DecisionBodyContext } from "./CRLParser";
|
|
14
|
+
import { WhenBlockContext } from "./CRLParser";
|
|
15
|
+
import { AnyOrAllClauseContext } from "./CRLParser";
|
|
16
|
+
import { BlockBodyContext } from "./CRLParser";
|
|
17
|
+
import { SingleActionStatementContext } from "./CRLParser";
|
|
18
|
+
import { BlockStatementContext } from "./CRLParser";
|
|
19
|
+
import { ActionStatementContext } from "./CRLParser";
|
|
20
|
+
import { DoStatementContext } from "./CRLParser";
|
|
21
|
+
import { UseStatementContext } from "./CRLParser";
|
|
22
|
+
import { TerminologyStatementContext } from "./CRLParser";
|
|
23
|
+
import { TerminologyValuesetContext } from "./CRLParser";
|
|
24
|
+
import { TerminologySystemCodeContext } from "./CRLParser";
|
|
25
|
+
import { ActivityStatementContext } from "./CRLParser";
|
|
26
|
+
import { ConceptStatementContext } from "./CRLParser";
|
|
27
|
+
import { ConceptBodyContext } from "./CRLParser";
|
|
28
|
+
import { TypeLineContext } from "./CRLParser";
|
|
29
|
+
import { ValueTypeLineContext } from "./CRLParser";
|
|
30
|
+
import { EvidenceLineContext } from "./CRLParser";
|
|
31
|
+
import { CodedFromLineContext } from "./CRLParser";
|
|
32
|
+
import { InferredFromLineContext } from "./CRLParser";
|
|
33
|
+
import { InferredBodyContext } from "./CRLParser";
|
|
34
|
+
import { InferredFromConceptReferenceContext } from "./CRLParser";
|
|
35
|
+
import { PatternStatementContext } from "./CRLParser";
|
|
36
|
+
import { InferredFromDescriptiveLogicContext } from "./CRLParser";
|
|
37
|
+
import { InferredFromExpressionContext } from "./CRLParser";
|
|
38
|
+
import { InformalOrContext } from "./CRLParser";
|
|
39
|
+
import { InformalAndContext } from "./CRLParser";
|
|
40
|
+
import { InformalNotContext } from "./CRLParser";
|
|
41
|
+
import { AtomContext } from "./CRLParser";
|
|
42
|
+
import { IdentifierContext } from "./CRLParser";
|
|
43
|
+
import { DecisionIdentifierContext } from "./CRLParser";
|
|
44
|
+
import { DecisionReferenceContext } from "./CRLParser";
|
|
45
|
+
import { TerminologyIdentifierContext } from "./CRLParser";
|
|
46
|
+
import { TerminologyReferenceContext } from "./CRLParser";
|
|
47
|
+
import { ActivityIdentifierContext } from "./CRLParser";
|
|
48
|
+
import { ActivityReferenceContext } from "./CRLParser";
|
|
49
|
+
import { ConceptIdentifierContext } from "./CRLParser";
|
|
50
|
+
import { ConceptReferenceContext } from "./CRLParser";
|
|
51
|
+
import { BacktickStringContext } from "./CRLParser";
|
|
52
|
+
import { PatternNameContext } from "./CRLParser";
|
|
53
|
+
import { ActivityTypeValueContext } from "./CRLParser";
|
|
54
|
+
import { RationaleContext } from "./CRLParser";
|
|
55
|
+
export interface CRLParserListener extends ParseTreeListener {
|
|
56
|
+
enterWhenWithBody?: (ctx: WhenWithBodyContext) => void;
|
|
57
|
+
exitWhenWithBody?: (ctx: WhenWithBodyContext) => void;
|
|
58
|
+
enterWhenSingleAction?: (ctx: WhenSingleActionContext) => void;
|
|
59
|
+
exitWhenSingleAction?: (ctx: WhenSingleActionContext) => void;
|
|
60
|
+
enterNestedWhenBlock?: (ctx: NestedWhenBlockContext) => void;
|
|
61
|
+
exitNestedWhenBlock?: (ctx: NestedWhenBlockContext) => void;
|
|
62
|
+
enterBlockAction?: (ctx: BlockActionContext) => void;
|
|
63
|
+
exitBlockAction?: (ctx: BlockActionContext) => void;
|
|
64
|
+
enterDefinitionConcept?: (ctx: DefinitionConceptContext) => void;
|
|
65
|
+
exitDefinitionConcept?: (ctx: DefinitionConceptContext) => void;
|
|
66
|
+
enterDefinitionLogic?: (ctx: DefinitionLogicContext) => void;
|
|
67
|
+
exitDefinitionLogic?: (ctx: DefinitionLogicContext) => void;
|
|
68
|
+
enterConceptAtom?: (ctx: ConceptAtomContext) => void;
|
|
69
|
+
exitConceptAtom?: (ctx: ConceptAtomContext) => void;
|
|
70
|
+
enterGroupExpression?: (ctx: GroupExpressionContext) => void;
|
|
71
|
+
exitGroupExpression?: (ctx: GroupExpressionContext) => void;
|
|
72
|
+
enterCrl?: (ctx: CrlContext) => void;
|
|
73
|
+
exitCrl?: (ctx: CrlContext) => void;
|
|
74
|
+
enterStatement?: (ctx: StatementContext) => void;
|
|
75
|
+
exitStatement?: (ctx: StatementContext) => void;
|
|
76
|
+
enterDecisionStatement?: (ctx: DecisionStatementContext) => void;
|
|
77
|
+
exitDecisionStatement?: (ctx: DecisionStatementContext) => void;
|
|
78
|
+
enterDecisionBody?: (ctx: DecisionBodyContext) => void;
|
|
79
|
+
exitDecisionBody?: (ctx: DecisionBodyContext) => void;
|
|
80
|
+
enterWhenBlock?: (ctx: WhenBlockContext) => void;
|
|
81
|
+
exitWhenBlock?: (ctx: WhenBlockContext) => void;
|
|
82
|
+
enterAnyOrAllClause?: (ctx: AnyOrAllClauseContext) => void;
|
|
83
|
+
exitAnyOrAllClause?: (ctx: AnyOrAllClauseContext) => void;
|
|
84
|
+
enterBlockBody?: (ctx: BlockBodyContext) => void;
|
|
85
|
+
exitBlockBody?: (ctx: BlockBodyContext) => void;
|
|
86
|
+
enterSingleActionStatement?: (ctx: SingleActionStatementContext) => void;
|
|
87
|
+
exitSingleActionStatement?: (ctx: SingleActionStatementContext) => void;
|
|
88
|
+
enterBlockStatement?: (ctx: BlockStatementContext) => void;
|
|
89
|
+
exitBlockStatement?: (ctx: BlockStatementContext) => void;
|
|
90
|
+
enterActionStatement?: (ctx: ActionStatementContext) => void;
|
|
91
|
+
exitActionStatement?: (ctx: ActionStatementContext) => void;
|
|
92
|
+
enterDoStatement?: (ctx: DoStatementContext) => void;
|
|
93
|
+
exitDoStatement?: (ctx: DoStatementContext) => void;
|
|
94
|
+
enterUseStatement?: (ctx: UseStatementContext) => void;
|
|
95
|
+
exitUseStatement?: (ctx: UseStatementContext) => void;
|
|
96
|
+
enterTerminologyStatement?: (ctx: TerminologyStatementContext) => void;
|
|
97
|
+
exitTerminologyStatement?: (ctx: TerminologyStatementContext) => void;
|
|
98
|
+
enterTerminologyValueset?: (ctx: TerminologyValuesetContext) => void;
|
|
99
|
+
exitTerminologyValueset?: (ctx: TerminologyValuesetContext) => void;
|
|
100
|
+
enterTerminologySystemCode?: (ctx: TerminologySystemCodeContext) => void;
|
|
101
|
+
exitTerminologySystemCode?: (ctx: TerminologySystemCodeContext) => void;
|
|
102
|
+
enterActivityStatement?: (ctx: ActivityStatementContext) => void;
|
|
103
|
+
exitActivityStatement?: (ctx: ActivityStatementContext) => void;
|
|
104
|
+
enterConceptStatement?: (ctx: ConceptStatementContext) => void;
|
|
105
|
+
exitConceptStatement?: (ctx: ConceptStatementContext) => void;
|
|
106
|
+
enterConceptBody?: (ctx: ConceptBodyContext) => void;
|
|
107
|
+
exitConceptBody?: (ctx: ConceptBodyContext) => void;
|
|
108
|
+
enterTypeLine?: (ctx: TypeLineContext) => void;
|
|
109
|
+
exitTypeLine?: (ctx: TypeLineContext) => void;
|
|
110
|
+
enterValueTypeLine?: (ctx: ValueTypeLineContext) => void;
|
|
111
|
+
exitValueTypeLine?: (ctx: ValueTypeLineContext) => void;
|
|
112
|
+
enterEvidenceLine?: (ctx: EvidenceLineContext) => void;
|
|
113
|
+
exitEvidenceLine?: (ctx: EvidenceLineContext) => void;
|
|
114
|
+
enterCodedFromLine?: (ctx: CodedFromLineContext) => void;
|
|
115
|
+
exitCodedFromLine?: (ctx: CodedFromLineContext) => void;
|
|
116
|
+
enterInferredFromLine?: (ctx: InferredFromLineContext) => void;
|
|
117
|
+
exitInferredFromLine?: (ctx: InferredFromLineContext) => void;
|
|
118
|
+
enterInferredBody?: (ctx: InferredBodyContext) => void;
|
|
119
|
+
exitInferredBody?: (ctx: InferredBodyContext) => void;
|
|
120
|
+
enterInferredFromConceptReference?: (ctx: InferredFromConceptReferenceContext) => void;
|
|
121
|
+
exitInferredFromConceptReference?: (ctx: InferredFromConceptReferenceContext) => void;
|
|
122
|
+
enterPatternStatement?: (ctx: PatternStatementContext) => void;
|
|
123
|
+
exitPatternStatement?: (ctx: PatternStatementContext) => void;
|
|
124
|
+
enterInferredFromDescriptiveLogic?: (ctx: InferredFromDescriptiveLogicContext) => void;
|
|
125
|
+
exitInferredFromDescriptiveLogic?: (ctx: InferredFromDescriptiveLogicContext) => void;
|
|
126
|
+
enterInferredFromExpression?: (ctx: InferredFromExpressionContext) => void;
|
|
127
|
+
exitInferredFromExpression?: (ctx: InferredFromExpressionContext) => void;
|
|
128
|
+
enterInformalOr?: (ctx: InformalOrContext) => void;
|
|
129
|
+
exitInformalOr?: (ctx: InformalOrContext) => void;
|
|
130
|
+
enterInformalAnd?: (ctx: InformalAndContext) => void;
|
|
131
|
+
exitInformalAnd?: (ctx: InformalAndContext) => void;
|
|
132
|
+
enterInformalNot?: (ctx: InformalNotContext) => void;
|
|
133
|
+
exitInformalNot?: (ctx: InformalNotContext) => void;
|
|
134
|
+
enterAtom?: (ctx: AtomContext) => void;
|
|
135
|
+
exitAtom?: (ctx: AtomContext) => void;
|
|
136
|
+
enterIdentifier?: (ctx: IdentifierContext) => void;
|
|
137
|
+
exitIdentifier?: (ctx: IdentifierContext) => void;
|
|
138
|
+
enterDecisionIdentifier?: (ctx: DecisionIdentifierContext) => void;
|
|
139
|
+
exitDecisionIdentifier?: (ctx: DecisionIdentifierContext) => void;
|
|
140
|
+
enterDecisionReference?: (ctx: DecisionReferenceContext) => void;
|
|
141
|
+
exitDecisionReference?: (ctx: DecisionReferenceContext) => void;
|
|
142
|
+
enterTerminologyIdentifier?: (ctx: TerminologyIdentifierContext) => void;
|
|
143
|
+
exitTerminologyIdentifier?: (ctx: TerminologyIdentifierContext) => void;
|
|
144
|
+
enterTerminologyReference?: (ctx: TerminologyReferenceContext) => void;
|
|
145
|
+
exitTerminologyReference?: (ctx: TerminologyReferenceContext) => void;
|
|
146
|
+
enterActivityIdentifier?: (ctx: ActivityIdentifierContext) => void;
|
|
147
|
+
exitActivityIdentifier?: (ctx: ActivityIdentifierContext) => void;
|
|
148
|
+
enterActivityReference?: (ctx: ActivityReferenceContext) => void;
|
|
149
|
+
exitActivityReference?: (ctx: ActivityReferenceContext) => void;
|
|
150
|
+
enterConceptIdentifier?: (ctx: ConceptIdentifierContext) => void;
|
|
151
|
+
exitConceptIdentifier?: (ctx: ConceptIdentifierContext) => void;
|
|
152
|
+
enterConceptReference?: (ctx: ConceptReferenceContext) => void;
|
|
153
|
+
exitConceptReference?: (ctx: ConceptReferenceContext) => void;
|
|
154
|
+
enterBacktickString?: (ctx: BacktickStringContext) => void;
|
|
155
|
+
exitBacktickString?: (ctx: BacktickStringContext) => void;
|
|
156
|
+
enterPatternName?: (ctx: PatternNameContext) => void;
|
|
157
|
+
exitPatternName?: (ctx: PatternNameContext) => void;
|
|
158
|
+
enterActivityTypeValue?: (ctx: ActivityTypeValueContext) => void;
|
|
159
|
+
exitActivityTypeValue?: (ctx: ActivityTypeValueContext) => void;
|
|
160
|
+
enterRationale?: (ctx: RationaleContext) => void;
|
|
161
|
+
exitRationale?: (ctx: RationaleContext) => void;
|
|
162
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CRLParserListener.js","sourceRoot":"","sources":["../../../../src/grammar/generated/antlr/CRLParserListener.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { ParseTreeVisitor } from "antlr4ts/tree/ParseTreeVisitor";
|
|
2
|
+
import { WhenWithBodyContext } from "./CRLParser";
|
|
3
|
+
import { WhenSingleActionContext } from "./CRLParser";
|
|
4
|
+
import { NestedWhenBlockContext } from "./CRLParser";
|
|
5
|
+
import { BlockActionContext } from "./CRLParser";
|
|
6
|
+
import { DefinitionConceptContext } from "./CRLParser";
|
|
7
|
+
import { DefinitionLogicContext } from "./CRLParser";
|
|
8
|
+
import { ConceptAtomContext } from "./CRLParser";
|
|
9
|
+
import { GroupExpressionContext } from "./CRLParser";
|
|
10
|
+
import { CrlContext } from "./CRLParser";
|
|
11
|
+
import { StatementContext } from "./CRLParser";
|
|
12
|
+
import { DecisionStatementContext } from "./CRLParser";
|
|
13
|
+
import { DecisionBodyContext } from "./CRLParser";
|
|
14
|
+
import { WhenBlockContext } from "./CRLParser";
|
|
15
|
+
import { AnyOrAllClauseContext } from "./CRLParser";
|
|
16
|
+
import { BlockBodyContext } from "./CRLParser";
|
|
17
|
+
import { SingleActionStatementContext } from "./CRLParser";
|
|
18
|
+
import { BlockStatementContext } from "./CRLParser";
|
|
19
|
+
import { ActionStatementContext } from "./CRLParser";
|
|
20
|
+
import { DoStatementContext } from "./CRLParser";
|
|
21
|
+
import { UseStatementContext } from "./CRLParser";
|
|
22
|
+
import { TerminologyStatementContext } from "./CRLParser";
|
|
23
|
+
import { TerminologyValuesetContext } from "./CRLParser";
|
|
24
|
+
import { TerminologySystemCodeContext } from "./CRLParser";
|
|
25
|
+
import { ActivityStatementContext } from "./CRLParser";
|
|
26
|
+
import { ConceptStatementContext } from "./CRLParser";
|
|
27
|
+
import { ConceptBodyContext } from "./CRLParser";
|
|
28
|
+
import { TypeLineContext } from "./CRLParser";
|
|
29
|
+
import { ValueTypeLineContext } from "./CRLParser";
|
|
30
|
+
import { EvidenceLineContext } from "./CRLParser";
|
|
31
|
+
import { CodedFromLineContext } from "./CRLParser";
|
|
32
|
+
import { InferredFromLineContext } from "./CRLParser";
|
|
33
|
+
import { InferredBodyContext } from "./CRLParser";
|
|
34
|
+
import { InferredFromConceptReferenceContext } from "./CRLParser";
|
|
35
|
+
import { PatternStatementContext } from "./CRLParser";
|
|
36
|
+
import { InferredFromDescriptiveLogicContext } from "./CRLParser";
|
|
37
|
+
import { InferredFromExpressionContext } from "./CRLParser";
|
|
38
|
+
import { InformalOrContext } from "./CRLParser";
|
|
39
|
+
import { InformalAndContext } from "./CRLParser";
|
|
40
|
+
import { InformalNotContext } from "./CRLParser";
|
|
41
|
+
import { AtomContext } from "./CRLParser";
|
|
42
|
+
import { IdentifierContext } from "./CRLParser";
|
|
43
|
+
import { DecisionIdentifierContext } from "./CRLParser";
|
|
44
|
+
import { DecisionReferenceContext } from "./CRLParser";
|
|
45
|
+
import { TerminologyIdentifierContext } from "./CRLParser";
|
|
46
|
+
import { TerminologyReferenceContext } from "./CRLParser";
|
|
47
|
+
import { ActivityIdentifierContext } from "./CRLParser";
|
|
48
|
+
import { ActivityReferenceContext } from "./CRLParser";
|
|
49
|
+
import { ConceptIdentifierContext } from "./CRLParser";
|
|
50
|
+
import { ConceptReferenceContext } from "./CRLParser";
|
|
51
|
+
import { BacktickStringContext } from "./CRLParser";
|
|
52
|
+
import { PatternNameContext } from "./CRLParser";
|
|
53
|
+
import { ActivityTypeValueContext } from "./CRLParser";
|
|
54
|
+
import { RationaleContext } from "./CRLParser";
|
|
55
|
+
export interface CRLParserVisitor<Result> extends ParseTreeVisitor<Result> {
|
|
56
|
+
visitWhenWithBody?: (ctx: WhenWithBodyContext) => Result;
|
|
57
|
+
visitWhenSingleAction?: (ctx: WhenSingleActionContext) => Result;
|
|
58
|
+
visitNestedWhenBlock?: (ctx: NestedWhenBlockContext) => Result;
|
|
59
|
+
visitBlockAction?: (ctx: BlockActionContext) => Result;
|
|
60
|
+
visitDefinitionConcept?: (ctx: DefinitionConceptContext) => Result;
|
|
61
|
+
visitDefinitionLogic?: (ctx: DefinitionLogicContext) => Result;
|
|
62
|
+
visitConceptAtom?: (ctx: ConceptAtomContext) => Result;
|
|
63
|
+
visitGroupExpression?: (ctx: GroupExpressionContext) => Result;
|
|
64
|
+
visitCrl?: (ctx: CrlContext) => Result;
|
|
65
|
+
visitStatement?: (ctx: StatementContext) => Result;
|
|
66
|
+
visitDecisionStatement?: (ctx: DecisionStatementContext) => Result;
|
|
67
|
+
visitDecisionBody?: (ctx: DecisionBodyContext) => Result;
|
|
68
|
+
visitWhenBlock?: (ctx: WhenBlockContext) => Result;
|
|
69
|
+
visitAnyOrAllClause?: (ctx: AnyOrAllClauseContext) => Result;
|
|
70
|
+
visitBlockBody?: (ctx: BlockBodyContext) => Result;
|
|
71
|
+
visitSingleActionStatement?: (ctx: SingleActionStatementContext) => Result;
|
|
72
|
+
visitBlockStatement?: (ctx: BlockStatementContext) => Result;
|
|
73
|
+
visitActionStatement?: (ctx: ActionStatementContext) => Result;
|
|
74
|
+
visitDoStatement?: (ctx: DoStatementContext) => Result;
|
|
75
|
+
visitUseStatement?: (ctx: UseStatementContext) => Result;
|
|
76
|
+
visitTerminologyStatement?: (ctx: TerminologyStatementContext) => Result;
|
|
77
|
+
visitTerminologyValueset?: (ctx: TerminologyValuesetContext) => Result;
|
|
78
|
+
visitTerminologySystemCode?: (ctx: TerminologySystemCodeContext) => Result;
|
|
79
|
+
visitActivityStatement?: (ctx: ActivityStatementContext) => Result;
|
|
80
|
+
visitConceptStatement?: (ctx: ConceptStatementContext) => Result;
|
|
81
|
+
visitConceptBody?: (ctx: ConceptBodyContext) => Result;
|
|
82
|
+
visitTypeLine?: (ctx: TypeLineContext) => Result;
|
|
83
|
+
visitValueTypeLine?: (ctx: ValueTypeLineContext) => Result;
|
|
84
|
+
visitEvidenceLine?: (ctx: EvidenceLineContext) => Result;
|
|
85
|
+
visitCodedFromLine?: (ctx: CodedFromLineContext) => Result;
|
|
86
|
+
visitInferredFromLine?: (ctx: InferredFromLineContext) => Result;
|
|
87
|
+
visitInferredBody?: (ctx: InferredBodyContext) => Result;
|
|
88
|
+
visitInferredFromConceptReference?: (ctx: InferredFromConceptReferenceContext) => Result;
|
|
89
|
+
visitPatternStatement?: (ctx: PatternStatementContext) => Result;
|
|
90
|
+
visitInferredFromDescriptiveLogic?: (ctx: InferredFromDescriptiveLogicContext) => Result;
|
|
91
|
+
visitInferredFromExpression?: (ctx: InferredFromExpressionContext) => Result;
|
|
92
|
+
visitInformalOr?: (ctx: InformalOrContext) => Result;
|
|
93
|
+
visitInformalAnd?: (ctx: InformalAndContext) => Result;
|
|
94
|
+
visitInformalNot?: (ctx: InformalNotContext) => Result;
|
|
95
|
+
visitAtom?: (ctx: AtomContext) => Result;
|
|
96
|
+
visitIdentifier?: (ctx: IdentifierContext) => Result;
|
|
97
|
+
visitDecisionIdentifier?: (ctx: DecisionIdentifierContext) => Result;
|
|
98
|
+
visitDecisionReference?: (ctx: DecisionReferenceContext) => Result;
|
|
99
|
+
visitTerminologyIdentifier?: (ctx: TerminologyIdentifierContext) => Result;
|
|
100
|
+
visitTerminologyReference?: (ctx: TerminologyReferenceContext) => Result;
|
|
101
|
+
visitActivityIdentifier?: (ctx: ActivityIdentifierContext) => Result;
|
|
102
|
+
visitActivityReference?: (ctx: ActivityReferenceContext) => Result;
|
|
103
|
+
visitConceptIdentifier?: (ctx: ConceptIdentifierContext) => Result;
|
|
104
|
+
visitConceptReference?: (ctx: ConceptReferenceContext) => Result;
|
|
105
|
+
visitBacktickString?: (ctx: BacktickStringContext) => Result;
|
|
106
|
+
visitPatternName?: (ctx: PatternNameContext) => Result;
|
|
107
|
+
visitActivityTypeValue?: (ctx: ActivityTypeValueContext) => Result;
|
|
108
|
+
visitRationale?: (ctx: RationaleContext) => Result;
|
|
109
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CRLParserVisitor.js","sourceRoot":"","sources":["../../../../src/grammar/generated/antlr/CRLParserVisitor.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
[
|
|
2
|
+
"CPGAdministerMedication",
|
|
3
|
+
"CPGCollectInformation",
|
|
4
|
+
"CPGCommunicationRequest",
|
|
5
|
+
"CPGDispenseMedication",
|
|
6
|
+
"CPGDocumentMedication",
|
|
7
|
+
"CPGEnrollment",
|
|
8
|
+
"CPGGenerateReport",
|
|
9
|
+
"CPGImmunizationRequest",
|
|
10
|
+
"CPGMedicationRequest",
|
|
11
|
+
"CPGProposeDiagnosisTask",
|
|
12
|
+
"CPGRecordDetectedIssue",
|
|
13
|
+
"CPGRecordInference",
|
|
14
|
+
"CPGReportFlagTask",
|
|
15
|
+
"CPGServiceRequest"
|
|
16
|
+
]
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
[
|
|
2
|
+
"AdverseEvent",
|
|
3
|
+
"AllergyIntolerance",
|
|
4
|
+
"ClinicalImpression",
|
|
5
|
+
"Communication",
|
|
6
|
+
"CommunicationRequest",
|
|
7
|
+
"Condition",
|
|
8
|
+
"DetectedIssue",
|
|
9
|
+
"Device",
|
|
10
|
+
"DiagnosticReport",
|
|
11
|
+
"Encounter",
|
|
12
|
+
"FamilyMemberHistory",
|
|
13
|
+
"Goal",
|
|
14
|
+
"Immunization",
|
|
15
|
+
"MedicationAdministration",
|
|
16
|
+
"MedicationDispense",
|
|
17
|
+
"MedicationRequest",
|
|
18
|
+
"NutritionIntake",
|
|
19
|
+
"NutritionOrder",
|
|
20
|
+
"Observation",
|
|
21
|
+
"Procedure",
|
|
22
|
+
"QuestionnaireResponse",
|
|
23
|
+
"RiskAssessment",
|
|
24
|
+
"ServiceRequest",
|
|
25
|
+
"Task"
|
|
26
|
+
]
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { ParseTree } from "antlr4ts/tree/ParseTree";
|
|
2
|
+
import { CRL } from "./ast/types";
|
|
3
|
+
import { CRLError } from "./types/errors";
|
|
4
|
+
export interface Token {
|
|
5
|
+
line: number;
|
|
6
|
+
column: number;
|
|
7
|
+
type: string;
|
|
8
|
+
text: string;
|
|
9
|
+
}
|
|
10
|
+
export interface ParseResult<T> {
|
|
11
|
+
success: boolean;
|
|
12
|
+
result?: T;
|
|
13
|
+
errors?: CRLError[];
|
|
14
|
+
}
|
|
15
|
+
export declare function tokenizeCRL(input: string): ParseResult<Token[]>;
|
|
16
|
+
export declare function parseCRL(input: string): ParseResult<ParseTree>;
|
|
17
|
+
export declare function buildCRL(input: string): ParseResult<CRL>;
|
|
18
|
+
export declare function validateCRL(input: string): ParseResult<CRL>;
|