@the-cascade-protocol/cli 0.2.4 → 0.3.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/convert.d.ts +8 -5
- package/dist/commands/convert.d.ts.map +1 -1
- package/dist/commands/convert.js +55 -7
- package/dist/commands/convert.js.map +1 -1
- package/dist/commands/pod/helpers.d.ts +2 -0
- package/dist/commands/pod/helpers.d.ts.map +1 -1
- package/dist/commands/pod/helpers.js +62 -1
- package/dist/commands/pod/helpers.js.map +1 -1
- package/dist/commands/pod/import.d.ts +20 -0
- package/dist/commands/pod/import.d.ts.map +1 -0
- package/dist/commands/pod/import.js +382 -0
- package/dist/commands/pod/import.js.map +1 -0
- package/dist/commands/pod/index.d.ts.map +1 -1
- package/dist/commands/pod/index.js +2 -0
- package/dist/commands/pod/index.js.map +1 -1
- package/dist/commands/reconcile.d.ts +32 -0
- package/dist/commands/reconcile.d.ts.map +1 -0
- package/dist/commands/reconcile.js +116 -0
- package/dist/commands/reconcile.js.map +1 -0
- package/dist/index.js +5 -3
- package/dist/index.js.map +1 -1
- package/dist/lib/fhir-converter/cascade-to-fhir-admin.d.ts +13 -0
- package/dist/lib/fhir-converter/cascade-to-fhir-admin.d.ts.map +1 -0
- package/dist/lib/fhir-converter/cascade-to-fhir-admin.js +70 -0
- package/dist/lib/fhir-converter/cascade-to-fhir-admin.js.map +1 -0
- package/dist/lib/fhir-converter/cascade-to-fhir-clinical.d.ts +36 -0
- package/dist/lib/fhir-converter/cascade-to-fhir-clinical.d.ts.map +1 -0
- package/dist/lib/fhir-converter/cascade-to-fhir-clinical.js +407 -0
- package/dist/lib/fhir-converter/cascade-to-fhir-clinical.js.map +1 -0
- package/dist/lib/fhir-converter/cascade-to-fhir-demographics.d.ts +15 -0
- package/dist/lib/fhir-converter/cascade-to-fhir-demographics.d.ts.map +1 -0
- package/dist/lib/fhir-converter/cascade-to-fhir-demographics.js +115 -0
- package/dist/lib/fhir-converter/cascade-to-fhir-demographics.js.map +1 -0
- package/dist/lib/fhir-converter/cascade-to-fhir.d.ts +9 -3
- package/dist/lib/fhir-converter/cascade-to-fhir.d.ts.map +1 -1
- package/dist/lib/fhir-converter/cascade-to-fhir.js +69 -290
- package/dist/lib/fhir-converter/cascade-to-fhir.js.map +1 -1
- package/dist/lib/fhir-converter/converters-clinical-admin.d.ts +16 -0
- package/dist/lib/fhir-converter/converters-clinical-admin.d.ts.map +1 -0
- package/dist/lib/fhir-converter/converters-clinical-admin.js +166 -0
- package/dist/lib/fhir-converter/converters-clinical-admin.js.map +1 -0
- package/dist/lib/fhir-converter/converters-clinical.d.ts +28 -0
- package/dist/lib/fhir-converter/converters-clinical.d.ts.map +1 -1
- package/dist/lib/fhir-converter/converters-clinical.js +436 -11
- 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 +4 -5
- package/dist/lib/fhir-converter/converters-demographics.js.map +1 -1
- package/dist/lib/fhir-converter/converters-passthrough.d.ts +29 -0
- package/dist/lib/fhir-converter/converters-passthrough.d.ts.map +1 -0
- package/dist/lib/fhir-converter/converters-passthrough.js +86 -0
- package/dist/lib/fhir-converter/converters-passthrough.js.map +1 -0
- package/dist/lib/fhir-converter/fhir-to-cascade.d.ts +8 -4
- package/dist/lib/fhir-converter/fhir-to-cascade.d.ts.map +1 -1
- package/dist/lib/fhir-converter/fhir-to-cascade.js +41 -10
- package/dist/lib/fhir-converter/fhir-to-cascade.js.map +1 -1
- package/dist/lib/fhir-converter/import-manifest.d.ts +40 -0
- package/dist/lib/fhir-converter/import-manifest.d.ts.map +1 -0
- package/dist/lib/fhir-converter/import-manifest.js +66 -0
- package/dist/lib/fhir-converter/import-manifest.js.map +1 -0
- package/dist/lib/fhir-converter/index.d.ts +33 -13
- package/dist/lib/fhir-converter/index.d.ts.map +1 -1
- package/dist/lib/fhir-converter/index.js +53 -17
- package/dist/lib/fhir-converter/index.js.map +1 -1
- package/dist/lib/fhir-converter/types.d.ts +12 -1
- package/dist/lib/fhir-converter/types.d.ts.map +1 -1
- package/dist/lib/fhir-converter/types.js +67 -2
- package/dist/lib/fhir-converter/types.js.map +1 -1
- package/dist/lib/output.d.ts +5 -0
- package/dist/lib/output.d.ts.map +1 -1
- package/dist/lib/output.js +6 -1
- package/dist/lib/output.js.map +1 -1
- package/dist/lib/reconciler.d.ts +45 -0
- package/dist/lib/reconciler.d.ts.map +1 -0
- package/dist/lib/reconciler.js +397 -0
- package/dist/lib/reconciler.js.map +1 -0
- package/dist/shapes/checkup.shapes.ttl +10 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"converters-demographics.d.ts","sourceRoot":"","sources":["../../../src/lib/fhir-converter/converters-demographics.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"converters-demographics.d.ts","sourceRoot":"","sources":["../../../src/lib/fhir-converter/converters-demographics.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAE/B,OAAO,EACL,KAAK,gBAAgB,EAYtB,MAAM,YAAY,CAAC;AAMpB,wBAAgB,cAAc,CAAC,QAAQ,EAAE,GAAG,GAAG,gBAAgB,GAAG;IAAE,MAAM,EAAE,IAAI,EAAE,CAAA;CAAE,CA4EnF;AAMD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,GAAG,GAAG,gBAAgB,GAAG;IAAE,MAAM,EAAE,IAAI,EAAE,CAAA;CAAE,CA4ExF;AAMD,wBAAgB,eAAe,CAAC,QAAQ,EAAE,GAAG,GAAG,gBAAgB,GAAG;IAAE,MAAM,EAAE,IAAI,EAAE,CAAA;CAAE,CA2EpF"}
|
|
@@ -6,14 +6,13 @@
|
|
|
6
6
|
* - Immunization -> health:ImmunizationRecord
|
|
7
7
|
* - Coverage -> coverage:InsurancePlan
|
|
8
8
|
*/
|
|
9
|
-
import {
|
|
10
|
-
import { NS, extractCodings, codeableConceptText, tripleStr, tripleInt, tripleType, tripleDateTime, tripleDate, commonTriples, quadsToJsonLd, } from './types.js';
|
|
9
|
+
import { NS, extractCodings, codeableConceptText, tripleStr, tripleInt, tripleType, tripleDateTime, tripleDate, commonTriples, quadsToJsonLd, mintSubjectUri, } from './types.js';
|
|
11
10
|
// ---------------------------------------------------------------------------
|
|
12
11
|
// Patient converter
|
|
13
12
|
// ---------------------------------------------------------------------------
|
|
14
13
|
export function convertPatient(resource) {
|
|
15
14
|
const warnings = [];
|
|
16
|
-
const subjectUri =
|
|
15
|
+
const subjectUri = mintSubjectUri(resource);
|
|
17
16
|
const quads = [];
|
|
18
17
|
quads.push(tripleType(subjectUri, NS.cascade + 'PatientProfile'));
|
|
19
18
|
quads.push(...commonTriples(subjectUri));
|
|
@@ -95,7 +94,7 @@ export function convertPatient(resource) {
|
|
|
95
94
|
// ---------------------------------------------------------------------------
|
|
96
95
|
export function convertImmunization(resource) {
|
|
97
96
|
const warnings = [];
|
|
98
|
-
const subjectUri =
|
|
97
|
+
const subjectUri = mintSubjectUri(resource);
|
|
99
98
|
const quads = [];
|
|
100
99
|
quads.push(tripleType(subjectUri, NS.health + 'ImmunizationRecord'));
|
|
101
100
|
quads.push(...commonTriples(subjectUri));
|
|
@@ -165,7 +164,7 @@ export function convertImmunization(resource) {
|
|
|
165
164
|
// ---------------------------------------------------------------------------
|
|
166
165
|
export function convertCoverage(resource) {
|
|
167
166
|
const warnings = [];
|
|
168
|
-
const subjectUri =
|
|
167
|
+
const subjectUri = mintSubjectUri(resource);
|
|
169
168
|
const quads = [];
|
|
170
169
|
quads.push(tripleType(subjectUri, NS.coverage + 'InsurancePlan'));
|
|
171
170
|
quads.push(...commonTriples(subjectUri));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"converters-demographics.js","sourceRoot":"","sources":["../../../src/lib/fhir-converter/converters-demographics.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"converters-demographics.js","sourceRoot":"","sources":["../../../src/lib/fhir-converter/converters-demographics.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Layer 1 FHIR passthrough converter.
|
|
3
|
+
*
|
|
4
|
+
* For any FHIR resource type that doesn't have a full Layer 2 mapping,
|
|
5
|
+
* preserves the original FHIR JSON inline for lossless round-trip export.
|
|
6
|
+
*
|
|
7
|
+
* Modes:
|
|
8
|
+
* full (default) — stores complete FHIR JSON in cascade:fhirJson; round-trip export supported
|
|
9
|
+
* minimal — omits cascade:fhirJson; round-trip export not supported; smaller output
|
|
10
|
+
*/
|
|
11
|
+
import type { Quad } from 'n3';
|
|
12
|
+
import { type ConversionResult } from './types.js';
|
|
13
|
+
/**
|
|
14
|
+
* FHIR resource types that are intentionally excluded from conversion.
|
|
15
|
+
* These are never converted or passed through — they are logged in the
|
|
16
|
+
* import manifest with a documented reason and return null.
|
|
17
|
+
*/
|
|
18
|
+
export declare const EXCLUDED_TYPES: Set<string>;
|
|
19
|
+
export declare const EXCLUDED_REASONS: Record<string, string>;
|
|
20
|
+
/**
|
|
21
|
+
* Convert any unmapped FHIR resource to a Layer 1 passthrough record.
|
|
22
|
+
*
|
|
23
|
+
* @param resource The FHIR resource object
|
|
24
|
+
* @param minimal If true, omits cascade:fhirJson (smaller output, no round-trip)
|
|
25
|
+
*/
|
|
26
|
+
export declare function convertFhirPassthrough(resource: any, minimal?: boolean): ConversionResult & {
|
|
27
|
+
_quads: Quad[];
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=converters-passthrough.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"converters-passthrough.d.ts","sourceRoot":"","sources":["../../../src/lib/fhir-converter/converters-passthrough.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAE/B,OAAO,EACL,KAAK,gBAAgB,EAStB,MAAM,YAAY,CAAC;AAEpB;;;;GAIG;AACH,eAAO,MAAM,cAAc,aAMzB,CAAC;AAEH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAMnD,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,UAAQ,GAAG,gBAAgB,GAAG;IAAE,MAAM,EAAE,IAAI,EAAE,CAAA;CAAE,CAsD5G"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Layer 1 FHIR passthrough converter.
|
|
3
|
+
*
|
|
4
|
+
* For any FHIR resource type that doesn't have a full Layer 2 mapping,
|
|
5
|
+
* preserves the original FHIR JSON inline for lossless round-trip export.
|
|
6
|
+
*
|
|
7
|
+
* Modes:
|
|
8
|
+
* full (default) — stores complete FHIR JSON in cascade:fhirJson; round-trip export supported
|
|
9
|
+
* minimal — omits cascade:fhirJson; round-trip export not supported; smaller output
|
|
10
|
+
*/
|
|
11
|
+
import { NS, tripleStr, tripleRef, tripleType, tripleDateTime, commonTriples, quadsToJsonLd, mintSubjectUri, } from './types.js';
|
|
12
|
+
/**
|
|
13
|
+
* FHIR resource types that are intentionally excluded from conversion.
|
|
14
|
+
* These are never converted or passed through — they are logged in the
|
|
15
|
+
* import manifest with a documented reason and return null.
|
|
16
|
+
*/
|
|
17
|
+
export const EXCLUDED_TYPES = new Set([
|
|
18
|
+
'SupplyDelivery', // Logistics artifact — no patient health value
|
|
19
|
+
'CareTeam', // Personnel registry — captured via encounter provenance
|
|
20
|
+
'CarePlan', // Complex graph — deferred to future phase
|
|
21
|
+
'Provenance', // FHIR's own provenance artifacts — Cascade uses PROV-O natively
|
|
22
|
+
'Medication', // Standalone drug definition — meaning is in MedicationRequest/Statement
|
|
23
|
+
]);
|
|
24
|
+
export const EXCLUDED_REASONS = {
|
|
25
|
+
SupplyDelivery: 'Logistics artifact (delivery of physical supplies). No patient health value.',
|
|
26
|
+
CareTeam: 'Personnel registry. Care team context is captured via encounter provenance.',
|
|
27
|
+
CarePlan: 'Structured care plans are complex graph objects. Deferred to future phase.',
|
|
28
|
+
Provenance: "FHIR's own provenance artifacts. Cascade uses PROV-O natively.",
|
|
29
|
+
Medication: 'Standalone medication definitional resources. Clinical meaning is in MedicationRequest/Statement.',
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Convert any unmapped FHIR resource to a Layer 1 passthrough record.
|
|
33
|
+
*
|
|
34
|
+
* @param resource The FHIR resource object
|
|
35
|
+
* @param minimal If true, omits cascade:fhirJson (smaller output, no round-trip)
|
|
36
|
+
*/
|
|
37
|
+
export function convertFhirPassthrough(resource, minimal = false) {
|
|
38
|
+
const warnings = [];
|
|
39
|
+
const resourceType = resource.resourceType ?? 'Unknown';
|
|
40
|
+
const subjectUri = mintSubjectUri(resource);
|
|
41
|
+
const quads = [];
|
|
42
|
+
quads.push(tripleType(subjectUri, NS.fhir + resourceType));
|
|
43
|
+
quads.push(...commonTriples(subjectUri));
|
|
44
|
+
// Layer promotion status — pending Layer 2 mapping
|
|
45
|
+
quads.push(tripleRef(subjectUri, NS.cascade + 'layerPromotionStatus', NS.cascade + 'PendingLayerTwoPromotion'));
|
|
46
|
+
// Resource type string for filtering/display
|
|
47
|
+
quads.push(tripleStr(subjectUri, NS.cascade + 'fhirResourceType', resourceType));
|
|
48
|
+
// Minimal projection triples
|
|
49
|
+
if (resource.id) {
|
|
50
|
+
quads.push(tripleStr(subjectUri, NS.clinical + 'sourceRecordId', resource.id));
|
|
51
|
+
}
|
|
52
|
+
// Best-effort date extraction
|
|
53
|
+
const dateCandidate = resource.effectiveDateTime
|
|
54
|
+
?? resource.date
|
|
55
|
+
?? resource.period?.start
|
|
56
|
+
?? resource.created
|
|
57
|
+
?? resource.authoredOn
|
|
58
|
+
?? resource.occurrenceDateTime
|
|
59
|
+
?? resource.recordedDate;
|
|
60
|
+
if (dateCandidate) {
|
|
61
|
+
try {
|
|
62
|
+
quads.push(tripleDateTime(subjectUri, NS.cascade + 'sourceRecordDate', dateCandidate));
|
|
63
|
+
}
|
|
64
|
+
catch {
|
|
65
|
+
// Skip if date is unparseable
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
if (minimal) {
|
|
69
|
+
warnings.push(`${resourceType} preserved as Layer 1 passthrough (minimal mode) — round-trip export not supported`);
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
// Store complete FHIR JSON for lossless round-trip
|
|
73
|
+
quads.push(tripleStr(subjectUri, NS.cascade + 'fhirJson', JSON.stringify(resource)));
|
|
74
|
+
warnings.push(`${resourceType} preserved as Layer 1 passthrough — no Layer 2 mapping yet`);
|
|
75
|
+
}
|
|
76
|
+
const cascadeType = minimal ? `fhir-minimal:${resourceType}` : `fhir:${resourceType}`;
|
|
77
|
+
return {
|
|
78
|
+
turtle: '',
|
|
79
|
+
jsonld: quadsToJsonLd(quads, cascadeType),
|
|
80
|
+
warnings,
|
|
81
|
+
resourceType,
|
|
82
|
+
cascadeType,
|
|
83
|
+
_quads: quads,
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=converters-passthrough.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"converters-passthrough.js","sourceRoot":"","sources":["../../../src/lib/fhir-converter/converters-passthrough.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,13 +5,17 @@
|
|
|
5
5
|
* provides the main public conversion functions.
|
|
6
6
|
*
|
|
7
7
|
* Individual converters are in:
|
|
8
|
-
* - converters-clinical.ts
|
|
9
|
-
*
|
|
8
|
+
* - converters-clinical.ts Medications, conditions, allergies, observations,
|
|
9
|
+
* procedures, encounters, clinical documents, lab reports,
|
|
10
|
+
* medication admin, devices, imaging studies
|
|
11
|
+
* - converters-demographics.ts Patient, immunization, coverage
|
|
12
|
+
* - converters-clinical-admin.ts Claim, ExplanationOfBenefit
|
|
13
|
+
* - converters-passthrough.ts Layer 1 FHIR passthrough for unknown types
|
|
10
14
|
*/
|
|
11
15
|
import type { Quad } from 'n3';
|
|
12
16
|
import { type ConversionResult } from './types.js';
|
|
13
|
-
export declare function convertFhirResourceToQuads(fhirResource: any): (ConversionResult & {
|
|
17
|
+
export declare function convertFhirResourceToQuads(fhirResource: any, passthroughMinimal?: boolean): (ConversionResult & {
|
|
14
18
|
_quads: Quad[];
|
|
15
19
|
}) | null;
|
|
16
|
-
export declare function convertFhirToCascade(fhirResource: any): Promise<ConversionResult>;
|
|
20
|
+
export declare function convertFhirToCascade(fhirResource: any, passthroughMinimal?: boolean): Promise<ConversionResult>;
|
|
17
21
|
//# sourceMappingURL=fhir-to-cascade.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fhir-to-cascade.d.ts","sourceRoot":"","sources":["../../../src/lib/fhir-converter/fhir-to-cascade.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"fhir-to-cascade.d.ts","sourceRoot":"","sources":["../../../src/lib/fhir-converter/fhir-to-cascade.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAE/B,OAAO,EAAE,KAAK,gBAAgB,EAAiB,MAAM,YAAY,CAAC;AAsClE,wBAAgB,0BAA0B,CAAC,YAAY,EAAE,GAAG,EAAE,kBAAkB,UAAQ,GAAG,CAAC,gBAAgB,GAAG;IAAE,MAAM,EAAE,IAAI,EAAE,CAAA;CAAE,CAAC,GAAG,IAAI,CAkDxI;AAED,wBAAsB,oBAAoB,CAAC,YAAY,EAAE,GAAG,EAAE,kBAAkB,UAAQ,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAoBnH"}
|
|
@@ -5,16 +5,22 @@
|
|
|
5
5
|
* provides the main public conversion functions.
|
|
6
6
|
*
|
|
7
7
|
* Individual converters are in:
|
|
8
|
-
* - converters-clinical.ts
|
|
9
|
-
*
|
|
8
|
+
* - converters-clinical.ts Medications, conditions, allergies, observations,
|
|
9
|
+
* procedures, encounters, clinical documents, lab reports,
|
|
10
|
+
* medication admin, devices, imaging studies
|
|
11
|
+
* - converters-demographics.ts Patient, immunization, coverage
|
|
12
|
+
* - converters-clinical-admin.ts Claim, ExplanationOfBenefit
|
|
13
|
+
* - converters-passthrough.ts Layer 1 FHIR passthrough for unknown types
|
|
10
14
|
*/
|
|
11
15
|
import { quadsToTurtle } from './types.js';
|
|
12
|
-
import { convertMedicationStatement, convertCondition, convertAllergyIntolerance, isVitalSignObservation, convertObservationLab, convertObservationVital, } from './converters-clinical.js';
|
|
16
|
+
import { convertMedicationStatement, convertCondition, convertAllergyIntolerance, isVitalSignObservation, convertObservationLab, convertObservationVital, convertProcedure, convertClinicalDocument, convertEncounter, convertLaboratoryReport, convertMedicationAdministration, convertDevice, convertImagingStudy, } from './converters-clinical.js';
|
|
13
17
|
import { convertPatient, convertImmunization, convertCoverage, } from './converters-demographics.js';
|
|
18
|
+
import { convertClaim, convertExplanationOfBenefit, } from './converters-clinical-admin.js';
|
|
19
|
+
import { convertFhirPassthrough, EXCLUDED_TYPES, } from './converters-passthrough.js';
|
|
14
20
|
// ---------------------------------------------------------------------------
|
|
15
21
|
// Main dispatcher: single FHIR resource -> Cascade
|
|
16
22
|
// ---------------------------------------------------------------------------
|
|
17
|
-
export function convertFhirResourceToQuads(fhirResource) {
|
|
23
|
+
export function convertFhirResourceToQuads(fhirResource, passthroughMinimal = false) {
|
|
18
24
|
const resourceType = fhirResource?.resourceType;
|
|
19
25
|
if (!resourceType)
|
|
20
26
|
return null;
|
|
@@ -37,17 +43,42 @@ export function convertFhirResourceToQuads(fhirResource) {
|
|
|
37
43
|
return convertImmunization(fhirResource);
|
|
38
44
|
case 'Coverage':
|
|
39
45
|
return convertCoverage(fhirResource);
|
|
40
|
-
|
|
41
|
-
return
|
|
46
|
+
case 'Procedure':
|
|
47
|
+
return convertProcedure(fhirResource);
|
|
48
|
+
case 'DocumentReference':
|
|
49
|
+
return convertClinicalDocument(fhirResource);
|
|
50
|
+
case 'Encounter':
|
|
51
|
+
return convertEncounter(fhirResource);
|
|
52
|
+
case 'DiagnosticReport':
|
|
53
|
+
return convertLaboratoryReport(fhirResource);
|
|
54
|
+
case 'MedicationAdministration':
|
|
55
|
+
return convertMedicationAdministration(fhirResource);
|
|
56
|
+
case 'Device':
|
|
57
|
+
return convertDevice(fhirResource);
|
|
58
|
+
case 'ImagingStudy':
|
|
59
|
+
return convertImagingStudy(fhirResource);
|
|
60
|
+
case 'Claim':
|
|
61
|
+
return convertClaim(fhirResource);
|
|
62
|
+
case 'ExplanationOfBenefit':
|
|
63
|
+
return convertExplanationOfBenefit(fhirResource);
|
|
64
|
+
default: {
|
|
65
|
+
if (EXCLUDED_TYPES.has(resourceType)) {
|
|
66
|
+
// Intentionally excluded — log to manifest as excluded, return null
|
|
67
|
+
return null;
|
|
68
|
+
}
|
|
69
|
+
// Layer 1 passthrough for everything else
|
|
70
|
+
return convertFhirPassthrough(fhirResource, passthroughMinimal);
|
|
71
|
+
}
|
|
42
72
|
}
|
|
43
73
|
}
|
|
44
|
-
export async function convertFhirToCascade(fhirResource) {
|
|
45
|
-
const result = convertFhirResourceToQuads(fhirResource);
|
|
74
|
+
export async function convertFhirToCascade(fhirResource, passthroughMinimal = false) {
|
|
75
|
+
const result = convertFhirResourceToQuads(fhirResource, passthroughMinimal);
|
|
46
76
|
if (!result) {
|
|
77
|
+
const resourceType = fhirResource?.resourceType ?? 'unknown';
|
|
47
78
|
return {
|
|
48
79
|
turtle: '',
|
|
49
|
-
warnings: [`Unsupported FHIR resource type: ${
|
|
50
|
-
resourceType
|
|
80
|
+
warnings: [`Unsupported FHIR resource type: ${resourceType}`],
|
|
81
|
+
resourceType,
|
|
51
82
|
cascadeType: 'unknown',
|
|
52
83
|
};
|
|
53
84
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fhir-to-cascade.js","sourceRoot":"","sources":["../../../src/lib/fhir-converter/fhir-to-cascade.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"fhir-to-cascade.js","sourceRoot":"","sources":["../../../src/lib/fhir-converter/fhir-to-cascade.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Import manifest types and builder for FHIR -> Cascade conversion.
|
|
3
|
+
*
|
|
4
|
+
* The manifest is built in the CLI command layer (not in the converter library)
|
|
5
|
+
* after BatchConversionResult is returned. It records what was converted,
|
|
6
|
+
* what used Layer 1 passthrough, and what was intentionally excluded.
|
|
7
|
+
*/
|
|
8
|
+
import type { BatchConversionResult } from './types.js';
|
|
9
|
+
export interface ManifestEntry {
|
|
10
|
+
count: number;
|
|
11
|
+
strategy: 'mapped' | 'passthrough' | 'passthrough-minimal' | 'excluded';
|
|
12
|
+
reason?: string;
|
|
13
|
+
}
|
|
14
|
+
export interface ImportManifest {
|
|
15
|
+
sourceFile: string;
|
|
16
|
+
sourceSystem: string;
|
|
17
|
+
convertedAt: string;
|
|
18
|
+
summary: {
|
|
19
|
+
total: number;
|
|
20
|
+
fullyMapped: number;
|
|
21
|
+
passthrough: number;
|
|
22
|
+
excluded: number;
|
|
23
|
+
};
|
|
24
|
+
byType: Record<string, ManifestEntry>;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Build an ImportManifest from a BatchConversionResult.
|
|
28
|
+
*
|
|
29
|
+
* Passthrough detection uses cascadeType prefix only:
|
|
30
|
+
* - 'fhir:*' -> full passthrough (fhirJson stored, round-trip supported)
|
|
31
|
+
* - 'fhir-minimal:*' -> minimal passthrough (no fhirJson, round-trip not supported)
|
|
32
|
+
* All other cascadeType values are Layer 2 mapped records.
|
|
33
|
+
*
|
|
34
|
+
* @param result The conversion result from the converter library
|
|
35
|
+
* @param sourceFile The source FHIR file path
|
|
36
|
+
* @param sourceSystem The --source-system CLI argument
|
|
37
|
+
* @param excludedTypes Map of resource types that were excluded with their counts
|
|
38
|
+
*/
|
|
39
|
+
export declare function buildImportManifest(result: BatchConversionResult, sourceFile: string, sourceSystem: string, excludedTypes: Record<string, number>): ImportManifest;
|
|
40
|
+
//# sourceMappingURL=import-manifest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"import-manifest.d.ts","sourceRoot":"","sources":["../../../src/lib/fhir-converter/import-manifest.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAGxD,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,QAAQ,GAAG,aAAa,GAAG,qBAAqB,GAAG,UAAU,CAAC;IACxE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CACvC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,qBAAqB,EAC7B,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACpC,cAAc,CA8ChB"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Import manifest types and builder for FHIR -> Cascade conversion.
|
|
3
|
+
*
|
|
4
|
+
* The manifest is built in the CLI command layer (not in the converter library)
|
|
5
|
+
* after BatchConversionResult is returned. It records what was converted,
|
|
6
|
+
* what used Layer 1 passthrough, and what was intentionally excluded.
|
|
7
|
+
*/
|
|
8
|
+
import { EXCLUDED_REASONS } from './converters-passthrough.js';
|
|
9
|
+
/**
|
|
10
|
+
* Build an ImportManifest from a BatchConversionResult.
|
|
11
|
+
*
|
|
12
|
+
* Passthrough detection uses cascadeType prefix only:
|
|
13
|
+
* - 'fhir:*' -> full passthrough (fhirJson stored, round-trip supported)
|
|
14
|
+
* - 'fhir-minimal:*' -> minimal passthrough (no fhirJson, round-trip not supported)
|
|
15
|
+
* All other cascadeType values are Layer 2 mapped records.
|
|
16
|
+
*
|
|
17
|
+
* @param result The conversion result from the converter library
|
|
18
|
+
* @param sourceFile The source FHIR file path
|
|
19
|
+
* @param sourceSystem The --source-system CLI argument
|
|
20
|
+
* @param excludedTypes Map of resource types that were excluded with their counts
|
|
21
|
+
*/
|
|
22
|
+
export function buildImportManifest(result, sourceFile, sourceSystem, excludedTypes) {
|
|
23
|
+
const byType = {};
|
|
24
|
+
let fullyMapped = 0;
|
|
25
|
+
let passthrough = 0;
|
|
26
|
+
for (const r of result.results) {
|
|
27
|
+
const isFullPassthrough = r.cascadeType.startsWith('fhir:');
|
|
28
|
+
const isMinimalPassthrough = r.cascadeType.startsWith('fhir-minimal:');
|
|
29
|
+
const strategy = isMinimalPassthrough
|
|
30
|
+
? 'passthrough-minimal'
|
|
31
|
+
: isFullPassthrough
|
|
32
|
+
? 'passthrough'
|
|
33
|
+
: 'mapped';
|
|
34
|
+
if (!byType[r.resourceType]) {
|
|
35
|
+
byType[r.resourceType] = { count: 0, strategy };
|
|
36
|
+
}
|
|
37
|
+
byType[r.resourceType].count++;
|
|
38
|
+
if (isFullPassthrough || isMinimalPassthrough)
|
|
39
|
+
passthrough++;
|
|
40
|
+
else
|
|
41
|
+
fullyMapped++;
|
|
42
|
+
}
|
|
43
|
+
// Add excluded types
|
|
44
|
+
let excluded = 0;
|
|
45
|
+
for (const [type, count] of Object.entries(excludedTypes)) {
|
|
46
|
+
byType[type] = {
|
|
47
|
+
count,
|
|
48
|
+
strategy: 'excluded',
|
|
49
|
+
reason: EXCLUDED_REASONS[type] ?? 'Intentionally excluded',
|
|
50
|
+
};
|
|
51
|
+
excluded += count;
|
|
52
|
+
}
|
|
53
|
+
return {
|
|
54
|
+
sourceFile,
|
|
55
|
+
sourceSystem,
|
|
56
|
+
convertedAt: new Date().toISOString(),
|
|
57
|
+
summary: {
|
|
58
|
+
total: fullyMapped + passthrough + excluded,
|
|
59
|
+
fullyMapped,
|
|
60
|
+
passthrough,
|
|
61
|
+
excluded,
|
|
62
|
+
},
|
|
63
|
+
byType,
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=import-manifest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"import-manifest.js","sourceRoot":"","sources":["../../../src/lib/fhir-converter/import-manifest.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAqB/D;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,mBAAmB,CACjC,MAA6B,EAC7B,UAAkB,EAClB,YAAoB,EACpB,aAAqC;IAErC,MAAM,MAAM,GAAkC,EAAE,CAAC;IACjD,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,WAAW,GAAG,CAAC,CAAC;IAEpB,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QAC/B,MAAM,iBAAiB,GAAG,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC5D,MAAM,oBAAoB,GAAG,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QACvE,MAAM,QAAQ,GAA8B,oBAAoB;YAC9D,CAAC,CAAC,qBAAqB;YACvB,CAAC,CAAC,iBAAiB;gBACjB,CAAC,CAAC,aAAa;gBACf,CAAC,CAAC,QAAQ,CAAC;QAEf,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC;YAC5B,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC;QAClD,CAAC;QACD,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,KAAK,EAAE,CAAC;QAE/B,IAAI,iBAAiB,IAAI,oBAAoB;YAAE,WAAW,EAAE,CAAC;;YACxD,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,qBAAqB;IACrB,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;QAC1D,MAAM,CAAC,IAAI,CAAC,GAAG;YACb,KAAK;YACL,QAAQ,EAAE,UAAU;YACpB,MAAM,EAAE,gBAAgB,CAAC,IAAI,CAAC,IAAI,wBAAwB;SAC3D,CAAC;QACF,QAAQ,IAAI,KAAK,CAAC;IACpB,CAAC;IAED,OAAO;QACL,UAAU;QACV,YAAY;QACZ,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACrC,OAAO,EAAE;YACP,KAAK,EAAE,WAAW,GAAG,WAAW,GAAG,QAAQ;YAC3C,WAAW;YACX,WAAW;YACX,QAAQ;SACT;QACD,MAAM;KACP,CAAC;AACJ,CAAC"}
|
|
@@ -3,23 +3,39 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Converts between FHIR R4 JSON and Cascade Protocol RDF (Turtle/JSON-LD).
|
|
5
5
|
*
|
|
6
|
-
* Supported FHIR R4 resource types:
|
|
6
|
+
* Supported FHIR R4 resource types (Layer 2 — full vocabulary mapping):
|
|
7
7
|
* - MedicationStatement / MedicationRequest -> health:MedicationRecord
|
|
8
|
-
* - Condition
|
|
9
|
-
* - AllergyIntolerance
|
|
10
|
-
* - Observation (lab)
|
|
11
|
-
* - Observation (vital)
|
|
12
|
-
* - Patient
|
|
13
|
-
* - Immunization
|
|
14
|
-
* - Coverage
|
|
8
|
+
* - Condition -> health:ConditionRecord
|
|
9
|
+
* - AllergyIntolerance -> health:AllergyRecord
|
|
10
|
+
* - Observation (lab) -> health:LabResultRecord
|
|
11
|
+
* - Observation (vital signs) -> clinical:VitalSign
|
|
12
|
+
* - Patient -> cascade:PatientProfile
|
|
13
|
+
* - Immunization -> health:ImmunizationRecord
|
|
14
|
+
* - Coverage -> coverage:InsurancePlan
|
|
15
|
+
* - Procedure -> clinical:Procedure
|
|
16
|
+
* - DocumentReference -> clinical:ClinicalDocument
|
|
17
|
+
* - Encounter -> clinical:Encounter
|
|
18
|
+
* - DiagnosticReport -> clinical:LaboratoryReport
|
|
19
|
+
* - MedicationAdministration -> clinical:MedicationAdministration
|
|
20
|
+
* - Device -> clinical:ImplantedDevice
|
|
21
|
+
* - ImagingStudy -> clinical:ImagingStudy
|
|
22
|
+
* - Claim -> coverage:ClaimRecord
|
|
23
|
+
* - ExplanationOfBenefit -> coverage:BenefitStatement
|
|
24
|
+
*
|
|
25
|
+
* All other resource types receive Layer 1 passthrough (stored as fhir:{Type}).
|
|
26
|
+
* Explicitly excluded types: SupplyDelivery, CareTeam, CarePlan, Provenance, Medication.
|
|
15
27
|
*
|
|
16
28
|
* Zero network calls. All conversion is local.
|
|
17
29
|
*
|
|
18
|
-
* This module re-exports all public API
|
|
30
|
+
* This module re-exports all public API.
|
|
19
31
|
* Internal implementation is split across:
|
|
20
|
-
* - types.ts
|
|
21
|
-
* - fhir-to-cascade.ts
|
|
22
|
-
* -
|
|
32
|
+
* - types.ts Shared types, namespaces, and quad helpers
|
|
33
|
+
* - fhir-to-cascade.ts FHIR -> Cascade dispatcher
|
|
34
|
+
* - converters-clinical.ts Clinical resource converters
|
|
35
|
+
* - converters-demographics.ts Patient, immunization, coverage converters
|
|
36
|
+
* - converters-clinical-admin.ts Claim, EOB converters
|
|
37
|
+
* - converters-passthrough.ts Layer 1 passthrough for unknown types
|
|
38
|
+
* - cascade-to-fhir.ts Cascade -> FHIR reverse converters
|
|
23
39
|
*/
|
|
24
40
|
import { type InputFormat, type OutputFormat, type ConversionResult, type BatchConversionResult } from './types.js';
|
|
25
41
|
export type { InputFormat, OutputFormat, ConversionResult, BatchConversionResult };
|
|
@@ -27,8 +43,12 @@ export { convertFhirResourceToQuads, convertFhirToCascade } from './fhir-to-casc
|
|
|
27
43
|
export { convertCascadeToFhir } from './cascade-to-fhir.js';
|
|
28
44
|
/**
|
|
29
45
|
* Convert an entire FHIR input (single resource or Bundle) to Cascade format.
|
|
46
|
+
*
|
|
47
|
+
* @param passthroughMinimal If true, omits cascade:fhirJson from passthrough records.
|
|
48
|
+
* Round-trip export is not supported in minimal mode.
|
|
49
|
+
* Produces smaller output for display-only scenarios.
|
|
30
50
|
*/
|
|
31
|
-
export declare function convert(input: string, from: InputFormat, to: OutputFormat, outputSerialization?: 'turtle' | 'jsonld'): Promise<BatchConversionResult>;
|
|
51
|
+
export declare function convert(input: string, from: InputFormat, to: OutputFormat, outputSerialization?: 'turtle' | 'jsonld', sourceSystem?: string, passthroughMinimal?: boolean): Promise<BatchConversionResult>;
|
|
32
52
|
/**
|
|
33
53
|
* Detect the format of input data by inspecting its content.
|
|
34
54
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/fhir-converter/index.ts"],"names":[],"mappings":"AAAA
|
|
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,CA0IhC;AAMD;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CA6B9D"}
|