fhir-persistence 0.3.0 → 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/CHANGELOG.md +23 -0
- package/README.md +1 -1
- package/dist/cjs/index.cjs +104 -43
- package/dist/cjs/index.cjs.map +2 -2
- package/dist/cjs/index.d.ts +16 -5
- package/dist/esm/index.d.ts +16 -5
- package/dist/esm/index.mjs +104 -43
- package/dist/esm/index.mjs.map +2 -2
- package/dist/index.d.ts +16 -5
- package/dist/lib/migration/reindex-scheduler.d.ts +3 -1
- package/dist/lib/migration/reindex-scheduler.d.ts.map +1 -1
- package/dist/lib/migrations/migration-runner.d.ts +3 -1
- package/dist/lib/migrations/migration-runner.d.ts.map +1 -1
- package/dist/lib/registry/package-registry-repo.d.ts +7 -1
- package/dist/lib/registry/package-registry-repo.d.ts.map +1 -1
- package/dist/lib/repo/indexing-pipeline.d.ts +3 -0
- package/dist/lib/repo/indexing-pipeline.d.ts.map +1 -1
- package/dist/lib/repo/lookup-table-writer.d.ts +3 -1
- package/dist/lib/repo/lookup-table-writer.d.ts.map +1 -1
- package/dist/lib/startup/fhir-system.d.ts.map +1 -1
- package/dist/lib/terminology/valueset-repo.d.ts +3 -1
- package/dist/lib/terminology/valueset-repo.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1194,6 +1194,8 @@ export declare interface IndexingPipelineOptions {
|
|
|
1194
1194
|
enableReferences?: boolean;
|
|
1195
1195
|
/** Optional RuntimeProvider for FHIRPath-driven extraction (B3). */
|
|
1196
1196
|
runtimeProvider?: RuntimeProvider;
|
|
1197
|
+
/** SQL dialect for lookup table DDL (default: 'sqlite'). */
|
|
1198
|
+
dialect?: DDLDialect;
|
|
1197
1199
|
}
|
|
1198
1200
|
|
|
1199
1201
|
/**
|
|
@@ -1306,7 +1308,8 @@ declare type LookupTableType = 'HumanName' | 'Address' | 'ContactPoint' | 'Ident
|
|
|
1306
1308
|
export declare class LookupTableWriter {
|
|
1307
1309
|
private readonly adapter;
|
|
1308
1310
|
private initialized;
|
|
1309
|
-
|
|
1311
|
+
private readonly ddl;
|
|
1312
|
+
constructor(adapter: StorageAdapter, dialect?: DDLDialect);
|
|
1310
1313
|
/**
|
|
1311
1314
|
* Create all 4 lookup tables + indexes if they don't exist.
|
|
1312
1315
|
*/
|
|
@@ -1390,7 +1393,8 @@ export declare interface MigrationResultV2 {
|
|
|
1390
1393
|
export declare class MigrationRunnerV2 {
|
|
1391
1394
|
private readonly adapter;
|
|
1392
1395
|
private readonly migrations;
|
|
1393
|
-
|
|
1396
|
+
private readonly dialect;
|
|
1397
|
+
constructor(adapter: StorageAdapter, migrations?: MigrationV2[], dialect?: DDLDialect);
|
|
1394
1398
|
/**
|
|
1395
1399
|
* Ensure the tracking table exists.
|
|
1396
1400
|
*/
|
|
@@ -1481,7 +1485,8 @@ export declare interface OperationContext {
|
|
|
1481
1485
|
|
|
1482
1486
|
export declare class PackageRegistryRepo {
|
|
1483
1487
|
private readonly adapter;
|
|
1484
|
-
|
|
1488
|
+
private readonly dialect;
|
|
1489
|
+
constructor(adapter: StorageAdapter, dialect?: DDLDialect);
|
|
1485
1490
|
/**
|
|
1486
1491
|
* Ensure the packages tracking table exists.
|
|
1487
1492
|
*/
|
|
@@ -1513,6 +1518,10 @@ export declare class PackageRegistryRepo {
|
|
|
1513
1518
|
* Uses INSERT OR REPLACE (SQLite UPSERT) to handle both new and upgraded packages.
|
|
1514
1519
|
*/
|
|
1515
1520
|
upsertPackage(pkg: Omit<InstalledPackage, 'installedAt' | 'status'>): Promise<void>;
|
|
1521
|
+
/**
|
|
1522
|
+
* Generate dialect-aware UPSERT SQL.
|
|
1523
|
+
*/
|
|
1524
|
+
private upsertSQL;
|
|
1516
1525
|
/**
|
|
1517
1526
|
* Remove all versions of a package.
|
|
1518
1527
|
*/
|
|
@@ -1900,7 +1909,8 @@ declare interface ReindexResultV2 {
|
|
|
1900
1909
|
|
|
1901
1910
|
export declare class ReindexScheduler {
|
|
1902
1911
|
private readonly adapter;
|
|
1903
|
-
|
|
1912
|
+
private readonly dialect;
|
|
1913
|
+
constructor(adapter: StorageAdapter, dialect?: DDLDialect);
|
|
1904
1914
|
/**
|
|
1905
1915
|
* Ensure the reindex jobs table exists.
|
|
1906
1916
|
*/
|
|
@@ -3199,7 +3209,8 @@ declare interface ValueSetInput {
|
|
|
3199
3209
|
|
|
3200
3210
|
export declare class ValueSetRepo {
|
|
3201
3211
|
private readonly adapter;
|
|
3202
|
-
|
|
3212
|
+
private readonly dialect;
|
|
3213
|
+
constructor(adapter: StorageAdapter, dialect?: DDLDialect);
|
|
3203
3214
|
/**
|
|
3204
3215
|
* Ensure the terminology_valuesets table exists.
|
|
3205
3216
|
*/
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
* @module fhir-persistence/migration
|
|
14
14
|
*/
|
|
15
15
|
import type { StorageAdapter } from '../db/adapter.js';
|
|
16
|
+
import type { DDLDialect } from '../schema/ddl-generator.js';
|
|
16
17
|
import type { SchemaDelta } from './schema-diff.js';
|
|
17
18
|
export type ReindexJobStatus = 'pending' | 'running' | 'completed' | 'failed';
|
|
18
19
|
export interface ReindexJob {
|
|
@@ -37,7 +38,8 @@ export interface ReindexJob {
|
|
|
37
38
|
}
|
|
38
39
|
export declare class ReindexScheduler {
|
|
39
40
|
private readonly adapter;
|
|
40
|
-
|
|
41
|
+
private readonly dialect;
|
|
42
|
+
constructor(adapter: StorageAdapter, dialect?: DDLDialect);
|
|
41
43
|
/**
|
|
42
44
|
* Ensure the reindex jobs table exists.
|
|
43
45
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reindex-scheduler.d.ts","sourceRoot":"","sources":["../../../src/migration/reindex-scheduler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAMpD,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;AAE9E,MAAM,WAAW,UAAU;IACzB,4BAA4B;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,kDAAkD;IAClD,YAAY,EAAE,MAAM,CAAC;IACrB,8DAA8D;IAC9D,eAAe,EAAE,MAAM,CAAC;IACxB,+BAA+B;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,0BAA0B;IAC1B,MAAM,EAAE,gBAAgB,CAAC;IACzB,6EAA6E;IAC7E,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,4CAA4C;IAC5C,cAAc,EAAE,MAAM,CAAC;IACvB,gCAAgC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,qCAAqC;IACrC,SAAS,EAAE,MAAM,CAAC;CACnB;
|
|
1
|
+
{"version":3,"file":"reindex-scheduler.d.ts","sourceRoot":"","sources":["../../../src/migration/reindex-scheduler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAMpD,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;AAE9E,MAAM,WAAW,UAAU;IACzB,4BAA4B;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,kDAAkD;IAClD,YAAY,EAAE,MAAM,CAAC;IACrB,8DAA8D;IAC9D,eAAe,EAAE,MAAM,CAAC;IACxB,+BAA+B;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,0BAA0B;IAC1B,MAAM,EAAE,gBAAgB,CAAC;IACzB,6EAA6E;IAC7E,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,4CAA4C;IAC5C,cAAc,EAAE,MAAM,CAAC;IACvB,gCAAgC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,qCAAqC;IACrC,SAAS,EAAE,MAAM,CAAC;CACnB;AA+CD,qBAAa,gBAAgB;IAGf,OAAO,CAAC,QAAQ,CAAC,OAAO;IAFpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAa;gBAER,OAAO,EAAE,cAAc,EAAE,OAAO,GAAE,UAAqB;IAIpF;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAIlC;;;;;OAKG;IACG,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAiBtD;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAO7C;;OAEG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAQzD;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAOzC;;OAEG;IACG,SAAS,CACb,EAAE,EAAE,MAAM,EACV,MAAM,EAAE;QAAE,MAAM,CAAC,EAAE,gBAAgB,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,GAC9E,OAAO,CAAC,IAAI,CAAC;IA0BhB;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAcpG"}
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
* @module fhir-persistence/migrations
|
|
16
16
|
*/
|
|
17
17
|
import type { StorageAdapter } from '../db/adapter.js';
|
|
18
|
+
import type { DDLDialect } from '../schema/ddl-generator.js';
|
|
18
19
|
import type { GeneratedMigration } from '../migration/migration-generator.js';
|
|
19
20
|
/**
|
|
20
21
|
* v2 migration types — adds `type` field for IG vs file distinction.
|
|
@@ -65,7 +66,8 @@ export interface MigrationStatusV2 {
|
|
|
65
66
|
export declare class MigrationRunnerV2 {
|
|
66
67
|
private readonly adapter;
|
|
67
68
|
private readonly migrations;
|
|
68
|
-
|
|
69
|
+
private readonly dialect;
|
|
70
|
+
constructor(adapter: StorageAdapter, migrations?: MigrationV2[], dialect?: DDLDialect);
|
|
69
71
|
/**
|
|
70
72
|
* Ensure the tracking table exists.
|
|
71
73
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migration-runner.d.ts","sourceRoot":"","sources":["../../../src/migrations/migration-runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAE9E;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,uDAAuD;IACvD,OAAO,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,8CAA8C;IAC9C,EAAE,EAAE,MAAM,EAAE,CAAC;IACb,uFAAuF;IACvF,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,+EAA+E;IAC/E,IAAI,EAAE,IAAI,GAAG,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;IAC/B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACnD;AAED,MAAM,WAAW,iBAAiB;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;
|
|
1
|
+
{"version":3,"file":"migration-runner.d.ts","sourceRoot":"","sources":["../../../src/migrations/migration-runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAE9E;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,uDAAuD;IACvD,OAAO,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,8CAA8C;IAC9C,EAAE,EAAE,MAAM,EAAE,CAAC;IACb,uFAAuF;IACvF,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,+EAA+E;IAC/E,IAAI,EAAE,IAAI,GAAG,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;IAC/B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACnD;AAED,MAAM,WAAW,iBAAiB;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AA0BD;;;;;;;;;GASG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgB;IAC3C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAa;gBAEzB,OAAO,EAAE,cAAc,EAAE,UAAU,GAAE,WAAW,EAAO,EAAE,OAAO,GAAE,UAAqB;IAUnG;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAI1C;;OAEG;IACG,EAAE,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA0C5D;;;OAGG;IACG,IAAI,CAAC,aAAa,GAAE,MAAU,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA0CjE;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAe1C;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAOhD;;;;;OAKG;IACG,gBAAgB,CAAC,SAAS,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC;YAsCnE,kBAAkB;YAOlB,cAAc;YAYd,eAAe;IAY7B,OAAO,CAAC,UAAU;CAInB"}
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
* @module fhir-persistence/registry
|
|
15
15
|
*/
|
|
16
16
|
import type { StorageAdapter } from '../db/adapter.js';
|
|
17
|
+
import type { DDLDialect } from '../schema/ddl-generator.js';
|
|
17
18
|
export type PackageStatus = 'active' | 'superseded';
|
|
18
19
|
export interface InstalledPackage {
|
|
19
20
|
/** Package name (e.g., "hl7.fhir.r4.core"). */
|
|
@@ -41,7 +42,8 @@ export interface SchemaVersionRecord {
|
|
|
41
42
|
}
|
|
42
43
|
export declare class PackageRegistryRepo {
|
|
43
44
|
private readonly adapter;
|
|
44
|
-
|
|
45
|
+
private readonly dialect;
|
|
46
|
+
constructor(adapter: StorageAdapter, dialect?: DDLDialect);
|
|
45
47
|
/**
|
|
46
48
|
* Ensure the packages tracking table exists.
|
|
47
49
|
*/
|
|
@@ -73,6 +75,10 @@ export declare class PackageRegistryRepo {
|
|
|
73
75
|
* Uses INSERT OR REPLACE (SQLite UPSERT) to handle both new and upgraded packages.
|
|
74
76
|
*/
|
|
75
77
|
upsertPackage(pkg: Omit<InstalledPackage, 'installedAt' | 'status'>): Promise<void>;
|
|
78
|
+
/**
|
|
79
|
+
* Generate dialect-aware UPSERT SQL.
|
|
80
|
+
*/
|
|
81
|
+
private upsertSQL;
|
|
76
82
|
/**
|
|
77
83
|
* Remove all versions of a package.
|
|
78
84
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-registry-repo.d.ts","sourceRoot":"","sources":["../../../src/registry/package-registry-repo.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"package-registry-repo.d.ts","sourceRoot":"","sources":["../../../src/registry/package-registry-repo.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAM7D,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,YAAY,CAAC;AAEpD,MAAM,WAAW,gBAAgB;IAC/B,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,yDAAyD;IACzD,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,+CAA+C;IAC/C,WAAW,EAAE,MAAM,CAAC;IACpB,4CAA4C;IAC5C,MAAM,EAAE,aAAa,CAAC;CACvB;AAED,MAAM,WAAW,mBAAmB;IAClC,wCAAwC;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,6EAA6E;IAC7E,WAAW,EAAE,MAAM,CAAC;IACpB,wCAAwC;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,4CAA4C;IAC5C,SAAS,EAAE,MAAM,CAAC;CACnB;AA4CD,qBAAa,mBAAmB;IAGlB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAFpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAa;gBAER,OAAO,EAAE,cAAc,EAAE,OAAO,GAAE,UAAqB;IAIpF;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAIlC;;OAEG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;IAQrE;;OAEG;IACG,oBAAoB,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAOzD;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAOtD;;;;;;;OAOG;IACG,eAAe,CACnB,GAAG,EAAE,IAAI,CAAC,gBAAgB,EAAE,aAAa,GAAG,QAAQ,CAAC,EACrD,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC;IAmBhB;;;;OAIG;IACG,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,gBAAgB,EAAE,aAAa,GAAG,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAezF;;OAEG;IACH,OAAO,CAAC,SAAS;IAOjB;;OAEG;IACG,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQhD;;;;;;;OAOG;IACG,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,SAAS,GAAG,YAAY,CAAC;IAW5F;;OAEG;IACG,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/C;;OAEG;IACG,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB7D;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAOzD;;OAEG;IACG,sBAAsB,IAAI,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC;CAMzE"}
|
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
* @module fhir-persistence/repo
|
|
22
22
|
*/
|
|
23
23
|
import type { StorageAdapter } from '../db/adapter.js';
|
|
24
|
+
import type { DDLDialect } from '../schema/ddl-generator.js';
|
|
24
25
|
import type { SearchParameterImpl } from '../registry/search-parameter-registry.js';
|
|
25
26
|
import type { FhirResource } from './types.js';
|
|
26
27
|
import type { SearchColumnValues, LookupTableRow } from './row-indexer.js';
|
|
@@ -48,6 +49,8 @@ export interface IndexingPipelineOptions {
|
|
|
48
49
|
enableReferences?: boolean;
|
|
49
50
|
/** Optional RuntimeProvider for FHIRPath-driven extraction (B3). */
|
|
50
51
|
runtimeProvider?: RuntimeProvider;
|
|
52
|
+
/** SQL dialect for lookup table DDL (default: 'sqlite'). */
|
|
53
|
+
dialect?: DDLDialect;
|
|
51
54
|
}
|
|
52
55
|
export declare class IndexingPipeline {
|
|
53
56
|
private readonly adapter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indexing-pipeline.d.ts","sourceRoot":"","sources":["../../../src/repo/indexing-pipeline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AACpF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAE3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAG7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAOxE;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,6DAA6D;IAC7D,aAAa,EAAE,kBAAkB,CAAC;IAClC,uDAAuD;IACvD,cAAc,EAAE,MAAM,CAAC;IACvB,yDAAyD;IACzD,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,kDAAkD;IAClD,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,iDAAiD;IACjD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,oEAAoE;IACpE,eAAe,CAAC,EAAE,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"indexing-pipeline.d.ts","sourceRoot":"","sources":["../../../src/repo/indexing-pipeline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AACpF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAE3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAG7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAOxE;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,6DAA6D;IAC7D,aAAa,EAAE,kBAAkB,CAAC;IAClC,uDAAuD;IACvD,cAAc,EAAE,MAAM,CAAC;IACvB,yDAAyD;IACzD,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,kDAAkD;IAClD,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,iDAAiD;IACjD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,oEAAoE;IACpE,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,4DAA4D;IAC5D,OAAO,CAAC,EAAE,UAAU,CAAC;CACtB;AAMD,qBAAa,gBAAgB;IAMzB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAL1B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoB;IACjD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyE;IACjG,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA8B;gBAG3C,OAAO,EAAE,cAAc,EACxC,OAAO,CAAC,EAAE,uBAAuB;IAcnC;;;;;;;OAOG;IACG,aAAa,CACjB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,YAAY,EACtB,KAAK,EAAE,mBAAmB,EAAE,GAC3B,OAAO,CAAC,WAAW,CAAC;IA8BvB;;;;;OAKG;IACG,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB1E;;;OAGG;IACH,oBAAoB,CAClB,QAAQ,EAAE,YAAY,EACtB,KAAK,EAAE,mBAAmB,EAAE,GAC3B,kBAAkB;IAMrB;;;OAGG;IACH,iBAAiB,CACf,QAAQ,EAAE,YAAY,EACtB,KAAK,EAAE,mBAAmB,EAAE,GAC3B,cAAc,EAAE;IAMnB;;;OAGG;IACH,iBAAiB,CACf,QAAQ,EAAE,YAAY,EACtB,KAAK,EAAE,mBAAmB,EAAE,GAC3B,cAAc,EAAE;IASnB;;OAEG;IACH,eAAe,IAAI,iBAAiB;YAQtB,eAAe;YAiCf,eAAe;IAc7B;;OAEG;IACH,OAAO,CAAC,WAAW;IAUnB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAyCzB;;OAEG;IACH,OAAO,CAAC,qBAAqB;CAqB9B"}
|
|
@@ -15,11 +15,13 @@
|
|
|
15
15
|
* @module fhir-persistence/repo
|
|
16
16
|
*/
|
|
17
17
|
import type { StorageAdapter } from '../db/adapter.js';
|
|
18
|
+
import type { DDLDialect } from '../schema/ddl-generator.js';
|
|
18
19
|
import type { LookupTableRow } from './row-indexer.js';
|
|
19
20
|
export declare class LookupTableWriter {
|
|
20
21
|
private readonly adapter;
|
|
21
22
|
private initialized;
|
|
22
|
-
|
|
23
|
+
private readonly ddl;
|
|
24
|
+
constructor(adapter: StorageAdapter, dialect?: DDLDialect);
|
|
23
25
|
/**
|
|
24
26
|
* Create all 4 lookup tables + indexes if they don't exist.
|
|
25
27
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lookup-table-writer.d.ts","sourceRoot":"","sources":["../../../src/repo/lookup-table-writer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"lookup-table-writer.d.ts","sourceRoot":"","sources":["../../../src/repo/lookup-table-writer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAyEvD,qBAAa,iBAAiB;IAIhB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAHpC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAyB;gBAEhB,OAAO,EAAE,cAAc,EAAE,OAAO,GAAE,UAAqB;IAQpF;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAgBnC;;;;;;;;OAQG;IACG,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAmC1E;;OAEG;IACG,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAenD;;OAEG;IACG,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvC,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,CAAC,EAAE,CAAC;CAOhB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fhir-system.d.ts","sourceRoot":"","sources":["../../../src/startup/fhir-system.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,EAAE,kBAAkB,EAAsB,MAAM,qCAAqC,CAAC;AAClG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAC3F,OAAO,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AAInF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAO/D,MAAM,WAAW,iBAAiB;IAChC,uCAAuC;IACvC,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,+DAA+D;IAC/D,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,qEAAqE;IACrE,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,iDAAiD;IACjD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,sFAAsF;IACtF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0CAA0C;IAC1C,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,8CAA8C;IAC9C,WAAW,EAAE,eAAe,CAAC;IAC7B,wEAAwE;IACxE,UAAU,EAAE,2BAA2B,CAAC;IACxC,oEAAoE;IACpE,UAAU,EAAE,uBAAuB,CAAC;IACpC,yDAAyD;IACzD,QAAQ,EAAE,YAAY,CAAC;IACvB,kCAAkC;IAClC,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAMD,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAa;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;gBAEhC,OAAO,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,iBAAiB;IAMhE;;;;;;;;;;;OAWG;IACG,UAAU,CAAC,kBAAkB,EAAE,kBAAkB,GAAG,OAAO,CAAC,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"fhir-system.d.ts","sourceRoot":"","sources":["../../../src/startup/fhir-system.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,EAAE,kBAAkB,EAAsB,MAAM,qCAAqC,CAAC;AAClG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAC3F,OAAO,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AAInF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAO/D,MAAM,WAAW,iBAAiB;IAChC,uCAAuC;IACvC,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,+DAA+D;IAC/D,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,qEAAqE;IACrE,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,iDAAiD;IACjD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,sFAAsF;IACtF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0CAA0C;IAC1C,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,8CAA8C;IAC9C,WAAW,EAAE,eAAe,CAAC;IAC7B,wEAAwE;IACxE,UAAU,EAAE,2BAA2B,CAAC;IACxC,oEAAoE;IACpE,UAAU,EAAE,uBAAuB,CAAC;IACpC,yDAAyD;IACzD,QAAQ,EAAE,YAAY,CAAC;IACvB,kCAAkC;IAClC,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAMD,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAa;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;gBAEhC,OAAO,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,iBAAiB;IAMhE;;;;;;;;;;;OAWG;IACG,UAAU,CAAC,kBAAkB,EAAE,kBAAkB,GAAG,OAAO,CAAC,eAAe,CAAC;IA6ClF;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IA6D1B,OAAO,CAAC,cAAc;IAqBtB;;;OAGG;IACH,OAAO,CAAC,eAAe;CAgBxB"}
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
* @module fhir-persistence/terminology
|
|
15
15
|
*/
|
|
16
16
|
import type { StorageAdapter } from '../db/adapter.js';
|
|
17
|
+
import type { DDLDialect } from '../schema/ddl-generator.js';
|
|
17
18
|
export interface StoredValueSet {
|
|
18
19
|
/** ValueSet canonical URL (e.g., "http://hl7.org/fhir/ValueSet/observation-codes"). */
|
|
19
20
|
url: string;
|
|
@@ -34,7 +35,8 @@ export interface ValueSetInput {
|
|
|
34
35
|
}
|
|
35
36
|
export declare class ValueSetRepo {
|
|
36
37
|
private readonly adapter;
|
|
37
|
-
|
|
38
|
+
private readonly dialect;
|
|
39
|
+
constructor(adapter: StorageAdapter, dialect?: DDLDialect);
|
|
38
40
|
/**
|
|
39
41
|
* Ensure the terminology_valuesets table exists.
|
|
40
42
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"valueset-repo.d.ts","sourceRoot":"","sources":["../../../src/terminology/valueset-repo.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"valueset-repo.d.ts","sourceRoot":"","sources":["../../../src/terminology/valueset-repo.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAM7D,MAAM,WAAW,cAAc;IAC7B,uFAAuF;IACvF,GAAG,EAAE,MAAM,CAAC;IACZ,wCAAwC;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,sCAAsC;IACtC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,4CAA4C;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,mCAAmC;IACnC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AA4BD,qBAAa,YAAY;IAGX,OAAO,CAAC,QAAQ,CAAC,OAAO;IAFpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAa;gBAER,OAAO,EAAE,cAAc,EAAE,OAAO,GAAE,UAAqB;IAIpF;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAIlC;;;OAGG;IACG,MAAM,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAQjD;;;;OAIG;IACG,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAQpF;;;;OAIG;IACG,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAQtD;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAOzC;;OAEG;IACG,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQzD;;OAEG;IACG,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;IAQzC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAI7B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fhir-persistence",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "Embedded FHIR R4 persistence layer — CRUD, search, indexing, schema migration over SQLite and PostgreSQL",
|
|
5
5
|
"homepage": "https://github.com/medxaidev/fhir-persistence#readme",
|
|
6
6
|
"license": "MIT",
|