@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.
Files changed (123) hide show
  1. package/dist/commands/pod/conflicts.d.ts +10 -0
  2. package/dist/commands/pod/conflicts.d.ts.map +1 -0
  3. package/dist/commands/pod/conflicts.js +45 -0
  4. package/dist/commands/pod/conflicts.js.map +1 -0
  5. package/dist/commands/pod/import.d.ts.map +1 -1
  6. package/dist/commands/pod/import.js +85 -6
  7. package/dist/commands/pod/import.js.map +1 -1
  8. package/dist/commands/pod/index.d.ts.map +1 -1
  9. package/dist/commands/pod/index.js +4 -0
  10. package/dist/commands/pod/index.js.map +1 -1
  11. package/dist/commands/pod/resolve.d.ts +10 -0
  12. package/dist/commands/pod/resolve.d.ts.map +1 -0
  13. package/dist/commands/pod/resolve.js +61 -0
  14. package/dist/commands/pod/resolve.js.map +1 -0
  15. package/dist/lib/ccda-converter/code-systems.d.ts +6 -0
  16. package/dist/lib/ccda-converter/code-systems.d.ts.map +1 -0
  17. package/dist/lib/ccda-converter/code-systems.js +27 -0
  18. package/dist/lib/ccda-converter/code-systems.js.map +1 -0
  19. package/dist/lib/ccda-converter/document-type.d.ts +6 -0
  20. package/dist/lib/ccda-converter/document-type.d.ts.map +1 -0
  21. package/dist/lib/ccda-converter/document-type.js +15 -0
  22. package/dist/lib/ccda-converter/document-type.js.map +1 -0
  23. package/dist/lib/ccda-converter/index.d.ts +30 -0
  24. package/dist/lib/ccda-converter/index.d.ts.map +1 -0
  25. package/dist/lib/ccda-converter/index.js +211 -0
  26. package/dist/lib/ccda-converter/index.js.map +1 -0
  27. package/dist/lib/ccda-converter/narrative.d.ts +6 -0
  28. package/dist/lib/ccda-converter/narrative.d.ts.map +1 -0
  29. package/dist/lib/ccda-converter/narrative.js +35 -0
  30. package/dist/lib/ccda-converter/narrative.js.map +1 -0
  31. package/dist/lib/ccda-converter/parser.d.ts +6 -0
  32. package/dist/lib/ccda-converter/parser.d.ts.map +1 -0
  33. package/dist/lib/ccda-converter/parser.js +23 -0
  34. package/dist/lib/ccda-converter/parser.js.map +1 -0
  35. package/dist/lib/ccda-converter/sections/allergies.d.ts +8 -0
  36. package/dist/lib/ccda-converter/sections/allergies.d.ts.map +1 -0
  37. package/dist/lib/ccda-converter/sections/allergies.js +57 -0
  38. package/dist/lib/ccda-converter/sections/allergies.js.map +1 -0
  39. package/dist/lib/ccda-converter/sections/devices.d.ts +9 -0
  40. package/dist/lib/ccda-converter/sections/devices.d.ts.map +1 -0
  41. package/dist/lib/ccda-converter/sections/devices.js +50 -0
  42. package/dist/lib/ccda-converter/sections/devices.js.map +1 -0
  43. package/dist/lib/ccda-converter/sections/encounters.d.ts +9 -0
  44. package/dist/lib/ccda-converter/sections/encounters.d.ts.map +1 -0
  45. package/dist/lib/ccda-converter/sections/encounters.js +44 -0
  46. package/dist/lib/ccda-converter/sections/encounters.js.map +1 -0
  47. package/dist/lib/ccda-converter/sections/family-history.d.ts +9 -0
  48. package/dist/lib/ccda-converter/sections/family-history.d.ts.map +1 -0
  49. package/dist/lib/ccda-converter/sections/family-history.js +60 -0
  50. package/dist/lib/ccda-converter/sections/family-history.js.map +1 -0
  51. package/dist/lib/ccda-converter/sections/immunizations.d.ts +8 -0
  52. package/dist/lib/ccda-converter/sections/immunizations.d.ts.map +1 -0
  53. package/dist/lib/ccda-converter/sections/immunizations.js +62 -0
  54. package/dist/lib/ccda-converter/sections/immunizations.js.map +1 -0
  55. package/dist/lib/ccda-converter/sections/labs.d.ts +8 -0
  56. package/dist/lib/ccda-converter/sections/labs.d.ts.map +1 -0
  57. package/dist/lib/ccda-converter/sections/labs.js +82 -0
  58. package/dist/lib/ccda-converter/sections/labs.js.map +1 -0
  59. package/dist/lib/ccda-converter/sections/medications.d.ts +8 -0
  60. package/dist/lib/ccda-converter/sections/medications.d.ts.map +1 -0
  61. package/dist/lib/ccda-converter/sections/medications.js +68 -0
  62. package/dist/lib/ccda-converter/sections/medications.js.map +1 -0
  63. package/dist/lib/ccda-converter/sections/patient.d.ts +9 -0
  64. package/dist/lib/ccda-converter/sections/patient.d.ts.map +1 -0
  65. package/dist/lib/ccda-converter/sections/patient.js +46 -0
  66. package/dist/lib/ccda-converter/sections/patient.js.map +1 -0
  67. package/dist/lib/ccda-converter/sections/problems.d.ts +8 -0
  68. package/dist/lib/ccda-converter/sections/problems.d.ts.map +1 -0
  69. package/dist/lib/ccda-converter/sections/problems.js +76 -0
  70. package/dist/lib/ccda-converter/sections/problems.js.map +1 -0
  71. package/dist/lib/ccda-converter/sections/procedures.d.ts +8 -0
  72. package/dist/lib/ccda-converter/sections/procedures.d.ts.map +1 -0
  73. package/dist/lib/ccda-converter/sections/procedures.js +57 -0
  74. package/dist/lib/ccda-converter/sections/procedures.js.map +1 -0
  75. package/dist/lib/ccda-converter/sections/social-history.d.ts +9 -0
  76. package/dist/lib/ccda-converter/sections/social-history.d.ts.map +1 -0
  77. package/dist/lib/ccda-converter/sections/social-history.js +11 -0
  78. package/dist/lib/ccda-converter/sections/social-history.js.map +1 -0
  79. package/dist/lib/ccda-converter/sections/vitals.d.ts +8 -0
  80. package/dist/lib/ccda-converter/sections/vitals.d.ts.map +1 -0
  81. package/dist/lib/ccda-converter/sections/vitals.js +75 -0
  82. package/dist/lib/ccda-converter/sections/vitals.js.map +1 -0
  83. package/dist/lib/ccda-converter/vendor/detect.d.ts +7 -0
  84. package/dist/lib/ccda-converter/vendor/detect.d.ts.map +1 -0
  85. package/dist/lib/ccda-converter/vendor/detect.js +30 -0
  86. package/dist/lib/ccda-converter/vendor/detect.js.map +1 -0
  87. package/dist/lib/ccda-converter/vendor/normalize.d.ts +6 -0
  88. package/dist/lib/ccda-converter/vendor/normalize.d.ts.map +1 -0
  89. package/dist/lib/ccda-converter/vendor/normalize.js +13 -0
  90. package/dist/lib/ccda-converter/vendor/normalize.js.map +1 -0
  91. package/dist/lib/ccda-converter/vendor/quirks/cerner.d.ts +7 -0
  92. package/dist/lib/ccda-converter/vendor/quirks/cerner.d.ts.map +1 -0
  93. package/dist/lib/ccda-converter/vendor/quirks/cerner.js +26 -0
  94. package/dist/lib/ccda-converter/vendor/quirks/cerner.js.map +1 -0
  95. package/dist/lib/ccda-converter/vendor/quirks/epic.d.ts +7 -0
  96. package/dist/lib/ccda-converter/vendor/quirks/epic.d.ts.map +1 -0
  97. package/dist/lib/ccda-converter/vendor/quirks/epic.js +29 -0
  98. package/dist/lib/ccda-converter/vendor/quirks/epic.js.map +1 -0
  99. package/dist/lib/fhir-converter/converters-clinical.d.ts.map +1 -1
  100. package/dist/lib/fhir-converter/converters-clinical.js +26 -5
  101. package/dist/lib/fhir-converter/converters-clinical.js.map +1 -1
  102. package/dist/lib/fhir-converter/converters-demographics.d.ts.map +1 -1
  103. package/dist/lib/fhir-converter/converters-demographics.js +13 -3
  104. package/dist/lib/fhir-converter/converters-demographics.js.map +1 -1
  105. package/dist/lib/fhir-converter/index.d.ts.map +1 -1
  106. package/dist/lib/fhir-converter/index.js +15 -4
  107. package/dist/lib/fhir-converter/index.js.map +1 -1
  108. package/dist/lib/fhir-converter/types.d.ts +24 -0
  109. package/dist/lib/fhir-converter/types.d.ts.map +1 -1
  110. package/dist/lib/fhir-converter/types.js +54 -1
  111. package/dist/lib/fhir-converter/types.js.map +1 -1
  112. package/dist/lib/reconciler.d.ts.map +1 -1
  113. package/dist/lib/reconciler.js +196 -27
  114. package/dist/lib/reconciler.js.map +1 -1
  115. package/dist/lib/user-resolutions.d.ts +54 -0
  116. package/dist/lib/user-resolutions.d.ts.map +1 -0
  117. package/dist/lib/user-resolutions.js +224 -0
  118. package/dist/lib/user-resolutions.js.map +1 -0
  119. package/dist/shapes/checkup.shapes.ttl +0 -10
  120. package/dist/shapes/core.shapes.ttl +43 -0
  121. package/dist/shapes/core.ttl +90 -2
  122. package/dist/shapes/health.shapes.ttl +27 -0
  123. 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,
@@ -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-12"^^xsd:date ;
21
- owl:versionInfo "2.8" ;
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: