@metriport/fhir-sdk 1.2.7 → 1.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 (84) hide show
  1. package/README.md +207 -0
  2. package/dist/__tests__/date-range-performance.test.d.ts +2 -0
  3. package/dist/__tests__/date-range-performance.test.d.ts.map +1 -0
  4. package/dist/__tests__/date-range-performance.test.js +218 -0
  5. package/dist/__tests__/date-range-performance.test.js.map +1 -0
  6. package/dist/__tests__/date-range-search.test.d.ts +2 -0
  7. package/dist/__tests__/date-range-search.test.d.ts.map +1 -0
  8. package/dist/__tests__/date-range-search.test.js +215 -0
  9. package/dist/__tests__/date-range-search.test.js.map +1 -0
  10. package/dist/__tests__/fhir-bundle-sdk.test.js +467 -0
  11. package/dist/__tests__/fhir-bundle-sdk.test.js.map +1 -1
  12. package/dist/__tests__/reverse-references.test.d.ts +2 -0
  13. package/dist/__tests__/reverse-references.test.d.ts.map +1 -0
  14. package/dist/__tests__/reverse-references.test.js +241 -0
  15. package/dist/__tests__/reverse-references.test.js.map +1 -0
  16. package/dist/demo-reverse-references.d.ts +7 -0
  17. package/dist/demo-reverse-references.d.ts.map +1 -0
  18. package/dist/demo-reverse-references.js +207 -0
  19. package/dist/demo-reverse-references.js.map +1 -0
  20. package/dist/fhir-bundle-sdk.d.ts +222 -0
  21. package/dist/fhir-bundle-sdk.d.ts.map +1 -0
  22. package/dist/fhir-bundle-sdk.js +527 -0
  23. package/dist/fhir-bundle-sdk.js.map +1 -0
  24. package/dist/index.d.ts +2 -242
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js +2 -677
  27. package/dist/index.js.map +1 -1
  28. package/dist/internal/bundle-operations.d.ts +14 -0
  29. package/dist/internal/bundle-operations.d.ts.map +1 -0
  30. package/dist/internal/bundle-operations.js +55 -0
  31. package/dist/internal/bundle-operations.js.map +1 -0
  32. package/dist/internal/date-extraction.d.ts +12 -0
  33. package/dist/internal/date-extraction.d.ts.map +1 -0
  34. package/dist/internal/date-extraction.js +206 -0
  35. package/dist/internal/date-extraction.js.map +1 -0
  36. package/dist/internal/graph-traversal.d.ts +13 -0
  37. package/dist/internal/graph-traversal.d.ts.map +1 -0
  38. package/dist/internal/graph-traversal.js +89 -0
  39. package/dist/internal/graph-traversal.js.map +1 -0
  40. package/dist/internal/indexing.d.ts +17 -0
  41. package/dist/internal/indexing.d.ts.map +1 -0
  42. package/dist/internal/indexing.js +118 -0
  43. package/dist/internal/indexing.js.map +1 -0
  44. package/dist/internal/llm-context.d.ts +39 -0
  45. package/dist/internal/llm-context.d.ts.map +1 -0
  46. package/dist/internal/llm-context.js +188 -0
  47. package/dist/internal/llm-context.js.map +1 -0
  48. package/dist/internal/reference-resolution.d.ts +25 -0
  49. package/dist/internal/reference-resolution.d.ts.map +1 -0
  50. package/dist/internal/reference-resolution.js +133 -0
  51. package/dist/internal/reference-resolution.js.map +1 -0
  52. package/dist/internal/reference-utils.d.ts +26 -0
  53. package/dist/internal/reference-utils.d.ts.map +1 -0
  54. package/dist/internal/reference-utils.js +89 -0
  55. package/dist/internal/reference-utils.js.map +1 -0
  56. package/dist/internal/validation.d.ts +16 -0
  57. package/dist/internal/validation.d.ts.map +1 -0
  58. package/dist/internal/validation.js +45 -0
  59. package/dist/internal/validation.js.map +1 -0
  60. package/dist/types/sdk-types.d.ts +107 -0
  61. package/dist/types/sdk-types.d.ts.map +1 -0
  62. package/dist/types/sdk-types.js +17 -0
  63. package/dist/types/sdk-types.js.map +1 -0
  64. package/dist/types/smart-resources.d.ts +97 -4
  65. package/dist/types/smart-resources.d.ts.map +1 -1
  66. package/dist/types/smart-resources.js +82 -5
  67. package/dist/types/smart-resources.js.map +1 -1
  68. package/dist/utils/interval-tree/index.d.ts +87 -0
  69. package/dist/utils/interval-tree/index.d.ts.map +1 -0
  70. package/dist/utils/interval-tree/index.js +774 -0
  71. package/dist/utils/interval-tree/index.js.map +1 -0
  72. package/dist/utils/interval-tree/shallowequal/arrays.d.ts +3 -0
  73. package/dist/utils/interval-tree/shallowequal/arrays.d.ts.map +1 -0
  74. package/dist/utils/interval-tree/shallowequal/arrays.js +25 -0
  75. package/dist/utils/interval-tree/shallowequal/arrays.js.map +1 -0
  76. package/dist/utils/interval-tree/shallowequal/index.d.ts +6 -0
  77. package/dist/utils/interval-tree/shallowequal/index.d.ts.map +1 -0
  78. package/dist/utils/interval-tree/shallowequal/index.js +28 -0
  79. package/dist/utils/interval-tree/shallowequal/index.js.map +1 -0
  80. package/dist/utils/interval-tree/shallowequal/objects.d.ts +3 -0
  81. package/dist/utils/interval-tree/shallowequal/objects.d.ts.map +1 -0
  82. package/dist/utils/interval-tree/shallowequal/objects.js +28 -0
  83. package/dist/utils/interval-tree/shallowequal/objects.js.map +1 -0
  84. package/package.json +1 -1
@@ -0,0 +1,87 @@
1
+ export interface Interval<N extends number | bigint = number> {
2
+ readonly low: N;
3
+ readonly high: N;
4
+ }
5
+ export declare class Node<T extends Interval<N>, N extends number | bigint = number> {
6
+ intervalTree: IntervalTree<T, N>;
7
+ key: N;
8
+ max: N;
9
+ records: T[];
10
+ parent?: Node<T, N>;
11
+ height: number;
12
+ left?: Node<T, N>;
13
+ right?: Node<T, N>;
14
+ constructor(intervalTree: IntervalTree<T, N>, record: T);
15
+ getNodeHigh(): N;
16
+ updateHeight(): void;
17
+ updateMaxOfParents(): void;
18
+ private _updateMaxAfterRightRotate;
19
+ private _updateMaxAfterLeftRotate;
20
+ private _leftRotate;
21
+ private _rightRotate;
22
+ private _rebalance;
23
+ insert(record: T): void;
24
+ private _getOverlappingRecords;
25
+ search(low: N, high: N): T[];
26
+ searchExisting(low: N): Node<T, N> | undefined;
27
+ private _minValue;
28
+ remove(node: Node<T, N>): Node<T, N> | undefined;
29
+ }
30
+ export declare class IntervalTree<T extends Interval<N>, N extends number | bigint = number> {
31
+ root?: Node<T, N>;
32
+ count: number;
33
+ insert(record: T): boolean;
34
+ search(low: N, high: N): T[];
35
+ remove(record: T): boolean;
36
+ inOrder(): InOrder<T, N>;
37
+ reverseInOrder(): ReverseInOrder<T, N>;
38
+ preOrder(): PreOrder<T, N>;
39
+ }
40
+ export interface DataInterval<T, N extends number | bigint = number> extends Interval<N> {
41
+ data: T;
42
+ }
43
+ /**
44
+ * The default export just wraps the `IntervalTree`, while providing a simpler API. Check out the
45
+ * README for description on how to use each.
46
+ */
47
+ export default class DataIntervalTree<T, N extends number | bigint = number> {
48
+ private tree;
49
+ insert(low: N, high: N, data: T): boolean;
50
+ remove(low: N, high: N, data: T): boolean;
51
+ search(low: N, high: N): T[];
52
+ inOrder(): InOrder<DataInterval<T, N>, N>;
53
+ reverseInOrder(): ReverseInOrder<DataInterval<T, N>, N>;
54
+ preOrder(): PreOrder<DataInterval<T, N>, N>;
55
+ get count(): number;
56
+ }
57
+ export declare class InOrder<T extends Interval<N>, N extends number | bigint = number> implements IterableIterator<T> {
58
+ private stack;
59
+ private currentNode?;
60
+ private i;
61
+ constructor(startNode?: Node<T, N>);
62
+ [Symbol.iterator](): this;
63
+ next(): IteratorResult<T>;
64
+ private push;
65
+ private pop;
66
+ }
67
+ export declare class ReverseInOrder<T extends Interval<N>, N extends number | bigint = number> implements IterableIterator<T> {
68
+ private stack;
69
+ private currentNode?;
70
+ private i;
71
+ constructor(startNode?: Node<T, N>);
72
+ [Symbol.iterator](): this;
73
+ next(): IteratorResult<T>;
74
+ private push;
75
+ private pop;
76
+ }
77
+ export declare class PreOrder<T extends Interval<N>, N extends number | bigint = number> implements IterableIterator<T> {
78
+ private stack;
79
+ private currentNode?;
80
+ private i;
81
+ constructor(startNode?: Node<T, N>);
82
+ [Symbol.iterator](): this;
83
+ next(): IteratorResult<T>;
84
+ private push;
85
+ private pop;
86
+ }
87
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/interval-tree/index.ts"],"names":[],"mappings":"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"}