@the-cascade-protocol/cli 0.3.6 → 0.4.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/dist/commands/pod/conflicts.d.ts +10 -0
- package/dist/commands/pod/conflicts.d.ts.map +1 -0
- package/dist/commands/pod/conflicts.js +45 -0
- package/dist/commands/pod/conflicts.js.map +1 -0
- package/dist/commands/pod/import.d.ts.map +1 -1
- package/dist/commands/pod/import.js +85 -6
- package/dist/commands/pod/import.js.map +1 -1
- package/dist/commands/pod/index.d.ts.map +1 -1
- package/dist/commands/pod/index.js +4 -0
- package/dist/commands/pod/index.js.map +1 -1
- package/dist/commands/pod/resolve.d.ts +10 -0
- package/dist/commands/pod/resolve.d.ts.map +1 -0
- package/dist/commands/pod/resolve.js +61 -0
- package/dist/commands/pod/resolve.js.map +1 -0
- package/dist/lib/ccda-converter/code-systems.d.ts +6 -0
- package/dist/lib/ccda-converter/code-systems.d.ts.map +1 -0
- package/dist/lib/ccda-converter/code-systems.js +27 -0
- package/dist/lib/ccda-converter/code-systems.js.map +1 -0
- package/dist/lib/ccda-converter/document-type.d.ts +6 -0
- package/dist/lib/ccda-converter/document-type.d.ts.map +1 -0
- package/dist/lib/ccda-converter/document-type.js +15 -0
- package/dist/lib/ccda-converter/document-type.js.map +1 -0
- package/dist/lib/ccda-converter/index.d.ts +30 -0
- package/dist/lib/ccda-converter/index.d.ts.map +1 -0
- package/dist/lib/ccda-converter/index.js +211 -0
- package/dist/lib/ccda-converter/index.js.map +1 -0
- package/dist/lib/ccda-converter/narrative.d.ts +6 -0
- package/dist/lib/ccda-converter/narrative.d.ts.map +1 -0
- package/dist/lib/ccda-converter/narrative.js +35 -0
- package/dist/lib/ccda-converter/narrative.js.map +1 -0
- package/dist/lib/ccda-converter/parser.d.ts +6 -0
- package/dist/lib/ccda-converter/parser.d.ts.map +1 -0
- package/dist/lib/ccda-converter/parser.js +23 -0
- package/dist/lib/ccda-converter/parser.js.map +1 -0
- package/dist/lib/ccda-converter/sections/allergies.d.ts +8 -0
- package/dist/lib/ccda-converter/sections/allergies.d.ts.map +1 -0
- package/dist/lib/ccda-converter/sections/allergies.js +57 -0
- package/dist/lib/ccda-converter/sections/allergies.js.map +1 -0
- package/dist/lib/ccda-converter/sections/devices.d.ts +9 -0
- package/dist/lib/ccda-converter/sections/devices.d.ts.map +1 -0
- package/dist/lib/ccda-converter/sections/devices.js +50 -0
- package/dist/lib/ccda-converter/sections/devices.js.map +1 -0
- package/dist/lib/ccda-converter/sections/encounters.d.ts +9 -0
- package/dist/lib/ccda-converter/sections/encounters.d.ts.map +1 -0
- package/dist/lib/ccda-converter/sections/encounters.js +44 -0
- package/dist/lib/ccda-converter/sections/encounters.js.map +1 -0
- package/dist/lib/ccda-converter/sections/family-history.d.ts +9 -0
- package/dist/lib/ccda-converter/sections/family-history.d.ts.map +1 -0
- package/dist/lib/ccda-converter/sections/family-history.js +60 -0
- package/dist/lib/ccda-converter/sections/family-history.js.map +1 -0
- package/dist/lib/ccda-converter/sections/immunizations.d.ts +8 -0
- package/dist/lib/ccda-converter/sections/immunizations.d.ts.map +1 -0
- package/dist/lib/ccda-converter/sections/immunizations.js +62 -0
- package/dist/lib/ccda-converter/sections/immunizations.js.map +1 -0
- package/dist/lib/ccda-converter/sections/labs.d.ts +8 -0
- package/dist/lib/ccda-converter/sections/labs.d.ts.map +1 -0
- package/dist/lib/ccda-converter/sections/labs.js +82 -0
- package/dist/lib/ccda-converter/sections/labs.js.map +1 -0
- package/dist/lib/ccda-converter/sections/medications.d.ts +8 -0
- package/dist/lib/ccda-converter/sections/medications.d.ts.map +1 -0
- package/dist/lib/ccda-converter/sections/medications.js +68 -0
- package/dist/lib/ccda-converter/sections/medications.js.map +1 -0
- package/dist/lib/ccda-converter/sections/patient.d.ts +9 -0
- package/dist/lib/ccda-converter/sections/patient.d.ts.map +1 -0
- package/dist/lib/ccda-converter/sections/patient.js +46 -0
- package/dist/lib/ccda-converter/sections/patient.js.map +1 -0
- package/dist/lib/ccda-converter/sections/problems.d.ts +8 -0
- package/dist/lib/ccda-converter/sections/problems.d.ts.map +1 -0
- package/dist/lib/ccda-converter/sections/problems.js +76 -0
- package/dist/lib/ccda-converter/sections/problems.js.map +1 -0
- package/dist/lib/ccda-converter/sections/procedures.d.ts +8 -0
- package/dist/lib/ccda-converter/sections/procedures.d.ts.map +1 -0
- package/dist/lib/ccda-converter/sections/procedures.js +57 -0
- package/dist/lib/ccda-converter/sections/procedures.js.map +1 -0
- package/dist/lib/ccda-converter/sections/social-history.d.ts +9 -0
- package/dist/lib/ccda-converter/sections/social-history.d.ts.map +1 -0
- package/dist/lib/ccda-converter/sections/social-history.js +11 -0
- package/dist/lib/ccda-converter/sections/social-history.js.map +1 -0
- package/dist/lib/ccda-converter/sections/vitals.d.ts +8 -0
- package/dist/lib/ccda-converter/sections/vitals.d.ts.map +1 -0
- package/dist/lib/ccda-converter/sections/vitals.js +75 -0
- package/dist/lib/ccda-converter/sections/vitals.js.map +1 -0
- package/dist/lib/ccda-converter/vendor/detect.d.ts +7 -0
- package/dist/lib/ccda-converter/vendor/detect.d.ts.map +1 -0
- package/dist/lib/ccda-converter/vendor/detect.js +30 -0
- package/dist/lib/ccda-converter/vendor/detect.js.map +1 -0
- package/dist/lib/ccda-converter/vendor/normalize.d.ts +6 -0
- package/dist/lib/ccda-converter/vendor/normalize.d.ts.map +1 -0
- package/dist/lib/ccda-converter/vendor/normalize.js +13 -0
- package/dist/lib/ccda-converter/vendor/normalize.js.map +1 -0
- package/dist/lib/ccda-converter/vendor/quirks/cerner.d.ts +7 -0
- package/dist/lib/ccda-converter/vendor/quirks/cerner.d.ts.map +1 -0
- package/dist/lib/ccda-converter/vendor/quirks/cerner.js +26 -0
- package/dist/lib/ccda-converter/vendor/quirks/cerner.js.map +1 -0
- package/dist/lib/ccda-converter/vendor/quirks/epic.d.ts +7 -0
- package/dist/lib/ccda-converter/vendor/quirks/epic.d.ts.map +1 -0
- package/dist/lib/ccda-converter/vendor/quirks/epic.js +29 -0
- package/dist/lib/ccda-converter/vendor/quirks/epic.js.map +1 -0
- package/dist/lib/fhir-converter/converters-clinical.d.ts.map +1 -1
- package/dist/lib/fhir-converter/converters-clinical.js +26 -5
- package/dist/lib/fhir-converter/converters-clinical.js.map +1 -1
- package/dist/lib/fhir-converter/converters-demographics.d.ts.map +1 -1
- package/dist/lib/fhir-converter/converters-demographics.js +13 -3
- package/dist/lib/fhir-converter/converters-demographics.js.map +1 -1
- package/dist/lib/fhir-converter/index.d.ts.map +1 -1
- package/dist/lib/fhir-converter/index.js +15 -4
- package/dist/lib/fhir-converter/index.js.map +1 -1
- package/dist/lib/fhir-converter/types.d.ts +24 -0
- package/dist/lib/fhir-converter/types.d.ts.map +1 -1
- package/dist/lib/fhir-converter/types.js +54 -1
- package/dist/lib/fhir-converter/types.js.map +1 -1
- package/dist/lib/reconciler.d.ts.map +1 -1
- package/dist/lib/reconciler.js +196 -27
- package/dist/lib/reconciler.js.map +1 -1
- package/dist/lib/user-resolutions.d.ts +54 -0
- package/dist/lib/user-resolutions.d.ts.map +1 -0
- package/dist/lib/user-resolutions.js +224 -0
- package/dist/lib/user-resolutions.js.map +1 -0
- package/dist/shapes/checkup.shapes.ttl +0 -10
- package/dist/shapes/core.shapes.ttl +43 -0
- package/dist/shapes/core.ttl +90 -2
- package/dist/shapes/health.shapes.ttl +27 -0
- package/package.json +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reconciler.js","sourceRoot":"","sources":["../../src/lib/reconciler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"reconciler.js","sourceRoot":"","sources":["../../src/lib/reconciler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Persistence layer for user conflict resolutions and pending conflicts.
|
|
3
|
+
*
|
|
4
|
+
* Files written to the pod:
|
|
5
|
+
* settings/user-resolutions.ttl — User's stored resolution decisions
|
|
6
|
+
* settings/pending-conflicts.ttl — Unresolved conflicts from most recent import
|
|
7
|
+
*/
|
|
8
|
+
import { randomUUID } from 'node:crypto';
|
|
9
|
+
export { randomUUID };
|
|
10
|
+
export type ResolutionChoice = 'kept-source-a' | 'kept-source-b' | 'kept-both' | 'manual-edit';
|
|
11
|
+
export interface UserResolution {
|
|
12
|
+
uri: string;
|
|
13
|
+
conflictId: string;
|
|
14
|
+
resolvedAt: Date;
|
|
15
|
+
resolution: ResolutionChoice;
|
|
16
|
+
keptRecordUri: string;
|
|
17
|
+
discardedRecordUris: string[];
|
|
18
|
+
userNote?: string;
|
|
19
|
+
}
|
|
20
|
+
export interface PendingConflict {
|
|
21
|
+
uri: string;
|
|
22
|
+
conflictId: string;
|
|
23
|
+
recordType: string;
|
|
24
|
+
detectedAt: Date;
|
|
25
|
+
candidateRecordUris: string[];
|
|
26
|
+
label?: string;
|
|
27
|
+
sourceA?: string;
|
|
28
|
+
sourceB?: string;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Generate a deterministic conflict ID from record type and identity fields.
|
|
32
|
+
* Same inputs always produce the same conflict ID (stable across re-imports).
|
|
33
|
+
*/
|
|
34
|
+
export declare function generateConflictId(recordType: string, matchedOn: string): string;
|
|
35
|
+
/**
|
|
36
|
+
* Load user resolutions from settings/user-resolutions.ttl.
|
|
37
|
+
* Returns a Map from conflictId -> UserResolution.
|
|
38
|
+
*/
|
|
39
|
+
export declare function loadUserResolutions(podDir: string): Promise<Map<string, UserResolution>>;
|
|
40
|
+
/**
|
|
41
|
+
* Save a user resolution to settings/user-resolutions.ttl.
|
|
42
|
+
* Appends to existing file or creates it.
|
|
43
|
+
*/
|
|
44
|
+
export declare function saveUserResolution(podDir: string, resolution: UserResolution): Promise<void>;
|
|
45
|
+
/**
|
|
46
|
+
* Write pending conflicts to settings/pending-conflicts.ttl.
|
|
47
|
+
* Replaces the previous state entirely (written after each import).
|
|
48
|
+
*/
|
|
49
|
+
export declare function writePendingConflicts(podDir: string, conflicts: PendingConflict[]): Promise<void>;
|
|
50
|
+
/**
|
|
51
|
+
* Load pending conflicts from settings/pending-conflicts.ttl.
|
|
52
|
+
*/
|
|
53
|
+
export declare function loadPendingConflicts(podDir: string): Promise<PendingConflict[]>;
|
|
54
|
+
//# sourceMappingURL=user-resolutions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-resolutions.d.ts","sourceRoot":"","sources":["../../src/lib/user-resolutions.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,UAAU,EAAE,CAAC;AAItB,MAAM,MAAM,gBAAgB,GAAG,eAAe,GAAG,eAAe,GAAG,WAAW,GAAG,aAAa,CAAC;AAE/F,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,IAAI,CAAC;IACjB,UAAU,EAAE,gBAAgB,CAAC;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,IAAI,CAAC;IACjB,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAE9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAIhF;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAsD9F;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAWlG;AAoCD;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAiCvG;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAiDrF"}
|
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Persistence layer for user conflict resolutions and pending conflicts.
|
|
3
|
+
*
|
|
4
|
+
* Files written to the pod:
|
|
5
|
+
* settings/user-resolutions.ttl — User's stored resolution decisions
|
|
6
|
+
* settings/pending-conflicts.ttl — Unresolved conflicts from most recent import
|
|
7
|
+
*/
|
|
8
|
+
import { readFile, writeFile, mkdir } from 'node:fs/promises';
|
|
9
|
+
import { join } from 'node:path';
|
|
10
|
+
import { Parser, Writer, DataFactory } from 'n3';
|
|
11
|
+
import { NS, TURTLE_PREFIXES } from './fhir-converter/types.js';
|
|
12
|
+
import { randomUUID } from 'node:crypto';
|
|
13
|
+
export { randomUUID };
|
|
14
|
+
const { namedNode, literal, quad: makeQuad } = DataFactory;
|
|
15
|
+
/**
|
|
16
|
+
* Generate a deterministic conflict ID from record type and identity fields.
|
|
17
|
+
* Same inputs always produce the same conflict ID (stable across re-imports).
|
|
18
|
+
*/
|
|
19
|
+
export function generateConflictId(recordType, matchedOn) {
|
|
20
|
+
// Simple deterministic ID — use the matchedOn string from the reconciler
|
|
21
|
+
const safe = `${recordType}::${matchedOn}`.replace(/[^a-zA-Z0-9:+./-]/g, '_');
|
|
22
|
+
return safe.slice(0, 80); // Truncate to avoid overly long IDs
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Load user resolutions from settings/user-resolutions.ttl.
|
|
26
|
+
* Returns a Map from conflictId -> UserResolution.
|
|
27
|
+
*/
|
|
28
|
+
export async function loadUserResolutions(podDir) {
|
|
29
|
+
const filePath = join(podDir, 'settings', 'user-resolutions.ttl');
|
|
30
|
+
const map = new Map();
|
|
31
|
+
let content;
|
|
32
|
+
try {
|
|
33
|
+
content = await readFile(filePath, 'utf-8');
|
|
34
|
+
}
|
|
35
|
+
catch {
|
|
36
|
+
return map; // File doesn't exist yet
|
|
37
|
+
}
|
|
38
|
+
return new Promise((resolve) => {
|
|
39
|
+
const parser = new Parser({ format: 'Turtle' });
|
|
40
|
+
const bySubject = new Map();
|
|
41
|
+
const discardedBySubject = new Map();
|
|
42
|
+
parser.parse(content, (error, quad) => {
|
|
43
|
+
if (error) {
|
|
44
|
+
resolve(map);
|
|
45
|
+
return;
|
|
46
|
+
} // Soft failure — return empty map
|
|
47
|
+
if (!quad) {
|
|
48
|
+
for (const [uri, props] of bySubject) {
|
|
49
|
+
const type = props.get(NS.rdf + 'type');
|
|
50
|
+
if (type !== NS.cascade + 'UserResolution')
|
|
51
|
+
continue;
|
|
52
|
+
const conflictId = props.get(NS.cascade + 'conflictId');
|
|
53
|
+
if (!conflictId)
|
|
54
|
+
continue;
|
|
55
|
+
const resolution = props.get(NS.cascade + 'resolution');
|
|
56
|
+
const keptRecordUri = props.get(NS.cascade + 'keptRecord') ?? '';
|
|
57
|
+
const resolvedAtStr = props.get(NS.cascade + 'resolvedAt');
|
|
58
|
+
map.set(conflictId, {
|
|
59
|
+
uri,
|
|
60
|
+
conflictId,
|
|
61
|
+
resolvedAt: resolvedAtStr ? new Date(resolvedAtStr) : new Date(),
|
|
62
|
+
resolution: resolution ?? 'kept-source-a',
|
|
63
|
+
keptRecordUri,
|
|
64
|
+
discardedRecordUris: discardedBySubject.get(uri) ?? [],
|
|
65
|
+
userNote: props.get(NS.cascade + 'userNote'),
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
resolve(map);
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
if (quad.predicate.value === NS.cascade + 'discardedRecords') {
|
|
72
|
+
const arr = discardedBySubject.get(quad.subject.value) ?? [];
|
|
73
|
+
arr.push(quad.object.value);
|
|
74
|
+
discardedBySubject.set(quad.subject.value, arr);
|
|
75
|
+
}
|
|
76
|
+
if (!bySubject.has(quad.subject.value))
|
|
77
|
+
bySubject.set(quad.subject.value, new Map());
|
|
78
|
+
bySubject.get(quad.subject.value).set(quad.predicate.value, quad.object.value);
|
|
79
|
+
});
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Save a user resolution to settings/user-resolutions.ttl.
|
|
84
|
+
* Appends to existing file or creates it.
|
|
85
|
+
*/
|
|
86
|
+
export async function saveUserResolution(podDir, resolution) {
|
|
87
|
+
const settingsDir = join(podDir, 'settings');
|
|
88
|
+
await mkdir(settingsDir, { recursive: true });
|
|
89
|
+
const filePath = join(settingsDir, 'user-resolutions.ttl');
|
|
90
|
+
// Load existing resolutions
|
|
91
|
+
const existing = await loadUserResolutions(podDir);
|
|
92
|
+
existing.set(resolution.conflictId, resolution);
|
|
93
|
+
// Write all resolutions to file
|
|
94
|
+
await writeUserResolutions(filePath, Array.from(existing.values()));
|
|
95
|
+
}
|
|
96
|
+
async function writeUserResolutions(filePath, resolutions) {
|
|
97
|
+
return new Promise((resolve, reject) => {
|
|
98
|
+
const writer = new Writer({ prefixes: TURTLE_PREFIXES });
|
|
99
|
+
for (const res of resolutions) {
|
|
100
|
+
const subj = namedNode(res.uri);
|
|
101
|
+
writer.addQuad(makeQuad(subj, namedNode(NS.rdf + 'type'), namedNode(NS.cascade + 'UserResolution')));
|
|
102
|
+
writer.addQuad(makeQuad(subj, namedNode(NS.cascade + 'conflictId'), literal(res.conflictId)));
|
|
103
|
+
writer.addQuad(makeQuad(subj, namedNode(NS.cascade + 'resolvedAt'), literal(res.resolvedAt.toISOString(), namedNode(NS.xsd + 'dateTime'))));
|
|
104
|
+
writer.addQuad(makeQuad(subj, namedNode(NS.cascade + 'resolution'), literal(res.resolution)));
|
|
105
|
+
if (res.keptRecordUri) {
|
|
106
|
+
writer.addQuad(makeQuad(subj, namedNode(NS.cascade + 'keptRecord'), namedNode(res.keptRecordUri)));
|
|
107
|
+
}
|
|
108
|
+
for (const discarded of res.discardedRecordUris) {
|
|
109
|
+
writer.addQuad(makeQuad(subj, namedNode(NS.cascade + 'discardedRecords'), namedNode(discarded)));
|
|
110
|
+
}
|
|
111
|
+
if (res.userNote) {
|
|
112
|
+
writer.addQuad(makeQuad(subj, namedNode(NS.cascade + 'userNote'), literal(res.userNote)));
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
writer.end(async (err, result) => {
|
|
116
|
+
if (err) {
|
|
117
|
+
reject(err);
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
try {
|
|
121
|
+
await writeFile(filePath, result, 'utf-8');
|
|
122
|
+
resolve();
|
|
123
|
+
}
|
|
124
|
+
catch (writeErr) {
|
|
125
|
+
reject(writeErr);
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Write pending conflicts to settings/pending-conflicts.ttl.
|
|
132
|
+
* Replaces the previous state entirely (written after each import).
|
|
133
|
+
*/
|
|
134
|
+
export async function writePendingConflicts(podDir, conflicts) {
|
|
135
|
+
const settingsDir = join(podDir, 'settings');
|
|
136
|
+
await mkdir(settingsDir, { recursive: true });
|
|
137
|
+
const filePath = join(settingsDir, 'pending-conflicts.ttl');
|
|
138
|
+
return new Promise((resolve, reject) => {
|
|
139
|
+
const writer = new Writer({ prefixes: TURTLE_PREFIXES });
|
|
140
|
+
for (const conflict of conflicts) {
|
|
141
|
+
const subj = namedNode(conflict.uri);
|
|
142
|
+
writer.addQuad(makeQuad(subj, namedNode(NS.rdf + 'type'), namedNode(NS.cascade + 'PendingConflict')));
|
|
143
|
+
writer.addQuad(makeQuad(subj, namedNode(NS.cascade + 'conflictId'), literal(conflict.conflictId)));
|
|
144
|
+
writer.addQuad(makeQuad(subj, namedNode(NS.cascade + 'recordType'), literal(conflict.recordType)));
|
|
145
|
+
writer.addQuad(makeQuad(subj, namedNode(NS.cascade + 'detectedAt'), literal(conflict.detectedAt.toISOString(), namedNode(NS.xsd + 'dateTime'))));
|
|
146
|
+
for (const uri of conflict.candidateRecordUris) {
|
|
147
|
+
writer.addQuad(makeQuad(subj, namedNode(NS.cascade + 'candidateRecords'), namedNode(uri)));
|
|
148
|
+
}
|
|
149
|
+
if (conflict.label)
|
|
150
|
+
writer.addQuad(makeQuad(subj, namedNode(NS.cascade + 'label'), literal(conflict.label)));
|
|
151
|
+
if (conflict.sourceA)
|
|
152
|
+
writer.addQuad(makeQuad(subj, namedNode(NS.cascade + 'sourceA'), literal(conflict.sourceA)));
|
|
153
|
+
if (conflict.sourceB)
|
|
154
|
+
writer.addQuad(makeQuad(subj, namedNode(NS.cascade + 'sourceB'), literal(conflict.sourceB)));
|
|
155
|
+
}
|
|
156
|
+
writer.end(async (err, result) => {
|
|
157
|
+
if (err) {
|
|
158
|
+
reject(err);
|
|
159
|
+
return;
|
|
160
|
+
}
|
|
161
|
+
try {
|
|
162
|
+
await writeFile(filePath, result, 'utf-8');
|
|
163
|
+
resolve();
|
|
164
|
+
}
|
|
165
|
+
catch (writeErr) {
|
|
166
|
+
reject(writeErr);
|
|
167
|
+
}
|
|
168
|
+
});
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Load pending conflicts from settings/pending-conflicts.ttl.
|
|
173
|
+
*/
|
|
174
|
+
export async function loadPendingConflicts(podDir) {
|
|
175
|
+
const filePath = join(podDir, 'settings', 'pending-conflicts.ttl');
|
|
176
|
+
const conflicts = [];
|
|
177
|
+
let content;
|
|
178
|
+
try {
|
|
179
|
+
content = await readFile(filePath, 'utf-8');
|
|
180
|
+
}
|
|
181
|
+
catch {
|
|
182
|
+
return conflicts;
|
|
183
|
+
}
|
|
184
|
+
return new Promise((resolve) => {
|
|
185
|
+
const parser = new Parser({ format: 'Turtle' });
|
|
186
|
+
const bySubject = new Map();
|
|
187
|
+
parser.parse(content, (error, quad) => {
|
|
188
|
+
if (error) {
|
|
189
|
+
resolve(conflicts);
|
|
190
|
+
return;
|
|
191
|
+
}
|
|
192
|
+
if (!quad) {
|
|
193
|
+
for (const [uri, props] of bySubject) {
|
|
194
|
+
const types = props.get(NS.rdf + 'type') ?? [];
|
|
195
|
+
if (!types.includes(NS.cascade + 'PendingConflict'))
|
|
196
|
+
continue;
|
|
197
|
+
const conflictIds = props.get(NS.cascade + 'conflictId') ?? [];
|
|
198
|
+
if (!conflictIds[0])
|
|
199
|
+
continue;
|
|
200
|
+
const detectedAts = props.get(NS.cascade + 'detectedAt') ?? [];
|
|
201
|
+
conflicts.push({
|
|
202
|
+
uri,
|
|
203
|
+
conflictId: conflictIds[0],
|
|
204
|
+
recordType: (props.get(NS.cascade + 'recordType') ?? ['unknown'])[0],
|
|
205
|
+
detectedAt: detectedAts[0] ? new Date(detectedAts[0]) : new Date(),
|
|
206
|
+
candidateRecordUris: props.get(NS.cascade + 'candidateRecords') ?? [],
|
|
207
|
+
label: (props.get(NS.cascade + 'label') ?? [])[0],
|
|
208
|
+
sourceA: (props.get(NS.cascade + 'sourceA') ?? [])[0],
|
|
209
|
+
sourceB: (props.get(NS.cascade + 'sourceB') ?? [])[0],
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
resolve(conflicts);
|
|
213
|
+
return;
|
|
214
|
+
}
|
|
215
|
+
if (!bySubject.has(quad.subject.value))
|
|
216
|
+
bySubject.set(quad.subject.value, new Map());
|
|
217
|
+
const existing = bySubject.get(quad.subject.value);
|
|
218
|
+
const vals = existing.get(quad.predicate.value) ?? [];
|
|
219
|
+
vals.push(quad.object.value);
|
|
220
|
+
existing.set(quad.predicate.value, vals);
|
|
221
|
+
});
|
|
222
|
+
});
|
|
223
|
+
}
|
|
224
|
+
//# sourceMappingURL=user-resolutions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-resolutions.js","sourceRoot":"","sources":["../../src/lib/user-resolutions.ts"],"names":[],"mappings":"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"}
|
|
@@ -476,16 +476,6 @@ checkup:MedicationSummaryShape a sh:NodeShape ;
|
|
|
476
476
|
sh:severity sh:Info ;
|
|
477
477
|
sh:name "Concerns For Doctor" ;
|
|
478
478
|
sh:message "Concerns patient wants to discuss with provider"
|
|
479
|
-
] ;
|
|
480
|
-
|
|
481
|
-
# v3.2: Computed supply end date (startDate + supplyDurationDays)
|
|
482
|
-
sh:property [
|
|
483
|
-
sh:path checkup:supplyEndDate ;
|
|
484
|
-
sh:datatype xsd:date ;
|
|
485
|
-
sh:maxCount 1 ;
|
|
486
|
-
sh:severity sh:Info ;
|
|
487
|
-
sh:name "Supply End Date" ;
|
|
488
|
-
sh:message "Computed date when medication supply is expected to be exhausted; used to infer currency when adherenceStatus is absent"
|
|
489
479
|
] .
|
|
490
480
|
|
|
491
481
|
# ============================================================================
|
|
@@ -428,10 +428,53 @@ cascade:AdvanceDirectivesShape a sh:NodeShape ;
|
|
|
428
428
|
sh:message "Notes can provide additional context about advance directive wishes"@en
|
|
429
429
|
] .
|
|
430
430
|
|
|
431
|
+
# ============================================================================
|
|
432
|
+
# Shapes: UserResolution and PendingConflict (v2.9)
|
|
433
|
+
# ============================================================================
|
|
434
|
+
|
|
435
|
+
cascade:UserResolutionShape a sh:NodeShape ;
|
|
436
|
+
sh:targetClass cascade:UserResolution ;
|
|
437
|
+
rdfs:label "User Resolution Shape"@en ;
|
|
438
|
+
sh:property [
|
|
439
|
+
sh:path cascade:conflictId ;
|
|
440
|
+
sh:datatype xsd:string ;
|
|
441
|
+
sh:minCount 1 ;
|
|
442
|
+
sh:maxCount 1 ;
|
|
443
|
+
sh:severity sh:Violation ;
|
|
444
|
+
sh:name "Conflict ID"@en ;
|
|
445
|
+
sh:message "UserResolution requires a conflictId"@en
|
|
446
|
+
] ;
|
|
447
|
+
sh:property [
|
|
448
|
+
sh:path cascade:resolution ;
|
|
449
|
+
sh:datatype xsd:string ;
|
|
450
|
+
sh:minCount 1 ;
|
|
451
|
+
sh:maxCount 1 ;
|
|
452
|
+
sh:severity sh:Violation ;
|
|
453
|
+
sh:name "Resolution"@en ;
|
|
454
|
+
sh:message "UserResolution requires a resolution decision"@en
|
|
455
|
+
] .
|
|
456
|
+
|
|
457
|
+
cascade:PendingConflictShape a sh:NodeShape ;
|
|
458
|
+
sh:targetClass cascade:PendingConflict ;
|
|
459
|
+
rdfs:label "Pending Conflict Shape"@en ;
|
|
460
|
+
sh:property [
|
|
461
|
+
sh:path cascade:conflictId ;
|
|
462
|
+
sh:datatype xsd:string ;
|
|
463
|
+
sh:minCount 1 ;
|
|
464
|
+
sh:maxCount 1 ;
|
|
465
|
+
sh:severity sh:Violation ;
|
|
466
|
+
sh:name "Conflict ID"@en ;
|
|
467
|
+
sh:message "PendingConflict requires a conflictId"@en
|
|
468
|
+
] .
|
|
469
|
+
|
|
431
470
|
# ============================================================================
|
|
432
471
|
# Changelog
|
|
433
472
|
# ============================================================================
|
|
434
473
|
#
|
|
474
|
+
# Version 1.1 (2026-03-27)
|
|
475
|
+
# - Added UserResolutionShape: VIOLATION for conflictId, resolution
|
|
476
|
+
# - Added PendingConflictShape: VIOLATION for conflictId
|
|
477
|
+
#
|
|
435
478
|
# Version 1.0 (2026-02-18)
|
|
436
479
|
# - Initial release of core vocabulary SHACL shapes (Phase 4)
|
|
437
480
|
# - PatientProfileShape: VIOLATION for dateOfBirth, biologicalSex,
|
package/dist/shapes/core.ttl
CHANGED
|
@@ -17,8 +17,8 @@
|
|
|
17
17
|
dct:description "Core vocabulary for schema versioning, data provenance, identity management, and patient demographics across all Cascade Protocol applications"@en ;
|
|
18
18
|
dct:creator "Cascade Agentic Labs" ;
|
|
19
19
|
dct:created "2025-10-31"^^xsd:date ;
|
|
20
|
-
dct:modified "2026-03-
|
|
21
|
-
owl:versionInfo "2.
|
|
20
|
+
dct:modified "2026-03-27"^^xsd:date ;
|
|
21
|
+
owl:versionInfo "2.9" ;
|
|
22
22
|
rdfs:comment "This vocabulary defines cross-cutting concepts used by all Cascade Protocol health data applications: schema versioning, data provenance, patient demographics (PatientProfile), and supporting identity classes (Address, PharmacyInfo, AdvanceDirectives). Domain-specific vocabularies (e.g., pots:, ecg:, glucose:) import this core vocabulary."@en ;
|
|
23
23
|
rdfs:seeAlso <https://cascadeprotocol.org/docs/core/v1.0/> .
|
|
24
24
|
|
|
@@ -676,6 +676,18 @@ cascade:forSystem a owl:DatatypeProperty ;
|
|
|
676
676
|
# ============================================================================
|
|
677
677
|
# Changelog
|
|
678
678
|
# ============================================================================
|
|
679
|
+
# v2.9 (2026-03-27): EHR Import Reconciliation (P1-C) — Added conflict resolution
|
|
680
|
+
# persistence classes: cascade:UserResolution (patient's recorded decision for
|
|
681
|
+
# resolving a data conflict) and cascade:PendingConflict (unresolved conflict
|
|
682
|
+
# awaiting user resolution). Added conflict resolution properties: conflictId,
|
|
683
|
+
# resolution, keptRecord, discardedRecords, userNote, candidateRecords,
|
|
684
|
+
# detectedAt, autoResolved. Added document provenance properties: documentType,
|
|
685
|
+
# sectionCode, sourceRecordId.
|
|
686
|
+
# v2.8 (2026-03-12): Layer Promotion Status vocabulary for FHIR round-trip support.
|
|
687
|
+
# Added cascade:LayerPromotionStatusValue class, cascade:layerPromotionStatus
|
|
688
|
+
# ObjectProperty, cascade:FullyMapped and cascade:PendingLayerTwoPromotion named
|
|
689
|
+
# individuals. Added cascade:fhirJson (lossless FHIR JSON passthrough),
|
|
690
|
+
# cascade:fhirResourceType, cascade:sourceRecordDate properties.
|
|
679
691
|
# v2.7 (2026-03-12): Removed cascade:conflictDescription (deprecated since v2.5).
|
|
680
692
|
# cascade:conflictDetail blank nodes now carry an rdfs:comment with a human-readable
|
|
681
693
|
# summary of the conflicting values, replacing the separate prose property.
|
|
@@ -796,3 +808,79 @@ cascade:sourceRecordDate a owl:DatatypeProperty ;
|
|
|
796
808
|
rdfs:label "Source Record Date"@en ;
|
|
797
809
|
rdfs:comment "Minimal date projection triple for Layer 1 passthrough records. Copied from effectiveDateTime, date, period.start, or created field if present."@en ;
|
|
798
810
|
rdfs:range xsd:dateTime .
|
|
811
|
+
|
|
812
|
+
# ============================================================================
|
|
813
|
+
# Conflict Resolution (v2.9)
|
|
814
|
+
# ============================================================================
|
|
815
|
+
|
|
816
|
+
### Conflict Resolution Classes
|
|
817
|
+
cascade:UserResolution a owl:Class ;
|
|
818
|
+
rdfs:label "User Resolution"@en ;
|
|
819
|
+
rdfs:comment "A patient's recorded decision for resolving a data conflict between two source records."@en ;
|
|
820
|
+
owl:versionInfo "Added in core v2.9" .
|
|
821
|
+
|
|
822
|
+
cascade:PendingConflict a owl:Class ;
|
|
823
|
+
rdfs:label "Pending Conflict"@en ;
|
|
824
|
+
rdfs:comment "An unresolved conflict between two or more records from different sources, awaiting user resolution."@en ;
|
|
825
|
+
owl:versionInfo "Added in core v2.9" .
|
|
826
|
+
|
|
827
|
+
### Conflict Resolution Properties
|
|
828
|
+
cascade:conflictId a owl:DatatypeProperty ;
|
|
829
|
+
rdfs:label "Conflict ID"@en ;
|
|
830
|
+
rdfs:comment "A deterministic string identifier for a conflict, derived from the record type and identity fields. Stable across re-imports."@en ;
|
|
831
|
+
rdfs:domain [ owl:unionOf (cascade:UserResolution cascade:PendingConflict) ] ;
|
|
832
|
+
rdfs:range xsd:string .
|
|
833
|
+
|
|
834
|
+
cascade:resolution a owl:DatatypeProperty ;
|
|
835
|
+
rdfs:label "Resolution"@en ;
|
|
836
|
+
rdfs:comment "The user's resolution decision. One of: kept-source-a, kept-source-b, kept-both, manual-edit."@en ;
|
|
837
|
+
rdfs:domain cascade:UserResolution ;
|
|
838
|
+
rdfs:range xsd:string .
|
|
839
|
+
|
|
840
|
+
cascade:keptRecord a owl:ObjectProperty ;
|
|
841
|
+
rdfs:label "Kept Record"@en ;
|
|
842
|
+
rdfs:comment "The record that was kept as the canonical version after conflict resolution."@en ;
|
|
843
|
+
rdfs:domain cascade:UserResolution .
|
|
844
|
+
|
|
845
|
+
cascade:discardedRecords a owl:ObjectProperty ;
|
|
846
|
+
rdfs:label "Discarded Records"@en ;
|
|
847
|
+
rdfs:comment "Records that were discarded during conflict resolution."@en ;
|
|
848
|
+
rdfs:domain cascade:UserResolution .
|
|
849
|
+
|
|
850
|
+
cascade:userNote a owl:DatatypeProperty ;
|
|
851
|
+
rdfs:label "User Note"@en ;
|
|
852
|
+
rdfs:comment "Optional free-text note from the patient about their resolution decision."@en ;
|
|
853
|
+
rdfs:domain cascade:UserResolution ;
|
|
854
|
+
rdfs:range xsd:string .
|
|
855
|
+
|
|
856
|
+
cascade:candidateRecords a owl:ObjectProperty ;
|
|
857
|
+
rdfs:label "Candidate Records"@en ;
|
|
858
|
+
rdfs:comment "The conflicting records in a PendingConflict, awaiting user resolution."@en ;
|
|
859
|
+
rdfs:domain cascade:PendingConflict .
|
|
860
|
+
|
|
861
|
+
cascade:detectedAt a owl:DatatypeProperty ;
|
|
862
|
+
rdfs:label "Detected At"@en ;
|
|
863
|
+
rdfs:comment "When the conflict was first detected during import."@en ;
|
|
864
|
+
rdfs:domain cascade:PendingConflict ;
|
|
865
|
+
rdfs:range xsd:dateTime .
|
|
866
|
+
|
|
867
|
+
cascade:autoResolved a owl:DatatypeProperty ;
|
|
868
|
+
rdfs:label "Auto Resolved"@en ;
|
|
869
|
+
rdfs:comment "True when a conflict was automatically resolved by applying a stored user resolution preference."@en ;
|
|
870
|
+
rdfs:range xsd:boolean .
|
|
871
|
+
|
|
872
|
+
### Document Provenance Properties
|
|
873
|
+
cascade:documentType a owl:DatatypeProperty ;
|
|
874
|
+
rdfs:label "Document Type"@en ;
|
|
875
|
+
rdfs:comment "The type of clinical document. Values: summarization, progress-note, discharge-summary, consultation-note, operative-note, history-physical."@en ;
|
|
876
|
+
rdfs:range xsd:string .
|
|
877
|
+
|
|
878
|
+
cascade:sectionCode a owl:DatatypeProperty ;
|
|
879
|
+
rdfs:label "Section Code"@en ;
|
|
880
|
+
rdfs:comment "LOINC code of the originating C-CDA section for this record."@en ;
|
|
881
|
+
rdfs:range xsd:string .
|
|
882
|
+
|
|
883
|
+
cascade:sourceRecordId a owl:DatatypeProperty ;
|
|
884
|
+
rdfs:label "Source Record ID"@en ;
|
|
885
|
+
rdfs:comment "The original source system record identifier (e.g., C-CDA <id> element value) preserved for provenance."@en ;
|
|
886
|
+
rdfs:range xsd:string .
|
|
@@ -676,10 +676,37 @@ health:HealthProfileShape a sh:NodeShape ;
|
|
|
676
676
|
sh:severity sh:Info
|
|
677
677
|
] .
|
|
678
678
|
|
|
679
|
+
# ============================================================================
|
|
680
|
+
# Shape: SocialHistoryRecord (v2.4)
|
|
681
|
+
# ============================================================================
|
|
682
|
+
|
|
683
|
+
health:SocialHistoryRecordShape a sh:NodeShape ;
|
|
684
|
+
sh:targetClass health:SocialHistoryRecord ;
|
|
685
|
+
rdfs:label "Social History Record Shape"@en ;
|
|
686
|
+
sh:property [
|
|
687
|
+
sh:path cascade:sourceSystem ;
|
|
688
|
+
sh:datatype xsd:string ;
|
|
689
|
+
sh:maxCount 1 ;
|
|
690
|
+
sh:severity sh:Info ;
|
|
691
|
+
sh:name "Source System"@en ;
|
|
692
|
+
sh:message "Source system attribution is recommended for social history records"@en
|
|
693
|
+
] ;
|
|
694
|
+
sh:property [
|
|
695
|
+
sh:path health:smokingStatus ;
|
|
696
|
+
sh:datatype xsd:string ;
|
|
697
|
+
sh:maxCount 1 ;
|
|
698
|
+
sh:severity sh:Info ;
|
|
699
|
+
sh:name "Smoking Status"@en ;
|
|
700
|
+
sh:message "Smoking status is a key social history field"@en
|
|
701
|
+
] .
|
|
702
|
+
|
|
679
703
|
# ============================================================================
|
|
680
704
|
# Changelog
|
|
681
705
|
# ============================================================================
|
|
682
706
|
#
|
|
707
|
+
# Version 1.1 (2026-03-27)
|
|
708
|
+
# - Added SocialHistoryRecordShape for health:SocialHistoryRecord (health v2.4)
|
|
709
|
+
#
|
|
683
710
|
# Version 1.0 (2026-02-18)
|
|
684
711
|
# - Initial release of Health & Wellness SHACL shapes (Phase 4)
|
|
685
712
|
# - 8 shapes covering all major health.ttl v2.2 classes:
|