@metriport/fhir-sdk 1.2.7 → 1.3.1

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 (92) hide show
  1. package/README.md +207 -0
  2. package/dist/__tests__/clinical-dates.test.d.ts +2 -0
  3. package/dist/__tests__/clinical-dates.test.d.ts.map +1 -0
  4. package/dist/__tests__/clinical-dates.test.js +341 -0
  5. package/dist/__tests__/clinical-dates.test.js.map +1 -0
  6. package/dist/__tests__/date-range-performance.test.d.ts +2 -0
  7. package/dist/__tests__/date-range-performance.test.d.ts.map +1 -0
  8. package/dist/__tests__/date-range-performance.test.js +218 -0
  9. package/dist/__tests__/date-range-performance.test.js.map +1 -0
  10. package/dist/__tests__/date-range-search.test.d.ts +2 -0
  11. package/dist/__tests__/date-range-search.test.d.ts.map +1 -0
  12. package/dist/__tests__/date-range-search.test.js +215 -0
  13. package/dist/__tests__/date-range-search.test.js.map +1 -0
  14. package/dist/__tests__/fhir-bundle-sdk.test.js +467 -0
  15. package/dist/__tests__/fhir-bundle-sdk.test.js.map +1 -1
  16. package/dist/__tests__/reverse-references.test.d.ts +2 -0
  17. package/dist/__tests__/reverse-references.test.d.ts.map +1 -0
  18. package/dist/__tests__/reverse-references.test.js +241 -0
  19. package/dist/__tests__/reverse-references.test.js.map +1 -0
  20. package/dist/clinical-dates.d.ts +26 -0
  21. package/dist/clinical-dates.d.ts.map +1 -0
  22. package/dist/clinical-dates.js +571 -0
  23. package/dist/clinical-dates.js.map +1 -0
  24. package/dist/demo-reverse-references.d.ts +7 -0
  25. package/dist/demo-reverse-references.d.ts.map +1 -0
  26. package/dist/demo-reverse-references.js +207 -0
  27. package/dist/demo-reverse-references.js.map +1 -0
  28. package/dist/fhir-bundle-sdk.d.ts +222 -0
  29. package/dist/fhir-bundle-sdk.d.ts.map +1 -0
  30. package/dist/fhir-bundle-sdk.js +527 -0
  31. package/dist/fhir-bundle-sdk.js.map +1 -0
  32. package/dist/index.d.ts +3 -242
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.js +5 -678
  35. package/dist/index.js.map +1 -1
  36. package/dist/internal/bundle-operations.d.ts +14 -0
  37. package/dist/internal/bundle-operations.d.ts.map +1 -0
  38. package/dist/internal/bundle-operations.js +55 -0
  39. package/dist/internal/bundle-operations.js.map +1 -0
  40. package/dist/internal/date-extraction.d.ts +12 -0
  41. package/dist/internal/date-extraction.d.ts.map +1 -0
  42. package/dist/internal/date-extraction.js +629 -0
  43. package/dist/internal/date-extraction.js.map +1 -0
  44. package/dist/internal/graph-traversal.d.ts +13 -0
  45. package/dist/internal/graph-traversal.d.ts.map +1 -0
  46. package/dist/internal/graph-traversal.js +89 -0
  47. package/dist/internal/graph-traversal.js.map +1 -0
  48. package/dist/internal/indexing.d.ts +17 -0
  49. package/dist/internal/indexing.d.ts.map +1 -0
  50. package/dist/internal/indexing.js +118 -0
  51. package/dist/internal/indexing.js.map +1 -0
  52. package/dist/internal/llm-context.d.ts +39 -0
  53. package/dist/internal/llm-context.d.ts.map +1 -0
  54. package/dist/internal/llm-context.js +188 -0
  55. package/dist/internal/llm-context.js.map +1 -0
  56. package/dist/internal/reference-resolution.d.ts +25 -0
  57. package/dist/internal/reference-resolution.d.ts.map +1 -0
  58. package/dist/internal/reference-resolution.js +133 -0
  59. package/dist/internal/reference-resolution.js.map +1 -0
  60. package/dist/internal/reference-utils.d.ts +26 -0
  61. package/dist/internal/reference-utils.d.ts.map +1 -0
  62. package/dist/internal/reference-utils.js +89 -0
  63. package/dist/internal/reference-utils.js.map +1 -0
  64. package/dist/internal/validation.d.ts +16 -0
  65. package/dist/internal/validation.d.ts.map +1 -0
  66. package/dist/internal/validation.js +45 -0
  67. package/dist/internal/validation.js.map +1 -0
  68. package/dist/types/sdk-types.d.ts +107 -0
  69. package/dist/types/sdk-types.d.ts.map +1 -0
  70. package/dist/types/sdk-types.js +17 -0
  71. package/dist/types/sdk-types.js.map +1 -0
  72. package/dist/types/smart-resources.d.ts +97 -4
  73. package/dist/types/smart-resources.d.ts.map +1 -1
  74. package/dist/types/smart-resources.js +82 -5
  75. package/dist/types/smart-resources.js.map +1 -1
  76. package/dist/utils/interval-tree/index.d.ts +87 -0
  77. package/dist/utils/interval-tree/index.d.ts.map +1 -0
  78. package/dist/utils/interval-tree/index.js +774 -0
  79. package/dist/utils/interval-tree/index.js.map +1 -0
  80. package/dist/utils/interval-tree/shallowequal/arrays.d.ts +3 -0
  81. package/dist/utils/interval-tree/shallowequal/arrays.d.ts.map +1 -0
  82. package/dist/utils/interval-tree/shallowequal/arrays.js +25 -0
  83. package/dist/utils/interval-tree/shallowequal/arrays.js.map +1 -0
  84. package/dist/utils/interval-tree/shallowequal/index.d.ts +6 -0
  85. package/dist/utils/interval-tree/shallowequal/index.d.ts.map +1 -0
  86. package/dist/utils/interval-tree/shallowequal/index.js +28 -0
  87. package/dist/utils/interval-tree/shallowequal/index.js.map +1 -0
  88. package/dist/utils/interval-tree/shallowequal/objects.d.ts +3 -0
  89. package/dist/utils/interval-tree/shallowequal/objects.d.ts.map +1 -0
  90. package/dist/utils/interval-tree/shallowequal/objects.js +28 -0
  91. package/dist/utils/interval-tree/shallowequal/objects.js.map +1 -0
  92. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reference-resolution.js","sourceRoot":"","sources":["../../src/internal/reference-resolution.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import { Resource } from "@medplum/fhirtypes";
2
+ /**
3
+ * Find all Reference fields in a resource recursively
4
+ */
5
+ export declare function findAllReferences(resource: Resource): Array<{
6
+ field: string;
7
+ reference: string;
8
+ }>;
9
+ /**
10
+ * Extract target resource ID from a reference string
11
+ */
12
+ export declare function extractTargetIdFromReference(reference: string): string | undefined;
13
+ /**
14
+ * Normalize reference field path to base field name
15
+ * e.g., "participant.individual" -> "participant"
16
+ * "performer[0]" -> "performer"
17
+ */
18
+ export declare function normalizeReferenceField(field: string): string;
19
+ /**
20
+ * Check if a reference can be resolved within the bundle
21
+ * @param reference - The reference string to check
22
+ * @param resourcesById - Map of resources indexed by resource.id
23
+ * @param resourcesByFullUrl - Map of resources indexed by entry.fullUrl
24
+ */
25
+ export declare function canResolveReference(reference: string, resourcesById: Map<string, Resource>, resourcesByFullUrl: Map<string, Resource>): boolean;
26
+ //# sourceMappingURL=reference-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reference-utils.d.ts","sourceRoot":"","sources":["../../src/internal/reference-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,GAAG,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAkCjG;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAalF;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAM7D;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,EACpC,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,GACxC,OAAO,CAeT"}
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.canResolveReference = exports.normalizeReferenceField = exports.extractTargetIdFromReference = exports.findAllReferences = void 0;
4
+ /**
5
+ * Find all Reference fields in a resource recursively
6
+ */
7
+ function findAllReferences(resource) {
8
+ const references = [];
9
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
10
+ function searchObject(obj, path = "") {
11
+ if (!obj || typeof obj !== "object") {
12
+ return;
13
+ }
14
+ // Check if this object is a Reference
15
+ if (obj.reference && typeof obj.reference === "string") {
16
+ references.push({
17
+ field: path || "reference",
18
+ reference: obj.reference,
19
+ });
20
+ return;
21
+ }
22
+ // Recursively search object properties
23
+ for (const [key, value] of Object.entries(obj)) {
24
+ const currentPath = path ? `${path}.${key}` : key;
25
+ if (Array.isArray(value)) {
26
+ value.forEach((item, index) => {
27
+ searchObject(item, `${currentPath}[${index}]`);
28
+ });
29
+ }
30
+ else if (value && typeof value === "object") {
31
+ searchObject(value, currentPath);
32
+ }
33
+ }
34
+ }
35
+ searchObject(resource);
36
+ return references;
37
+ }
38
+ exports.findAllReferences = findAllReferences;
39
+ /**
40
+ * Extract target resource ID from a reference string
41
+ */
42
+ function extractTargetIdFromReference(reference) {
43
+ if (!reference) {
44
+ return undefined;
45
+ }
46
+ // Handle "ResourceType/id" pattern
47
+ if (reference.includes("/")) {
48
+ const parts = reference.split("/");
49
+ return parts[parts.length - 1];
50
+ }
51
+ // Handle other reference patterns (e.g., "urn:uuid:xxx")
52
+ return reference;
53
+ }
54
+ exports.extractTargetIdFromReference = extractTargetIdFromReference;
55
+ /**
56
+ * Normalize reference field path to base field name
57
+ * e.g., "participant.individual" -> "participant"
58
+ * "performer[0]" -> "performer"
59
+ */
60
+ function normalizeReferenceField(field) {
61
+ // Remove array indices
62
+ const withoutIndices = field.replace(/\[\d+\]/g, "");
63
+ // Take first part of dotted path
64
+ const parts = withoutIndices.split(".");
65
+ return parts[0] ?? field;
66
+ }
67
+ exports.normalizeReferenceField = normalizeReferenceField;
68
+ /**
69
+ * Check if a reference can be resolved within the bundle
70
+ * @param reference - The reference string to check
71
+ * @param resourcesById - Map of resources indexed by resource.id
72
+ * @param resourcesByFullUrl - Map of resources indexed by entry.fullUrl
73
+ */
74
+ function canResolveReference(reference, resourcesById, resourcesByFullUrl) {
75
+ // Try to resolve by resource ID (e.g., "Patient/123")
76
+ if (reference.includes("/")) {
77
+ const [, resourceId] = reference.split("/");
78
+ if (resourceId && resourcesById.has(resourceId)) {
79
+ return true;
80
+ }
81
+ }
82
+ // Try to resolve by fullUrl (e.g., "urn:uuid:123")
83
+ if (resourcesByFullUrl.has(reference)) {
84
+ return true;
85
+ }
86
+ return false;
87
+ }
88
+ exports.canResolveReference = canResolveReference;
89
+ //# sourceMappingURL=reference-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reference-utils.js","sourceRoot":"","sources":["../../src/internal/reference-utils.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACH,SAAgB,iBAAiB,CAAC,QAAkB;IAClD,MAAM,UAAU,GAAgD,EAAE,CAAC;IAEnE,8DAA8D;IAC9D,SAAS,YAAY,CAAC,GAAQ,EAAE,IAAI,GAAG,EAAE;QACvC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YACnC,OAAO;SACR;QAED,sCAAsC;QACtC,IAAI,GAAG,CAAC,SAAS,IAAI,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ,EAAE;YACtD,UAAU,CAAC,IAAI,CAAC;gBACd,KAAK,EAAE,IAAI,IAAI,WAAW;gBAC1B,SAAS,EAAE,GAAG,CAAC,SAAS;aACzB,CAAC,CAAC;YACH,OAAO;SACR;QAED,uCAAuC;QACvC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAC9C,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;YAElD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACxB,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;oBAC5B,YAAY,CAAC,IAAI,EAAE,GAAG,WAAW,IAAI,KAAK,GAAG,CAAC,CAAC;gBACjD,CAAC,CAAC,CAAC;aACJ;iBAAM,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBAC7C,YAAY,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;aAClC;SACF;IACH,CAAC;IAED,YAAY,CAAC,QAAQ,CAAC,CAAC;IACvB,OAAO,UAAU,CAAC;AACpB,CAAC;AAlCD,8CAkCC;AAED;;GAEG;AACH,SAAgB,4BAA4B,CAAC,SAAiB;IAC5D,IAAI,CAAC,SAAS,EAAE;QACd,OAAO,SAAS,CAAC;KAClB;IAED,mCAAmC;IACnC,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;QAC3B,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnC,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;KAChC;IAED,yDAAyD;IACzD,OAAO,SAAS,CAAC;AACnB,CAAC;AAbD,oEAaC;AAED;;;;GAIG;AACH,SAAgB,uBAAuB,CAAC,KAAa;IACnD,uBAAuB;IACvB,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IACrD,iCAAiC;IACjC,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACxC,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC;AAC3B,CAAC;AAND,0DAMC;AAED;;;;;GAKG;AACH,SAAgB,mBAAmB,CACjC,SAAiB,EACjB,aAAoC,EACpC,kBAAyC;IAEzC,sDAAsD;IACtD,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;QAC3B,MAAM,CAAC,EAAE,UAAU,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAI,UAAU,IAAI,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;YAC/C,OAAO,IAAI,CAAC;SACb;KACF;IAED,mDAAmD;IACnD,IAAI,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;QACrC,OAAO,IAAI,CAAC;KACb;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAnBD,kDAmBC"}
@@ -0,0 +1,16 @@
1
+ import { Bundle, Resource } from "@medplum/fhirtypes";
2
+ import { ValidationResult } from "../types/sdk-types";
3
+ /**
4
+ * Validate all references in the bundle
5
+ * FR-2.1: Validate all references in the bundle
6
+ * FR-2.2: Identifies references by Resource/id pattern and fullUrl references
7
+ * FR-2.3: Handles both relative and absolute references
8
+ * FR-2.4: Returns validation result with broken reference details
9
+ *
10
+ * @param bundle - The FHIR bundle to validate
11
+ * @param resourcesById - Map of resources indexed by resource.id
12
+ * @param resourcesByFullUrl - Map of resources indexed by entry.fullUrl
13
+ * @returns ValidationResult with broken reference details
14
+ */
15
+ export declare function lookForBrokenReferences(bundle: Bundle, resourcesById: Map<string, Resource>, resourcesByFullUrl: Map<string, Resource>): ValidationResult;
16
+ //# sourceMappingURL=validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/internal/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAmB,MAAM,oBAAoB,CAAC;AAGvE;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,EACpC,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,GACxC,gBAAgB,CA+BlB"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.lookForBrokenReferences = void 0;
4
+ const reference_utils_1 = require("./reference-utils");
5
+ /**
6
+ * Validate all references in the bundle
7
+ * FR-2.1: Validate all references in the bundle
8
+ * FR-2.2: Identifies references by Resource/id pattern and fullUrl references
9
+ * FR-2.3: Handles both relative and absolute references
10
+ * FR-2.4: Returns validation result with broken reference details
11
+ *
12
+ * @param bundle - The FHIR bundle to validate
13
+ * @param resourcesById - Map of resources indexed by resource.id
14
+ * @param resourcesByFullUrl - Map of resources indexed by entry.fullUrl
15
+ * @returns ValidationResult with broken reference details
16
+ */
17
+ function lookForBrokenReferences(bundle, resourcesById, resourcesByFullUrl) {
18
+ const brokenReferences = [];
19
+ if (!bundle.entry) {
20
+ return { hasBrokenReferences: false, brokenReferences: [] };
21
+ }
22
+ for (const entry of bundle.entry) {
23
+ if (!entry.resource) {
24
+ continue;
25
+ }
26
+ const resource = entry.resource;
27
+ const resourceReferences = (0, reference_utils_1.findAllReferences)(resource);
28
+ for (const { field, reference } of resourceReferences) {
29
+ if (!(0, reference_utils_1.canResolveReference)(reference, resourcesById, resourcesByFullUrl)) {
30
+ brokenReferences.push({
31
+ sourceResourceId: resource.id || entry.fullUrl || "unknown",
32
+ sourceResourceType: resource.resourceType,
33
+ referenceField: field,
34
+ reference: reference,
35
+ });
36
+ }
37
+ }
38
+ }
39
+ return {
40
+ hasBrokenReferences: brokenReferences.length > 0,
41
+ brokenReferences: brokenReferences,
42
+ };
43
+ }
44
+ exports.lookForBrokenReferences = lookForBrokenReferences;
45
+ //# sourceMappingURL=validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/internal/validation.ts"],"names":[],"mappings":";;;AAEA,uDAA2E;AAE3E;;;;;;;;;;;GAWG;AACH,SAAgB,uBAAuB,CACrC,MAAc,EACd,aAAoC,EACpC,kBAAyC;IAEzC,MAAM,gBAAgB,GAAsB,EAAE,CAAC;IAE/C,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;QACjB,OAAO,EAAE,mBAAmB,EAAE,KAAK,EAAE,gBAAgB,EAAE,EAAE,EAAE,CAAC;KAC7D;IAED,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,KAAK,EAAE;QAChC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;YACnB,SAAS;SACV;QAED,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAChC,MAAM,kBAAkB,GAAG,IAAA,mCAAiB,EAAC,QAAQ,CAAC,CAAC;QAEvD,KAAK,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,kBAAkB,EAAE;YACrD,IAAI,CAAC,IAAA,qCAAmB,EAAC,SAAS,EAAE,aAAa,EAAE,kBAAkB,CAAC,EAAE;gBACtE,gBAAgB,CAAC,IAAI,CAAC;oBACpB,gBAAgB,EAAE,QAAQ,CAAC,EAAE,IAAI,KAAK,CAAC,OAAO,IAAI,SAAS;oBAC3D,kBAAkB,EAAE,QAAQ,CAAC,YAAY;oBACzC,cAAc,EAAE,KAAK;oBACrB,SAAS,EAAE,SAAS;iBACrB,CAAC,CAAC;aACJ;SACF;KACF;IAED,OAAO;QACL,mBAAmB,EAAE,gBAAgB,CAAC,MAAM,GAAG,CAAC;QAChD,gBAAgB,EAAE,gBAAgB;KACnC,CAAC;AACJ,CAAC;AAnCD,0DAmCC"}
@@ -0,0 +1,107 @@
1
+ import { Resource, BundleEntry } from "@medplum/fhirtypes";
2
+ import { Smart } from "./smart-resources";
3
+ import { Interval } from "../utils/interval-tree";
4
+ import type { FhirBundleSdk } from "../fhir-bundle-sdk";
5
+ /**
6
+ * Validation result interface
7
+ */
8
+ export interface ValidationResult {
9
+ hasBrokenReferences: boolean;
10
+ brokenReferences: BrokenReference[];
11
+ }
12
+ /**
13
+ * Broken reference details interface
14
+ */
15
+ export interface BrokenReference {
16
+ sourceResourceId: string;
17
+ sourceResourceType: string;
18
+ referenceField: string;
19
+ reference: string;
20
+ }
21
+ /**
22
+ * Bundle diff result interface
23
+ */
24
+ export interface BundleDiffResult {
25
+ /** Resources that exist in both bundles */
26
+ common: FhirBundleSdk;
27
+ /** Resources that exist only in the base bundle (this bundle) */
28
+ baseOnly: FhirBundleSdk;
29
+ /** Resources that exist only in the parameter bundle */
30
+ parameterOnly: FhirBundleSdk;
31
+ }
32
+ /**
33
+ * Walk options for reference traversal
34
+ */
35
+ export interface WalkOptions {
36
+ /** Maximum depth to traverse (default: Infinity) */
37
+ maxDepth?: number;
38
+ /** Include the starting resource in results (default: true) */
39
+ includeStartResource?: boolean;
40
+ }
41
+ /**
42
+ * Options for generating LLM context
43
+ */
44
+ export interface LLMContextOptions {
45
+ /** Maximum depth to traverse (default: 2) */
46
+ maxDepth?: number;
47
+ /** Include the starting resource in results (default: true) */
48
+ includeStartResource?: boolean;
49
+ /** Output format (default: 'structured-text') */
50
+ format?: "json" | "structured-text";
51
+ }
52
+ /**
53
+ * Result of walking references
54
+ */
55
+ export interface WalkResult<T extends Resource> {
56
+ /** All discovered resources organized by depth level */
57
+ resourcesByDepth: Map<number, Smart<Resource>[]>;
58
+ /** All discovered resources as a flat array */
59
+ allResources: Smart<Resource>[];
60
+ /** The starting resource */
61
+ startResource: Smart<T>;
62
+ /** Number of levels traversed */
63
+ depthReached: number;
64
+ }
65
+ /**
66
+ * Reverse reference details
67
+ */
68
+ export interface ReverseReference {
69
+ sourceResourceId: string;
70
+ sourceResourceType: string;
71
+ referenceField: string;
72
+ }
73
+ /**
74
+ * Options for reverse reference lookup
75
+ */
76
+ export interface ReverseReferenceOptions {
77
+ /** Filter by source resource type */
78
+ resourceType?: string;
79
+ /** Filter by specific reference field */
80
+ referenceField?: string;
81
+ }
82
+ /**
83
+ * Date index record for interval tree
84
+ */
85
+ export interface DateIndexRecord extends Interval<number> {
86
+ resourceId: string;
87
+ resourceType: string;
88
+ dateField: string;
89
+ }
90
+ /**
91
+ * Options for date range search
92
+ */
93
+ export interface DateRangeSearchOptions {
94
+ /** Start date for search range (inclusive) */
95
+ dateFrom: string | Date;
96
+ /** End date for search range (inclusive, defaults to current date if not provided) */
97
+ dateTo?: string | Date;
98
+ /** Filter results by resource types */
99
+ resourceTypes?: string[];
100
+ /** Filter results by specific date fields */
101
+ dateFields?: string[];
102
+ }
103
+ /**
104
+ * Helper function to get resource identifier from bundle entry
105
+ */
106
+ export declare function getResourceIdentifier(entry: BundleEntry): string | undefined;
107
+ //# sourceMappingURL=sdk-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk-types.d.ts","sourceRoot":"","sources":["../../src/types/sdk-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,gBAAgB,EAAE,eAAe,EAAE,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,2CAA2C;IAC3C,MAAM,EAAE,aAAa,CAAC;IACtB,iEAAiE;IACjE,QAAQ,EAAE,aAAa,CAAC;IACxB,wDAAwD;IACxD,aAAa,EAAE,aAAa,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,oDAAoD;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+DAA+D;IAC/D,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+DAA+D;IAC/D,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,iDAAiD;IACjD,MAAM,CAAC,EAAE,MAAM,GAAG,iBAAiB,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC,SAAS,QAAQ;IAC5C,wDAAwD;IACxD,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACjD,+CAA+C;IAC/C,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;IAChC,4BAA4B;IAC5B,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACxB,iCAAiC;IACjC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,qCAAqC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yCAAyC;IACzC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,QAAQ,CAAC,MAAM,CAAC;IACvD,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,8CAA8C;IAC9C,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,sFAAsF;IACtF,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,uCAAuC;IACvC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,6CAA6C;IAC7C,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,GAAG,SAAS,CAQ5E"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getResourceIdentifier = void 0;
4
+ /**
5
+ * Helper function to get resource identifier from bundle entry
6
+ */
7
+ function getResourceIdentifier(entry) {
8
+ if (entry.resource?.id) {
9
+ return entry.resource.id;
10
+ }
11
+ if (entry.fullUrl) {
12
+ return entry.fullUrl;
13
+ }
14
+ return undefined;
15
+ }
16
+ exports.getResourceIdentifier = getResourceIdentifier;
17
+ //# sourceMappingURL=sdk-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk-types.js","sourceRoot":"","sources":["../../src/types/sdk-types.ts"],"names":[],"mappings":";;;AAiHA;;GAEG;AACH,SAAgB,qBAAqB,CAAC,KAAkB;IACtD,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAE,EAAE;QACtB,OAAO,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;KAC1B;IACD,IAAI,KAAK,CAAC,OAAO,EAAE;QACjB,OAAO,KAAK,CAAC,OAAO,CAAC;KACtB;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AARD,sDAQC"}
@@ -1,9 +1,24 @@
1
1
  import { Resource, Patient, Observation, Encounter, Practitioner, PractitionerRole, Organization, CareTeam, RelatedPerson, DiagnosticReport, Group, Device, Location, AllergyIntolerance, Condition, Composition, Coverage, DocumentReference, FamilyMemberHistory, Immunization, Medication, MedicationAdministration, MedicationDispense, MedicationRequest, MedicationStatement, Procedure, RiskAssessment, ServiceRequest } from "@medplum/fhirtypes";
2
+ /**
3
+ * Options for reverse reference lookup
4
+ */
5
+ export interface ReverseReferenceOptions {
6
+ /** Filter by source resource type */
7
+ resourceType?: string;
8
+ /** Filter by specific reference field */
9
+ referenceField?: string;
10
+ }
2
11
  /**
3
12
  * Base interface for smart resources - all smart resources have these capabilities
4
13
  */
5
14
  export interface SmartResourceBase {
6
15
  readonly __isSmartResource: true;
16
+ /**
17
+ * Get all resources that reference this resource (reverse reference lookup)
18
+ * @param options - Optional filters for resourceType and referenceField
19
+ * @returns Array of smart resources that reference this resource
20
+ */
21
+ getReferencingResources<T extends Resource = Resource>(options?: ReverseReferenceOptions): Smart<T>[];
7
22
  }
8
23
  /**
9
24
  * Generic type that converts any Resource to a Smart resource
@@ -13,24 +28,48 @@ export type Smart<T extends Resource> = T & SmartResourceBase & ReferenceMethods
13
28
  * Reference methods for Observation resources
14
29
  */
15
30
  export interface ObservationReferenceMethods {
31
+ getBasedOn<T extends Resource>(): Smart<T>[];
32
+ getPartOf<T extends Resource>(): Smart<T>[];
16
33
  getSubject<T extends Patient | Group | Device | Location>(): Smart<T> | undefined;
34
+ getFocus<T extends Resource>(): Smart<T>[];
17
35
  getEncounter(): Smart<Encounter> | undefined;
18
36
  getPerformers<T extends Practitioner | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson>(): Smart<T>[];
37
+ getSpecimen<T extends Resource>(): Smart<T> | undefined;
38
+ getDevice<T extends Device>(): Smart<T> | undefined;
39
+ getHasMember<T extends Resource>(): Smart<T>[];
40
+ getDerivedFrom<T extends Resource>(): Smart<T>[];
19
41
  }
20
42
  /**
21
43
  * Reference methods for Encounter resources
22
44
  */
23
45
  export interface EncounterReferenceMethods {
24
46
  getSubject<T extends Patient | Group>(): Smart<T> | undefined;
47
+ getEpisodeOfCare<T extends Resource>(): Smart<T>[];
48
+ getBasedOn<T extends Resource>(): Smart<T>[];
25
49
  getParticipants<T extends Practitioner | PractitionerRole | RelatedPerson | Device>(): Smart<T>[];
50
+ getAppointment<T extends Resource>(): Smart<T>[];
51
+ getReasonReference<T extends Resource>(): Smart<T>[];
52
+ getAccount<T extends Resource>(): Smart<T>[];
53
+ getServiceProvider(): Smart<Organization> | undefined;
54
+ getPartOf(): Smart<Encounter> | undefined;
55
+ getHospitalizationOrigin<T extends Location | Organization>(): Smart<T> | undefined;
56
+ getHospitalizationDestination<T extends Location | Organization>(): Smart<T> | undefined;
57
+ getLocation(): Smart<Location>[];
58
+ getDiagnosisCondition<T extends Condition | Procedure>(): Smart<T>[];
26
59
  }
27
60
  /**
28
61
  * Reference methods for DiagnosticReport resources
29
62
  */
30
63
  export interface DiagnosticReportReferenceMethods {
64
+ getBasedOn<T extends Resource>(): Smart<T>[];
31
65
  getSubject<T extends Patient | Group | Device | Location>(): Smart<T> | undefined;
32
- getResults(): Smart<Observation>[];
66
+ getEncounter(): Smart<Encounter> | undefined;
33
67
  getPerformers<T extends Practitioner | PractitionerRole | Organization | CareTeam>(): Smart<T>[];
68
+ getResultsInterpreter<T extends Practitioner | PractitionerRole | Organization | CareTeam>(): Smart<T>[];
69
+ getSpecimen<T extends Resource>(): Smart<T>[];
70
+ getResults(): Smart<Observation>[];
71
+ getImagingStudy<T extends Resource>(): Smart<T>[];
72
+ getMediaLink<T extends Resource>(): Smart<T>[];
34
73
  }
35
74
  /**
36
75
  * Reference methods for Patient resources
@@ -38,11 +77,24 @@ export interface DiagnosticReportReferenceMethods {
38
77
  export interface PatientReferenceMethods {
39
78
  getGeneralPractitioners<T extends Practitioner | PractitionerRole | Organization>(): Smart<T>[];
40
79
  getManagingOrganization(): Smart<Organization> | undefined;
80
+ getContactOrganization(): Smart<Organization>[];
81
+ getLinkOther<T extends Patient | RelatedPerson>(): Smart<T>[];
41
82
  }
42
83
  /**
43
84
  * Reference methods for Practitioner resources
44
85
  */
45
86
  export interface PractitionerReferenceMethods {
87
+ getQualificationIssuer(): Smart<Organization>[];
88
+ }
89
+ /**
90
+ * Reference methods for PractitionerRole resources
91
+ */
92
+ export interface PractitionerRoleReferenceMethods {
93
+ getPractitioner(): Smart<Practitioner> | undefined;
94
+ getOrganization(): Smart<Organization> | undefined;
95
+ getLocation(): Smart<Location>[];
96
+ getHealthcareService<T extends Resource>(): Smart<T>[];
97
+ getEndpoint<T extends Resource>(): Smart<T>[];
46
98
  }
47
99
  /**
48
100
  * Reference methods for AllergyIntolerance resources
@@ -61,12 +113,15 @@ export interface ConditionReferenceMethods {
61
113
  getEncounter(): Smart<Encounter> | undefined;
62
114
  getRecorder<T extends Practitioner | PractitionerRole | Patient | RelatedPerson>(): Smart<T> | undefined;
63
115
  getAsserter<T extends Practitioner | PractitionerRole | Patient | RelatedPerson>(): Smart<T> | undefined;
116
+ getStageAssessment<T extends Resource>(): Smart<T>[];
117
+ getEvidenceDetail<T extends Resource>(): Smart<T>[];
64
118
  }
65
119
  /**
66
120
  * Reference methods for Organization resources
67
121
  */
68
122
  export interface OrganizationReferenceMethods {
69
123
  getPartOf(): Smart<Organization> | undefined;
124
+ getEndpoint<T extends Resource>(): Smart<T>[];
70
125
  }
71
126
  /**
72
127
  * Reference methods for Location resources
@@ -74,15 +129,22 @@ export interface OrganizationReferenceMethods {
74
129
  export interface LocationReferenceMethods {
75
130
  getManagingOrganization(): Smart<Organization> | undefined;
76
131
  getPartOf(): Smart<Location> | undefined;
132
+ getEndpoint<T extends Resource>(): Smart<T>[];
77
133
  }
78
134
  /**
79
135
  * Reference methods for Composition resources
80
136
  */
81
137
  export interface CompositionReferenceMethods {
82
- getSubject<T extends Patient | Group | Device | Location>(): Smart<T> | undefined;
138
+ getSubject<T extends Resource>(): Smart<T> | undefined;
83
139
  getEncounter(): Smart<Encounter> | undefined;
84
140
  getAuthors<T extends Practitioner | PractitionerRole | Device | Patient | RelatedPerson | Organization>(): Smart<T>[];
85
141
  getCustodian(): Smart<Organization> | undefined;
142
+ getAttesterParty<T extends Patient | RelatedPerson | Practitioner | PractitionerRole | Organization>(): Smart<T>[];
143
+ getRelatesToTarget(): Smart<Composition>[];
144
+ getEventDetail<T extends Resource>(): Smart<T>[];
145
+ getSectionAuthor<T extends Practitioner | PractitionerRole | Device | Patient | RelatedPerson | Organization>(): Smart<T>[];
146
+ getSectionFocus<T extends Resource>(): Smart<T>[];
147
+ getSectionEntry<T extends Resource>(): Smart<T>[];
86
148
  }
87
149
  /**
88
150
  * Reference methods for Coverage resources
@@ -101,6 +163,10 @@ export interface DocumentReferenceReferenceMethods {
101
163
  getAuthors<T extends Practitioner | PractitionerRole | Organization | Device | Patient | RelatedPerson>(): Smart<T>[];
102
164
  getAuthenticator<T extends Practitioner | PractitionerRole | Organization>(): Smart<T> | undefined;
103
165
  getCustodian(): Smart<Organization> | undefined;
166
+ getRelatesToTarget(): Smart<DocumentReference>[];
167
+ getContextEncounter<T extends Encounter | Resource>(): Smart<T>[];
168
+ getContextSourcePatientInfo(): Smart<Patient> | undefined;
169
+ getContextRelated<T extends Resource>(): Smart<T>[];
104
170
  }
105
171
  /**
106
172
  * Reference methods for Immunization resources
@@ -108,31 +174,58 @@ export interface DocumentReferenceReferenceMethods {
108
174
  export interface ImmunizationReferenceMethods {
109
175
  getPatient(): Smart<Patient> | undefined;
110
176
  getEncounter(): Smart<Encounter> | undefined;
177
+ getLocation(): Smart<Location> | undefined;
178
+ getManufacturer(): Smart<Organization> | undefined;
111
179
  getPerformers<T extends Practitioner | PractitionerRole | Organization>(): Smart<T>[];
180
+ getReasonReference<T extends Condition | Observation | DiagnosticReport>(): Smart<T>[];
181
+ getProtocolAppliedAuthority(): Smart<Organization>[];
182
+ getReactionDetail(): Smart<Observation>[];
112
183
  }
113
184
  /**
114
185
  * Reference methods for Medication resources
115
186
  */
116
187
  export interface MedicationReferenceMethods {
117
188
  getManufacturer(): Smart<Organization> | undefined;
189
+ getIngredientItem<T extends Resource | Medication>(): Smart<T>[];
118
190
  }
119
191
  /**
120
192
  * Reference methods for MedicationRequest resources
121
193
  */
122
194
  export interface MedicationRequestReferenceMethods {
195
+ getReportedReference<T extends Patient | Practitioner | PractitionerRole | RelatedPerson | Organization>(): Smart<T> | undefined;
196
+ getMedicationReference(): Smart<Medication> | undefined;
123
197
  getSubject<T extends Patient | Group>(): Smart<T> | undefined;
124
198
  getEncounter(): Smart<Encounter> | undefined;
199
+ getSupportingInformation<T extends Resource>(): Smart<T>[];
125
200
  getRequester<T extends Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device>(): Smart<T> | undefined;
126
201
  getPerformer<T extends Practitioner | PractitionerRole | Organization | Patient | Device | RelatedPerson | CareTeam>(): Smart<T> | undefined;
127
- getMedicationReference(): Smart<Medication> | undefined;
202
+ getRecorder<T extends Practitioner | PractitionerRole>(): Smart<T> | undefined;
203
+ getReasonReference<T extends Condition | Observation>(): Smart<T>[];
204
+ getBasedOn<T extends Resource>(): Smart<T>[];
205
+ getInsurance<T extends Resource>(): Smart<T>[];
206
+ getPriorPrescription(): Smart<MedicationRequest> | undefined;
207
+ getDetectedIssue<T extends Resource>(): Smart<T>[];
208
+ getEventHistory<T extends Resource>(): Smart<T>[];
209
+ getDispenseRequestPerformer(): Smart<Organization> | undefined;
128
210
  }
129
211
  /**
130
212
  * Reference methods for Procedure resources
131
213
  */
132
214
  export interface ProcedureReferenceMethods {
215
+ getBasedOn<T extends Resource>(): Smart<T>[];
216
+ getPartOf<T extends Procedure | Observation | Resource>(): Smart<T>[];
133
217
  getSubject<T extends Patient | Group>(): Smart<T> | undefined;
134
218
  getEncounter(): Smart<Encounter> | undefined;
219
+ getRecorder<T extends Patient | RelatedPerson | Practitioner | PractitionerRole>(): Smart<T> | undefined;
220
+ getAsserter<T extends Patient | RelatedPerson | Practitioner | PractitionerRole>(): Smart<T> | undefined;
135
221
  getPerformers<T extends Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device>(): Smart<T>[];
222
+ getPerformerOnBehalfOf(): Smart<Organization>[];
223
+ getLocation(): Smart<Location> | undefined;
224
+ getReasonReference<T extends Condition | Observation | Procedure | DiagnosticReport | DocumentReference>(): Smart<T>[];
225
+ getReport<T extends DiagnosticReport | DocumentReference | Composition>(): Smart<T>[];
226
+ getComplicationDetail(): Smart<Condition>[];
227
+ getFocalDeviceManipulated(): Smart<Device>[];
228
+ getUsedReference<T extends Device | Medication | Resource>(): Smart<T>[];
136
229
  }
137
230
  /**
138
231
  * Reference methods for FamilyMemberHistory resources
@@ -198,7 +291,7 @@ export interface BaseReferenceMethods {
198
291
  /**
199
292
  * Conditional type that maps resource types to their reference methods
200
293
  */
201
- export type ReferenceMethodsFor<T extends Resource> = T extends Observation ? ObservationReferenceMethods : T extends Encounter ? EncounterReferenceMethods : T extends DiagnosticReport ? DiagnosticReportReferenceMethods : T extends Patient ? PatientReferenceMethods : T extends Practitioner ? PractitionerReferenceMethods : T extends AllergyIntolerance ? AllergyIntoleranceReferenceMethods : T extends Condition ? ConditionReferenceMethods : T extends Organization ? OrganizationReferenceMethods : T extends Location ? LocationReferenceMethods : T extends Composition ? CompositionReferenceMethods : T extends Coverage ? CoverageReferenceMethods : T extends DocumentReference ? DocumentReferenceReferenceMethods : T extends Immunization ? ImmunizationReferenceMethods : T extends Medication ? MedicationReferenceMethods : T extends MedicationRequest ? MedicationRequestReferenceMethods : T extends Procedure ? ProcedureReferenceMethods : T extends FamilyMemberHistory ? FamilyMemberHistoryReferenceMethods : T extends MedicationAdministration ? MedicationAdministrationReferenceMethods : T extends MedicationDispense ? MedicationDispenseReferenceMethods : T extends MedicationStatement ? MedicationStatementReferenceMethods : T extends RelatedPerson ? RelatedPersonReferenceMethods : T extends RiskAssessment ? RiskAssessmentReferenceMethods : T extends ServiceRequest ? ServiceRequestReferenceMethods : BaseReferenceMethods;
294
+ export type ReferenceMethodsFor<T extends Resource> = T extends Observation ? ObservationReferenceMethods : T extends Encounter ? EncounterReferenceMethods : T extends DiagnosticReport ? DiagnosticReportReferenceMethods : T extends Patient ? PatientReferenceMethods : T extends Practitioner ? PractitionerReferenceMethods : T extends PractitionerRole ? PractitionerRoleReferenceMethods : T extends AllergyIntolerance ? AllergyIntoleranceReferenceMethods : T extends Condition ? ConditionReferenceMethods : T extends Organization ? OrganizationReferenceMethods : T extends Location ? LocationReferenceMethods : T extends Composition ? CompositionReferenceMethods : T extends Coverage ? CoverageReferenceMethods : T extends DocumentReference ? DocumentReferenceReferenceMethods : T extends Immunization ? ImmunizationReferenceMethods : T extends Medication ? MedicationReferenceMethods : T extends MedicationRequest ? MedicationRequestReferenceMethods : T extends Procedure ? ProcedureReferenceMethods : T extends FamilyMemberHistory ? FamilyMemberHistoryReferenceMethods : T extends MedicationAdministration ? MedicationAdministrationReferenceMethods : T extends MedicationDispense ? MedicationDispenseReferenceMethods : T extends MedicationStatement ? MedicationStatementReferenceMethods : T extends RelatedPerson ? RelatedPersonReferenceMethods : T extends RiskAssessment ? RiskAssessmentReferenceMethods : T extends ServiceRequest ? ServiceRequestReferenceMethods : BaseReferenceMethods;
202
295
  /**
203
296
  * Note: We only use the generic Smart<T> pattern for consistency.
204
297
  * Specific type aliases like SmartObservation are not needed since
@@ -1 +1 @@
1
- {"version":3,"file":"smart-resources.d.ts","sourceRoot":"","sources":["../../src/types/smart-resources.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"smart-resources.d.ts","sourceRoot":"","sources":["../../src/types/smart-resources.ts"],"names":[],"mappings":"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"}