@metriport/fhir-sdk 1.6.2 → 1.6.3

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 (81) hide show
  1. package/dist/__tests__/careplan.test.js +24 -22
  2. package/dist/__tests__/careplan.test.js.map +1 -1
  3. package/dist/__tests__/clinical-dates.test.js +25 -23
  4. package/dist/__tests__/clinical-dates.test.js.map +1 -1
  5. package/dist/__tests__/coding-utilities.test.js +9 -7
  6. package/dist/__tests__/coding-utilities.test.js.map +1 -1
  7. package/dist/__tests__/date-range-performance.test.js +4 -2
  8. package/dist/__tests__/date-range-performance.test.js.map +1 -1
  9. package/dist/__tests__/date-range-search.test.js +15 -13
  10. package/dist/__tests__/date-range-search.test.js.map +1 -1
  11. package/dist/__tests__/env-setup.js +32 -4
  12. package/dist/__tests__/env-setup.js.map +1 -1
  13. package/dist/__tests__/fhir-bundle-sdk-basic.test.js +6 -4
  14. package/dist/__tests__/fhir-bundle-sdk-basic.test.js.map +1 -1
  15. package/dist/__tests__/fhir-bundle-sdk.test.js +87 -85
  16. package/dist/__tests__/fhir-bundle-sdk.test.js.map +1 -1
  17. package/dist/__tests__/fixtures/fhir-bundles.d.ts +1 -1
  18. package/dist/__tests__/fixtures/fhir-bundles.d.ts.map +1 -1
  19. package/dist/__tests__/fixtures/fhir-bundles.js +17 -11
  20. package/dist/__tests__/fixtures/fhir-bundles.js.map +1 -1
  21. package/dist/__tests__/phase1-verification.test.js +12 -10
  22. package/dist/__tests__/phase1-verification.test.js.map +1 -1
  23. package/dist/__tests__/phase2-verification.test.js +16 -14
  24. package/dist/__tests__/phase2-verification.test.js.map +1 -1
  25. package/dist/__tests__/phase3-verification.test.js +17 -15
  26. package/dist/__tests__/phase3-verification.test.js.map +1 -1
  27. package/dist/__tests__/phase4-verification.test.js +29 -27
  28. package/dist/__tests__/phase4-verification.test.js.map +1 -1
  29. package/dist/__tests__/phase5-verification.test.js +40 -38
  30. package/dist/__tests__/phase5-verification.test.js.map +1 -1
  31. package/dist/__tests__/reverse-references.test.js +31 -29
  32. package/dist/__tests__/reverse-references.test.js.map +1 -1
  33. package/dist/__tests__/type-guards.test.js +54 -132
  34. package/dist/__tests__/type-guards.test.js.map +1 -1
  35. package/dist/clinical-dates.js +5 -1
  36. package/dist/clinical-dates.js.map +1 -1
  37. package/dist/fhir-bundle-sdk.js +38 -34
  38. package/dist/fhir-bundle-sdk.js.map +1 -1
  39. package/dist/index.js +22 -4
  40. package/dist/index.js.map +1 -1
  41. package/dist/internal/bundle-operations.js +9 -3
  42. package/dist/internal/bundle-operations.js.map +1 -1
  43. package/dist/internal/coding-systems.d.ts +12 -12
  44. package/dist/internal/coding-systems.js +18 -15
  45. package/dist/internal/coding-systems.js.map +1 -1
  46. package/dist/internal/coding-utilities.js +23 -15
  47. package/dist/internal/coding-utilities.js.map +1 -1
  48. package/dist/internal/date-extraction.js +7 -2
  49. package/dist/internal/date-extraction.js.map +1 -1
  50. package/dist/internal/graph-traversal.js +7 -3
  51. package/dist/internal/graph-traversal.js.map +1 -1
  52. package/dist/internal/indexing.js +15 -9
  53. package/dist/internal/indexing.js.map +1 -1
  54. package/dist/internal/llm-context.js +17 -8
  55. package/dist/internal/llm-context.js.map +1 -1
  56. package/dist/internal/reference-resolution.js +32 -25
  57. package/dist/internal/reference-resolution.js.map +1 -1
  58. package/dist/internal/reference-utils.js +11 -4
  59. package/dist/internal/reference-utils.js.map +1 -1
  60. package/dist/internal/transparent-proxy.js +14 -10
  61. package/dist/internal/transparent-proxy.js.map +1 -1
  62. package/dist/internal/validation.js +8 -4
  63. package/dist/internal/validation.js.map +1 -1
  64. package/dist/type-guards.d.ts +134 -105
  65. package/dist/type-guards.d.ts.map +1 -1
  66. package/dist/type-guards.js +322 -26
  67. package/dist/type-guards.js.map +1 -1
  68. package/dist/types/coding-fields.js +2 -1
  69. package/dist/types/sdk-types.js +5 -1
  70. package/dist/types/sdk-types.js.map +1 -1
  71. package/dist/types/smart-resources.js +10 -5
  72. package/dist/types/smart-resources.js.map +1 -1
  73. package/dist/utils/interval-tree/index.js +19 -10
  74. package/dist/utils/interval-tree/index.js.map +1 -1
  75. package/dist/utils/interval-tree/shallowequal/arrays.js +4 -1
  76. package/dist/utils/interval-tree/shallowequal/arrays.js.map +1 -1
  77. package/dist/utils/interval-tree/shallowequal/index.js +13 -5
  78. package/dist/utils/interval-tree/shallowequal/index.js.map +1 -1
  79. package/dist/utils/interval-tree/shallowequal/objects.js +4 -1
  80. package/dist/utils/interval-tree/shallowequal/objects.js.map +1 -1
  81. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"reverse-references.test.js","sourceRoot":"","sources":["../../src/__tests__/reverse-references.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reverse-references.test.js","sourceRoot":"","sources":["../../src/__tests__/reverse-references.test.ts"],"names":[],"mappings":";;AAAA,uDAAuD;AACvD,oCAAyC;AACzC,0DAAwF;AAGxF,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,QAAQ,CAAC,iDAAiD,EAAE,GAAG,EAAE;QAC/D,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;YAC9E,MAAM,GAAG,GAAG,MAAM,qBAAa,CAAC,MAAM,CAAC,kCAAmB,CAAC,CAAC;YAE5D,gCAAgC;YAChC,4BAA4B;YAC5B,8BAA8B;YAC9B,oCAAoC;YACpC,MAAM,oBAAoB,GAAG,GAAG,CAAC,yBAAyB,CAAC,aAAa,CAAC,CAAC;YAE1E,MAAM,CAAC,oBAAoB,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAE7C,MAAM,aAAa,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC;YAC3E,MAAM,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,kBAAkB,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC;QAC/F,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;YAClF,MAAM,GAAG,GAAG,MAAM,qBAAa,CAAC,MAAM,CAAC,kCAAmB,CAAC,CAAC;YAE5D,MAAM,oBAAoB,GAAG,GAAG,CAAC,yBAAyB,CAAC,gBAAgB,CAAC,CAAC;YAE7E,MAAM,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;YAC9E,MAAM,GAAG,GAAG,MAAM,qBAAa,CAAC,MAAM,CAAC,kCAAmB,CAAC,CAAC;YAE5D,kCAAkC;YAClC,gCAAgC;YAChC,sCAAsC;YACtC,MAAM,oBAAoB,GAAG,GAAG,CAAC,yBAAyB,CAAC,eAAe,CAAC,CAAC;YAE5E,MAAM,CAAC,oBAAoB,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC7C,MAAM,CACJ,oBAAoB,CAAC,KAAK,CACxB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,aAAa,IAAI,CAAC,CAAC,YAAY,KAAK,kBAAkB,CAC/E,CACF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;YAClE,MAAM,GAAG,GAAG,MAAM,qBAAa,CAAC,MAAM,CAAC,kCAAmB,CAAC,CAAC;YAE5D,qCAAqC;YACrC,sCAAsC;YACtC,sCAAsC;YACtC,4CAA4C;YAC5C,MAAM,oBAAoB,GAAG,GAAG,CAAC,yBAAyB,CAAC,kBAAkB,CAAC,CAAC;YAE/E,MAAM,CAAC,oBAAoB,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,wDAAwD,EAAE,GAAG,EAAE;QACtE,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;YACrD,MAAM,GAAG,GAAG,MAAM,qBAAa,CAAC,MAAM,CAAC,kCAAmB,CAAC,CAAC;YAE5D,mDAAmD;YACnD,MAAM,YAAY,GAAG,GAAG,CAAC,yBAAyB,CAAc,aAAa,EAAE;gBAC7E,YAAY,EAAE,aAAa;aAC5B,CAAC,CAAC;YAEH,MAAM,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACrC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC1D,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;YAChF,MAAM,GAAG,GAAG,MAAM,qBAAa,CAAC,MAAM,CAAC,kCAAmB,CAAC,CAAC;YAE5D,yCAAyC;YACzC,MAAM,aAAa,GAAG,GAAG,CAAC,yBAAyB,CAAC,aAAa,EAAE;gBACjE,YAAY,EAAE,cAAc;aAC7B,CAAC,CAAC;YAEH,MAAM,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;YAChF,MAAM,GAAG,GAAG,MAAM,qBAAa,CAAC,MAAM,CAAC,uCAAwB,CAAC,CAAC;YAEjE,yEAAyE;YACzE,MAAM,YAAY,GAAG,GAAG,CAAC,yBAAyB,CAAc,eAAe,EAAE;gBAC/E,YAAY,EAAE,aAAa;aAC5B,CAAC,CAAC;YAEH,MAAM,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACrC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/E,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,0DAA0D,EAAE,GAAG,EAAE;QACxE,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;YACzD,MAAM,GAAG,GAAG,MAAM,qBAAa,CAAC,MAAM,CAAC,kCAAmB,CAAC,CAAC;YAE5D,oEAAoE;YACpE,MAAM,iBAAiB,GAAG,GAAG,CAAC,yBAAyB,CAAC,aAAa,EAAE;gBACrE,cAAc,EAAE,SAAS;aAC1B,CAAC,CAAC;YAEH,MAAM,CAAC,iBAAiB,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC1C,MAAM,CACJ,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;gBAC1B,MAAM,QAAQ,GAAG,CAAQ,CAAC;gBAC1B,OAAO,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;YAC9D,CAAC,CAAC,CACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;YACvD,MAAM,GAAG,GAAG,MAAM,qBAAa,CAAC,MAAM,CAAC,kCAAmB,CAAC,CAAC;YAE5D,2EAA2E;YAC3E,MAAM,mBAAmB,GAAG,GAAG,CAAC,yBAAyB,CAAC,kBAAkB,EAAE;gBAC5E,cAAc,EAAE,WAAW;aAC5B,CAAC,CAAC;YAEH,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;YACnE,MAAM,GAAG,GAAG,MAAM,qBAAa,CAAC,MAAM,CAAC,kCAAmB,CAAC,CAAC;YAE5D,2DAA2D;YAC3D,MAAM,mBAAmB,GAAG,GAAG,CAAC,yBAAyB,CAAC,aAAa,EAAE;gBACvE,cAAc,EAAE,WAAW;aAC5B,CAAC,CAAC;YAEH,MAAM,CAAC,mBAAmB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,8CAA8C,EAAE,GAAG,EAAE;QAC5D,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;YACzE,MAAM,GAAG,GAAG,MAAM,qBAAa,CAAC,MAAM,CAAC,kCAAmB,CAAC,CAAC;YAE5D,iEAAiE;YACjE,MAAM,YAAY,GAAG,GAAG,CAAC,yBAAyB,CAAc,aAAa,EAAE;gBAC7E,YAAY,EAAE,aAAa;gBAC3B,cAAc,EAAE,SAAS;aAC1B,CAAC,CAAC;YAEH,MAAM,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACrC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC1D,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,+CAA+C,EAAE,GAAG,EAAE;QAC7D,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;YACxE,MAAM,GAAG,GAAG,MAAM,qBAAa,CAAC,MAAM,CAAC,kCAAmB,CAAC,CAAC;YAC5D,MAAM,OAAO,GAAG,GAAG,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;YAElD,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;YAC9B,MAAM,CAAC,OAAQ,OAAe,CAAC,uBAAuB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;YAC1E,MAAM,GAAG,GAAG,MAAM,qBAAa,CAAC,MAAM,CAAC,kCAAmB,CAAC,CAAC;YAC5D,MAAM,OAAO,GAAG,GAAG,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;YAElD,MAAM,oBAAoB,GAAI,OAAe,CAAC,uBAAuB,EAAE,CAAC;YAExE,MAAM,CAAC,oBAAoB,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC7C,MAAM,aAAa,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC;YAClF,MAAM,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,kBAAkB,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC;QAC/F,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;YACzE,MAAM,GAAG,GAAG,MAAM,qBAAa,CAAC,MAAM,CAAC,kCAAmB,CAAC,CAAC;YAC5D,MAAM,OAAO,GAAG,GAAG,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;YAElD,MAAM,YAAY,GAAI,OAAe,CAAC,uBAAuB,CAAC;gBAC5D,YAAY,EAAE,aAAa;aAC5B,CAAC,CAAC;YAEH,MAAM,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACrC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;YAChF,MAAM,GAAG,GAAG,MAAM,qBAAa,CAAC,MAAM,CAAC,kCAAmB,CAAC,CAAC;YAC5D,MAAM,OAAO,GAAG,GAAG,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;YAElD,MAAM,iBAAiB,GAAI,OAAe,CAAC,uBAAuB,CAAC;gBACjE,cAAc,EAAE,SAAS;aAC1B,CAAC,CAAC;YAEH,MAAM,CAAC,iBAAiB,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;YAC/E,MAAM,GAAG,GAAG,MAAM,qBAAa,CAAC,MAAM,CAAC,kCAAmB,CAAC,CAAC;YAC5D,MAAM,YAAY,GAAG,GAAG,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,CAAC;YAEjE,kDAAkD;YAClD,MAAM,cAAc,GAAI,YAAoB,CAAC,uBAAuB,EAAE,CAAC;YACvE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;YAC1D,MAAM,GAAG,GAAG,MAAM,qBAAa,CAAC,MAAM,CAAC,kCAAmB,CAAC,CAAC;YAC5D,MAAM,WAAW,GAAG,GAAG,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;YAE9D,MAAM,oBAAoB,GAAI,WAAmB,CAAC,uBAAuB,EAAE,CAAC;YAE5E,+EAA+E;YAC/E,MAAM,CAAC,oBAAoB,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC7C,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;YACvD,MAAM,MAAM,GAAG;gBACb,YAAY,EAAE,QAAiB;gBAC/B,IAAI,EAAE,YAAqB;gBAC3B,KAAK,EAAE;oBACL;wBACE,QAAQ,EAAE;4BACR,YAAY,EAAE,SAAkB;4BAChC,EAAE,EAAE,cAAc;4BAClB,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;yBAC3B;qBACF;iBACF;aACF,CAAC;YAEF,MAAM,GAAG,GAAG,MAAM,qBAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC/C,MAAM,oBAAoB,GAAG,GAAG,CAAC,yBAAyB,CAAC,cAAc,CAAC,CAAC;YAE3E,MAAM,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;YAC/D,MAAM,MAAM,GAAG;gBACb,YAAY,EAAE,QAAiB;gBAC/B,IAAI,EAAE,YAAqB;gBAC3B,KAAK,EAAE;oBACL;wBACE,OAAO,EAAE,+BAA+B;wBACxC,QAAQ,EAAE;4BACR,YAAY,EAAE,SAAkB;4BAChC,EAAE,EAAE,sBAAsB;4BAC1B,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;yBAC9B;qBACF;oBACD;wBACE,QAAQ,EAAE;4BACR,YAAY,EAAE,aAAsB;4BACpC,EAAE,EAAE,0BAA0B;4BAC9B,MAAM,EAAE,OAAgB;4BACxB,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;4BACtB,OAAO,EAAE;gCACP,SAAS,EAAE,+BAA+B;6BAC3C;yBACF;qBACF;iBACF;aACF,CAAC;YAEF,MAAM,GAAG,GAAG,MAAM,qBAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAE/C,+BAA+B;YAC/B,MAAM,eAAe,GAAG,GAAG,CAAC,yBAAyB,CAAC,sBAAsB,CAAC,CAAC;YAC9E,MAAM,CAAC,eAAe,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAExC,gCAAgC;YAChC,MAAM,oBAAoB,GAAG,GAAG,CAAC,yBAAyB,CAAC,+BAA+B,CAAC,CAAC;YAC5F,MAAM,CAAC,oBAAoB,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;YACjE,MAAM,GAAG,GAAG,MAAM,qBAAa,CAAC,MAAM,CAAC,kCAAmB,CAAC,CAAC;YAC5D,MAAM,oBAAoB,GAAG,GAAG,CAAC,yBAAyB,CAAC,aAAa,CAAC,CAAC;YAE1E,oDAAoD;YACpD,MAAM,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YACvD,MAAM,CAAE,oBAAoB,CAAC,CAAC,CAAS,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;YAC9D,MAAM,GAAG,GAAG,MAAM,qBAAa,CAAC,MAAM,CAAC,kCAAmB,CAAC,CAAC;YAE5D,MAAM,UAAU,GAAG,GAAG,CAAC;YACvB,MAAM,KAAK,GAAa,EAAE,CAAC;YAE3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE;gBACnC,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;gBAChC,GAAG,CAAC,yBAAyB,CAAC,aAAa,CAAC,CAAC;gBAC7C,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;gBAC9B,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC;aACzB;YAED,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;YAE7D,kDAAkD;YAClD,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,mDAAmD,EAAE,GAAG,EAAE;QACjE,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;YACvE,MAAM,GAAG,GAAG,MAAM,qBAAa,CAAC,MAAM,CAAC,kCAAmB,CAAC,CAAC;YAC5D,MAAM,WAAW,GAAG,GAAG,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;YAE9D,MAAM,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC;YAClC,MAAM,CAAC,OAAQ,WAAmB,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;YACpE,MAAM,GAAG,GAAG,MAAM,qBAAa,CAAC,MAAM,CAAC,kCAAmB,CAAC,CAAC;YAC5D,MAAM,WAAW,GAAG,GAAG,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;YAE9D,MAAM,mBAAmB,GAAI,WAAmB,CAAC,sBAAsB,EAAE,CAAC;YAE1E,8BAA8B;YAC9B,0BAA0B;YAC1B,8BAA8B;YAC9B,iCAAiC;YACjC,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YAEtD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;YACnF,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;YAC1E,MAAM,GAAG,GAAG,MAAM,qBAAa,CAAC,MAAM,CAAC,kCAAmB,CAAC,CAAC;YAC5D,MAAM,OAAO,GAAG,GAAG,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;YAElD,MAAM,mBAAmB,GAAI,OAAe,CAAC,sBAAsB,EAAE,CAAC;YAEtE,sDAAsD;YACtD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;YAC1E,MAAM,GAAG,GAAG,MAAM,qBAAa,CAAC,MAAM,CAAC,kCAAmB,CAAC,CAAC;YAC5D,MAAM,WAAW,GAAG,GAAG,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;YAE9D,MAAM,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC;YAClC,IAAI,CAAC,WAAW,EAAE;gBAChB,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;aAC1C;YACD,MAAM,mBAAmB,GAAG,GAAG,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC;YAEtE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtD,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;YACpD,MAAM,GAAG,GAAG,MAAM,qBAAa,CAAC,MAAM,CAAC,kCAAmB,CAAC,CAAC;YAC5D,MAAM,gBAAgB,GAAG,GAAG,CAAC,uBAAuB,CAAC,uBAAuB,CAAC,CAAC;YAE9E,MAAM,mBAAmB,GAAI,gBAAwB,CAAC,sBAAsB,EAAE,CAAC;YAE/E,yEAAyE;YACzE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtD,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;YACnD,MAAM,GAAG,GAAG,MAAM,qBAAa,CAAC,MAAM,CAAC,kCAAmB,CAAC,CAAC;YAC5D,MAAM,WAAW,GAAG,GAAG,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;YAE9D,MAAM,mBAAmB,GAAI,WAAmB,CAAC,sBAAsB,EAAE,CAAC;YAE1E,2CAA2C;YAC3C,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,160 +1,82 @@
1
- import { FhirBundleSdk } from "../fhir-bundle-sdk";
2
- import { isDiagnosticReport, isObservation, isPatient } from "../type-guards";
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const lodash_1 = __importDefault(require("lodash"));
7
+ const fhir_bundle_sdk_1 = require("../fhir-bundle-sdk");
8
+ const type_guards_1 = require("../type-guards");
3
9
  describe("Type Guards", () => {
4
- describe("Basic type narrowing with mixed resource arrays", () => {
5
- test("filters mixed Resource array to specific type with proper inference", () => {
6
- const resources = [
7
- { resourceType: "Patient", id: "patient-1" },
8
- { resourceType: "Observation", id: "obs-1", status: "final", code: { text: "test" } },
9
- { resourceType: "Patient", id: "patient-2" },
10
- {
11
- resourceType: "DiagnosticReport",
12
- id: "report-1",
13
- status: "final",
14
- code: { text: "test" },
15
- },
16
- { resourceType: "Observation", id: "obs-2", status: "final", code: { text: "test" } },
17
- ];
18
- const patients = resources.filter(isPatient);
19
- const observations = resources.filter(isObservation);
20
- const reports = resources.filter(isDiagnosticReport);
21
- // Type assertions validate TypeScript properly inferred the types
22
- expect(patients).toHaveLength(2);
23
- expect(observations).toHaveLength(2);
24
- expect(reports).toHaveLength(1);
25
- // TypeScript knows these are Patients, so we can access Patient-specific fields
26
- patients.forEach(patient => {
27
- expect(patient.resourceType).toBe("Patient");
28
- // This wouldn't compile if TypeScript didn't narrow the type
29
- void patient.name; // Patient-specific field accessible due to type narrowing
30
- });
31
- // TypeScript knows these are Observations
32
- observations.forEach(obs => {
33
- expect(obs.resourceType).toBe("Observation");
34
- expect(obs.status).toBe("final"); // Observation-specific field accessible
35
- });
36
- });
37
- });
38
- describe("Type guards with Smart resources", () => {
39
- test("filters Smart resources with proper type inference", async () => {
10
+ describe("Type guards work with Smart resources from SDK", () => {
11
+ test("type guards work with chained method calls like getDiagnosticReports().getPerformers()", () => {
40
12
  const bundle = {
41
13
  resourceType: "Bundle",
42
14
  type: "collection",
43
15
  entry: [
44
- { resource: { resourceType: "Patient", id: "patient-1" } },
45
16
  {
46
17
  resource: {
47
- resourceType: "Observation",
48
- id: "obs-1",
49
- status: "final",
50
- code: { text: "test" },
51
- subject: { reference: "Patient/patient-1" },
18
+ resourceType: "Practitioner",
19
+ id: "prac-1",
20
+ name: [{ given: ["John"], family: "Smith" }],
52
21
  },
53
22
  },
54
- { resource: { resourceType: "Patient", id: "patient-2" } },
55
23
  {
56
24
  resource: {
57
- resourceType: "Encounter",
58
- id: "enc-1",
59
- status: "finished",
60
- class: { code: "test" },
25
+ resourceType: "Organization",
26
+ id: "org-1",
27
+ name: "Test Lab",
61
28
  },
62
29
  },
63
30
  {
64
31
  resource: {
65
- resourceType: "Observation",
66
- id: "obs-2",
32
+ resourceType: "DiagnosticReport",
33
+ id: "report-1",
67
34
  status: "final",
68
- code: { text: "test" },
69
- },
70
- },
71
- ],
72
- };
73
- const sdk = await FhirBundleSdk.create(bundle);
74
- // Test filtering observations directly - this is the main use case
75
- const allObservations = sdk.getObservations();
76
- expect(allObservations).toHaveLength(2);
77
- allObservations.forEach(obs => {
78
- expect(obs.resourceType).toBe("Observation");
79
- expect(obs.__isSmartResource).toBe(true);
80
- // Type guard confirms it's an Observation, so we can access observation-specific fields
81
- if (isObservation(obs)) {
82
- const subject = obs.getSubject();
83
- void subject;
84
- }
85
- });
86
- // Test filtering patients
87
- const allPatients = sdk.getPatients();
88
- expect(allPatients).toHaveLength(2);
89
- allPatients.forEach(patient => {
90
- expect(patient.resourceType).toBe("Patient");
91
- expect(patient.__isSmartResource).toBe(true);
92
- });
93
- });
94
- test("type guards work in conditional blocks with Smart resources", async () => {
95
- const bundle = {
96
- resourceType: "Bundle",
97
- type: "collection",
98
- entry: [
99
- {
100
- resource: {
101
- resourceType: "Patient",
102
- id: "patient-1",
103
- name: [{ given: ["Jane"], family: "Doe" }],
35
+ code: { text: "Blood Test" },
36
+ performer: [
37
+ { reference: "Practitioner/prac-1" },
38
+ { reference: "Organization/org-1" },
39
+ ],
104
40
  },
105
41
  },
106
42
  {
107
43
  resource: {
108
- resourceType: "Observation",
109
- id: "obs-1",
44
+ resourceType: "DiagnosticReport",
45
+ id: "report-2",
110
46
  status: "final",
111
- code: { text: "test" },
112
- valueQuantity: { value: 120, unit: "mmHg" },
47
+ code: { text: "X-Ray" },
48
+ performer: [{ reference: "Practitioner/prac-1" }],
113
49
  },
114
50
  },
115
51
  ],
116
52
  };
117
- const sdk = await FhirBundleSdk.create(bundle);
118
- const resource1 = sdk.getResourceById("patient-1");
119
- const resource2 = sdk.getResourceById("obs-1");
120
- // Type guard in conditional - TypeScript should narrow the type
121
- if (resource1 && isPatient(resource1)) {
122
- expect(resource1.resourceType).toBe("Patient");
123
- const name = resource1.name?.[0]?.given?.[0];
124
- expect(name).toBe("Jane");
125
- }
126
- if (resource2 && isObservation(resource2)) {
127
- expect(resource2.resourceType).toBe("Observation");
128
- const value = resource2.valueQuantity?.value;
129
- expect(value).toBe(120);
130
- }
131
- });
132
- });
133
- describe("Edge cases", () => {
134
- test("handles undefined gracefully", () => {
135
- expect(isPatient(undefined)).toBe(false);
136
- expect(isObservation(undefined)).toBe(false);
137
- expect(isDiagnosticReport(undefined)).toBe(false);
138
- });
139
- test("filters out undefined values from array", () => {
140
- const resources = [
141
- { resourceType: "Patient", id: "1" },
142
- undefined,
143
- { resourceType: "Observation", id: "2", status: "final", code: { text: "test" } },
144
- undefined,
145
- ];
146
- const patients = resources.filter(isPatient);
147
- const observations = resources.filter(isObservation);
148
- expect(patients).toHaveLength(1);
149
- expect(observations).toHaveLength(1);
150
- });
151
- test("returns empty array when no matches found", () => {
152
- const resources = [
153
- { resourceType: "Patient", id: "1" },
154
- { resourceType: "Patient", id: "2" },
155
- ];
156
- const observations = resources.filter(isObservation);
157
- expect(observations).toHaveLength(0);
53
+ const sdk = fhir_bundle_sdk_1.FhirBundleSdk.createSync(bundle);
54
+ // Test chained method calls with type guards on Smart resources
55
+ const performers = sdk.getDiagnosticReports().flatMap(report => report.getPerformers());
56
+ const practitioners = performers.filter(type_guards_1.isPractitioner);
57
+ // Type-level verification: These lines will only compile if type narrowing works
58
+ // If narrowing fails, TypeScript will error because these properties don't exist on the union type
59
+ const firstPractitionerName = practitioners[0]?.name; // 'name' is specific to Practitioner
60
+ const firstPractitionerQualification = practitioners[0]?.qualification; // 'qualification' is also Practitioner-specific
61
+ // Two diagnostic reports both reference the same practitioner, so we get 2 instances
62
+ expect(practitioners).toHaveLength(2);
63
+ expect(practitioners[0]?.id).toBe("prac-1");
64
+ expect(practitioners[1]?.id).toBe("prac-1");
65
+ expect(firstPractitionerName).toBeDefined();
66
+ expect(firstPractitionerName?.[0]?.family).toBe("Smith");
67
+ expect(practitioners[0]?.resourceType).toBe("Practitioner");
68
+ // The fact that we can access qualification without TypeScript error proves narrowing works
69
+ // (even though it's undefined in this test data)
70
+ expect(firstPractitionerQualification).toBeUndefined();
71
+ // Test filtering plain FHIR resources using plain type guards
72
+ const plainResources = lodash_1.default.compact(bundle.entry?.map(entry => entry.resource)) ?? [];
73
+ const plainPractitioners = plainResources.filter(type_guards_1.isPlainPractitioner);
74
+ // Type-level verification for plain resources
75
+ const plainPractitionerName = plainPractitioners[0]?.name;
76
+ expect(plainPractitioners).toHaveLength(1);
77
+ expect(plainPractitioners[0]?.id).toBe("prac-1");
78
+ expect(plainPractitionerName).toBeDefined();
79
+ expect(plainPractitionerName?.[0]?.family).toBe("Smith");
158
80
  });
159
81
  });
160
82
  });
@@ -1 +1 @@
1
- {"version":3,"file":"type-guards.test.js","sourceRoot":"","sources":["../../src/__tests__/type-guards.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"type-guards.test.js","sourceRoot":"","sources":["../../src/__tests__/type-guards.test.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getClinicalDateRange = void 0;
1
4
  /**
2
5
  * Extract the primary clinical date range from a FHIR resource.
3
6
  * Returns undefined if the resource has no clinical dates.
@@ -12,7 +15,7 @@
12
15
  * });
13
16
  * }
14
17
  */
15
- export function getClinicalDateRange(resource) {
18
+ function getClinicalDateRange(resource) {
16
19
  switch (resource.resourceType) {
17
20
  case "AllergyIntolerance": {
18
21
  const r = resource;
@@ -564,4 +567,5 @@ export function getClinicalDateRange(resource) {
564
567
  }
565
568
  return undefined;
566
569
  }
570
+ exports.getClinicalDateRange = getClinicalDateRange;
567
571
  //# sourceMappingURL=clinical-dates.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"clinical-dates.js","sourceRoot":"","sources":["../src/clinical-dates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"clinical-dates.js","sourceRoot":"","sources":["../src/clinical-dates.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,19 @@
1
- import { getResourceIdentifier, } from "./types/sdk-types";
2
- import { IntervalTree } from "./utils/interval-tree";
3
- import { lookForBrokenReferences as lookForBrokenReferencesImpl } from "./internal/validation";
4
- import { parseDate } from "./internal/date-extraction";
5
- import { buildResourceIndexes } from "./internal/indexing";
6
- import { createSmartResource as createSmartResourceImpl } from "./internal/reference-resolution";
7
- import { createBundleEntry, createExportBundle, findOriginalEntry, } from "./internal/bundle-operations";
8
- import { walkReferences as walkReferencesImpl } from "./internal/graph-traversal";
9
- import { stripNonClinicalData, generateLLMContext as generateLLMContextImpl, } from "./internal/llm-context";
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FhirBundleSdk = void 0;
4
+ const sdk_types_1 = require("./types/sdk-types");
5
+ const interval_tree_1 = require("./utils/interval-tree");
6
+ const validation_1 = require("./internal/validation");
7
+ const date_extraction_1 = require("./internal/date-extraction");
8
+ const indexing_1 = require("./internal/indexing");
9
+ const reference_resolution_1 = require("./internal/reference-resolution");
10
+ const bundle_operations_1 = require("./internal/bundle-operations");
11
+ const graph_traversal_1 = require("./internal/graph-traversal");
12
+ const llm_context_1 = require("./internal/llm-context");
10
13
  /**
11
14
  * FHIR Bundle SDK for parsing, querying, and manipulating FHIR bundles with reference resolution
12
15
  */
13
- export class FhirBundleSdk {
16
+ class FhirBundleSdk {
14
17
  constructor(bundle) {
15
18
  this.resourcesById = new Map();
16
19
  this.resourcesByFullUrl = new Map();
@@ -18,7 +21,7 @@ export class FhirBundleSdk {
18
21
  // Reverse reference index: maps resource ID to resources that reference it
19
22
  this.reverseReferencesById = new Map();
20
23
  // Date range index: interval tree for O(log n + k) date range searches
21
- this.dateRangeIndex = new IntervalTree();
24
+ this.dateRangeIndex = new interval_tree_1.IntervalTree();
22
25
  // Smart resource caching to maintain object identity
23
26
  this.smartResourceCache = new WeakMap();
24
27
  // Array caching for type-specific getters to maintain reference identity
@@ -29,7 +32,7 @@ export class FhirBundleSdk {
29
32
  // FR-1.1, FR-1.4: Initialize bundle and create indexes
30
33
  this.bundle = bundle;
31
34
  this.bundle.total = bundle.entry?.length ?? 0;
32
- buildResourceIndexes(this.bundle, this.resourcesById, this.resourcesByFullUrl, this.resourcesByType, this.reverseReferencesById, this.dateRangeIndex, this.resolutionStack);
35
+ (0, indexing_1.buildResourceIndexes)(this.bundle, this.resourcesById, this.resourcesByFullUrl, this.resourcesByType, this.reverseReferencesById, this.dateRangeIndex, this.resolutionStack);
33
36
  }
34
37
  get total() {
35
38
  if (!this.bundle.entry) {
@@ -53,7 +56,7 @@ export class FhirBundleSdk {
53
56
  * Returns an immutable copy without mutating the original.
54
57
  */
55
58
  static stripNonClinicalData(resource) {
56
- return stripNonClinicalData(resource);
59
+ return (0, llm_context_1.stripNonClinicalData)(resource);
57
60
  }
58
61
  /**
59
62
  * Create a new FhirBundleSdk instance (async for backwards compatibility)
@@ -80,7 +83,7 @@ export class FhirBundleSdk {
80
83
  * FR-5.8: Original reference fields remain unchanged
81
84
  */
82
85
  createSmartResource(resource) {
83
- return createSmartResourceImpl(resource, this.smartResourceCache, this.resourcesById, this.resourcesByFullUrl, this.resolutionStack, (targetId, options) => this.getResourcesReferencingId(targetId, options));
86
+ return (0, reference_resolution_1.createSmartResource)(resource, this.smartResourceCache, this.resourcesById, this.resourcesByFullUrl, this.resolutionStack, (targetId, options) => this.getResourcesReferencingId(targetId, options));
84
87
  }
85
88
  /**
86
89
  * FR-2.1: Validate all references in the bundle
@@ -89,7 +92,7 @@ export class FhirBundleSdk {
89
92
  * FR-2.4: Returns validation result with broken reference details
90
93
  */
91
94
  lookForBrokenReferences() {
92
- return lookForBrokenReferencesImpl(this.bundle, this.resourcesById, this.resourcesByFullUrl);
95
+ return (0, validation_1.lookForBrokenReferences)(this.bundle, this.resourcesById, this.resourcesByFullUrl);
93
96
  }
94
97
  /**
95
98
  * FR-3.1: Get resource by ID with type parameter support
@@ -151,14 +154,14 @@ export class FhirBundleSdk {
151
154
  if (resource) {
152
155
  // Cast to Resource to satisfy type checker - Smart extends Resource
153
156
  const plainResource = resource;
154
- const originalEntry = findOriginalEntry(this.bundle, plainResource);
157
+ const originalEntry = (0, bundle_operations_1.findOriginalEntry)(this.bundle, plainResource);
155
158
  if (originalEntry) {
156
- exportEntries.push(createBundleEntry(originalEntry, plainResource));
159
+ exportEntries.push((0, bundle_operations_1.createBundleEntry)(originalEntry, plainResource));
157
160
  }
158
161
  }
159
162
  // FR-6.5: Silently skip resources that don't exist
160
163
  }
161
- return createExportBundle(this.bundle, exportEntries);
164
+ return (0, bundle_operations_1.createExportBundle)(this.bundle, exportEntries);
162
165
  }
163
166
  /**
164
167
  * FR-6.2: Export all resources of a specific type
@@ -169,13 +172,13 @@ export class FhirBundleSdk {
169
172
  const resources = this.resourcesByType.get(resourceType) || [];
170
173
  const exportEntries = [];
171
174
  for (const resource of resources) {
172
- const originalEntry = findOriginalEntry(this.bundle, resource);
175
+ const originalEntry = (0, bundle_operations_1.findOriginalEntry)(this.bundle, resource);
173
176
  if (originalEntry) {
174
177
  // Resource is already a plain Resource from our internal maps
175
- exportEntries.push(createBundleEntry(originalEntry, resource));
178
+ exportEntries.push((0, bundle_operations_1.createBundleEntry)(originalEntry, resource));
176
179
  }
177
180
  }
178
- return createExportBundle(this.bundle, exportEntries);
181
+ return (0, bundle_operations_1.createExportBundle)(this.bundle, exportEntries);
179
182
  }
180
183
  /**
181
184
  * FR-6.3: Export all resources of specified types
@@ -187,13 +190,13 @@ export class FhirBundleSdk {
187
190
  for (const resourceType of resourceTypes) {
188
191
  const resources = this.resourcesByType.get(resourceType) || [];
189
192
  for (const resource of resources) {
190
- const originalEntry = findOriginalEntry(this.bundle, resource);
193
+ const originalEntry = (0, bundle_operations_1.findOriginalEntry)(this.bundle, resource);
191
194
  if (originalEntry) {
192
- exportEntries.push(createBundleEntry(originalEntry, resource));
195
+ exportEntries.push((0, bundle_operations_1.createBundleEntry)(originalEntry, resource));
193
196
  }
194
197
  }
195
198
  }
196
- return createExportBundle(this.bundle, exportEntries);
199
+ return (0, bundle_operations_1.createExportBundle)(this.bundle, exportEntries);
197
200
  }
198
201
  /**
199
202
  * Concatenate entries from another FhirBundleSdk with this bundle
@@ -203,7 +206,7 @@ export class FhirBundleSdk {
203
206
  const currentEntries = this.bundle.entry || [];
204
207
  const otherEntries = otherSdk.bundle.entry || [];
205
208
  const combinedEntries = [...currentEntries, ...otherEntries];
206
- const resultBundle = createExportBundle(this.bundle, combinedEntries);
209
+ const resultBundle = (0, bundle_operations_1.createExportBundle)(this.bundle, combinedEntries);
207
210
  return await FhirBundleSdk.create(resultBundle);
208
211
  }
209
212
  /**
@@ -221,14 +224,14 @@ export class FhirBundleSdk {
221
224
  const parameterResourceIdentifiers = new Map();
222
225
  // Populate base bundle identifiers
223
226
  for (const entry of baseBundle?.entry ?? []) {
224
- const identifier = getResourceIdentifier(entry);
227
+ const identifier = (0, sdk_types_1.getResourceIdentifier)(entry);
225
228
  if (identifier) {
226
229
  baseResourceIdentifiers.set(identifier, entry);
227
230
  }
228
231
  }
229
232
  // Populate parameter bundle identifiers
230
233
  for (const entry of parameterBundle?.entry ?? []) {
231
- const identifier = getResourceIdentifier(entry);
234
+ const identifier = (0, sdk_types_1.getResourceIdentifier)(entry);
232
235
  if (identifier) {
233
236
  parameterResourceIdentifiers.set(identifier, entry);
234
237
  }
@@ -249,9 +252,9 @@ export class FhirBundleSdk {
249
252
  }
250
253
  }
251
254
  return {
252
- common: await FhirBundleSdk.create(createExportBundle(this.bundle, commonEntries)),
253
- baseOnly: await FhirBundleSdk.create(createExportBundle(this.bundle, baseOnlyEntries)),
254
- parameterOnly: await FhirBundleSdk.create(createExportBundle(this.bundle, parameterOnlyEntries)),
255
+ common: await FhirBundleSdk.create((0, bundle_operations_1.createExportBundle)(this.bundle, commonEntries)),
256
+ baseOnly: await FhirBundleSdk.create((0, bundle_operations_1.createExportBundle)(this.bundle, baseOnlyEntries)),
257
+ parameterOnly: await FhirBundleSdk.create((0, bundle_operations_1.createExportBundle)(this.bundle, parameterOnlyEntries)),
255
258
  };
256
259
  }
257
260
  /**
@@ -263,7 +266,7 @@ export class FhirBundleSdk {
263
266
  * @returns WalkResult containing all discovered resources organized by depth
264
267
  */
265
268
  walkReferences(startResource, options) {
266
- return walkReferencesImpl(startResource, options);
269
+ return (0, graph_traversal_1.walkReferences)(startResource, options);
267
270
  }
268
271
  /**
269
272
  * Generate LLM-friendly context from a starting resource and its related resources.
@@ -274,7 +277,7 @@ export class FhirBundleSdk {
274
277
  * @returns Formatted string suitable for LLM context
275
278
  */
276
279
  generateLLMContext(startResource, options) {
277
- return generateLLMContextImpl(startResource, options, (sr, opts) => this.walkReferences(sr, opts));
280
+ return (0, llm_context_1.generateLLMContext)(startResource, options, (sr, opts) => this.walkReferences(sr, opts));
278
281
  }
279
282
  /**
280
283
  * Get all resources that reference a given resource ID (reverse reference lookup).
@@ -324,8 +327,8 @@ export class FhirBundleSdk {
324
327
  */
325
328
  searchByDateRange(options) {
326
329
  const { dateFrom, dateTo, resourceTypes, dateFields } = options;
327
- const fromMs = parseDate(typeof dateFrom === "string" ? dateFrom : dateFrom.toISOString());
328
- const toMs = parseDate(dateTo
330
+ const fromMs = (0, date_extraction_1.parseDate)(typeof dateFrom === "string" ? dateFrom : dateFrom.toISOString());
331
+ const toMs = (0, date_extraction_1.parseDate)(dateTo
329
332
  ? typeof dateTo === "string"
330
333
  ? dateTo
331
334
  : dateTo.toISOString()
@@ -357,6 +360,7 @@ export class FhirBundleSdk {
357
360
  return smartResources;
358
361
  }
359
362
  }
363
+ exports.FhirBundleSdk = FhirBundleSdk;
360
364
  /**
361
365
  * Configuration for dynamically generated resource getter methods.
362
366
  *