@the-cascade-protocol/cli 0.3.5 → 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/capabilities.d.ts.map +1 -1
- package/dist/commands/capabilities.js +6 -5
- package/dist/commands/capabilities.js.map +1 -1
- 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":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/fhir-converter/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAMH,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAI3B,MAAM,YAAY,CAAC;AASpB,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,CAAC;AAGnF,OAAO,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACxF,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAM5D;;;;;;GAMG;AACH,wBAAsB,OAAO,CAC3B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,WAAW,EACjB,EAAE,EAAE,YAAY,EAChB,mBAAmB,GAAE,QAAQ,GAAG,QAAmB,EACnD,YAAY,CAAC,EAAE,MAAM,EACrB,kBAAkB,UAAQ,GACzB,OAAO,CAAC,qBAAqB,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/fhir-converter/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAMH,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAI3B,MAAM,YAAY,CAAC;AASpB,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,CAAC;AAGnF,OAAO,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACxF,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAM5D;;;;;;GAMG;AACH,wBAAsB,OAAO,CAC3B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,WAAW,EACjB,EAAE,EAAE,YAAY,EAChB,mBAAmB,GAAE,QAAQ,GAAG,QAAmB,EACnD,YAAY,CAAC,EAAE,MAAM,EACrB,kBAAkB,UAAQ,GACzB,OAAO,CAAC,qBAAqB,CAAC,CAgLhC;AAMD;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CA6B9D"}
|
|
@@ -196,10 +196,21 @@ export async function convert(input, from, to, outputSerialization = 'turtle', s
|
|
|
196
196
|
};
|
|
197
197
|
}
|
|
198
198
|
else if (from === 'c-cda') {
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
199
|
+
// Native C-CDA converter — preserves CVX, LOINC, SNOMED, RxNorm, ICD-10 codes
|
|
200
|
+
const { convertCcda } = await import('../ccda-converter/index.js');
|
|
201
|
+
// Detect if input looks like an IHE XDM zip (binary PK header)
|
|
202
|
+
let inputData;
|
|
203
|
+
const firstTwo = input.charCodeAt(0) === 0x50 && input.charCodeAt(1) === 0x4b;
|
|
204
|
+
if (firstTwo) {
|
|
205
|
+
inputData = Buffer.from(input, 'binary');
|
|
206
|
+
}
|
|
207
|
+
else {
|
|
208
|
+
inputData = input;
|
|
209
|
+
}
|
|
210
|
+
return await convertCcda(inputData, {
|
|
211
|
+
sourceSystem,
|
|
212
|
+
importedAt: new Date().toISOString(),
|
|
213
|
+
});
|
|
203
214
|
}
|
|
204
215
|
else {
|
|
205
216
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/fhir-converter/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/fhir-converter/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -82,6 +82,30 @@ export declare function tripleDate(subject: string, predicate: string, dateStr:
|
|
|
82
82
|
* - If no resource.id: falls back to a random UUID (last resort)
|
|
83
83
|
*/
|
|
84
84
|
export declare function mintSubjectUri(resource: any): string;
|
|
85
|
+
/**
|
|
86
|
+
* Generate a deterministic urn:uuid: URI from clinical content fields.
|
|
87
|
+
* Used when no stable FHIR resource ID is available.
|
|
88
|
+
*
|
|
89
|
+
* Identity string construction:
|
|
90
|
+
* "{resourceType}::{sortedKeyValuePairs}"
|
|
91
|
+
* where sortedKeyValuePairs =
|
|
92
|
+
* entries of contentFields where value is non-null and non-empty after .trim()
|
|
93
|
+
* sorted ascending by key (localeCompare)
|
|
94
|
+
* mapped as "key=value"
|
|
95
|
+
* joined with "|"
|
|
96
|
+
*
|
|
97
|
+
* URI selection:
|
|
98
|
+
* If identity string has content: return "urn:uuid:" + deterministicUuid(identity)
|
|
99
|
+
* Else if fallbackId: return "urn:uuid:" + deterministicUuid("{resourceType}:{fallbackId}")
|
|
100
|
+
* Else: return "urn:uuid:" + randomUUID() (non-deterministic fallback)
|
|
101
|
+
*
|
|
102
|
+
* Example:
|
|
103
|
+
* contentHashedUri("Patient", { dob:"1985-03-15", sex:"male", family:"Smith", given:"John" })
|
|
104
|
+
* -> identity: "Patient::dob=1985-03-15|family=Smith|given=John|sex=male"
|
|
105
|
+
* -> urn:uuid:{deterministicUuid("Patient::dob=1985-03-15|family=Smith|given=John|sex=male")}
|
|
106
|
+
* -> urn:uuid:aba8c9f5-fdc6-5187-a363-0d5a7cb72438
|
|
107
|
+
*/
|
|
108
|
+
export declare function contentHashedUri(resourceType: string, contentFields: Record<string, string | undefined>, fallbackId?: string): string;
|
|
85
109
|
/** Common triples every Cascade resource gets */
|
|
86
110
|
export declare function commonTriples(subject: string): Quad[];
|
|
87
111
|
export declare function quadsToTurtle(quads: Quad[]): Promise<string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/fhir-converter/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/fhir-converter/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -190,9 +190,24 @@ export function tripleDate(subject, predicate, dateStr) {
|
|
|
190
190
|
// Subject URI minting (deterministic from resource.id)
|
|
191
191
|
// ---------------------------------------------------------------------------
|
|
192
192
|
const UUID_V4_REGEX = /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
|
|
193
|
+
/**
|
|
194
|
+
* Cascade Protocol Deterministic UUID (CDP-UUID)
|
|
195
|
+
*
|
|
196
|
+
* Algorithm:
|
|
197
|
+
* Input: UTF-8 string
|
|
198
|
+
* Hash: SHA-1(input) -> 40-char lowercase hex digest `h`
|
|
199
|
+
* Layout: {h[0:8]}-{h[8:12]}-5{h[13:16]}-{v}{h[18:20]}-{h[20:32]}
|
|
200
|
+
* where v = (parseInt(h[16:18], 16) & 0x3f | 0x80).toString(16).padStart(2,'0')
|
|
201
|
+
* (Sets UUID version nibble to 5, variant bits to 10xx -- same layout as RFC 4122 v5
|
|
202
|
+
* but hashing the raw input string directly, not a namespace+name pair)
|
|
203
|
+
*
|
|
204
|
+
* Cross-SDK verification:
|
|
205
|
+
* SHA-1("hello") == "aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d"
|
|
206
|
+
* deterministicUuid("hello") == "aaf4c61d-dcc5-58a2-9abe-de0f3b482cd9"
|
|
207
|
+
* (verify this value before using in any SDK implementation)
|
|
208
|
+
*/
|
|
193
209
|
function deterministicUuid(input) {
|
|
194
210
|
const hash = createHash('sha1').update(input).digest('hex');
|
|
195
|
-
// Format as a deterministic UUID-shaped string (SHA-1 based, not strict v5)
|
|
196
211
|
const v = ((parseInt(hash.slice(16, 18), 16) & 0x3f) | 0x80).toString(16).padStart(2, '0');
|
|
197
212
|
return `${hash.slice(0, 8)}-${hash.slice(8, 12)}-5${hash.slice(13, 16)}-${v}${hash.slice(18, 20)}-${hash.slice(20, 32)}`;
|
|
198
213
|
}
|
|
@@ -211,6 +226,44 @@ export function mintSubjectUri(resource) {
|
|
|
211
226
|
const resourceType = resource?.resourceType ?? 'Unknown';
|
|
212
227
|
return `urn:uuid:${deterministicUuid(`${resourceType}:${id}`)}`;
|
|
213
228
|
}
|
|
229
|
+
/**
|
|
230
|
+
* Generate a deterministic urn:uuid: URI from clinical content fields.
|
|
231
|
+
* Used when no stable FHIR resource ID is available.
|
|
232
|
+
*
|
|
233
|
+
* Identity string construction:
|
|
234
|
+
* "{resourceType}::{sortedKeyValuePairs}"
|
|
235
|
+
* where sortedKeyValuePairs =
|
|
236
|
+
* entries of contentFields where value is non-null and non-empty after .trim()
|
|
237
|
+
* sorted ascending by key (localeCompare)
|
|
238
|
+
* mapped as "key=value"
|
|
239
|
+
* joined with "|"
|
|
240
|
+
*
|
|
241
|
+
* URI selection:
|
|
242
|
+
* If identity string has content: return "urn:uuid:" + deterministicUuid(identity)
|
|
243
|
+
* Else if fallbackId: return "urn:uuid:" + deterministicUuid("{resourceType}:{fallbackId}")
|
|
244
|
+
* Else: return "urn:uuid:" + randomUUID() (non-deterministic fallback)
|
|
245
|
+
*
|
|
246
|
+
* Example:
|
|
247
|
+
* contentHashedUri("Patient", { dob:"1985-03-15", sex:"male", family:"Smith", given:"John" })
|
|
248
|
+
* -> identity: "Patient::dob=1985-03-15|family=Smith|given=John|sex=male"
|
|
249
|
+
* -> urn:uuid:{deterministicUuid("Patient::dob=1985-03-15|family=Smith|given=John|sex=male")}
|
|
250
|
+
* -> urn:uuid:aba8c9f5-fdc6-5187-a363-0d5a7cb72438
|
|
251
|
+
*/
|
|
252
|
+
export function contentHashedUri(resourceType, contentFields, fallbackId) {
|
|
253
|
+
// Filter out undefined/empty values and sort keys for stability
|
|
254
|
+
const content = Object.entries(contentFields)
|
|
255
|
+
.filter(([, v]) => v != null && v.trim().length > 0)
|
|
256
|
+
.sort(([a], [b]) => a.localeCompare(b))
|
|
257
|
+
.map(([k, v]) => `${k}=${v}`)
|
|
258
|
+
.join('|');
|
|
259
|
+
if (content.length > 0) {
|
|
260
|
+
return `urn:uuid:${deterministicUuid(`${resourceType}::${content}`)}`;
|
|
261
|
+
}
|
|
262
|
+
if (fallbackId) {
|
|
263
|
+
return `urn:uuid:${deterministicUuid(`${resourceType}:${fallbackId}`)}`;
|
|
264
|
+
}
|
|
265
|
+
return `urn:uuid:${randomUUID()}`; // true last resort
|
|
266
|
+
}
|
|
214
267
|
/** Common triples every Cascade resource gets */
|
|
215
268
|
export function commonTriples(subject) {
|
|
216
269
|
return [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/lib/fhir-converter/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/lib/fhir-converter/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,EAAa,MAAM,IAAI,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAErD,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,WAAW,CAAC;AA4B3D,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAE9E,gFAAgF;AAChF,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,CAAC;AAEpC,8EAA8E;AAC9E,sBAAsB;AACtB,8EAA8E;AAE9E,MAAM,CAAC,MAAM,EAAE,GAAG;IAChB,OAAO,EAAE,yCAAyC;IAClD,MAAM,EAAE,2CAA2C;IACnD,QAAQ,EAAE,6CAA6C;IACvD,QAAQ,EAAE,6CAA6C;IACvD,IAAI,EAAE,sBAAsB;IAC5B,GAAG,EAAE,yBAAyB;IAC9B,KAAK,EAAE,uBAAuB;IAC9B,MAAM,EAAE,8CAA8C;IACtD,KAAK,EAAE,oCAAoC;IAC3C,GAAG,EAAE,mCAAmC;IACxC,IAAI,EAAE,4BAA4B;IAClC,GAAG,EAAE,6CAA6C;CAC1C,CAAC;AAEX,6DAA6D;AAC7D,MAAM,CAAC,MAAM,eAAe,GAA2B;IACrD,OAAO,EAAE,EAAE,CAAC,OAAO;IACnB,MAAM,EAAE,EAAE,CAAC,MAAM;IACjB,QAAQ,EAAE,EAAE,CAAC,QAAQ;IACrB,QAAQ,EAAE,EAAE,CAAC,QAAQ;IACrB,IAAI,EAAE,EAAE,CAAC,IAAI;IACb,GAAG,EAAE,EAAE,CAAC,GAAG;IACX,KAAK,EAAE,EAAE,CAAC,KAAK;IACf,MAAM,EAAE,EAAE,CAAC,MAAM;IACjB,GAAG,EAAE,EAAE,CAAC,GAAG;IACX,IAAI,EAAE,EAAE,CAAC,IAAI;CACd,CAAC;AAEF,8EAA8E;AAC9E,kDAAkD;AAClD,8EAA8E;AAE9E,MAAM,CAAC,MAAM,iBAAiB,GAA2B;IACvD,6CAA6C,EAAE,EAAE,CAAC,MAAM;IACxD,gCAAgC,EAAE,EAAE,CAAC,MAAM;IAC3C,wBAAwB,EAAE,EAAE,CAAC,GAAG;IAChC,kBAAkB,EAAE,EAAE,CAAC,KAAK;IAC5B,mBAAmB,EAAE,EAAE,CAAC,KAAK;IAC7B,mBAAmB,EAAE,EAAE,CAAC,KAAK;IAC7B,+BAA+B,EAAE,EAAE,CAAC,KAAK,EAAI,gCAAgC;IAC7E,mCAAmC,EAAE,EAAE,CAAC,KAAK;IAC7C,gCAAgC,EAAE,EAAE,CAAC,KAAK;CAC3C,CAAC;AAEF,kEAAkE;AAClE,MAAM,UAAU,aAAa,CAAC,MAA0B;IACtD,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC1B,OAAO,iBAAiB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC;AAChD,CAAC;AAED,8EAA8E;AAC9E,qCAAqC;AACrC,8EAA8E;AAE9E,MAAM,CAAC,MAAM,iBAAiB,GAAqF;IACjH,iDAAiD;IACjD,QAAQ,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,yBAAyB,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE;IACnH,QAAQ,EAAE,EAAE,IAAI,EAAE,wBAAwB,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE;IACrH,SAAS,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE;IAC7G,SAAS,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE;IAC7G,QAAQ,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE;IACzG,QAAQ,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE;IACzF,QAAQ,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE;IAC5G,QAAQ,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE;IACtG,QAAQ,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,yBAAyB,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE;IACjH,QAAQ,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,WAAW,EAAE;IACrG,SAAS,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,8BAA8B,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,WAAW,EAAE;IACjH,SAAS,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE;IAC1F,QAAQ,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE;IACzF,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE;IAC1F,OAAO;IACP,SAAS,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE;IAC/G,gCAAgC;IAChC,QAAQ,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,sCAAsC,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE;IAC1H,QAAQ,EAAE,EAAE,IAAI,EAAE,6BAA6B,EAAE,IAAI,EAAE,+BAA+B,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,WAAW,EAAE;IAC5H,SAAS,EAAE,EAAE,IAAI,EAAE,2BAA2B,EAAE,IAAI,EAAE,8BAA8B,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,WAAW,EAAE;IAC1H,SAAS,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE;IAC/F,gBAAgB;IAChB,SAAS,EAAE,EAAE,IAAI,EAAE,6BAA6B,EAAE,IAAI,EAAE,kCAAkC,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE;IACpI,SAAS,EAAE,EAAE,IAAI,EAAE,4BAA4B,EAAE,IAAI,EAAE,iCAAiC,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE;CACnI,CAAC;AAEF,4DAA4D;AAC5D,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;AAE9D,sEAAsE;AACtE,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IACrC,qBAAqB,EAAE,mBAAmB;IAC1C,WAAW;IACX,oBAAoB;IACpB,aAAa;IACb,SAAS;IACT,cAAc;IACd,UAAU;IACV,WAAW;IACX,mBAAmB;IACnB,WAAW;IACX,kBAAkB;IAClB,0BAA0B;IAC1B,QAAQ;IACR,cAAc;IACd,OAAO;IACP,sBAAsB;CACvB,CAAC,CAAC;AAEH,8EAA8E;AAC9E,0BAA0B;AAC1B,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAe;IAClD,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IACxB,2CAA2C;IAC3C,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACjE,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,iDAAiD;IACjD,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACtB,OAAO,OAAO,GAAG,GAAG,CAAC;IACvB,CAAC;IACD,mCAAmC;IACnC,OAAO,OAAO,GAAG,YAAY,CAAC;AAChC,CAAC;AAYD,MAAM,UAAU,cAAc,CAAC,eAAoB;IACjD,IAAI,CAAC,eAAe;QAAE,OAAO,EAAE,CAAC;IAChC,MAAM,OAAO,GAAiB,EAAE,CAAC;IACjC,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1C,KAAK,MAAM,CAAC,IAAI,eAAe,CAAC,MAAM,EAAE,CAAC;YACvC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;gBACvB,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,EAAO;IACzC,IAAI,CAAC,EAAE;QAAE,OAAO,SAAS,CAAC;IAC1B,IAAI,EAAE,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC,IAAc,CAAC;IACtC,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QAC7E,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAiB,CAAC;IACxC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,8EAA8E;AAC9E,wBAAwB;AACxB,8EAA8E;AAE9E,MAAM,UAAU,SAAS,CAAC,OAAe,EAAE,SAAiB,EAAE,KAAa;IACzE,OAAO,QAAQ,CACb,SAAS,CAAC,OAAO,CAAC,EAClB,SAAS,CAAC,SAAS,CAAC,EACpB,OAAO,CAAC,KAAK,CAAC,CACf,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAAe,EAAE,SAAiB,EAAE,KAAa,EAAE,QAAgB;IAC7F,OAAO,QAAQ,CACb,SAAS,CAAC,OAAO,CAAC,EAClB,SAAS,CAAC,SAAS,CAAC,EACpB,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,CACpC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,OAAe,EAAE,SAAiB,EAAE,KAAc;IAC3E,OAAO,QAAQ,CACb,SAAS,CAAC,OAAO,CAAC,EAClB,SAAS,CAAC,SAAS,CAAC,EACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,GAAG,GAAG,SAAS,CAAC,CAAC,CACtD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,OAAe,EAAE,SAAiB,EAAE,KAAa;IACzE,OAAO,QAAQ,CACb,SAAS,CAAC,OAAO,CAAC,EAClB,SAAS,CAAC,SAAS,CAAC,EACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,GAAG,GAAG,SAAS,CAAC,CAAC,CACtD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAe,EAAE,SAAiB,EAAE,KAAa;IAC5E,OAAO,QAAQ,CACb,SAAS,CAAC,OAAO,CAAC,EAClB,SAAS,CAAC,SAAS,CAAC,EACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,GAAG,GAAG,QAAQ,CAAC,CAAC,CACrD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,OAAe,EAAE,SAAiB,EAAE,MAAc;IAC1E,OAAO,QAAQ,CACb,SAAS,CAAC,OAAO,CAAC,EAClB,SAAS,CAAC,SAAS,CAAC,EACpB,SAAS,CAAC,MAAM,CAAC,CAClB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,OAAe,EAAE,OAAe;IACzD,OAAO,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,EAAE,OAAO,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAe,EAAE,SAAiB,EAAE,OAAe;IAChF,OAAO,WAAW,CAAC,OAAO,EAAE,SAAS,EAAE,oBAAoB,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,UAAU,CAAC,CAAC;AAC7F,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,OAAe,EAAE,SAAiB,EAAE,OAAe;IAC5E,OAAO,WAAW,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC;AACnE,CAAC;AAED,8EAA8E;AAC9E,uDAAuD;AACvD,8EAA8E;AAE9E,MAAM,aAAa,GAAG,wEAAwE,CAAC;AAE/F;;;;;;;;;;;;;;;GAeG;AACH,SAAS,iBAAiB,CAAC,KAAa;IACtC,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5D,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC3F,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;AAC3H,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,QAAa;IAC1C,MAAM,EAAE,GAAG,QAAQ,EAAE,EAAwB,CAAC;IAC9C,IAAI,CAAC,EAAE;QAAE,OAAO,YAAY,UAAU,EAAE,EAAE,CAAC;IAC3C,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;QAAE,OAAO,YAAY,EAAE,EAAE,CAAC;IACpD,MAAM,YAAY,GAAI,QAAQ,EAAE,YAAuB,IAAI,SAAS,CAAC;IACrE,OAAO,YAAY,iBAAiB,CAAC,GAAG,YAAY,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;AAClE,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,gBAAgB,CAC9B,YAAoB,EACpB,aAAiD,EACjD,UAAmB;IAEnB,gEAAgE;IAChE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC;SAC1C,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;SACnD,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;SACtC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;SAC5B,IAAI,CAAC,GAAG,CAAC,CAAC;IAEb,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,YAAY,iBAAiB,CAAC,GAAG,YAAY,KAAK,OAAO,EAAE,CAAC,EAAE,CAAC;IACxE,CAAC;IACD,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,YAAY,iBAAiB,CAAC,GAAG,YAAY,IAAI,UAAU,EAAE,CAAC,EAAE,CAAC;IAC1E,CAAC;IACD,OAAO,YAAY,UAAU,EAAE,EAAE,CAAC,CAAE,mBAAmB;AACzD,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,aAAa,CAAC,OAAe;IAC3C,OAAO;QACL,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,GAAG,gBAAgB,EAAE,EAAE,CAAC,OAAO,GAAG,mBAAmB,CAAC;QACnF,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,GAAG,eAAe,EAAE,cAAc,CAAC;KACjE,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,gCAAgC;AAChC,8EAA8E;AAE9E,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC;QACzD,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YAC3B,IAAI,KAAK;gBAAE,MAAM,CAAC,KAAK,CAAC,CAAC;;gBACpB,OAAO,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,8EAA8E;AAC9E,gEAAgE;AAChE,8EAA8E;AAE9E,MAAM,UAAU,aAAa,CAAC,KAAa,EAAE,YAAoB;IAC/D,2DAA2D;IAC3D,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA+B,CAAC;IAExD,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;QAC7B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE;gBACjB,UAAU,EAAE,0DAA0D;gBACtE,KAAK,EAAE,IAAI;aACZ,CAAC,CAAC;QACL,CAAC;QACD,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;QAChC,MAAM,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC;QAE/B,IAAI,IAAI,KAAK,EAAE,CAAC,GAAG,GAAG,MAAM,EAAE,CAAC;YAC7B,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YAC9B,SAAS;QACX,CAAC;QAED,6CAA6C;QAC7C,IAAI,GAAG,GAAG,IAAI,CAAC;QACf,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;YAC5D,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzB,GAAG,GAAG,GAAG,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC5C,MAAM;YACR,CAAC;QACH,CAAC;QAED,2BAA2B;QAC3B,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;YACtC,0CAA0C;YAC1C,IAAI,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YAC3B,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;gBAC5D,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC1B,KAAK,GAAG,GAAG,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC/C,MAAM;gBACR,CAAC;YACH,CAAC;YACD,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,UAAU;YACV,MAAM,EAAE,GAAI,CAAC,CAAC,MAAc,CAAC,QAAQ,EAAE,KAAK,CAAC;YAC7C,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,UAAU,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,MAAM,EAAE,CAAC;gBACzD,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;YAC7G,CAAC;iBAAM,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,SAAS,EAAE,CAAC;gBACrC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC;YACvC,CAAC;iBAAM,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,SAAS,EAAE,CAAC;gBACrC,GAAG,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC1C,CAAC;iBAAM,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,QAAQ,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,SAAS,EAAE,CAAC;gBACjE,GAAG,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACxC,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YAC5B,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9C,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;AACrD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reconciler.d.ts","sourceRoot":"","sources":["../../src/lib/reconciler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH,MAAM,WAAW,iBAAiB;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE;QACN,OAAO,EAAE,KAAK,CAAC;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAClD,OAAO,EAAE;YACP,iBAAiB,EAAE,MAAM,CAAC;YAC1B,sBAAsB,EAAE,MAAM,CAAC;YAC/B,oBAAoB,EAAE,MAAM,CAAC;YAC7B,iBAAiB,EAAE,MAAM,CAAC;YAC1B,mBAAmB,EAAE,MAAM,CAAC;YAC5B,gBAAgB,EAAE,MAAM,CAAC;SAC1B,CAAC;QACF,eAAe,EAAE,MAAM,EAAE,CAAC;QAC1B,mBAAmB,EAAE,MAAM,EAAE,CAAC;KAC/B,CAAC;CACH;AAMD,KAAK,iBAAiB,GAClB,yBAAyB,GACzB,wBAAwB,GACxB,sBAAsB,GACtB,wBAAwB,GACxB,2BAA2B,GAC3B,oBAAoB,GACpB,wBAAwB,GACxB,wBAAwB,CAAC;AAiB7B,UAAU,QAAQ;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,kFAAkF;IAClF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,YAAY;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,iBAAiB,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;CACrC;AAED,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAmChG;AAMD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKrD;
|
|
1
|
+
{"version":3,"file":"reconciler.d.ts","sourceRoot":"","sources":["../../src/lib/reconciler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH,MAAM,WAAW,iBAAiB;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE;QACN,OAAO,EAAE,KAAK,CAAC;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAClD,OAAO,EAAE;YACP,iBAAiB,EAAE,MAAM,CAAC;YAC1B,sBAAsB,EAAE,MAAM,CAAC;YAC/B,oBAAoB,EAAE,MAAM,CAAC;YAC7B,iBAAiB,EAAE,MAAM,CAAC;YAC1B,mBAAmB,EAAE,MAAM,CAAC;YAC5B,gBAAgB,EAAE,MAAM,CAAC;SAC1B,CAAC;QACF,eAAe,EAAE,MAAM,EAAE,CAAC;QAC1B,mBAAmB,EAAE,MAAM,EAAE,CAAC;KAC/B,CAAC;CACH;AAMD,KAAK,iBAAiB,GAClB,yBAAyB,GACzB,wBAAwB,GACxB,sBAAsB,GACtB,wBAAwB,GACxB,2BAA2B,GAC3B,oBAAoB,GACpB,wBAAwB,GACxB,wBAAwB,CAAC;AAiB7B,UAAU,QAAQ;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,kFAAkF;IAClF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,YAAY;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,iBAAiB,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;CACrC;AAED,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAmChG;AAMD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKrD;AAuVD,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,eAAe,EAAE,EACzB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,gBAAgB,CAAC,CAqN3B"}
|
package/dist/lib/reconciler.js
CHANGED
|
@@ -136,14 +136,76 @@ function matchLabs(a, b, tol) {
|
|
|
136
136
|
return { match: false, confidence: 0, matchedOn: '' };
|
|
137
137
|
}
|
|
138
138
|
function matchImmunizations(a, b) {
|
|
139
|
+
// Tier 1: CVX code + exact date (high confidence)
|
|
139
140
|
const cA = getProp(a, NS.health + 'cvxCode');
|
|
140
141
|
const cB = getProp(b, NS.health + 'cvxCode');
|
|
141
142
|
const dA = dateOnly(getProp(a, NS.health + 'administrationDate') ?? getProp(a, NS.health + 'startDate') ?? '');
|
|
142
143
|
const dB = dateOnly(getProp(b, NS.health + 'administrationDate') ?? getProp(b, NS.health + 'startDate') ?? '');
|
|
143
144
|
if (cA && cB && codeFromUri(cA) === codeFromUri(cB) && dA && dA === dB)
|
|
144
145
|
return { match: true, confidence: 1.0, matchedOn: `cvx:${codeFromUri(cA)}+${dA}` };
|
|
146
|
+
// Tier 2: Vaccine name (normalized) + date -- fallback when CVX absent
|
|
147
|
+
const nA = (getProp(a, NS.health + 'vaccineName') ?? '').toLowerCase().trim();
|
|
148
|
+
const nB = (getProp(b, NS.health + 'vaccineName') ?? '').toLowerCase().trim();
|
|
149
|
+
if (nA && nB && nA !== 'unknown vaccine' && nA === nB && dA && dA === dB)
|
|
150
|
+
return { match: true, confidence: 0.80, matchedOn: `name:"${nA}"+${dA}` };
|
|
151
|
+
// Tier 3: Vaccine name match, no date -- very conservative
|
|
152
|
+
if (nA && nB && nA !== 'unknown vaccine' && nA === nB)
|
|
153
|
+
return { match: true, confidence: 0.60, matchedOn: `name-only:"${nA}"` };
|
|
145
154
|
return { match: false, confidence: 0, matchedOn: '' };
|
|
146
155
|
}
|
|
156
|
+
function matchVitalSigns(a, b) {
|
|
157
|
+
const lcA = getProp(a, NS.health + 'testCode'); // LOINC
|
|
158
|
+
const lcB = getProp(b, NS.health + 'testCode');
|
|
159
|
+
const dtA = dateOnly(getProp(a, NS.health + 'effectiveDate') ?? getProp(a, NS.health + 'performedDate') ?? '');
|
|
160
|
+
const dtB = dateOnly(getProp(b, NS.health + 'effectiveDate') ?? getProp(b, NS.health + 'performedDate') ?? '');
|
|
161
|
+
if (lcA && lcB && codeFromUri(lcA) === codeFromUri(lcB) && dtA && dtA === dtB) {
|
|
162
|
+
// Same LOINC, same day -- check value proximity
|
|
163
|
+
const vA = parseFloat(getProp(a, NS.health + 'value') ?? 'NaN');
|
|
164
|
+
const vB = parseFloat(getProp(b, NS.health + 'value') ?? 'NaN');
|
|
165
|
+
if (!isNaN(vA) && !isNaN(vB)) {
|
|
166
|
+
const diff = Math.abs(vA - vB) / Math.max(Math.abs(vA), 0.001);
|
|
167
|
+
if (diff <= 0.05)
|
|
168
|
+
return { match: true, confidence: 0.95, matchedOn: `loinc:${codeFromUri(lcA)}+${dtA}` };
|
|
169
|
+
if (diff <= 0.15)
|
|
170
|
+
return { match: true, confidence: 0.75, matchedOn: `loinc-approx:${codeFromUri(lcA)}+${dtA}` };
|
|
171
|
+
}
|
|
172
|
+
return { match: true, confidence: 0.85, matchedOn: `loinc:${codeFromUri(lcA)}+${dtA}` };
|
|
173
|
+
}
|
|
174
|
+
return { match: false, confidence: 0, matchedOn: '' };
|
|
175
|
+
}
|
|
176
|
+
function matchPatientProfiles(a, b) {
|
|
177
|
+
const dobA = getProp(a, NS.cascade + 'dateOfBirth');
|
|
178
|
+
const dobB = getProp(b, NS.cascade + 'dateOfBirth');
|
|
179
|
+
const sexA = getProp(a, NS.cascade + 'biologicalSex');
|
|
180
|
+
const sexB = getProp(b, NS.cascade + 'biologicalSex');
|
|
181
|
+
if (dobA && dobB && dobA === dobB && sexA && sexB && sexA === sexB) {
|
|
182
|
+
return { match: true, confidence: 0.95, matchedOn: `dob:${dobA}+sex:${sexA}` };
|
|
183
|
+
}
|
|
184
|
+
// Try DOB alone (lower confidence)
|
|
185
|
+
if (dobA && dobB && dobA === dobB) {
|
|
186
|
+
return { match: true, confidence: 0.75, matchedOn: `dob:${dobA}` };
|
|
187
|
+
}
|
|
188
|
+
return { match: false, confidence: 0, matchedOn: '' };
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Returns the confidence threshold to use when comparing two records.
|
|
192
|
+
*
|
|
193
|
+
* Records from summarization documents (LOINC 34133-9, e.g. MyChart "Summarization
|
|
194
|
+
* of Episode Note") contain the patient's full history snapshot. When the same
|
|
195
|
+
* patient imports multiple such summaries, every clinical fact appears once per
|
|
196
|
+
* summary export. A lower threshold (0.50) catches these cross-summary duplicates
|
|
197
|
+
* that would otherwise be missed at the standard threshold of 0.65.
|
|
198
|
+
*
|
|
199
|
+
* Additive documents (progress notes, discharge summaries) represent a single
|
|
200
|
+
* encounter; their records are kept at the standard 0.65 threshold.
|
|
201
|
+
*/
|
|
202
|
+
function getMatchThreshold(a, b) {
|
|
203
|
+
const aIsSummary = getProp(a, NS.cascade + 'documentType') === 'summarization';
|
|
204
|
+
const bIsSummary = getProp(b, NS.cascade + 'documentType') === 'summarization';
|
|
205
|
+
if (aIsSummary || bIsSummary)
|
|
206
|
+
return 0.50;
|
|
207
|
+
return 0.65;
|
|
208
|
+
}
|
|
147
209
|
function doRecordsMatch(a, b, tol) {
|
|
148
210
|
if (a.type !== b.type)
|
|
149
211
|
return { match: false, confidence: 0, matchedOn: '' };
|
|
@@ -153,6 +215,8 @@ function doRecordsMatch(a, b, tol) {
|
|
|
153
215
|
case 'health:AllergyRecord': return matchAllergies(a, b);
|
|
154
216
|
case 'health:LabResultRecord': return matchLabs(a, b, tol);
|
|
155
217
|
case 'health:ImmunizationRecord': return matchImmunizations(a, b);
|
|
218
|
+
case 'clinical:VitalSign': return matchVitalSigns(a, b);
|
|
219
|
+
case 'cascade:PatientProfile': return matchPatientProfiles(a, b);
|
|
156
220
|
default: return { match: false, confidence: 0, matchedOn: '' };
|
|
157
221
|
}
|
|
158
222
|
}
|
|
@@ -311,39 +375,143 @@ export async function runReconciliation(inputs, options) {
|
|
|
311
375
|
// Match and group
|
|
312
376
|
const groups = [];
|
|
313
377
|
const assigned = new Set();
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
378
|
+
const hasExistingPod = allRecords.some(r => r.sourceSystem === 'existing-pod');
|
|
379
|
+
if (hasExistingPod) {
|
|
380
|
+
// ---------------------------------------------------------------------------
|
|
381
|
+
// Fast path: O(n_new × k) type-indexed matching for --reconcile-existing mode
|
|
382
|
+
// ---------------------------------------------------------------------------
|
|
383
|
+
const existingRecords = allRecords.filter(r => r.sourceSystem === 'existing-pod');
|
|
384
|
+
const newRecords = allRecords.filter(r => r.sourceSystem !== 'existing-pod');
|
|
385
|
+
// Build a type index over existing records only
|
|
386
|
+
const existingIndex = new Map();
|
|
387
|
+
for (const r of existingRecords) {
|
|
388
|
+
const bucket = existingIndex.get(r.type);
|
|
389
|
+
if (bucket)
|
|
390
|
+
bucket.push(r);
|
|
391
|
+
else
|
|
392
|
+
existingIndex.set(r.type, [r]);
|
|
393
|
+
}
|
|
394
|
+
// Cross-batch pass: match each new record against same-type existing records
|
|
395
|
+
for (const a of newRecords) {
|
|
396
|
+
if (assigned.has(a.uri))
|
|
397
|
+
continue;
|
|
398
|
+
if (a.type === 'coverage:InsurancePlan') {
|
|
399
|
+
groups.push({ matchType: 'pass_through', confidence: 1.0, records: [a], matchedOn: 'coverage' });
|
|
400
|
+
assigned.add(a.uri);
|
|
401
|
+
continue;
|
|
402
|
+
}
|
|
403
|
+
const matched = [a];
|
|
404
|
+
let matchedOn = '';
|
|
405
|
+
let bestConf = 1.0;
|
|
406
|
+
const candidates = existingIndex.get(a.type) ?? [];
|
|
407
|
+
for (const b of candidates) {
|
|
408
|
+
if (assigned.has(b.uri) || a.sourceSystem === b.sourceSystem)
|
|
409
|
+
continue;
|
|
410
|
+
const { match, confidence, matchedOn: mo } = doRecordsMatch(a, b, labTol);
|
|
411
|
+
const threshold = getMatchThreshold(a, b);
|
|
412
|
+
if (match && confidence >= threshold) {
|
|
413
|
+
matched.push(b);
|
|
414
|
+
assigned.add(b.uri);
|
|
415
|
+
if (!matchedOn) {
|
|
416
|
+
matchedOn = mo;
|
|
417
|
+
bestConf = confidence;
|
|
418
|
+
}
|
|
419
|
+
}
|
|
420
|
+
}
|
|
320
421
|
assigned.add(a.uri);
|
|
321
|
-
|
|
422
|
+
if (matched.length === 1) {
|
|
423
|
+
groups.push({ matchType: 'pass_through', confidence: 1.0, records: matched, matchedOn: '' });
|
|
424
|
+
}
|
|
425
|
+
else {
|
|
426
|
+
const { matchType, conflictField, conflictValues } = classifyGroup(matched, labTol);
|
|
427
|
+
groups.push({ matchType, confidence: bestConf, records: matched, matchedOn, conflictField, conflictValues });
|
|
428
|
+
}
|
|
322
429
|
}
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
let
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
if (assigned.has(b.uri) || a.sourceSystem === b.sourceSystem)
|
|
430
|
+
// Within-batch pass: pairwise loop over newRecords only (existing-pod records
|
|
431
|
+
// from the same sourceSystem never match each other)
|
|
432
|
+
for (let i = 0; i < newRecords.length; i++) {
|
|
433
|
+
const a = newRecords[i];
|
|
434
|
+
if (assigned.has(a.uri))
|
|
329
435
|
continue;
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
436
|
+
if (a.type === 'coverage:InsurancePlan') {
|
|
437
|
+
// Already handled above; skip if already assigned
|
|
438
|
+
continue;
|
|
439
|
+
}
|
|
440
|
+
const matched = [a];
|
|
441
|
+
let matchedOn = '';
|
|
442
|
+
let bestConf = 1.0;
|
|
443
|
+
for (let j = i + 1; j < newRecords.length; j++) {
|
|
444
|
+
const b = newRecords[j];
|
|
445
|
+
if (assigned.has(b.uri) || a.sourceSystem === b.sourceSystem)
|
|
446
|
+
continue;
|
|
447
|
+
const { match, confidence, matchedOn: mo } = doRecordsMatch(a, b, labTol);
|
|
448
|
+
const threshold = getMatchThreshold(a, b);
|
|
449
|
+
if (match && confidence >= threshold) {
|
|
450
|
+
matched.push(b);
|
|
451
|
+
assigned.add(b.uri);
|
|
452
|
+
if (!matchedOn) {
|
|
453
|
+
matchedOn = mo;
|
|
454
|
+
bestConf = confidence;
|
|
455
|
+
}
|
|
337
456
|
}
|
|
338
457
|
}
|
|
458
|
+
assigned.add(a.uri);
|
|
459
|
+
if (matched.length === 1) {
|
|
460
|
+
groups.push({ matchType: 'pass_through', confidence: 1.0, records: matched, matchedOn: '' });
|
|
461
|
+
}
|
|
462
|
+
else {
|
|
463
|
+
const { matchType, conflictField, conflictValues } = classifyGroup(matched, labTol);
|
|
464
|
+
groups.push({ matchType, confidence: bestConf, records: matched, matchedOn, conflictField, conflictValues });
|
|
465
|
+
}
|
|
339
466
|
}
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
467
|
+
// Existing-pod pass-through: records not matched into any group must still
|
|
468
|
+
// appear as their own pass-through groups so they are written back to the pod
|
|
469
|
+
for (const r of existingRecords) {
|
|
470
|
+
if (assigned.has(r.uri))
|
|
471
|
+
continue;
|
|
472
|
+
groups.push({ matchType: 'pass_through', confidence: 1.0, records: [r], matchedOn: '' });
|
|
473
|
+
assigned.add(r.uri);
|
|
343
474
|
}
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
475
|
+
}
|
|
476
|
+
else {
|
|
477
|
+
// ---------------------------------------------------------------------------
|
|
478
|
+
// Original O(n²) algorithm — unchanged when no existing-pod records present
|
|
479
|
+
// ---------------------------------------------------------------------------
|
|
480
|
+
for (let i = 0; i < allRecords.length; i++) {
|
|
481
|
+
const a = allRecords[i];
|
|
482
|
+
if (assigned.has(a.uri))
|
|
483
|
+
continue;
|
|
484
|
+
if (a.type === 'coverage:InsurancePlan') {
|
|
485
|
+
groups.push({ matchType: 'pass_through', confidence: 1.0, records: [a], matchedOn: 'coverage' });
|
|
486
|
+
assigned.add(a.uri);
|
|
487
|
+
continue;
|
|
488
|
+
}
|
|
489
|
+
const matched = [a];
|
|
490
|
+
let matchedOn = '';
|
|
491
|
+
let bestConf = 1.0;
|
|
492
|
+
for (let j = i + 1; j < allRecords.length; j++) {
|
|
493
|
+
const b = allRecords[j];
|
|
494
|
+
if (assigned.has(b.uri) || a.sourceSystem === b.sourceSystem)
|
|
495
|
+
continue;
|
|
496
|
+
const { match, confidence, matchedOn: mo } = doRecordsMatch(a, b, labTol);
|
|
497
|
+
const threshold = getMatchThreshold(a, b);
|
|
498
|
+
if (match && confidence >= threshold) {
|
|
499
|
+
matched.push(b);
|
|
500
|
+
assigned.add(b.uri);
|
|
501
|
+
if (!matchedOn) {
|
|
502
|
+
matchedOn = mo;
|
|
503
|
+
bestConf = confidence;
|
|
504
|
+
}
|
|
505
|
+
}
|
|
506
|
+
}
|
|
507
|
+
assigned.add(a.uri);
|
|
508
|
+
if (matched.length === 1) {
|
|
509
|
+
groups.push({ matchType: 'pass_through', confidence: 1.0, records: matched, matchedOn: '' });
|
|
510
|
+
}
|
|
511
|
+
else {
|
|
512
|
+
const { matchType, conflictField, conflictValues } = classifyGroup(matched, labTol);
|
|
513
|
+
groups.push({ matchType, confidence: bestConf, records: matched, matchedOn, conflictField, conflictValues });
|
|
514
|
+
}
|
|
347
515
|
}
|
|
348
516
|
}
|
|
349
517
|
// Resolve
|
|
@@ -367,6 +535,7 @@ export async function runReconciliation(inputs, options) {
|
|
|
367
535
|
conflictField: g.conflictField,
|
|
368
536
|
conflictValues: g.conflictValues,
|
|
369
537
|
resolved: res.resolved,
|
|
538
|
+
documentType: getProp(g.records[0], NS.cascade + 'documentType'),
|
|
370
539
|
};
|
|
371
540
|
switch (g.matchType) {
|
|
372
541
|
case 'exact_duplicate':
|
|
@@ -383,7 +552,7 @@ export async function runReconciliation(inputs, options) {
|
|
|
383
552
|
if (g.matchType !== 'pass_through')
|
|
384
553
|
transformations.push(t);
|
|
385
554
|
if (!res.resolved)
|
|
386
|
-
unresolvedList.push(t);
|
|
555
|
+
unresolvedList.push({ ...t, candidateUris: g.records.map(r => r.uri) });
|
|
387
556
|
}
|
|
388
557
|
return {
|
|
389
558
|
turtle,
|