saferx-pharma-sdk 1.4.0 → 1.4.2

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 (165) hide show
  1. package/dist/cjs/BaseClient.js +2 -2
  2. package/dist/cjs/Client.d.ts +12 -0
  3. package/dist/cjs/Client.js +67 -0
  4. package/dist/cjs/api/resources/developers/client/Client.d.ts +1 -1
  5. package/dist/cjs/api/resources/developers/client/Client.js +1 -1
  6. package/dist/cjs/api/resources/developers/exports.d.ts +2 -0
  7. package/dist/cjs/api/resources/developers/exports.js +21 -0
  8. package/dist/cjs/api/resources/drugSafety/client/Client.d.ts +39 -5
  9. package/dist/cjs/api/resources/drugSafety/client/Client.js +39 -5
  10. package/dist/cjs/api/resources/drugSafety/client/requests/DrugSafetyCheckRequest.d.ts +38 -4
  11. package/dist/cjs/api/resources/drugSafety/exports.d.ts +2 -0
  12. package/dist/cjs/api/resources/drugSafety/exports.js +21 -0
  13. package/dist/cjs/api/resources/drugSafety/types/GetDrugSafetyHealthResponse.d.ts +2 -14
  14. package/dist/cjs/api/resources/drugSafety/types/GetDrugSafetyHealthResponse.js +0 -11
  15. package/dist/cjs/api/types/Alert.d.ts +8 -2
  16. package/dist/cjs/api/types/Alert.js +5 -1
  17. package/dist/cjs/api/types/AllergyCrossReactivityReference.d.ts +16 -0
  18. package/dist/cjs/api/types/AllergyCrossReactivityReference.js +3 -0
  19. package/dist/cjs/api/types/AllergyData.d.ts +24 -0
  20. package/dist/cjs/api/types/AllergyData.js +11 -0
  21. package/dist/cjs/api/types/AllergyFamilyReference.d.ts +10 -0
  22. package/dist/cjs/api/types/AllergyFamilyReference.js +3 -0
  23. package/dist/cjs/api/types/AllergyInputEntry.d.ts +10 -0
  24. package/dist/cjs/api/types/AllergyInputEntry.js +3 -0
  25. package/dist/cjs/api/types/AllergyProductFamilyReference.d.ts +9 -0
  26. package/dist/cjs/api/types/AllergyProductFamilyReference.js +3 -0
  27. package/dist/cjs/api/types/AllergySummary.d.ts +14 -0
  28. package/dist/cjs/api/types/AllergySummary.js +3 -0
  29. package/dist/cjs/api/types/AllergyWarning.d.ts +30 -0
  30. package/dist/cjs/api/types/AllergyWarning.js +11 -0
  31. package/dist/cjs/api/types/ClinicalAlert.d.ts +8 -0
  32. package/dist/cjs/api/types/ClinicalContextApplied.d.ts +10 -0
  33. package/dist/cjs/api/types/ClinicalContextApplied.js +3 -0
  34. package/dist/cjs/api/types/ClinicalData.d.ts +7 -4
  35. package/dist/cjs/api/types/DailyLimit.d.ts +1 -1
  36. package/dist/cjs/api/types/DomainCode.d.ts +4 -2
  37. package/dist/cjs/api/types/DomainCode.js +4 -2
  38. package/dist/cjs/api/types/DosingData.d.ts +22 -12
  39. package/dist/cjs/api/types/DosingData.js +3 -3
  40. package/dist/cjs/api/types/DrugSafetyCheckResponse.d.ts +1 -0
  41. package/dist/cjs/api/types/ErrorResponse.d.ts +5 -0
  42. package/dist/cjs/api/types/IdentityMatch.d.ts +13 -0
  43. package/dist/cjs/api/types/IdentityMatch.js +3 -0
  44. package/dist/cjs/api/types/IntelligenceClinicalProfile.d.ts +24 -0
  45. package/dist/cjs/api/types/IntelligenceClinicalProfile.js +13 -0
  46. package/dist/cjs/api/types/IntelligenceContext.d.ts +17 -0
  47. package/dist/cjs/api/types/IntelligenceContext.js +3 -0
  48. package/dist/cjs/api/types/IntelligenceProcessorError.d.ts +4 -0
  49. package/dist/cjs/api/types/IntelligenceProcessorError.js +3 -0
  50. package/dist/cjs/api/types/IntelligenceResult.d.ts +16 -0
  51. package/dist/cjs/api/types/IntelligenceResult.js +3 -0
  52. package/dist/cjs/api/types/IntelligenceSynthesis.d.ts +6 -0
  53. package/dist/cjs/api/types/IntelligenceSynthesis.js +3 -0
  54. package/dist/cjs/api/types/Interaction.d.ts +0 -2
  55. package/dist/cjs/api/types/InteractionSummary.d.ts +4 -4
  56. package/dist/cjs/api/types/MedicationHistoryItem.d.ts +22 -0
  57. package/dist/cjs/api/types/MedicationHistoryItem.js +15 -0
  58. package/dist/cjs/api/types/Meta.d.ts +2 -0
  59. package/dist/cjs/api/types/Meta.js +1 -0
  60. package/dist/cjs/api/types/MetadataResponse.d.ts +14 -6
  61. package/dist/cjs/api/types/MetadataResponse.js +1 -0
  62. package/dist/cjs/api/types/PatientProfile.d.ts +31 -0
  63. package/dist/cjs/api/types/PatientProfile.js +17 -0
  64. package/dist/cjs/api/types/QuotaMeta.d.ts +11 -0
  65. package/dist/cjs/api/types/QuotaMeta.js +3 -0
  66. package/dist/cjs/api/types/RateLimitResponse.d.ts +11 -0
  67. package/dist/cjs/api/types/RateLimitResponse.js +1 -0
  68. package/dist/cjs/api/types/ResolvedDrug.d.ts +26 -0
  69. package/dist/cjs/api/types/SafetyData.d.ts +1 -0
  70. package/dist/cjs/api/types/index.d.ts +16 -0
  71. package/dist/cjs/api/types/index.js +16 -0
  72. package/dist/cjs/core/fetcher/BinaryResponse.d.ts +1 -1
  73. package/dist/cjs/core/fetcher/Fetcher.js +1 -1
  74. package/dist/cjs/core/fetcher/index.d.ts +2 -0
  75. package/dist/cjs/core/fetcher/index.js +3 -1
  76. package/dist/cjs/core/fetcher/makePassthroughRequest.d.ts +49 -0
  77. package/dist/cjs/core/fetcher/makePassthroughRequest.js +135 -0
  78. package/dist/cjs/core/fetcher/makeRequest.d.ts +6 -1
  79. package/dist/cjs/core/fetcher/makeRequest.js +30 -9
  80. package/dist/cjs/core/runtime/runtime.js +8 -7
  81. package/dist/cjs/version.d.ts +1 -1
  82. package/dist/cjs/version.js +1 -1
  83. package/dist/esm/BaseClient.mjs +2 -2
  84. package/dist/esm/Client.d.mts +12 -0
  85. package/dist/esm/Client.mjs +34 -0
  86. package/dist/esm/api/resources/developers/client/Client.d.mts +1 -1
  87. package/dist/esm/api/resources/developers/client/Client.mjs +1 -1
  88. package/dist/esm/api/resources/developers/exports.d.mts +2 -0
  89. package/dist/esm/api/resources/developers/exports.mjs +3 -0
  90. package/dist/esm/api/resources/drugSafety/client/Client.d.mts +39 -5
  91. package/dist/esm/api/resources/drugSafety/client/Client.mjs +39 -5
  92. package/dist/esm/api/resources/drugSafety/client/requests/DrugSafetyCheckRequest.d.mts +38 -4
  93. package/dist/esm/api/resources/drugSafety/exports.d.mts +2 -0
  94. package/dist/esm/api/resources/drugSafety/exports.mjs +3 -0
  95. package/dist/esm/api/resources/drugSafety/types/GetDrugSafetyHealthResponse.d.mts +2 -14
  96. package/dist/esm/api/resources/drugSafety/types/GetDrugSafetyHealthResponse.mjs +0 -11
  97. package/dist/esm/api/types/Alert.d.mts +8 -2
  98. package/dist/esm/api/types/Alert.mjs +5 -1
  99. package/dist/esm/api/types/AllergyCrossReactivityReference.d.mts +16 -0
  100. package/dist/esm/api/types/AllergyCrossReactivityReference.mjs +2 -0
  101. package/dist/esm/api/types/AllergyData.d.mts +24 -0
  102. package/dist/esm/api/types/AllergyData.mjs +8 -0
  103. package/dist/esm/api/types/AllergyFamilyReference.d.mts +10 -0
  104. package/dist/esm/api/types/AllergyFamilyReference.mjs +2 -0
  105. package/dist/esm/api/types/AllergyInputEntry.d.mts +10 -0
  106. package/dist/esm/api/types/AllergyInputEntry.mjs +2 -0
  107. package/dist/esm/api/types/AllergyProductFamilyReference.d.mts +9 -0
  108. package/dist/esm/api/types/AllergyProductFamilyReference.mjs +2 -0
  109. package/dist/esm/api/types/AllergySummary.d.mts +14 -0
  110. package/dist/esm/api/types/AllergySummary.mjs +2 -0
  111. package/dist/esm/api/types/AllergyWarning.d.mts +30 -0
  112. package/dist/esm/api/types/AllergyWarning.mjs +8 -0
  113. package/dist/esm/api/types/ClinicalAlert.d.mts +8 -0
  114. package/dist/esm/api/types/ClinicalContextApplied.d.mts +10 -0
  115. package/dist/esm/api/types/ClinicalContextApplied.mjs +2 -0
  116. package/dist/esm/api/types/ClinicalData.d.mts +7 -4
  117. package/dist/esm/api/types/DailyLimit.d.mts +1 -1
  118. package/dist/esm/api/types/DomainCode.d.mts +4 -2
  119. package/dist/esm/api/types/DomainCode.mjs +4 -2
  120. package/dist/esm/api/types/DosingData.d.mts +22 -12
  121. package/dist/esm/api/types/DosingData.mjs +3 -3
  122. package/dist/esm/api/types/DrugSafetyCheckResponse.d.mts +1 -0
  123. package/dist/esm/api/types/ErrorResponse.d.mts +5 -0
  124. package/dist/esm/api/types/IdentityMatch.d.mts +13 -0
  125. package/dist/esm/api/types/IdentityMatch.mjs +2 -0
  126. package/dist/esm/api/types/IntelligenceClinicalProfile.d.mts +24 -0
  127. package/dist/esm/api/types/IntelligenceClinicalProfile.mjs +10 -0
  128. package/dist/esm/api/types/IntelligenceContext.d.mts +17 -0
  129. package/dist/esm/api/types/IntelligenceContext.mjs +2 -0
  130. package/dist/esm/api/types/IntelligenceProcessorError.d.mts +4 -0
  131. package/dist/esm/api/types/IntelligenceProcessorError.mjs +2 -0
  132. package/dist/esm/api/types/IntelligenceResult.d.mts +16 -0
  133. package/dist/esm/api/types/IntelligenceResult.mjs +2 -0
  134. package/dist/esm/api/types/IntelligenceSynthesis.d.mts +6 -0
  135. package/dist/esm/api/types/IntelligenceSynthesis.mjs +2 -0
  136. package/dist/esm/api/types/Interaction.d.mts +0 -2
  137. package/dist/esm/api/types/InteractionSummary.d.mts +4 -4
  138. package/dist/esm/api/types/MedicationHistoryItem.d.mts +22 -0
  139. package/dist/esm/api/types/MedicationHistoryItem.mjs +12 -0
  140. package/dist/esm/api/types/Meta.d.mts +2 -0
  141. package/dist/esm/api/types/Meta.mjs +1 -0
  142. package/dist/esm/api/types/MetadataResponse.d.mts +14 -6
  143. package/dist/esm/api/types/MetadataResponse.mjs +1 -0
  144. package/dist/esm/api/types/PatientProfile.d.mts +31 -0
  145. package/dist/esm/api/types/PatientProfile.mjs +16 -1
  146. package/dist/esm/api/types/QuotaMeta.d.mts +11 -0
  147. package/dist/esm/api/types/QuotaMeta.mjs +2 -0
  148. package/dist/esm/api/types/RateLimitResponse.d.mts +11 -0
  149. package/dist/esm/api/types/RateLimitResponse.mjs +1 -0
  150. package/dist/esm/api/types/ResolvedDrug.d.mts +26 -0
  151. package/dist/esm/api/types/SafetyData.d.mts +1 -0
  152. package/dist/esm/api/types/index.d.mts +16 -0
  153. package/dist/esm/api/types/index.mjs +16 -0
  154. package/dist/esm/core/fetcher/BinaryResponse.d.mts +1 -1
  155. package/dist/esm/core/fetcher/Fetcher.mjs +1 -1
  156. package/dist/esm/core/fetcher/index.d.mts +2 -0
  157. package/dist/esm/core/fetcher/index.mjs +1 -0
  158. package/dist/esm/core/fetcher/makePassthroughRequest.d.mts +49 -0
  159. package/dist/esm/core/fetcher/makePassthroughRequest.mjs +132 -0
  160. package/dist/esm/core/fetcher/makeRequest.d.mts +6 -1
  161. package/dist/esm/core/fetcher/makeRequest.mjs +28 -9
  162. package/dist/esm/core/runtime/runtime.mjs +8 -7
  163. package/dist/esm/version.d.mts +1 -1
  164. package/dist/esm/version.mjs +1 -1
  165. package/package.json +31 -9
@@ -43,8 +43,8 @@ function normalizeClientOptions(options) {
43
43
  const headers = (0, headers_js_1.mergeHeaders)({
44
44
  "X-Fern-Language": "JavaScript",
45
45
  "X-Fern-SDK-Name": "saferx-pharma-sdk",
46
- "X-Fern-SDK-Version": "1.4.0",
47
- "User-Agent": "saferx-pharma-sdk/1.4.0",
46
+ "X-Fern-SDK-Version": "1.4.2",
47
+ "User-Agent": "saferx-pharma-sdk/1.4.2",
48
48
  "X-Fern-Runtime": core.RUNTIME.type,
49
49
  "X-Fern-Runtime-Version": core.RUNTIME.version,
50
50
  }, options === null || options === void 0 ? void 0 : options.headers);
@@ -2,6 +2,7 @@ import { DevelopersClient } from "./api/resources/developers/client/Client.js";
2
2
  import { DrugSafetyClient } from "./api/resources/drugSafety/client/Client.js";
3
3
  import type { BaseClientOptions, BaseRequestOptions } from "./BaseClient.js";
4
4
  import { type NormalizedClientOptionsWithAuth } from "./BaseClient.js";
5
+ import * as core from "./core/index.js";
5
6
  export declare namespace SafeRxClient {
6
7
  type Options = BaseClientOptions;
7
8
  interface RequestOptions extends BaseRequestOptions {
@@ -14,4 +15,15 @@ export declare class SafeRxClient {
14
15
  constructor(options?: SafeRxClient.Options);
15
16
  get drugSafety(): DrugSafetyClient;
16
17
  get developers(): DevelopersClient;
18
+ /**
19
+ * Make a passthrough request using the SDK's configured auth, retry, logging, etc.
20
+ * This is useful for making requests to endpoints not yet supported in the SDK.
21
+ * The input can be a URL string, URL object, or Request object. Relative paths are resolved against the configured base URL.
22
+ *
23
+ * @param {Request | string | URL} input - The URL, path, or Request object.
24
+ * @param {RequestInit} init - Standard fetch RequestInit options.
25
+ * @param {core.PassthroughRequest.RequestOptions} requestOptions - Per-request overrides (timeout, retries, headers, abort signal).
26
+ * @returns {Promise<Response>} A standard Response object.
27
+ */
28
+ fetch(input: Request | string | URL, init?: RequestInit, requestOptions?: core.PassthroughRequest.RequestOptions): Promise<Response>;
17
29
  }
@@ -1,10 +1,53 @@
1
1
  "use strict";
2
2
  // This file was auto-generated by Fern from our API Definition.
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || (function () {
20
+ var ownKeys = function(o) {
21
+ ownKeys = Object.getOwnPropertyNames || function (o) {
22
+ var ar = [];
23
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
+ return ar;
25
+ };
26
+ return ownKeys(o);
27
+ };
28
+ return function (mod) {
29
+ if (mod && mod.__esModule) return mod;
30
+ var result = {};
31
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
+ __setModuleDefault(result, mod);
33
+ return result;
34
+ };
35
+ })();
36
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
37
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
38
+ return new (P || (P = Promise))(function (resolve, reject) {
39
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
40
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
41
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
42
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
43
+ });
44
+ };
3
45
  Object.defineProperty(exports, "__esModule", { value: true });
4
46
  exports.SafeRxClient = void 0;
5
47
  const Client_js_1 = require("./api/resources/developers/client/Client.js");
6
48
  const Client_js_2 = require("./api/resources/drugSafety/client/Client.js");
7
49
  const BaseClient_js_1 = require("./BaseClient.js");
50
+ const core = __importStar(require("./core/index.js"));
8
51
  class SafeRxClient {
9
52
  constructor(options = {}) {
10
53
  this._options = (0, BaseClient_js_1.normalizeClientOptionsWithAuth)(options);
@@ -17,5 +60,29 @@ class SafeRxClient {
17
60
  var _a;
18
61
  return ((_a = this._developers) !== null && _a !== void 0 ? _a : (this._developers = new Client_js_1.DevelopersClient(this._options)));
19
62
  }
63
+ /**
64
+ * Make a passthrough request using the SDK's configured auth, retry, logging, etc.
65
+ * This is useful for making requests to endpoints not yet supported in the SDK.
66
+ * The input can be a URL string, URL object, or Request object. Relative paths are resolved against the configured base URL.
67
+ *
68
+ * @param {Request | string | URL} input - The URL, path, or Request object.
69
+ * @param {RequestInit} init - Standard fetch RequestInit options.
70
+ * @param {core.PassthroughRequest.RequestOptions} requestOptions - Per-request overrides (timeout, retries, headers, abort signal).
71
+ * @returns {Promise<Response>} A standard Response object.
72
+ */
73
+ fetch(input, init, requestOptions) {
74
+ return __awaiter(this, void 0, void 0, function* () {
75
+ var _a;
76
+ return core.makePassthroughRequest(input, init, {
77
+ baseUrl: (_a = this._options.baseUrl) !== null && _a !== void 0 ? _a : this._options.environment,
78
+ headers: this._options.headers,
79
+ timeoutInSeconds: this._options.timeoutInSeconds,
80
+ maxRetries: this._options.maxRetries,
81
+ fetch: this._options.fetch,
82
+ logging: this._options.logging,
83
+ getAuthHeaders: () => __awaiter(this, void 0, void 0, function* () { return (yield this._options.authProvider.getAuthRequest()).headers; }),
84
+ }, requestOptions);
85
+ });
86
+ }
20
87
  }
21
88
  exports.SafeRxClient = SafeRxClient;
@@ -37,7 +37,7 @@ export declare class DevelopersClient {
37
37
  * - Code expires after 30 minutes
38
38
  * - Max 5 wrong attempts per code (then must request new code)
39
39
  * - On success: issues sfx_free_ key (persistent, 1 per email)
40
- * - Free tier: 20 requests/minute, 60 requests/day
40
+ * - Free tier: 100 checks/month, 20 requests/minute anti-abuse, 60/day safety cap
41
41
  *
42
42
  * @param {SafeRx.VerifyFreeKeyDevelopersRequest} request
43
43
  * @param {DevelopersClient.RequestOptions} requestOptions - Request-specific configuration.
@@ -124,7 +124,7 @@ class DevelopersClient {
124
124
  * - Code expires after 30 minutes
125
125
  * - Max 5 wrong attempts per code (then must request new code)
126
126
  * - On success: issues sfx_free_ key (persistent, 1 per email)
127
- * - Free tier: 20 requests/minute, 60 requests/day
127
+ * - Free tier: 100 checks/month, 20 requests/minute anti-abuse, 60/day safety cap
128
128
  *
129
129
  * @param {SafeRx.VerifyFreeKeyDevelopersRequest} request
130
130
  * @param {DevelopersClient.RequestOptions} requestOptions - Request-specific configuration.
@@ -0,0 +1,2 @@
1
+ export { DevelopersClient } from "./client/Client.js";
2
+ export * from "./client/index.js";
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ // This file was auto-generated by Fern from our API Definition.
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
16
+ };
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.DevelopersClient = void 0;
19
+ var Client_js_1 = require("./client/Client.js");
20
+ Object.defineProperty(exports, "DevelopersClient", { enumerable: true, get: function () { return Client_js_1.DevelopersClient; } });
21
+ __exportStar(require("./client/index.js"), exports);
@@ -14,12 +14,14 @@ export declare class DrugSafetyClient {
14
14
  protected readonly _options: NormalizedClientOptionsWithAuth<DrugSafetyClient.Options>;
15
15
  constructor(options?: DrugSafetyClient.Options);
16
16
  /**
17
- * Screen one or more drugs across six safety domains in a single request.
17
+ * Screen one or more drugs across seven safety domains in a single request.
18
18
  *
19
19
  * The API resolves drug names via fuzzy matching, runs all requested safety
20
20
  * checks in parallel, and returns a unified response with alerts bubbled to
21
21
  * the top for easy triage.
22
22
  *
23
+ * This endpoint is API-key only. It does not require `X-SafeRx-Token`.
24
+ *
23
25
  * **Typical response time:** ~40ms (warm cache, 3 drugs, all domains).
24
26
  *
25
27
  * @param {SafeRx.DrugSafetyCheckRequest} request
@@ -42,9 +44,40 @@ export declare class DrugSafetyClient {
42
44
  * drugs: ["Augmentin 1g", "Glucophage 500mg", "Marivan"],
43
45
  * patient_profile: {
44
46
  * populations: ["geriatric", "renal"],
45
- * conditions: ["diabetes", "hypertension"]
47
+ * conditions: ["diabetes", "hypertension"],
48
+ * allergies: ["penicillin"]
49
+ * },
50
+ * include: ["ae", "ddi", "pllr", "food", "clinical", "dose", "allergy"],
51
+ * lang: "en"
52
+ * })
53
+ *
54
+ * @example
55
+ * await client.drugSafety.check({
56
+ * drugs: ["Augmentin 1g", "Marivan"],
57
+ * intelligence_context: {
58
+ * user_id: "patient-123",
59
+ * clinical_profile: {
60
+ * age: 72,
61
+ * crcl: 38,
62
+ * hepatic_status: "normal",
63
+ * pregnancy: false,
64
+ * lactation: false,
65
+ * conditions: ["renal impairment", "hypertension"],
66
+ * populations: ["geriatric", "renal"],
67
+ * allergies: ["penicillin"],
68
+ * diet_habits: ["low_sodium"]
69
+ * },
70
+ * medication_history: [{
71
+ * sfrx_id: "SRX-010-004748",
72
+ * start_date: "2026-01-10",
73
+ * status: "active"
74
+ * }, {
75
+ * sfrx_id: "SRX-050-000123",
76
+ * start_date: "2025-09-01",
77
+ * status: "historical"
78
+ * }]
46
79
  * },
47
- * include: ["ae", "ddi", "pllr", "clinical"],
80
+ * include: ["ae", "ddi", "pllr", "food", "clinical", "dose", "allergy"],
48
81
  * lang: "en"
49
82
  * })
50
83
  *
@@ -83,10 +116,11 @@ export declare class DrugSafetyClient {
83
116
  getMetadata(requestOptions?: DrugSafetyClient.RequestOptions): core.HttpResponsePromise<SafeRx.MetadataResponse>;
84
117
  private __getMetadata;
85
118
  /**
86
- * Returns health status of the Drug Safety API subsystem including
87
- * overall system health and availability.
119
+ * Returns minimal health status of the Drug Safety API subsystem.
88
120
  *
89
121
  * No authentication required. Designed for monitoring services.
122
+ * The public enterprise health endpoint intentionally does not expose
123
+ * database counts, module internals, or detailed dependency checks.
90
124
  *
91
125
  * @param {DrugSafetyClient.RequestOptions} requestOptions - Request-specific configuration.
92
126
  *
@@ -59,12 +59,14 @@ class DrugSafetyClient {
59
59
  this._options = (0, BaseClient_js_1.normalizeClientOptionsWithAuth)(options);
60
60
  }
61
61
  /**
62
- * Screen one or more drugs across six safety domains in a single request.
62
+ * Screen one or more drugs across seven safety domains in a single request.
63
63
  *
64
64
  * The API resolves drug names via fuzzy matching, runs all requested safety
65
65
  * checks in parallel, and returns a unified response with alerts bubbled to
66
66
  * the top for easy triage.
67
67
  *
68
+ * This endpoint is API-key only. It does not require `X-SafeRx-Token`.
69
+ *
68
70
  * **Typical response time:** ~40ms (warm cache, 3 drugs, all domains).
69
71
  *
70
72
  * @param {SafeRx.DrugSafetyCheckRequest} request
@@ -87,9 +89,40 @@ class DrugSafetyClient {
87
89
  * drugs: ["Augmentin 1g", "Glucophage 500mg", "Marivan"],
88
90
  * patient_profile: {
89
91
  * populations: ["geriatric", "renal"],
90
- * conditions: ["diabetes", "hypertension"]
92
+ * conditions: ["diabetes", "hypertension"],
93
+ * allergies: ["penicillin"]
94
+ * },
95
+ * include: ["ae", "ddi", "pllr", "food", "clinical", "dose", "allergy"],
96
+ * lang: "en"
97
+ * })
98
+ *
99
+ * @example
100
+ * await client.drugSafety.check({
101
+ * drugs: ["Augmentin 1g", "Marivan"],
102
+ * intelligence_context: {
103
+ * user_id: "patient-123",
104
+ * clinical_profile: {
105
+ * age: 72,
106
+ * crcl: 38,
107
+ * hepatic_status: "normal",
108
+ * pregnancy: false,
109
+ * lactation: false,
110
+ * conditions: ["renal impairment", "hypertension"],
111
+ * populations: ["geriatric", "renal"],
112
+ * allergies: ["penicillin"],
113
+ * diet_habits: ["low_sodium"]
114
+ * },
115
+ * medication_history: [{
116
+ * sfrx_id: "SRX-010-004748",
117
+ * start_date: "2026-01-10",
118
+ * status: "active"
119
+ * }, {
120
+ * sfrx_id: "SRX-050-000123",
121
+ * start_date: "2025-09-01",
122
+ * status: "historical"
123
+ * }]
91
124
  * },
92
- * include: ["ae", "ddi", "pllr", "clinical"],
125
+ * include: ["ae", "ddi", "pllr", "food", "clinical", "dose", "allergy"],
93
126
  * lang: "en"
94
127
  * })
95
128
  *
@@ -211,10 +244,11 @@ class DrugSafetyClient {
211
244
  });
212
245
  }
213
246
  /**
214
- * Returns health status of the Drug Safety API subsystem including
215
- * overall system health and availability.
247
+ * Returns minimal health status of the Drug Safety API subsystem.
216
248
  *
217
249
  * No authentication required. Designed for monitoring services.
250
+ * The public enterprise health endpoint intentionally does not expose
251
+ * database counts, module internals, or detailed dependency checks.
218
252
  *
219
253
  * @param {DrugSafetyClient.RequestOptions} requestOptions - Request-specific configuration.
220
254
  *
@@ -11,9 +11,40 @@ import type * as SafeRx from "../../../../index.js";
11
11
  * drugs: ["Augmentin 1g", "Glucophage 500mg", "Marivan"],
12
12
  * patient_profile: {
13
13
  * populations: ["geriatric", "renal"],
14
- * conditions: ["diabetes", "hypertension"]
14
+ * conditions: ["diabetes", "hypertension"],
15
+ * allergies: ["penicillin"]
15
16
  * },
16
- * include: ["ae", "ddi", "pllr", "clinical"],
17
+ * include: ["ae", "ddi", "pllr", "food", "clinical", "dose", "allergy"],
18
+ * lang: "en"
19
+ * }
20
+ *
21
+ * @example
22
+ * {
23
+ * drugs: ["Augmentin 1g", "Marivan"],
24
+ * intelligence_context: {
25
+ * user_id: "patient-123",
26
+ * clinical_profile: {
27
+ * age: 72,
28
+ * crcl: 38,
29
+ * hepatic_status: "normal",
30
+ * pregnancy: false,
31
+ * lactation: false,
32
+ * conditions: ["renal impairment", "hypertension"],
33
+ * populations: ["geriatric", "renal"],
34
+ * allergies: ["penicillin"],
35
+ * diet_habits: ["low_sodium"]
36
+ * },
37
+ * medication_history: [{
38
+ * sfrx_id: "SRX-010-004748",
39
+ * start_date: "2026-01-10",
40
+ * status: "active"
41
+ * }, {
42
+ * sfrx_id: "SRX-050-000123",
43
+ * start_date: "2025-09-01",
44
+ * status: "historical"
45
+ * }]
46
+ * },
47
+ * include: ["ae", "ddi", "pllr", "food", "clinical", "dose", "allergy"],
17
48
  * lang: "en"
18
49
  * }
19
50
  *
@@ -40,9 +71,12 @@ export interface DrugSafetyCheckRequest {
40
71
  */
41
72
  drugs: string[];
42
73
  patient_profile?: SafeRx.PatientProfile;
74
+ intelligence_context?: SafeRx.IntelligenceContext;
43
75
  /**
44
- * Safety domains to check. Omit to run all six domains.
45
- * Including fewer domains reduces response size and may improve latency.
76
+ * Safety domains to check. Omit or pass `null` to run all seven domains.
77
+ * When provided, `include` must be a non-empty array of valid lowercase
78
+ * domain codes. Unknown domain codes return `400 INVALID_INCLUDE_DOMAIN`.
79
+ * Duplicate valid domains are accepted and de-duplicated.
46
80
  */
47
81
  include?: SafeRx.DomainCode[];
48
82
  /**
@@ -0,0 +1,2 @@
1
+ export { DrugSafetyClient } from "./client/Client.js";
2
+ export * from "./client/index.js";
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ // This file was auto-generated by Fern from our API Definition.
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
16
+ };
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.DrugSafetyClient = void 0;
19
+ var Client_js_1 = require("./client/Client.js");
20
+ Object.defineProperty(exports, "DrugSafetyClient", { enumerable: true, get: function () { return Client_js_1.DrugSafetyClient; } });
21
+ __exportStar(require("./client/index.js"), exports);
@@ -1,7 +1,8 @@
1
1
  export interface GetDrugSafetyHealthResponse {
2
2
  status?: GetDrugSafetyHealthResponse.Status | undefined;
3
3
  subsystem?: string | undefined;
4
- checks?: Record<string, GetDrugSafetyHealthResponse.Checks.Value> | undefined;
4
+ /** Always empty on the public health endpoint. */
5
+ checks?: Record<string, unknown> | undefined;
5
6
  latency_ms?: number | undefined;
6
7
  }
7
8
  export declare namespace GetDrugSafetyHealthResponse {
@@ -10,17 +11,4 @@ export declare namespace GetDrugSafetyHealthResponse {
10
11
  readonly Degraded: "degraded";
11
12
  };
12
13
  type Status = (typeof Status)[keyof typeof Status];
13
- namespace Checks {
14
- interface Value {
15
- status?: Value.Status | undefined;
16
- }
17
- namespace Value {
18
- const Status: {
19
- readonly Healthy: "healthy";
20
- readonly Degraded: "degraded";
21
- readonly Unhealthy: "unhealthy";
22
- };
23
- type Status = (typeof Status)[keyof typeof Status];
24
- }
25
- }
26
14
  }
@@ -8,15 +8,4 @@ var GetDrugSafetyHealthResponse;
8
8
  Healthy: "healthy",
9
9
  Degraded: "degraded",
10
10
  };
11
- let Checks;
12
- (function (Checks) {
13
- let Value;
14
- (function (Value) {
15
- Value.Status = {
16
- Healthy: "healthy",
17
- Degraded: "degraded",
18
- Unhealthy: "unhealthy",
19
- };
20
- })(Value = Checks.Value || (Checks.Value = {}));
21
- })(Checks = GetDrugSafetyHealthResponse.Checks || (GetDrugSafetyHealthResponse.Checks = {}));
22
11
  })(GetDrugSafetyHealthResponse || (exports.GetDrugSafetyHealthResponse = GetDrugSafetyHealthResponse = {}));
@@ -14,11 +14,13 @@ export interface Alert {
14
14
  /**
15
15
  * Alert source domain and trigger.
16
16
  * - `ae_bbw` — Drug has a Black Box Warning
17
- * - `ddi` — Major (severity 4) or contraindicated (severity 5) interaction
17
+ * - `ddi` — Major (severity 3) or contraindicated (severity 4) interaction
18
18
  * - `pllr_pregnancy` — Pregnancy risk >= 6 (Contraindicated or Absolutely Contraindicated)
19
19
  * - `pllr_lactation` — Lactation risk >= 6
20
20
  * - `clinical_condition` — Clinical condition severity >= 4
21
21
  * - `clinical_population` — Clinical population severity >= 4
22
+ * - `allergy_direct` — Product directly matches a supplied patient allergy
23
+ * - `allergy_cross_reactivity` — Product cross-reacts with a supplied patient allergy
22
24
  */
23
25
  type: Alert.Type;
24
26
  /** Human-readable alert message (English) */
@@ -46,11 +48,13 @@ export declare namespace Alert {
46
48
  /**
47
49
  * Alert source domain and trigger.
48
50
  * - `ae_bbw` — Drug has a Black Box Warning
49
- * - `ddi` — Major (severity 4) or contraindicated (severity 5) interaction
51
+ * - `ddi` — Major (severity 3) or contraindicated (severity 4) interaction
50
52
  * - `pllr_pregnancy` — Pregnancy risk >= 6 (Contraindicated or Absolutely Contraindicated)
51
53
  * - `pllr_lactation` — Lactation risk >= 6
52
54
  * - `clinical_condition` — Clinical condition severity >= 4
53
55
  * - `clinical_population` — Clinical population severity >= 4
56
+ * - `allergy_direct` — Product directly matches a supplied patient allergy
57
+ * - `allergy_cross_reactivity` — Product cross-reacts with a supplied patient allergy
54
58
  */
55
59
  const Type: {
56
60
  readonly AeBbw: "ae_bbw";
@@ -59,6 +63,8 @@ export declare namespace Alert {
59
63
  readonly PllrLactation: "pllr_lactation";
60
64
  readonly ClinicalCondition: "clinical_condition";
61
65
  readonly ClinicalPopulation: "clinical_population";
66
+ readonly AllergyDirect: "allergy_direct";
67
+ readonly AllergyCrossReactivity: "allergy_cross_reactivity";
62
68
  };
63
69
  type Type = (typeof Type)[keyof typeof Type];
64
70
  }
@@ -20,11 +20,13 @@ var Alert;
20
20
  /**
21
21
  * Alert source domain and trigger.
22
22
  * - `ae_bbw` — Drug has a Black Box Warning
23
- * - `ddi` — Major (severity 4) or contraindicated (severity 5) interaction
23
+ * - `ddi` — Major (severity 3) or contraindicated (severity 4) interaction
24
24
  * - `pllr_pregnancy` — Pregnancy risk >= 6 (Contraindicated or Absolutely Contraindicated)
25
25
  * - `pllr_lactation` — Lactation risk >= 6
26
26
  * - `clinical_condition` — Clinical condition severity >= 4
27
27
  * - `clinical_population` — Clinical population severity >= 4
28
+ * - `allergy_direct` — Product directly matches a supplied patient allergy
29
+ * - `allergy_cross_reactivity` — Product cross-reacts with a supplied patient allergy
28
30
  */
29
31
  Alert.Type = {
30
32
  AeBbw: "ae_bbw",
@@ -33,5 +35,7 @@ var Alert;
33
35
  PllrLactation: "pllr_lactation",
34
36
  ClinicalCondition: "clinical_condition",
35
37
  ClinicalPopulation: "clinical_population",
38
+ AllergyDirect: "allergy_direct",
39
+ AllergyCrossReactivity: "allergy_cross_reactivity",
36
40
  };
37
41
  })(Alert || (exports.Alert = Alert = {}));
@@ -0,0 +1,16 @@
1
+ export interface AllergyCrossReactivityReference {
2
+ target_family?: string | undefined;
3
+ target_family_name_en?: string | undefined;
4
+ target_family_name_ar?: (string | null) | undefined;
5
+ severity?: number | undefined;
6
+ severity_label?: (string | null) | undefined;
7
+ severity_label_ar?: (string | null) | undefined;
8
+ frequency_category?: (number | null) | undefined;
9
+ frequency_label?: (string | null) | undefined;
10
+ frequency_label_ar?: (string | null) | undefined;
11
+ mechanism_en?: (string | null) | undefined;
12
+ mechanism_ar?: (string | null) | undefined;
13
+ clinical_note_en?: (string | null) | undefined;
14
+ clinical_note_ar?: (string | null) | undefined;
15
+ evidence_level?: (string | null) | undefined;
16
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ // This file was auto-generated by Fern from our API Definition.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,24 @@
1
+ import type * as SafeRx from "../index.js";
2
+ /**
3
+ * Patient allergy matching results. Without `patient_profile.allergies`,
4
+ * the domain returns reference-only summary data and no patient-specific
5
+ * clearance should be inferred.
6
+ */
7
+ export interface AllergyData {
8
+ mode?: AllergyData.Mode | undefined;
9
+ warnings?: SafeRx.AllergyWarning[] | undefined;
10
+ summary?: SafeRx.AllergySummary | undefined;
11
+ /** Product-level allergy family and cross-reactivity reference data keyed by `sfrx_id`. */
12
+ product_families?: Record<string, SafeRx.AllergyProductFamilyReference> | undefined;
13
+ needs_review_entries?: SafeRx.AllergyInputEntry[] | undefined;
14
+ unresolved_entries?: SafeRx.AllergyInputEntry[] | undefined;
15
+ /** Resolved product IDs that had no allergy reference record. */
16
+ missing_products?: string[] | undefined;
17
+ }
18
+ export declare namespace AllergyData {
19
+ const Mode: {
20
+ readonly ReferenceOnly: "reference_only";
21
+ readonly PatientProfile: "patient_profile";
22
+ };
23
+ type Mode = (typeof Mode)[keyof typeof Mode];
24
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ // This file was auto-generated by Fern from our API Definition.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.AllergyData = void 0;
5
+ var AllergyData;
6
+ (function (AllergyData) {
7
+ AllergyData.Mode = {
8
+ ReferenceOnly: "reference_only",
9
+ PatientProfile: "patient_profile",
10
+ };
11
+ })(AllergyData || (exports.AllergyData = AllergyData = {}));
@@ -0,0 +1,10 @@
1
+ import type * as SafeRx from "../index.js";
2
+ export interface AllergyFamilyReference {
3
+ family_id?: string | undefined;
4
+ name_en?: string | undefined;
5
+ name_ar?: (string | null) | undefined;
6
+ description_en?: (string | null) | undefined;
7
+ description_ar?: (string | null) | undefined;
8
+ clinical_significance?: (string | null) | undefined;
9
+ cross_reactivity?: SafeRx.AllergyCrossReactivityReference[] | undefined;
10
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ // This file was auto-generated by Fern from our API Definition.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Caller-provided allergy entry that could not be fully resolved or needs review.
3
+ */
4
+ export interface AllergyInputEntry {
5
+ raw_input?: string | undefined;
6
+ source_label?: string | undefined;
7
+ family_id?: (string | null) | undefined;
8
+ source_sfrx_id?: (string | null) | undefined;
9
+ normalization_status?: (string | null) | undefined;
10
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ // This file was auto-generated by Fern from our API Definition.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,9 @@
1
+ import type * as SafeRx from "../index.js";
2
+ export interface AllergyProductFamilyReference {
3
+ tradename_en?: string | undefined;
4
+ generic_en?: string | undefined;
5
+ dosage_form_en?: string | undefined;
6
+ route_type?: (string | null) | undefined;
7
+ has_allergy_data?: boolean | undefined;
8
+ families?: SafeRx.AllergyFamilyReference[] | undefined;
9
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ // This file was auto-generated by Fern from our API Definition.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,14 @@
1
+ export interface AllergySummary {
2
+ check_mode?: string | undefined;
3
+ products_checked?: number | undefined;
4
+ patient_allergies_count?: number | undefined;
5
+ resolved_patient_allergies_count?: number | undefined;
6
+ resolved_family_count?: number | undefined;
7
+ needs_review_count?: number | undefined;
8
+ unresolved_patient_allergies_count?: number | undefined;
9
+ direct_warnings?: number | undefined;
10
+ cross_reactivity_warnings?: number | undefined;
11
+ total_warnings?: number | undefined;
12
+ contraindicated_count?: number | undefined;
13
+ missing_products_count?: number | undefined;
14
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ // This file was auto-generated by Fern from our API Definition.
3
+ Object.defineProperty(exports, "__esModule", { value: true });