@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.
Files changed (78) hide show
  1. package/dist/commands/convert.d.ts +8 -5
  2. package/dist/commands/convert.d.ts.map +1 -1
  3. package/dist/commands/convert.js +55 -7
  4. package/dist/commands/convert.js.map +1 -1
  5. package/dist/commands/pod/helpers.d.ts +2 -0
  6. package/dist/commands/pod/helpers.d.ts.map +1 -1
  7. package/dist/commands/pod/helpers.js +62 -1
  8. package/dist/commands/pod/helpers.js.map +1 -1
  9. package/dist/commands/pod/import.d.ts +20 -0
  10. package/dist/commands/pod/import.d.ts.map +1 -0
  11. package/dist/commands/pod/import.js +382 -0
  12. package/dist/commands/pod/import.js.map +1 -0
  13. package/dist/commands/pod/index.d.ts.map +1 -1
  14. package/dist/commands/pod/index.js +2 -0
  15. package/dist/commands/pod/index.js.map +1 -1
  16. package/dist/commands/reconcile.d.ts +32 -0
  17. package/dist/commands/reconcile.d.ts.map +1 -0
  18. package/dist/commands/reconcile.js +116 -0
  19. package/dist/commands/reconcile.js.map +1 -0
  20. package/dist/index.js +5 -3
  21. package/dist/index.js.map +1 -1
  22. package/dist/lib/fhir-converter/cascade-to-fhir-admin.d.ts +13 -0
  23. package/dist/lib/fhir-converter/cascade-to-fhir-admin.d.ts.map +1 -0
  24. package/dist/lib/fhir-converter/cascade-to-fhir-admin.js +70 -0
  25. package/dist/lib/fhir-converter/cascade-to-fhir-admin.js.map +1 -0
  26. package/dist/lib/fhir-converter/cascade-to-fhir-clinical.d.ts +36 -0
  27. package/dist/lib/fhir-converter/cascade-to-fhir-clinical.d.ts.map +1 -0
  28. package/dist/lib/fhir-converter/cascade-to-fhir-clinical.js +407 -0
  29. package/dist/lib/fhir-converter/cascade-to-fhir-clinical.js.map +1 -0
  30. package/dist/lib/fhir-converter/cascade-to-fhir-demographics.d.ts +15 -0
  31. package/dist/lib/fhir-converter/cascade-to-fhir-demographics.d.ts.map +1 -0
  32. package/dist/lib/fhir-converter/cascade-to-fhir-demographics.js +115 -0
  33. package/dist/lib/fhir-converter/cascade-to-fhir-demographics.js.map +1 -0
  34. package/dist/lib/fhir-converter/cascade-to-fhir.d.ts +9 -3
  35. package/dist/lib/fhir-converter/cascade-to-fhir.d.ts.map +1 -1
  36. package/dist/lib/fhir-converter/cascade-to-fhir.js +69 -290
  37. package/dist/lib/fhir-converter/cascade-to-fhir.js.map +1 -1
  38. package/dist/lib/fhir-converter/converters-clinical-admin.d.ts +16 -0
  39. package/dist/lib/fhir-converter/converters-clinical-admin.d.ts.map +1 -0
  40. package/dist/lib/fhir-converter/converters-clinical-admin.js +166 -0
  41. package/dist/lib/fhir-converter/converters-clinical-admin.js.map +1 -0
  42. package/dist/lib/fhir-converter/converters-clinical.d.ts +28 -0
  43. package/dist/lib/fhir-converter/converters-clinical.d.ts.map +1 -1
  44. package/dist/lib/fhir-converter/converters-clinical.js +436 -11
  45. package/dist/lib/fhir-converter/converters-clinical.js.map +1 -1
  46. package/dist/lib/fhir-converter/converters-demographics.d.ts.map +1 -1
  47. package/dist/lib/fhir-converter/converters-demographics.js +4 -5
  48. package/dist/lib/fhir-converter/converters-demographics.js.map +1 -1
  49. package/dist/lib/fhir-converter/converters-passthrough.d.ts +29 -0
  50. package/dist/lib/fhir-converter/converters-passthrough.d.ts.map +1 -0
  51. package/dist/lib/fhir-converter/converters-passthrough.js +86 -0
  52. package/dist/lib/fhir-converter/converters-passthrough.js.map +1 -0
  53. package/dist/lib/fhir-converter/fhir-to-cascade.d.ts +8 -4
  54. package/dist/lib/fhir-converter/fhir-to-cascade.d.ts.map +1 -1
  55. package/dist/lib/fhir-converter/fhir-to-cascade.js +41 -10
  56. package/dist/lib/fhir-converter/fhir-to-cascade.js.map +1 -1
  57. package/dist/lib/fhir-converter/import-manifest.d.ts +40 -0
  58. package/dist/lib/fhir-converter/import-manifest.d.ts.map +1 -0
  59. package/dist/lib/fhir-converter/import-manifest.js +66 -0
  60. package/dist/lib/fhir-converter/import-manifest.js.map +1 -0
  61. package/dist/lib/fhir-converter/index.d.ts +33 -13
  62. package/dist/lib/fhir-converter/index.d.ts.map +1 -1
  63. package/dist/lib/fhir-converter/index.js +53 -17
  64. package/dist/lib/fhir-converter/index.js.map +1 -1
  65. package/dist/lib/fhir-converter/types.d.ts +12 -1
  66. package/dist/lib/fhir-converter/types.d.ts.map +1 -1
  67. package/dist/lib/fhir-converter/types.js +67 -2
  68. package/dist/lib/fhir-converter/types.js.map +1 -1
  69. package/dist/lib/output.d.ts +5 -0
  70. package/dist/lib/output.d.ts.map +1 -1
  71. package/dist/lib/output.js +6 -1
  72. package/dist/lib/output.js.map +1 -1
  73. package/dist/lib/reconciler.d.ts +45 -0
  74. package/dist/lib/reconciler.d.ts.map +1 -0
  75. package/dist/lib/reconciler.js +397 -0
  76. package/dist/lib/reconciler.js.map +1 -0
  77. package/dist/shapes/checkup.shapes.ttl +10 -0
  78. package/package.json +1 -1
@@ -3,27 +3,46 @@
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 -> health:ConditionRecord
9
- * - AllergyIntolerance -> health:AllergyRecord
10
- * - Observation (lab) -> health:LabResultRecord
11
- * - Observation (vital) -> clinical:VitalSign
12
- * - Patient -> cascade:PatientProfile
13
- * - Immunization -> health:ImmunizationRecord
14
- * - Coverage -> coverage:InsurancePlan
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 for backward compatibility.
30
+ * This module re-exports all public API.
19
31
  * Internal implementation is split across:
20
- * - types.ts Shared types, namespaces, and quad helpers
21
- * - fhir-to-cascade.ts FHIR -> Cascade converters
22
- * - cascade-to-fhir.ts Cascade -> FHIR converters
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
- import { SUPPORTED_TYPES, quadsToTurtle, quadsToJsonLd, } from './types.js';
40
+ import { DataFactory } from 'n3';
41
+ import { NS, quadsToTurtle, quadsToJsonLd, } from './types.js';
42
+ const { namedNode, literal, quad: makeQuad } = DataFactory;
25
43
  import { convertFhirResourceToQuads } from './fhir-to-cascade.js';
26
44
  import { convertCascadeToFhir } from './cascade-to-fhir.js';
45
+ import { EXCLUDED_TYPES, EXCLUDED_REASONS } from './converters-passthrough.js';
27
46
  // Re-export public functions from sub-modules
28
47
  export { convertFhirResourceToQuads, convertFhirToCascade } from './fhir-to-cascade.js';
29
48
  export { convertCascadeToFhir } from './cascade-to-fhir.js';
@@ -32,8 +51,12 @@ export { convertCascadeToFhir } from './cascade-to-fhir.js';
32
51
  // ---------------------------------------------------------------------------
33
52
  /**
34
53
  * Convert an entire FHIR input (single resource or Bundle) to Cascade format.
54
+ *
55
+ * @param passthroughMinimal If true, omits cascade:fhirJson from passthrough records.
56
+ * Round-trip export is not supported in minimal mode.
57
+ * Produces smaller output for display-only scenarios.
35
58
  */
36
- export async function convert(input, from, to, outputSerialization = 'turtle') {
59
+ export async function convert(input, from, to, outputSerialization = 'turtle', sourceSystem, passthroughMinimal = false) {
37
60
  const warnings = [];
38
61
  const errors = [];
39
62
  const results = [];
@@ -68,11 +91,11 @@ export async function convert(input, from, to, outputSerialization = 'turtle') {
68
91
  }
69
92
  const allQuads = [];
70
93
  for (const res of fhirResources) {
71
- if (!SUPPORTED_TYPES.has(res.resourceType)) {
72
- warnings.push(`Skipping unsupported FHIR resource type: ${res.resourceType}`);
94
+ if (EXCLUDED_TYPES.has(res.resourceType)) {
95
+ warnings.push(`Skipping excluded FHIR resource type: ${res.resourceType} — ${EXCLUDED_REASONS[res.resourceType] ?? 'intentionally excluded'}`);
73
96
  continue;
74
97
  }
75
- const result = convertFhirResourceToQuads(res);
98
+ const result = convertFhirResourceToQuads(res, passthroughMinimal);
76
99
  if (result) {
77
100
  allQuads.push(...result._quads);
78
101
  results.push({
@@ -91,6 +114,19 @@ export async function convert(input, from, to, outputSerialization = 'turtle') {
91
114
  warnings, errors: ['No convertible FHIR resources found'], results: [],
92
115
  };
93
116
  }
117
+ // Inject cascade:sourceSystem into every record if --source-system was given.
118
+ // We add one triple per unique subject that has an rdf:type (i.e. a real record).
119
+ if (sourceSystem) {
120
+ const recordSubjects = new Set();
121
+ for (const q of allQuads) {
122
+ if (q.predicate.value === NS.rdf + 'type') {
123
+ recordSubjects.add(q.subject.value);
124
+ }
125
+ }
126
+ for (const subjectUri of recordSubjects) {
127
+ allQuads.push(makeQuad(namedNode(subjectUri), namedNode(NS.cascade + 'sourceSystem'), literal(sourceSystem)));
128
+ }
129
+ }
94
130
  // Determine output format
95
131
  let output;
96
132
  if (outputSerialization === 'jsonld' || to === 'jsonld') {
@@ -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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"}
@@ -22,6 +22,8 @@ export interface BatchConversionResult {
22
22
  errors: string[];
23
23
  results: ConversionResult[];
24
24
  }
25
+ /** Current Cascade Protocol schema version emitted on all converted records. */
26
+ export declare const SCHEMA_VERSION = "1.3";
25
27
  export declare const NS: {
26
28
  readonly cascade: "https://ns.cascadeprotocol.org/core/v1#";
27
29
  readonly health: "https://ns.cascadeprotocol.org/health/v1#";
@@ -39,6 +41,8 @@ export declare const NS: {
39
41
  /** Standard Turtle prefix block for all generated output. */
40
42
  export declare const TURTLE_PREFIXES: Record<string, string>;
41
43
  export declare const CODING_SYSTEM_MAP: Record<string, string>;
44
+ /** Returns true for any known LOINC coding system URL variant. */
45
+ export declare function isLoincSystem(system: string | undefined): boolean;
42
46
  export declare const VITAL_LOINC_CODES: Record<string, {
43
47
  type: string;
44
48
  name: string;
@@ -47,7 +51,7 @@ export declare const VITAL_LOINC_CODES: Record<string, {
47
51
  }>;
48
52
  /** FHIR observation categories that indicate vital signs */
49
53
  export declare const VITAL_CATEGORIES: string[];
50
- /** Set of FHIR resource types supported for conversion */
54
+ /** Set of FHIR resource types that receive full Layer 2 conversion */
51
55
  export declare const SUPPORTED_TYPES: Set<string>;
52
56
  /**
53
57
  * Ensure an ISO 8601 dateTime string with timezone.
@@ -70,6 +74,13 @@ export declare function tripleRef(subject: string, predicate: string, object: st
70
74
  export declare function tripleType(subject: string, rdfType: string): Quad;
71
75
  export declare function tripleDateTime(subject: string, predicate: string, dateStr: string): Quad;
72
76
  export declare function tripleDate(subject: string, predicate: string, dateStr: string): Quad;
77
+ /**
78
+ * Mint a deterministic subject URI from a FHIR resource.
79
+ * - If resource.id is a valid UUID v4: returns urn:uuid:{resource.id}
80
+ * - If resource.id exists but is not a UUID: returns urn:uuid:{deterministicUuid(resourceType:id)}
81
+ * - If no resource.id: falls back to a random UUID (last resort)
82
+ */
83
+ export declare function mintSubjectUri(resource: any): string;
73
84
  /** Common triples every Cascade resource gets */
74
85
  export declare function commonTriples(subject: string): Quad[];
75
86
  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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"}
@@ -4,8 +4,14 @@
4
4
  * Used by both fhir-to-cascade and cascade-to-fhir converters.
5
5
  */
6
6
  import { DataFactory, Writer } from 'n3';
7
+ import { randomUUID, createHash } from 'node:crypto';
7
8
  const { namedNode, literal, quad: makeQuad } = DataFactory;
8
9
  // ---------------------------------------------------------------------------
10
+ // Schema version
11
+ // ---------------------------------------------------------------------------
12
+ /** Current Cascade Protocol schema version emitted on all converted records. */
13
+ export const SCHEMA_VERSION = '1.3';
14
+ // ---------------------------------------------------------------------------
9
15
  // Namespace constants
10
16
  // ---------------------------------------------------------------------------
11
17
  export const NS = {
@@ -43,26 +49,51 @@ export const CODING_SYSTEM_MAP = {
43
49
  'urn:oid:2.16.840.1.113883.6.88': NS.rxnorm,
44
50
  'http://snomed.info/sct': NS.sct,
45
51
  'http://loinc.org': NS.loinc,
52
+ 'https://loinc.org': NS.loinc,
53
+ 'http://loinc.org/': NS.loinc,
54
+ 'urn:oid:2.16.840.1.113883.6.1': NS.loinc, // LOINC OID (C-CDA / older HL7)
46
55
  'http://hl7.org/fhir/sid/icd-10-cm': NS.icd10,
47
56
  'http://hl7.org/fhir/sid/icd-10': NS.icd10,
48
57
  };
58
+ /** Returns true for any known LOINC coding system URL variant. */
59
+ export function isLoincSystem(system) {
60
+ if (!system)
61
+ return false;
62
+ return CODING_SYSTEM_MAP[system] === NS.loinc;
63
+ }
49
64
  // ---------------------------------------------------------------------------
50
65
  // FHIR vital-sign LOINC code mapping
51
66
  // ---------------------------------------------------------------------------
52
67
  export const VITAL_LOINC_CODES = {
68
+ // Core vital signs (US Core Vital Signs profile)
53
69
  '8480-6': { type: 'bloodPressureSystolic', name: 'Systolic Blood Pressure', unit: 'mmHg', snomedCode: '271649006' },
54
70
  '8462-4': { type: 'bloodPressureDiastolic', name: 'Diastolic Blood Pressure', unit: 'mmHg', snomedCode: '271650006' },
71
+ '55284-4': { type: 'bloodPressurePanel', name: 'Blood Pressure Panel', unit: 'mmHg', snomedCode: '75367002' },
72
+ '85354-9': { type: 'bloodPressurePanel', name: 'Blood Pressure Panel', unit: 'mmHg', snomedCode: '75367002' },
73
+ '8478-0': { type: 'meanBloodPressure', name: 'Mean Blood Pressure', unit: 'mmHg', snomedCode: '6797001' },
55
74
  '8867-4': { type: 'heartRate', name: 'Heart Rate', unit: 'bpm', snomedCode: '364075005' },
56
75
  '9279-1': { type: 'respiratoryRate', name: 'Respiratory Rate', unit: 'breaths/min', snomedCode: '86290005' },
57
76
  '8310-5': { type: 'bodyTemperature', name: 'Body Temperature', unit: 'degC', snomedCode: '386725007' },
77
+ '8331-1': { type: 'bodyTemperatureOral', name: 'Body Temperature (Oral)', unit: 'degC', snomedCode: '386725007' },
58
78
  '2708-6': { type: 'oxygenSaturation', name: 'Oxygen Saturation', unit: '%', snomedCode: '431314004' },
79
+ '59408-5': { type: 'oxygenSaturation', name: 'Oxygen Saturation (Pulse Ox)', unit: '%', snomedCode: '431314004' },
59
80
  '29463-7': { type: 'bodyWeight', name: 'Body Weight', unit: 'kg', snomedCode: '27113001' },
60
81
  '8302-2': { type: 'bodyHeight', name: 'Body Height', unit: 'cm', snomedCode: '50373000' },
61
82
  '39156-5': { type: 'bmi', name: 'Body Mass Index', unit: 'kg/m2', snomedCode: '60621009' },
83
+ // Pain
84
+ '72514-3': { type: 'painSeverity', name: 'Pain Severity (0-10 NRS)', unit: '{score}', snomedCode: '225908003' },
85
+ // Pediatric growth measurements
86
+ '9843-4': { type: 'headCircumference', name: 'Head Occipital-Frontal Circumference', unit: 'cm', snomedCode: '363812007' },
87
+ '8289-1': { type: 'headCircumferencePercentile', name: 'Head Circumference Percentile', unit: '%', snomedCode: '363812007' },
88
+ '77606-2': { type: 'weightForLengthPercentile', name: 'Weight-for-Length Percentile', unit: '%', snomedCode: '248334005' },
89
+ '59576-9': { type: 'bmiPercentile', name: 'BMI Percentile', unit: '%', snomedCode: '60621009' },
90
+ // Ophthalmology
91
+ '79893-4': { type: 'intraocularPressureRightEye', name: 'Intraocular Pressure (Right Eye)', unit: 'mm[Hg]', snomedCode: '41633001' },
92
+ '79892-6': { type: 'intraocularPressureLeftEye', name: 'Intraocular Pressure (Left Eye)', unit: 'mm[Hg]', snomedCode: '41633001' },
62
93
  };
63
94
  /** FHIR observation categories that indicate vital signs */
64
95
  export const VITAL_CATEGORIES = ['vital-signs', 'vital-sign'];
65
- /** Set of FHIR resource types supported for conversion */
96
+ /** Set of FHIR resource types that receive full Layer 2 conversion */
66
97
  export const SUPPORTED_TYPES = new Set([
67
98
  'MedicationStatement', 'MedicationRequest',
68
99
  'Condition',
@@ -71,6 +102,15 @@ export const SUPPORTED_TYPES = new Set([
71
102
  'Patient',
72
103
  'Immunization',
73
104
  'Coverage',
105
+ 'Procedure',
106
+ 'DocumentReference',
107
+ 'Encounter',
108
+ 'DiagnosticReport',
109
+ 'MedicationAdministration',
110
+ 'Device',
111
+ 'ImagingStudy',
112
+ 'Claim',
113
+ 'ExplanationOfBenefit',
74
114
  ]);
75
115
  // ---------------------------------------------------------------------------
76
116
  // Helper: date formatting
@@ -146,11 +186,36 @@ export function tripleDateTime(subject, predicate, dateStr) {
146
186
  export function tripleDate(subject, predicate, dateStr) {
147
187
  return tripleTyped(subject, predicate, dateStr, NS.xsd + 'date');
148
188
  }
189
+ // ---------------------------------------------------------------------------
190
+ // Subject URI minting (deterministic from resource.id)
191
+ // ---------------------------------------------------------------------------
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
+ function deterministicUuid(input) {
194
+ const hash = createHash('sha1').update(input).digest('hex');
195
+ // Format as a deterministic UUID-shaped string (SHA-1 based, not strict v5)
196
+ const v = ((parseInt(hash.slice(16, 18), 16) & 0x3f) | 0x80).toString(16).padStart(2, '0');
197
+ return `${hash.slice(0, 8)}-${hash.slice(8, 12)}-5${hash.slice(13, 16)}-${v}${hash.slice(18, 20)}-${hash.slice(20, 32)}`;
198
+ }
199
+ /**
200
+ * Mint a deterministic subject URI from a FHIR resource.
201
+ * - If resource.id is a valid UUID v4: returns urn:uuid:{resource.id}
202
+ * - If resource.id exists but is not a UUID: returns urn:uuid:{deterministicUuid(resourceType:id)}
203
+ * - If no resource.id: falls back to a random UUID (last resort)
204
+ */
205
+ export function mintSubjectUri(resource) {
206
+ const id = resource?.id;
207
+ if (!id)
208
+ return `urn:uuid:${randomUUID()}`;
209
+ if (UUID_V4_REGEX.test(id))
210
+ return `urn:uuid:${id}`;
211
+ const resourceType = resource?.resourceType ?? 'Unknown';
212
+ return `urn:uuid:${deterministicUuid(`${resourceType}:${id}`)}`;
213
+ }
149
214
  /** Common triples every Cascade resource gets */
150
215
  export function commonTriples(subject) {
151
216
  return [
152
217
  tripleRef(subject, NS.cascade + 'dataProvenance', NS.cascade + 'ClinicalGenerated'),
153
- tripleStr(subject, NS.cascade + 'schemaVersion', '1.3'),
218
+ tripleStr(subject, NS.cascade + 'schemaVersion', SCHEMA_VERSION),
154
219
  ];
155
220
  }
156
221
  // ---------------------------------------------------------------------------
@@ -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;AA2B3D,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,SAAS,iBAAiB,CAAC,KAAa;IACtC,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5D,4EAA4E;IAC5E,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,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"}
@@ -13,6 +13,11 @@ export interface OutputOptions {
13
13
  export declare function formatOutput(data: unknown, opts: OutputOptions): string;
14
14
  /**
15
15
  * Print result data to stdout.
16
+ *
17
+ * Uses process.stdout.write() for correct backpressure handling in Node.js
18
+ * subprocess mode (execSync pipes). For Bun compiled binaries where stdout
19
+ * may not flush before exit, the caller should ensure the process does not
20
+ * exit immediately after large writes.
16
21
  */
17
22
  export declare function printResult(data: unknown, opts: OutputOptions): void;
18
23
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/lib/output.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,GAAG,MAAM,CAcvE;AAkBD;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI,CAEpE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI,CAMrE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI,CAQvE"}
1
+ {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/lib/output.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,GAAG,MAAM,CAcvE;AAkBD;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI,CAEpE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI,CAMrE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI,CAQvE"}
@@ -33,9 +33,14 @@ function formatSingleItem(item) {
33
33
  }
34
34
  /**
35
35
  * Print result data to stdout.
36
+ *
37
+ * Uses process.stdout.write() for correct backpressure handling in Node.js
38
+ * subprocess mode (execSync pipes). For Bun compiled binaries where stdout
39
+ * may not flush before exit, the caller should ensure the process does not
40
+ * exit immediately after large writes.
36
41
  */
37
42
  export function printResult(data, opts) {
38
- console.log(formatOutput(data, opts));
43
+ process.stdout.write(formatOutput(data, opts) + '\n');
39
44
  }
40
45
  /**
41
46
  * Print an error message to stderr.
@@ -1 +1 @@
1
- {"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/lib/output.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,IAAa,EAAE,IAAmB;IAC7D,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,IAAa;IACrC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAC9C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAA+B,CAAC,CAAC;QAChE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,KAAK,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChF,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,IAAa,EAAE,IAAmB;IAC5D,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AACxC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,OAAe,EAAE,IAAmB;IAC7D,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IACpD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,UAAU,OAAO,EAAE,CAAC,CAAC;IACrC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,OAAe,EAAE,IAAmB;IAC/D,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QACpD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,aAAa,OAAO,EAAE,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/lib/output.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,IAAa,EAAE,IAAmB;IAC7D,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,IAAa;IACrC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAC9C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAA+B,CAAC,CAAC;QAChE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,KAAK,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChF,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;AACtB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CAAC,IAAa,EAAE,IAAmB;IAC5D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;AACxD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,OAAe,EAAE,IAAmB;IAC7D,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IACpD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,UAAU,OAAO,EAAE,CAAC,CAAC;IACrC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,OAAe,EAAE,IAAmB;IAC/D,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QACpD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,aAAa,OAAO,EAAE,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Core reconciliation logic extracted from the reconcile command.
3
+ *
4
+ * Exported so that other commands (e.g., pod import) can reuse reconciliation
5
+ * without going through the CLI layer.
6
+ */
7
+ export interface ReconcilerOptions {
8
+ trustScores?: Record<string, number>;
9
+ labTolerance?: number;
10
+ }
11
+ export interface ReconcilerInput {
12
+ content: string;
13
+ systemName: string;
14
+ }
15
+ export interface ReconcilerResult {
16
+ turtle: string;
17
+ report: {
18
+ sources: Array<{
19
+ system: string;
20
+ count: number;
21
+ }>;
22
+ summary: {
23
+ totalInputRecords: number;
24
+ exactDuplicatesRemoved: number;
25
+ nearDuplicatesMerged: number;
26
+ conflictsResolved: number;
27
+ conflictsUnresolved: number;
28
+ finalRecordCount: number;
29
+ };
30
+ transformations: object[];
31
+ unresolvedConflicts: object[];
32
+ };
33
+ }
34
+ type CascadeRecordType = 'health:MedicationRecord' | 'health:ConditionRecord' | 'health:AllergyRecord' | 'health:LabResultRecord' | 'health:ImmunizationRecord' | 'clinical:VitalSign' | 'cascade:PatientProfile' | 'coverage:InsurancePlan';
35
+ interface ParsedRecord {
36
+ uri: string;
37
+ type: CascadeRecordType;
38
+ sourceSystem: string;
39
+ properties: Map<string, string[]>;
40
+ }
41
+ export declare function parseTurtle(turtle: string, defaultSystem: string): Promise<ParsedRecord[]>;
42
+ export declare function normalizeMedName(name: string): string;
43
+ export declare function runReconciliation(inputs: ReconcilerInput[], options?: ReconcilerOptions): Promise<ReconcilerResult>;
44
+ export {};
45
+ //# sourceMappingURL=reconciler.d.ts.map
@@ -0,0 +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,YAAY;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,iBAAiB,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CACnC;AAED,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CA+BhG;AAMD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKrD;AA6QD,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,eAAe,EAAE,EACzB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,gBAAgB,CAAC,CA8G3B"}