@the-cascade-protocol/sdk 1.0.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/LICENSE +190 -0
- package/README.md +164 -0
- package/dist/consent/consent-filter.d.ts +21 -0
- package/dist/consent/consent-filter.d.ts.map +1 -0
- package/dist/consent/consent-filter.js +71 -0
- package/dist/consent/consent-filter.js.map +1 -0
- package/dist/consent/index.d.ts +2 -0
- package/dist/consent/index.d.ts.map +1 -0
- package/dist/consent/index.js +2 -0
- package/dist/consent/index.js.map +1 -0
- package/dist/deserializer/index.d.ts +7 -0
- package/dist/deserializer/index.d.ts.map +1 -0
- package/dist/deserializer/index.js +7 -0
- package/dist/deserializer/index.js.map +1 -0
- package/dist/deserializer/turtle-parser.d.ts +47 -0
- package/dist/deserializer/turtle-parser.d.ts.map +1 -0
- package/dist/deserializer/turtle-parser.js +840 -0
- package/dist/deserializer/turtle-parser.js.map +1 -0
- package/dist/index.d.ts +42 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +34 -0
- package/dist/index.js.map +1 -0
- package/dist/jsonld/context.d.ts +29 -0
- package/dist/jsonld/context.d.ts.map +1 -0
- package/dist/jsonld/context.js +95 -0
- package/dist/jsonld/context.js.map +1 -0
- package/dist/jsonld/converter.d.ts +50 -0
- package/dist/jsonld/converter.d.ts.map +1 -0
- package/dist/jsonld/converter.js +139 -0
- package/dist/jsonld/converter.js.map +1 -0
- package/dist/jsonld/index.d.ts +8 -0
- package/dist/jsonld/index.d.ts.map +1 -0
- package/dist/jsonld/index.js +8 -0
- package/dist/jsonld/index.js.map +1 -0
- package/dist/models/activity-snapshot.d.ts +49 -0
- package/dist/models/activity-snapshot.d.ts.map +1 -0
- package/dist/models/activity-snapshot.js +13 -0
- package/dist/models/activity-snapshot.js.map +1 -0
- package/dist/models/allergy.d.ts +49 -0
- package/dist/models/allergy.d.ts.map +1 -0
- package/dist/models/allergy.js +13 -0
- package/dist/models/allergy.js.map +1 -0
- package/dist/models/common.d.ts +174 -0
- package/dist/models/common.d.ts.map +1 -0
- package/dist/models/common.js +12 -0
- package/dist/models/common.js.map +1 -0
- package/dist/models/condition.d.ts +59 -0
- package/dist/models/condition.d.ts.map +1 -0
- package/dist/models/condition.js +13 -0
- package/dist/models/condition.js.map +1 -0
- package/dist/models/coverage.d.ts +117 -0
- package/dist/models/coverage.d.ts.map +1 -0
- package/dist/models/coverage.js +16 -0
- package/dist/models/coverage.js.map +1 -0
- package/dist/models/family-history.d.ts +38 -0
- package/dist/models/family-history.d.ts.map +1 -0
- package/dist/models/family-history.js +13 -0
- package/dist/models/family-history.js.map +1 -0
- package/dist/models/health-profile.d.ts +54 -0
- package/dist/models/health-profile.d.ts.map +1 -0
- package/dist/models/health-profile.js +11 -0
- package/dist/models/health-profile.js.map +1 -0
- package/dist/models/immunization.d.ts +78 -0
- package/dist/models/immunization.d.ts.map +1 -0
- package/dist/models/immunization.js +12 -0
- package/dist/models/immunization.js.map +1 -0
- package/dist/models/index.d.ts +20 -0
- package/dist/models/index.d.ts.map +1 -0
- package/dist/models/index.js +7 -0
- package/dist/models/index.js.map +1 -0
- package/dist/models/lab-result.d.ts +83 -0
- package/dist/models/lab-result.d.ts.map +1 -0
- package/dist/models/lab-result.js +12 -0
- package/dist/models/lab-result.js.map +1 -0
- package/dist/models/medication.d.ts +144 -0
- package/dist/models/medication.d.ts.map +1 -0
- package/dist/models/medication.js +13 -0
- package/dist/models/medication.js.map +1 -0
- package/dist/models/patient-profile.d.ts +171 -0
- package/dist/models/patient-profile.d.ts.map +1 -0
- package/dist/models/patient-profile.js +14 -0
- package/dist/models/patient-profile.js.map +1 -0
- package/dist/models/procedure.d.ts +53 -0
- package/dist/models/procedure.d.ts.map +1 -0
- package/dist/models/procedure.js +12 -0
- package/dist/models/procedure.js.map +1 -0
- package/dist/models/sleep-snapshot.d.ts +54 -0
- package/dist/models/sleep-snapshot.d.ts.map +1 -0
- package/dist/models/sleep-snapshot.js +13 -0
- package/dist/models/sleep-snapshot.js.map +1 -0
- package/dist/models/vital-sign.d.ts +74 -0
- package/dist/models/vital-sign.d.ts.map +1 -0
- package/dist/models/vital-sign.js +13 -0
- package/dist/models/vital-sign.js.map +1 -0
- package/dist/pod/index.d.ts +2 -0
- package/dist/pod/index.d.ts.map +1 -0
- package/dist/pod/index.js +2 -0
- package/dist/pod/index.js.map +1 -0
- package/dist/pod/pod-builder.d.ts +63 -0
- package/dist/pod/pod-builder.d.ts.map +1 -0
- package/dist/pod/pod-builder.js +245 -0
- package/dist/pod/pod-builder.js.map +1 -0
- package/dist/serializer/index.d.ts +8 -0
- package/dist/serializer/index.d.ts.map +1 -0
- package/dist/serializer/index.js +8 -0
- package/dist/serializer/index.js.map +1 -0
- package/dist/serializer/turtle-builder.d.ts +93 -0
- package/dist/serializer/turtle-builder.d.ts.map +1 -0
- package/dist/serializer/turtle-builder.js +204 -0
- package/dist/serializer/turtle-builder.js.map +1 -0
- package/dist/serializer/turtle-serializer.d.ts +66 -0
- package/dist/serializer/turtle-serializer.d.ts.map +1 -0
- package/dist/serializer/turtle-serializer.js +404 -0
- package/dist/serializer/turtle-serializer.js.map +1 -0
- package/dist/validator/index.d.ts +2 -0
- package/dist/validator/index.d.ts.map +1 -0
- package/dist/validator/index.js +2 -0
- package/dist/validator/index.js.map +1 -0
- package/dist/validator/validator.d.ts +16 -0
- package/dist/validator/validator.d.ts.map +1 -0
- package/dist/validator/validator.js +295 -0
- package/dist/validator/validator.js.map +1 -0
- package/dist/vocabularies/index.d.ts +8 -0
- package/dist/vocabularies/index.d.ts.map +1 -0
- package/dist/vocabularies/index.js +7 -0
- package/dist/vocabularies/index.js.map +1 -0
- package/dist/vocabularies/namespaces.d.ts +125 -0
- package/dist/vocabularies/namespaces.d.ts.map +1 -0
- package/dist/vocabularies/namespaces.js +361 -0
- package/dist/vocabularies/namespaces.js.map +1 -0
- package/package.json +48 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"turtle-serializer.js","sourceRoot":"","sources":["../../src/serializer/turtle-serializer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/validator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,WAAW,EACX,KAAK,eAAe,EACpB,KAAK,gBAAgB,GACtB,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/validator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,WAAW,GAGZ,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { CascadeRecord } from '../models/common.js';
|
|
2
|
+
export interface ValidationError {
|
|
3
|
+
readonly field: string;
|
|
4
|
+
readonly message: string;
|
|
5
|
+
readonly severity: 'error' | 'warning';
|
|
6
|
+
}
|
|
7
|
+
export interface ValidationResult {
|
|
8
|
+
readonly valid: boolean;
|
|
9
|
+
readonly errors: readonly ValidationError[];
|
|
10
|
+
readonly warnings: readonly ValidationError[];
|
|
11
|
+
}
|
|
12
|
+
/** Validate a single CascadeRecord for structural correctness. */
|
|
13
|
+
export declare function validate(record: CascadeRecord): ValidationResult;
|
|
14
|
+
/** Validate an array of CascadeRecords, returning a combined result. */
|
|
15
|
+
export declare function validateAll(records: CascadeRecord[]): ValidationResult;
|
|
16
|
+
//# sourceMappingURL=validator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/validator/validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAkB,MAAM,qBAAqB,CAAC;AAKzE,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;CACxC;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,SAAS,eAAe,EAAE,CAAC;IAC5C,QAAQ,CAAC,QAAQ,EAAE,SAAS,eAAe,EAAE,CAAC;CAC/C;AAiTD,kEAAkE;AAClE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,aAAa,GAAG,gBAAgB,CAahE;AAED,wEAAwE;AACxE,wBAAgB,WAAW,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,gBAAgB,CAetE"}
|
|
@@ -0,0 +1,295 @@
|
|
|
1
|
+
import { CURRENT_SCHEMA_VERSION } from '../vocabularies/namespaces.js';
|
|
2
|
+
// ─── Internal Constants ─────────────────────────────────────────────────────
|
|
3
|
+
const VALID_PROVENANCE_TYPES = new Set([
|
|
4
|
+
'ClinicalGenerated',
|
|
5
|
+
'DeviceGenerated',
|
|
6
|
+
'SelfReported',
|
|
7
|
+
'AIExtracted',
|
|
8
|
+
'AIGenerated',
|
|
9
|
+
'EHRVerified',
|
|
10
|
+
]);
|
|
11
|
+
const RECOGNIZED_DATA_TYPES = new Set([
|
|
12
|
+
'MedicationRecord',
|
|
13
|
+
'ConditionRecord',
|
|
14
|
+
'AllergyRecord',
|
|
15
|
+
'LabResultRecord',
|
|
16
|
+
'VitalSign',
|
|
17
|
+
'ImmunizationRecord',
|
|
18
|
+
'ProcedureRecord',
|
|
19
|
+
'FamilyHistoryRecord',
|
|
20
|
+
'CoverageRecord',
|
|
21
|
+
'InsurancePlan',
|
|
22
|
+
'PatientProfile',
|
|
23
|
+
'ActivitySnapshot',
|
|
24
|
+
'SleepSnapshot',
|
|
25
|
+
]);
|
|
26
|
+
const VALID_CONDITION_STATUSES = new Set([
|
|
27
|
+
'active', 'resolved', 'remission', 'inactive',
|
|
28
|
+
]);
|
|
29
|
+
const VALID_VITAL_TYPES = new Set([
|
|
30
|
+
'heartRate', 'bloodPressureSystolic', 'bloodPressureDiastolic',
|
|
31
|
+
'respiratoryRate', 'temperature', 'oxygenSaturation',
|
|
32
|
+
'weight', 'height', 'bmi',
|
|
33
|
+
]);
|
|
34
|
+
const VALID_IMMUNIZATION_STATUSES = new Set([
|
|
35
|
+
'completed', 'entered-in-error', 'not-done',
|
|
36
|
+
]);
|
|
37
|
+
// Types that should ideally have coding system references
|
|
38
|
+
const CLINICAL_TYPES_WANTING_CODES = new Set([
|
|
39
|
+
'MedicationRecord',
|
|
40
|
+
'ConditionRecord',
|
|
41
|
+
'LabResultRecord',
|
|
42
|
+
'VitalSign',
|
|
43
|
+
'ImmunizationRecord',
|
|
44
|
+
'ProcedureRecord',
|
|
45
|
+
]);
|
|
46
|
+
function hasField(rec, field) {
|
|
47
|
+
const val = rec[field];
|
|
48
|
+
return val !== undefined && val !== null;
|
|
49
|
+
}
|
|
50
|
+
function hasNonEmptyString(rec, field) {
|
|
51
|
+
const val = rec[field];
|
|
52
|
+
return typeof val === 'string' && val.trim().length > 0;
|
|
53
|
+
}
|
|
54
|
+
function hasNumber(rec, field) {
|
|
55
|
+
return typeof rec[field] === 'number';
|
|
56
|
+
}
|
|
57
|
+
// ─── Validation Logic ───────────────────────────────────────────────────────
|
|
58
|
+
function validateBase(record) {
|
|
59
|
+
const errors = [];
|
|
60
|
+
// 1. id must be present and non-empty
|
|
61
|
+
if (!record.id || record.id.trim().length === 0) {
|
|
62
|
+
errors.push({ field: 'id', message: 'id must be present and non-empty', severity: 'error' });
|
|
63
|
+
}
|
|
64
|
+
// 2. type must be a recognized DataType
|
|
65
|
+
if (!record.type || !RECOGNIZED_DATA_TYPES.has(record.type)) {
|
|
66
|
+
errors.push({
|
|
67
|
+
field: 'type',
|
|
68
|
+
message: `type "${record.type ?? ''}" is not a recognized DataType`,
|
|
69
|
+
severity: 'error',
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
// 3. schemaVersion must be present
|
|
73
|
+
if (!record.schemaVersion || record.schemaVersion.trim().length === 0) {
|
|
74
|
+
errors.push({
|
|
75
|
+
field: 'schemaVersion',
|
|
76
|
+
message: 'schemaVersion must be present',
|
|
77
|
+
severity: 'error',
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
// 4. dataProvenance must be a valid ProvenanceType
|
|
81
|
+
if (!record.dataProvenance || !VALID_PROVENANCE_TYPES.has(record.dataProvenance)) {
|
|
82
|
+
errors.push({
|
|
83
|
+
field: 'dataProvenance',
|
|
84
|
+
message: `dataProvenance "${record.dataProvenance ?? ''}" is not a valid ProvenanceType`,
|
|
85
|
+
severity: 'error',
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
return errors;
|
|
89
|
+
}
|
|
90
|
+
function validateWarnings(record) {
|
|
91
|
+
const warnings = [];
|
|
92
|
+
const rec = { ...record };
|
|
93
|
+
// Schema version warning
|
|
94
|
+
if (record.schemaVersion && record.schemaVersion !== CURRENT_SCHEMA_VERSION) {
|
|
95
|
+
warnings.push({
|
|
96
|
+
field: 'schemaVersion',
|
|
97
|
+
message: `schemaVersion "${record.schemaVersion}" does not match current version "${CURRENT_SCHEMA_VERSION}"`,
|
|
98
|
+
severity: 'warning',
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
// Missing coding references on clinical types
|
|
102
|
+
if (CLINICAL_TYPES_WANTING_CODES.has(record.type)) {
|
|
103
|
+
const hasLoinc = hasField(rec, 'loincCode') || hasField(rec, 'testCode');
|
|
104
|
+
const hasSnomed = hasField(rec, 'snomedCode');
|
|
105
|
+
if (!hasLoinc && !hasSnomed) {
|
|
106
|
+
warnings.push({
|
|
107
|
+
field: 'loincCode',
|
|
108
|
+
message: 'Missing loincCode or snomedCode on clinical record; standard coding improves interoperability',
|
|
109
|
+
severity: 'warning',
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
return warnings;
|
|
114
|
+
}
|
|
115
|
+
function validateTypeSpecific(record) {
|
|
116
|
+
const errors = [];
|
|
117
|
+
const rec = { ...record };
|
|
118
|
+
switch (record.type) {
|
|
119
|
+
case 'MedicationRecord': {
|
|
120
|
+
if (!hasNonEmptyString(rec, 'medicationName')) {
|
|
121
|
+
errors.push({
|
|
122
|
+
field: 'medicationName',
|
|
123
|
+
message: 'medicationName is required for MedicationRecord',
|
|
124
|
+
severity: 'error',
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
if (!hasField(rec, 'isActive')) {
|
|
128
|
+
errors.push({
|
|
129
|
+
field: 'isActive',
|
|
130
|
+
message: 'isActive is required for MedicationRecord',
|
|
131
|
+
severity: 'error',
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
break;
|
|
135
|
+
}
|
|
136
|
+
case 'ConditionRecord': {
|
|
137
|
+
if (!hasNonEmptyString(rec, 'conditionName')) {
|
|
138
|
+
errors.push({
|
|
139
|
+
field: 'conditionName',
|
|
140
|
+
message: 'conditionName is required for ConditionRecord',
|
|
141
|
+
severity: 'error',
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
const status = rec['status'];
|
|
145
|
+
if (typeof status !== 'string' || !VALID_CONDITION_STATUSES.has(status)) {
|
|
146
|
+
errors.push({
|
|
147
|
+
field: 'status',
|
|
148
|
+
message: `status "${String(status ?? '')}" must be a valid ConditionStatus (active, resolved, remission, inactive)`,
|
|
149
|
+
severity: 'error',
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
break;
|
|
153
|
+
}
|
|
154
|
+
case 'AllergyRecord': {
|
|
155
|
+
if (!hasNonEmptyString(rec, 'allergen')) {
|
|
156
|
+
errors.push({
|
|
157
|
+
field: 'allergen',
|
|
158
|
+
message: 'allergen is required for AllergyRecord',
|
|
159
|
+
severity: 'error',
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
break;
|
|
163
|
+
}
|
|
164
|
+
case 'LabResultRecord': {
|
|
165
|
+
if (!hasNonEmptyString(rec, 'testName')) {
|
|
166
|
+
errors.push({
|
|
167
|
+
field: 'testName',
|
|
168
|
+
message: 'testName is required for LabResultRecord',
|
|
169
|
+
severity: 'error',
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
if (!hasField(rec, 'resultValue')) {
|
|
173
|
+
errors.push({
|
|
174
|
+
field: 'resultValue',
|
|
175
|
+
message: 'resultValue is required for LabResultRecord',
|
|
176
|
+
severity: 'error',
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
if (!hasNonEmptyString(rec, 'resultUnit')) {
|
|
180
|
+
errors.push({
|
|
181
|
+
field: 'resultUnit',
|
|
182
|
+
message: 'resultUnit is required for LabResultRecord',
|
|
183
|
+
severity: 'error',
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
break;
|
|
187
|
+
}
|
|
188
|
+
case 'VitalSign': {
|
|
189
|
+
const vitalType = rec['vitalType'];
|
|
190
|
+
if (typeof vitalType !== 'string' || !VALID_VITAL_TYPES.has(vitalType)) {
|
|
191
|
+
errors.push({
|
|
192
|
+
field: 'vitalType',
|
|
193
|
+
message: `vitalType "${String(vitalType ?? '')}" must be a valid VitalType`,
|
|
194
|
+
severity: 'error',
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
if (!hasNumber(rec, 'value')) {
|
|
198
|
+
errors.push({
|
|
199
|
+
field: 'value',
|
|
200
|
+
message: 'value is required for VitalSign and must be a number',
|
|
201
|
+
severity: 'error',
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
if (!hasNonEmptyString(rec, 'unit')) {
|
|
205
|
+
errors.push({
|
|
206
|
+
field: 'unit',
|
|
207
|
+
message: 'unit is required for VitalSign',
|
|
208
|
+
severity: 'error',
|
|
209
|
+
});
|
|
210
|
+
}
|
|
211
|
+
break;
|
|
212
|
+
}
|
|
213
|
+
case 'ImmunizationRecord': {
|
|
214
|
+
if (!hasNonEmptyString(rec, 'vaccineName')) {
|
|
215
|
+
errors.push({
|
|
216
|
+
field: 'vaccineName',
|
|
217
|
+
message: 'vaccineName is required for ImmunizationRecord',
|
|
218
|
+
severity: 'error',
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
const status = rec['status'];
|
|
222
|
+
if (status !== undefined && typeof status === 'string' && !VALID_IMMUNIZATION_STATUSES.has(status)) {
|
|
223
|
+
errors.push({
|
|
224
|
+
field: 'status',
|
|
225
|
+
message: `status "${status}" must be a valid ImmunizationStatus`,
|
|
226
|
+
severity: 'error',
|
|
227
|
+
});
|
|
228
|
+
}
|
|
229
|
+
break;
|
|
230
|
+
}
|
|
231
|
+
case 'CoverageRecord':
|
|
232
|
+
case 'InsurancePlan': {
|
|
233
|
+
if (!hasNonEmptyString(rec, 'providerName')) {
|
|
234
|
+
errors.push({
|
|
235
|
+
field: 'providerName',
|
|
236
|
+
message: 'providerName is required for Coverage records',
|
|
237
|
+
severity: 'error',
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
break;
|
|
241
|
+
}
|
|
242
|
+
case 'PatientProfile': {
|
|
243
|
+
if (!hasNonEmptyString(rec, 'givenName')) {
|
|
244
|
+
errors.push({
|
|
245
|
+
field: 'givenName',
|
|
246
|
+
message: 'givenName is required for PatientProfile',
|
|
247
|
+
severity: 'error',
|
|
248
|
+
});
|
|
249
|
+
}
|
|
250
|
+
if (!hasNonEmptyString(rec, 'familyName')) {
|
|
251
|
+
errors.push({
|
|
252
|
+
field: 'familyName',
|
|
253
|
+
message: 'familyName is required for PatientProfile',
|
|
254
|
+
severity: 'error',
|
|
255
|
+
});
|
|
256
|
+
}
|
|
257
|
+
break;
|
|
258
|
+
}
|
|
259
|
+
// ActivitySnapshot, SleepSnapshot, ProcedureRecord, FamilyHistoryRecord
|
|
260
|
+
// have no additional type-specific required field validations beyond base
|
|
261
|
+
default:
|
|
262
|
+
break;
|
|
263
|
+
}
|
|
264
|
+
return errors;
|
|
265
|
+
}
|
|
266
|
+
// ─── Public API ─────────────────────────────────────────────────────────────
|
|
267
|
+
/** Validate a single CascadeRecord for structural correctness. */
|
|
268
|
+
export function validate(record) {
|
|
269
|
+
const baseErrors = validateBase(record);
|
|
270
|
+
const typeErrors = validateTypeSpecific(record);
|
|
271
|
+
const warningErrors = validateWarnings(record);
|
|
272
|
+
const allErrors = [...baseErrors, ...typeErrors];
|
|
273
|
+
const allWarnings = warningErrors;
|
|
274
|
+
return {
|
|
275
|
+
valid: allErrors.length === 0,
|
|
276
|
+
errors: allErrors,
|
|
277
|
+
warnings: allWarnings,
|
|
278
|
+
};
|
|
279
|
+
}
|
|
280
|
+
/** Validate an array of CascadeRecords, returning a combined result. */
|
|
281
|
+
export function validateAll(records) {
|
|
282
|
+
const allErrors = [];
|
|
283
|
+
const allWarnings = [];
|
|
284
|
+
for (const record of records) {
|
|
285
|
+
const result = validate(record);
|
|
286
|
+
allErrors.push(...result.errors);
|
|
287
|
+
allWarnings.push(...result.warnings);
|
|
288
|
+
}
|
|
289
|
+
return {
|
|
290
|
+
valid: allErrors.length === 0,
|
|
291
|
+
errors: allErrors,
|
|
292
|
+
warnings: allWarnings,
|
|
293
|
+
};
|
|
294
|
+
}
|
|
295
|
+
//# sourceMappingURL=validator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/validator/validator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Re-exports all vocabulary constants.
|
|
3
|
+
*
|
|
4
|
+
* @module vocabularies
|
|
5
|
+
*/
|
|
6
|
+
export { NAMESPACES, CURRENT_SCHEMA_VERSION, TYPE_MAPPING, TYPE_TO_MAPPING_KEY, PROPERTY_PREDICATES, buildReversePredicateMap, } from './namespaces.js';
|
|
7
|
+
export type { NamespacePrefix } from './namespaces.js';
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vocabularies/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,UAAU,EACV,sBAAsB,EACtB,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Re-exports all vocabulary constants.
|
|
3
|
+
*
|
|
4
|
+
* @module vocabularies
|
|
5
|
+
*/
|
|
6
|
+
export { NAMESPACES, CURRENT_SCHEMA_VERSION, TYPE_MAPPING, TYPE_TO_MAPPING_KEY, PROPERTY_PREDICATES, buildReversePredicateMap, } from './namespaces.js';
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/vocabularies/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,UAAU,EACV,sBAAsB,EACtB,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cascade Protocol namespace URIs and vocabulary constants.
|
|
3
|
+
*
|
|
4
|
+
* These constants map directly to the RDF namespace prefixes used
|
|
5
|
+
* in Turtle serialization throughout the Cascade Protocol ecosystem.
|
|
6
|
+
*
|
|
7
|
+
* @see https://cascadeprotocol.org/docs/cascade-protocol-schemas
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Cascade Protocol namespace URIs.
|
|
11
|
+
*
|
|
12
|
+
* Used as RDF prefixes in Turtle serialization. Each entry maps a
|
|
13
|
+
* short prefix name to its full IRI.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```typescript
|
|
17
|
+
* import { NAMESPACES } from '@the-cascade-protocol/sdk';
|
|
18
|
+
*
|
|
19
|
+
* // Use in Turtle prefix declarations
|
|
20
|
+
* const prefix = `@prefix cascade: <${NAMESPACES.cascade}> .`;
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export declare const NAMESPACES: {
|
|
24
|
+
/** Cascade Protocol core vocabulary (v1). */
|
|
25
|
+
readonly cascade: "https://ns.cascadeprotocol.org/core/v1#";
|
|
26
|
+
/** Cascade Protocol clinical vocabulary (v1). */
|
|
27
|
+
readonly clinical: "https://ns.cascadeprotocol.org/clinical/v1#";
|
|
28
|
+
/** Cascade Protocol health/wellness vocabulary (v1). */
|
|
29
|
+
readonly health: "https://ns.cascadeprotocol.org/health/v1#";
|
|
30
|
+
/** Cascade Protocol checkup vocabulary (v1). */
|
|
31
|
+
readonly checkup: "https://ns.cascadeprotocol.org/checkup/v1#";
|
|
32
|
+
/** Cascade Protocol POTS vocabulary (v1). */
|
|
33
|
+
readonly pots: "https://ns.cascadeprotocol.org/pots/v1#";
|
|
34
|
+
/** Cascade Protocol coverage/insurance vocabulary (v1). */
|
|
35
|
+
readonly coverage: "https://ns.cascadeprotocol.org/coverage/v1#";
|
|
36
|
+
/** HL7 FHIR namespace. */
|
|
37
|
+
readonly fhir: "http://hl7.org/fhir/";
|
|
38
|
+
/** SNOMED CT namespace. */
|
|
39
|
+
readonly sct: "http://snomed.info/sct/";
|
|
40
|
+
/** ICD-10-CM namespace. */
|
|
41
|
+
readonly icd10: "http://hl7.org/fhir/sid/icd-10-cm/";
|
|
42
|
+
/** LOINC namespace. */
|
|
43
|
+
readonly loinc: "http://loinc.org/rdf#";
|
|
44
|
+
/** RxNorm namespace. */
|
|
45
|
+
readonly rxnorm: "http://www.nlm.nih.gov/research/umls/rxnorm/";
|
|
46
|
+
/** W3C PROV-O namespace. */
|
|
47
|
+
readonly prov: "http://www.w3.org/ns/prov#";
|
|
48
|
+
/** XML Schema datatypes namespace. */
|
|
49
|
+
readonly xsd: "http://www.w3.org/2001/XMLSchema#";
|
|
50
|
+
/** Unified Code for Units of Measure namespace. */
|
|
51
|
+
readonly ucum: "http://unitsofmeasure.org/";
|
|
52
|
+
/** FOAF (Friend of a Friend) namespace for personal info. */
|
|
53
|
+
readonly foaf: "http://xmlns.com/foaf/0.1/";
|
|
54
|
+
/** Linked Data Platform namespace. */
|
|
55
|
+
readonly ldp: "http://www.w3.org/ns/ldp#";
|
|
56
|
+
/** Dublin Core Terms namespace. */
|
|
57
|
+
readonly dcterms: "http://purl.org/dc/terms/";
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* Type representing all known namespace prefix keys.
|
|
61
|
+
*/
|
|
62
|
+
export type NamespacePrefix = keyof typeof NAMESPACES;
|
|
63
|
+
/**
|
|
64
|
+
* Mapping from data type key (as used in Pod file paths and CLI queries)
|
|
65
|
+
* to the corresponding RDF type, name field key, and name predicate.
|
|
66
|
+
*
|
|
67
|
+
* Used during serialization and deserialization to determine:
|
|
68
|
+
* - `rdfType`: The `rdf:type` value for the record
|
|
69
|
+
* - `nameKey`: The JSON property holding the record's display name
|
|
70
|
+
* - `namePred`: The Turtle predicate for the name field
|
|
71
|
+
*
|
|
72
|
+
* @example
|
|
73
|
+
* ```typescript
|
|
74
|
+
* import { TYPE_MAPPING } from '@the-cascade-protocol/sdk';
|
|
75
|
+
*
|
|
76
|
+
* const medType = TYPE_MAPPING.medications;
|
|
77
|
+
* // { rdfType: 'health:MedicationRecord', nameKey: 'medicationName', namePred: 'health:medicationName' }
|
|
78
|
+
* ```
|
|
79
|
+
*/
|
|
80
|
+
export declare const TYPE_MAPPING: Record<string, {
|
|
81
|
+
rdfType: string;
|
|
82
|
+
nameKey: string;
|
|
83
|
+
namePred: string;
|
|
84
|
+
}>;
|
|
85
|
+
/**
|
|
86
|
+
* Mapping from record type string (e.g. 'MedicationRecord') to the
|
|
87
|
+
* TYPE_MAPPING key (e.g. 'medications') used for looking up rdfType,
|
|
88
|
+
* nameKey, and namePred.
|
|
89
|
+
*
|
|
90
|
+
* Used by the serializer, deserializer, and JSON-LD converter to
|
|
91
|
+
* dispatch on record type.
|
|
92
|
+
*/
|
|
93
|
+
export declare const TYPE_TO_MAPPING_KEY: Record<string, string>;
|
|
94
|
+
/**
|
|
95
|
+
* Current Cascade Protocol schema version.
|
|
96
|
+
*
|
|
97
|
+
* Used by the validator to check records against the expected version.
|
|
98
|
+
* Update this constant when the protocol schema version is bumped.
|
|
99
|
+
*/
|
|
100
|
+
export declare const CURRENT_SCHEMA_VERSION = "1.3";
|
|
101
|
+
/**
|
|
102
|
+
* Mapping from JSON property names to their corresponding Turtle predicates.
|
|
103
|
+
*
|
|
104
|
+
* Used during serialization to convert JSON key-value pairs into
|
|
105
|
+
* RDF triples with the correct predicate URIs.
|
|
106
|
+
*
|
|
107
|
+
* @example
|
|
108
|
+
* ```typescript
|
|
109
|
+
* import { PROPERTY_PREDICATES } from '@the-cascade-protocol/sdk';
|
|
110
|
+
*
|
|
111
|
+
* const pred = PROPERTY_PREDICATES.dose; // 'health:dose'
|
|
112
|
+
* ```
|
|
113
|
+
*/
|
|
114
|
+
export declare const PROPERTY_PREDICATES: Record<string, string>;
|
|
115
|
+
/**
|
|
116
|
+
* Build a reverse mapping from full predicate URI to JSON property name.
|
|
117
|
+
*
|
|
118
|
+
* Expands each PROPERTY_PREDICATES shorthand (e.g. 'health:medicationName')
|
|
119
|
+
* to a full URI and maps it back to the JSON key.
|
|
120
|
+
*
|
|
121
|
+
* @param additionalMappings - Optional extra full-URI-to-JSON-key entries
|
|
122
|
+
* (e.g. type-specific overrides for VitalSign clinical predicates).
|
|
123
|
+
*/
|
|
124
|
+
export declare function buildReversePredicateMap(additionalMappings?: Record<string, string>): Map<string, string>;
|
|
125
|
+
//# sourceMappingURL=namespaces.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"namespaces.d.ts","sourceRoot":"","sources":["../../src/vocabularies/namespaces.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,UAAU;IACrB,6CAA6C;;IAG7C,iDAAiD;;IAGjD,wDAAwD;;IAGxD,gDAAgD;;IAGhD,6CAA6C;;IAG7C,2DAA2D;;IAG3D,0BAA0B;;IAG1B,2BAA2B;;IAG3B,2BAA2B;;IAG3B,uBAAuB;;IAGvB,wBAAwB;;IAGxB,4BAA4B;;IAG5B,sCAAsC;;IAGtC,mDAAmD;;IAGnD,6DAA6D;;IAG7D,sCAAsC;;IAGtC,mCAAmC;;CAE3B,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,OAAO,UAAU,CAAC;AAItD;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CA4EtF,CAAC;AAIX;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAetD,CAAC;AAIF;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,QAAQ,CAAC;AAI5C;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA8I7C,CAAC;AAIX;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC1C,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAmBrB"}
|