@fhirfly-io/terminology 0.7.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +206 -29
- package/dist/index.cjs +199 -13
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +389 -24
- package/dist/index.d.ts +389 -24
- package/dist/index.js +199 -13
- package/dist/index.js.map +1 -1
- package/package.json +10 -2
package/dist/index.d.ts
CHANGED
|
@@ -18,10 +18,7 @@ interface LookupOptions {
|
|
|
18
18
|
/**
|
|
19
19
|
* Common options for batch lookup methods.
|
|
20
20
|
*/
|
|
21
|
-
|
|
22
|
-
/** Maximum codes per batch (default: 100, max: 500) */
|
|
23
|
-
batchSize?: number;
|
|
24
|
-
}
|
|
21
|
+
type BatchLookupOptions = LookupOptions;
|
|
25
22
|
/**
|
|
26
23
|
* Legal/licensing information included in responses.
|
|
27
24
|
*/
|
|
@@ -467,7 +464,7 @@ declare class NdcEndpoint {
|
|
|
467
464
|
* @example
|
|
468
465
|
* ```ts
|
|
469
466
|
* const ndc = await client.ndc.lookup("0069-0151-01");
|
|
470
|
-
* console.log(ndc.data.
|
|
467
|
+
* console.log(ndc.data.brand_name); // "Lipitor"
|
|
471
468
|
* ```
|
|
472
469
|
*/
|
|
473
470
|
lookup(code: string, options?: LookupOptions): Promise<ApiResponse<NdcData>>;
|
|
@@ -487,10 +484,10 @@ declare class NdcEndpoint {
|
|
|
487
484
|
* ]);
|
|
488
485
|
*
|
|
489
486
|
* for (const item of results.results) {
|
|
490
|
-
* if (item.
|
|
491
|
-
* console.log(item.data.
|
|
487
|
+
* if (item.status === "ok") {
|
|
488
|
+
* console.log(item.data.brand_name);
|
|
492
489
|
* } else {
|
|
493
|
-
* console.log(`Not found: ${item.
|
|
490
|
+
* console.log(`Not found: ${item.input}`);
|
|
494
491
|
* }
|
|
495
492
|
* }
|
|
496
493
|
* ```
|
|
@@ -533,18 +530,19 @@ interface PersonName {
|
|
|
533
530
|
middle?: string;
|
|
534
531
|
prefix?: string;
|
|
535
532
|
suffix?: string;
|
|
536
|
-
|
|
533
|
+
credential_text?: string;
|
|
534
|
+
sex?: string;
|
|
537
535
|
}
|
|
538
536
|
/**
|
|
539
537
|
* Provider address information.
|
|
540
538
|
*/
|
|
541
539
|
interface NpiAddress {
|
|
542
|
-
|
|
543
|
-
|
|
540
|
+
line1?: string;
|
|
541
|
+
line2?: string;
|
|
544
542
|
city?: string;
|
|
545
543
|
state?: string;
|
|
546
|
-
|
|
547
|
-
|
|
544
|
+
postal?: string;
|
|
545
|
+
country?: string;
|
|
548
546
|
phone?: string;
|
|
549
547
|
phone_digits?: string;
|
|
550
548
|
fax?: string;
|
|
@@ -716,7 +714,7 @@ declare class NpiEndpoint {
|
|
|
716
714
|
/**
|
|
717
715
|
* Look up multiple NPIs in a single request.
|
|
718
716
|
*
|
|
719
|
-
* @param npis - Array of 10-digit NPI numbers (max
|
|
717
|
+
* @param npis - Array of 10-digit NPI numbers (max 100)
|
|
720
718
|
* @param options - Response shape, include, and batch options
|
|
721
719
|
* @returns Batch response with results for each NPI
|
|
722
720
|
*
|
|
@@ -858,7 +856,7 @@ declare class RxNormEndpoint {
|
|
|
858
856
|
/**
|
|
859
857
|
* Look up multiple RxCUIs in a single request.
|
|
860
858
|
*
|
|
861
|
-
* @param rxcuis - Array of RxCUIs (max
|
|
859
|
+
* @param rxcuis - Array of RxCUIs (max 100)
|
|
862
860
|
* @param options - Response shape, include, and batch options
|
|
863
861
|
* @returns Batch response with results for each RxCUI
|
|
864
862
|
*/
|
|
@@ -1035,7 +1033,7 @@ declare class LoincEndpoint {
|
|
|
1035
1033
|
/**
|
|
1036
1034
|
* Look up multiple LOINC codes in a single request.
|
|
1037
1035
|
*
|
|
1038
|
-
* @param loincNums - Array of LOINC numbers (max
|
|
1036
|
+
* @param loincNums - Array of LOINC numbers (max 100)
|
|
1039
1037
|
* @param options - Response shape, include, and batch options
|
|
1040
1038
|
* @returns Batch response with results for each LOINC
|
|
1041
1039
|
*/
|
|
@@ -1178,7 +1176,7 @@ declare class Icd10Endpoint {
|
|
|
1178
1176
|
*
|
|
1179
1177
|
* Codes can be a mix of CM (diagnoses) and PCS (procedures).
|
|
1180
1178
|
*
|
|
1181
|
-
* @param codes - Array of ICD-10 codes (max
|
|
1179
|
+
* @param codes - Array of ICD-10 codes (max 100)
|
|
1182
1180
|
* @param options - Response shape, include, and batch options
|
|
1183
1181
|
* @returns Batch response with results for each code
|
|
1184
1182
|
*/
|
|
@@ -1277,7 +1275,7 @@ declare class CvxEndpoint {
|
|
|
1277
1275
|
/**
|
|
1278
1276
|
* Look up multiple CVX codes in a single request.
|
|
1279
1277
|
*
|
|
1280
|
-
* @param cvxCodes - Array of CVX codes (max
|
|
1278
|
+
* @param cvxCodes - Array of CVX codes (max 100)
|
|
1281
1279
|
* @param options - Response shape, include, and batch options
|
|
1282
1280
|
* @returns Batch response with results for each code
|
|
1283
1281
|
*/
|
|
@@ -1404,7 +1402,7 @@ declare class MvxEndpoint {
|
|
|
1404
1402
|
/**
|
|
1405
1403
|
* Look up multiple MVX codes in a single request.
|
|
1406
1404
|
*
|
|
1407
|
-
* @param mvxCodes - Array of MVX codes (max
|
|
1405
|
+
* @param mvxCodes - Array of MVX codes (max 100)
|
|
1408
1406
|
* @param options - Response shape, include, and batch options
|
|
1409
1407
|
* @returns Batch response with results for each code
|
|
1410
1408
|
*/
|
|
@@ -1586,7 +1584,7 @@ declare class FdaLabelsEndpoint {
|
|
|
1586
1584
|
* Returns metadata only (no sections) for batch efficiency.
|
|
1587
1585
|
* Identifiers can be Set IDs, NDC codes, or RxCUIs (mixed).
|
|
1588
1586
|
*
|
|
1589
|
-
* @param identifiers - Array of identifiers (max
|
|
1587
|
+
* @param identifiers - Array of identifiers (max 50)
|
|
1590
1588
|
* @returns Batch response with results for each identifier
|
|
1591
1589
|
*/
|
|
1592
1590
|
lookupMany(identifiers: string[]): Promise<BatchResponse<FdaLabelData>>;
|
|
@@ -1933,6 +1931,367 @@ declare class SnomedEndpoint {
|
|
|
1933
1931
|
mappings(conceptId: string): Promise<ApiResponse<SnomedReverseMappingData>>;
|
|
1934
1932
|
}
|
|
1935
1933
|
|
|
1934
|
+
/**
|
|
1935
|
+
* Claim type for NCCI PTP edits.
|
|
1936
|
+
*/
|
|
1937
|
+
type NcciClaimType = "practitioner" | "hospital";
|
|
1938
|
+
/**
|
|
1939
|
+
* MUE service type.
|
|
1940
|
+
*/
|
|
1941
|
+
type MueServiceType = "practitioner" | "outpatient_hospital" | "dme";
|
|
1942
|
+
/**
|
|
1943
|
+
* Coverage policy type.
|
|
1944
|
+
*/
|
|
1945
|
+
type CoveragePolicyType = "lcd" | "ncd";
|
|
1946
|
+
/**
|
|
1947
|
+
* Legal information for claims responses.
|
|
1948
|
+
*/
|
|
1949
|
+
interface ClaimsLegalInfo {
|
|
1950
|
+
license: string;
|
|
1951
|
+
attribution_required: boolean;
|
|
1952
|
+
source_name: string;
|
|
1953
|
+
citation: string;
|
|
1954
|
+
}
|
|
1955
|
+
/**
|
|
1956
|
+
* Metadata included in claims API responses.
|
|
1957
|
+
*/
|
|
1958
|
+
interface ClaimsMeta {
|
|
1959
|
+
source: {
|
|
1960
|
+
name: string;
|
|
1961
|
+
quarter?: string;
|
|
1962
|
+
url?: string;
|
|
1963
|
+
};
|
|
1964
|
+
legal: ClaimsLegalInfo;
|
|
1965
|
+
}
|
|
1966
|
+
/**
|
|
1967
|
+
* Individual NCCI PTP edit result.
|
|
1968
|
+
*/
|
|
1969
|
+
interface NcciEditItem {
|
|
1970
|
+
claim_type: NcciClaimType;
|
|
1971
|
+
modifier_indicator: string;
|
|
1972
|
+
modifier_allowed: boolean;
|
|
1973
|
+
effective_date: string | null;
|
|
1974
|
+
is_active: boolean;
|
|
1975
|
+
rationale: string;
|
|
1976
|
+
}
|
|
1977
|
+
/**
|
|
1978
|
+
* NCCI PTP validation data.
|
|
1979
|
+
*/
|
|
1980
|
+
interface NcciValidateData {
|
|
1981
|
+
code1: string;
|
|
1982
|
+
code2: string;
|
|
1983
|
+
can_bill_together: boolean;
|
|
1984
|
+
edits: NcciEditItem[];
|
|
1985
|
+
summary: string;
|
|
1986
|
+
}
|
|
1987
|
+
/**
|
|
1988
|
+
* NCCI PTP validation response.
|
|
1989
|
+
*/
|
|
1990
|
+
interface NcciValidateResponse {
|
|
1991
|
+
data: NcciValidateData;
|
|
1992
|
+
meta: ClaimsMeta;
|
|
1993
|
+
}
|
|
1994
|
+
/**
|
|
1995
|
+
* Individual MUE limit entry.
|
|
1996
|
+
*/
|
|
1997
|
+
interface MueLimitItem {
|
|
1998
|
+
hcpcs_code: string;
|
|
1999
|
+
service_type: string;
|
|
2000
|
+
mue_value: number;
|
|
2001
|
+
adjudication_indicator: number;
|
|
2002
|
+
adjudication_indicator_display: string;
|
|
2003
|
+
rationale: string;
|
|
2004
|
+
}
|
|
2005
|
+
/**
|
|
2006
|
+
* MUE lookup data.
|
|
2007
|
+
*/
|
|
2008
|
+
interface MueLookupData {
|
|
2009
|
+
hcpcs_code: string;
|
|
2010
|
+
limits: MueLimitItem[];
|
|
2011
|
+
}
|
|
2012
|
+
/**
|
|
2013
|
+
* MUE single lookup response.
|
|
2014
|
+
*/
|
|
2015
|
+
interface MueLookupResponse {
|
|
2016
|
+
data: MueLookupData;
|
|
2017
|
+
meta: ClaimsMeta;
|
|
2018
|
+
}
|
|
2019
|
+
/**
|
|
2020
|
+
* MUE batch result item.
|
|
2021
|
+
*/
|
|
2022
|
+
interface MueBatchResultItem {
|
|
2023
|
+
input: string;
|
|
2024
|
+
hcpcs_code: string;
|
|
2025
|
+
status: "ok" | "not_found" | "invalid";
|
|
2026
|
+
data?: MueLookupData;
|
|
2027
|
+
error?: string;
|
|
2028
|
+
}
|
|
2029
|
+
/**
|
|
2030
|
+
* MUE batch response.
|
|
2031
|
+
*/
|
|
2032
|
+
interface MueBatchResponse {
|
|
2033
|
+
count: number;
|
|
2034
|
+
results: MueBatchResultItem[];
|
|
2035
|
+
meta: {
|
|
2036
|
+
legal: ClaimsLegalInfo;
|
|
2037
|
+
};
|
|
2038
|
+
}
|
|
2039
|
+
/**
|
|
2040
|
+
* RVU breakdown values.
|
|
2041
|
+
*/
|
|
2042
|
+
interface PfsRvu {
|
|
2043
|
+
work: number;
|
|
2044
|
+
pe_non_facility: number;
|
|
2045
|
+
pe_facility: number;
|
|
2046
|
+
mp: number;
|
|
2047
|
+
total_non_facility: number;
|
|
2048
|
+
total_facility: number;
|
|
2049
|
+
}
|
|
2050
|
+
/**
|
|
2051
|
+
* Calculated payment amounts.
|
|
2052
|
+
*/
|
|
2053
|
+
interface PfsPayment {
|
|
2054
|
+
non_facility: number;
|
|
2055
|
+
facility: number;
|
|
2056
|
+
}
|
|
2057
|
+
/**
|
|
2058
|
+
* PFS billing indicators.
|
|
2059
|
+
*/
|
|
2060
|
+
interface PfsIndicators {
|
|
2061
|
+
global_days: string | null;
|
|
2062
|
+
multiple_surgery: string | null;
|
|
2063
|
+
bilateral_surgery: string | null;
|
|
2064
|
+
}
|
|
2065
|
+
/**
|
|
2066
|
+
* PFS/RVU lookup data for a single HCPCS code.
|
|
2067
|
+
*/
|
|
2068
|
+
interface PfsLookupData {
|
|
2069
|
+
hcpcs_code: string;
|
|
2070
|
+
description: string;
|
|
2071
|
+
status_code: string;
|
|
2072
|
+
rvu: PfsRvu;
|
|
2073
|
+
conversion_factor: number;
|
|
2074
|
+
calculated_payment: PfsPayment;
|
|
2075
|
+
indicators: PfsIndicators;
|
|
2076
|
+
}
|
|
2077
|
+
/**
|
|
2078
|
+
* PFS single lookup response.
|
|
2079
|
+
*/
|
|
2080
|
+
interface PfsLookupResponse {
|
|
2081
|
+
data: PfsLookupData;
|
|
2082
|
+
meta: ClaimsMeta;
|
|
2083
|
+
}
|
|
2084
|
+
/**
|
|
2085
|
+
* PFS batch result item.
|
|
2086
|
+
*/
|
|
2087
|
+
interface PfsBatchResultItem {
|
|
2088
|
+
input: string;
|
|
2089
|
+
hcpcs_code: string;
|
|
2090
|
+
status: "ok" | "not_found" | "invalid";
|
|
2091
|
+
data?: PfsLookupData;
|
|
2092
|
+
error?: string;
|
|
2093
|
+
}
|
|
2094
|
+
/**
|
|
2095
|
+
* PFS batch response.
|
|
2096
|
+
*/
|
|
2097
|
+
interface PfsBatchResponse {
|
|
2098
|
+
count: number;
|
|
2099
|
+
results: PfsBatchResultItem[];
|
|
2100
|
+
meta: {
|
|
2101
|
+
legal: ClaimsLegalInfo;
|
|
2102
|
+
};
|
|
2103
|
+
}
|
|
2104
|
+
/**
|
|
2105
|
+
* Individual coverage policy item.
|
|
2106
|
+
*/
|
|
2107
|
+
interface CoverageCheckItem {
|
|
2108
|
+
policy_type: CoveragePolicyType;
|
|
2109
|
+
policy_id: string;
|
|
2110
|
+
display_id: string;
|
|
2111
|
+
policy_title: string;
|
|
2112
|
+
hcpcs_description: string;
|
|
2113
|
+
status: string;
|
|
2114
|
+
is_active: boolean;
|
|
2115
|
+
effective_date: string | null;
|
|
2116
|
+
}
|
|
2117
|
+
/**
|
|
2118
|
+
* Coverage check data.
|
|
2119
|
+
*/
|
|
2120
|
+
interface CoverageCheckData {
|
|
2121
|
+
hcpcs_code: string;
|
|
2122
|
+
policies_found: number;
|
|
2123
|
+
policies: CoverageCheckItem[];
|
|
2124
|
+
summary: string;
|
|
2125
|
+
}
|
|
2126
|
+
/**
|
|
2127
|
+
* Coverage check response.
|
|
2128
|
+
*/
|
|
2129
|
+
interface CoverageCheckResponse {
|
|
2130
|
+
data: CoverageCheckData;
|
|
2131
|
+
meta: ClaimsMeta;
|
|
2132
|
+
}
|
|
2133
|
+
|
|
2134
|
+
/**
|
|
2135
|
+
* Options for NCCI PTP validation.
|
|
2136
|
+
*/
|
|
2137
|
+
interface NcciValidateOptions {
|
|
2138
|
+
/** Filter by claim type. If omitted, returns edits for all claim types. */
|
|
2139
|
+
claim_type?: NcciClaimType;
|
|
2140
|
+
}
|
|
2141
|
+
/**
|
|
2142
|
+
* Options for MUE lookup.
|
|
2143
|
+
*/
|
|
2144
|
+
interface MueLookupOptions {
|
|
2145
|
+
/** Filter by service type. If omitted, returns limits for all service types. */
|
|
2146
|
+
service_type?: MueServiceType;
|
|
2147
|
+
}
|
|
2148
|
+
/**
|
|
2149
|
+
* Options for coverage check.
|
|
2150
|
+
*/
|
|
2151
|
+
interface CoverageCheckOptions {
|
|
2152
|
+
/** Return only active policies. Default: true */
|
|
2153
|
+
active?: boolean;
|
|
2154
|
+
}
|
|
2155
|
+
/**
|
|
2156
|
+
* Claims Intelligence API endpoints.
|
|
2157
|
+
*
|
|
2158
|
+
* Provides access to CMS claims editing and payment data:
|
|
2159
|
+
* - **NCCI PTP**: Validate if two CPT/HCPCS codes can be billed together
|
|
2160
|
+
* - **MUE**: Look up Medically Unlikely Edit limits for HCPCS codes
|
|
2161
|
+
* - **PFS/RVU**: Look up Physician Fee Schedule and Relative Value Units
|
|
2162
|
+
* - **Coverage**: Check LCD/NCD coverage determinations for HCPCS codes
|
|
2163
|
+
*
|
|
2164
|
+
* All claims endpoints require the `claims.read` scope.
|
|
2165
|
+
*
|
|
2166
|
+
* @example
|
|
2167
|
+
* ```ts
|
|
2168
|
+
* // Check if two codes can be billed together
|
|
2169
|
+
* const ncci = await client.claims.validateNcci("99213", "99214");
|
|
2170
|
+
* console.log(ncci.data.can_bill_together);
|
|
2171
|
+
*
|
|
2172
|
+
* // Look up MUE limits
|
|
2173
|
+
* const mue = await client.claims.lookupMue("99213");
|
|
2174
|
+
* for (const limit of mue.data.limits) {
|
|
2175
|
+
* console.log(`${limit.service_type}: max ${limit.mue_value} units`);
|
|
2176
|
+
* }
|
|
2177
|
+
*
|
|
2178
|
+
* // Look up fee schedule / RVU data
|
|
2179
|
+
* const pfs = await client.claims.lookupPfs("99213");
|
|
2180
|
+
* console.log(`Payment: $${pfs.data.calculated_payment.non_facility}`);
|
|
2181
|
+
*
|
|
2182
|
+
* // Check coverage policies
|
|
2183
|
+
* const coverage = await client.claims.checkCoverage("99213");
|
|
2184
|
+
* console.log(`${coverage.data.policies_found} policies found`);
|
|
2185
|
+
* ```
|
|
2186
|
+
*/
|
|
2187
|
+
declare class ClaimsEndpoint {
|
|
2188
|
+
private readonly http;
|
|
2189
|
+
constructor(http: HttpClient);
|
|
2190
|
+
/**
|
|
2191
|
+
* Validate whether two CPT/HCPCS codes can be billed together.
|
|
2192
|
+
*
|
|
2193
|
+
* @param code1 - First CPT/HCPCS code (4-5 alphanumeric characters)
|
|
2194
|
+
* @param code2 - Second CPT/HCPCS code (4-5 alphanumeric characters)
|
|
2195
|
+
* @param options - Optional filters (claim_type)
|
|
2196
|
+
* @returns Validation result with edit details and billing summary
|
|
2197
|
+
*
|
|
2198
|
+
* @example
|
|
2199
|
+
* ```ts
|
|
2200
|
+
* const result = await client.claims.validateNcci("99213", "99214");
|
|
2201
|
+
* if (!result.data.can_bill_together) {
|
|
2202
|
+
* console.log(result.data.summary);
|
|
2203
|
+
* for (const edit of result.data.edits) {
|
|
2204
|
+
* console.log(`${edit.claim_type}: modifier ${edit.modifier_allowed ? "allowed" : "not allowed"}`);
|
|
2205
|
+
* }
|
|
2206
|
+
* }
|
|
2207
|
+
* ```
|
|
2208
|
+
*/
|
|
2209
|
+
validateNcci(code1: string, code2: string, options?: NcciValidateOptions): Promise<NcciValidateResponse>;
|
|
2210
|
+
/**
|
|
2211
|
+
* Look up MUE limits for a HCPCS/CPT code.
|
|
2212
|
+
*
|
|
2213
|
+
* @param hcpcs - HCPCS/CPT code (4-5 alphanumeric characters)
|
|
2214
|
+
* @param options - Optional filters (service_type)
|
|
2215
|
+
* @returns MUE limit data including max units per service type
|
|
2216
|
+
*
|
|
2217
|
+
* @example
|
|
2218
|
+
* ```ts
|
|
2219
|
+
* const mue = await client.claims.lookupMue("99213");
|
|
2220
|
+
* for (const limit of mue.data.limits) {
|
|
2221
|
+
* console.log(`${limit.service_type}: max ${limit.mue_value} units`);
|
|
2222
|
+
* }
|
|
2223
|
+
* ```
|
|
2224
|
+
*/
|
|
2225
|
+
lookupMue(hcpcs: string, options?: MueLookupOptions): Promise<MueLookupResponse>;
|
|
2226
|
+
/**
|
|
2227
|
+
* Batch MUE lookup for multiple HCPCS codes.
|
|
2228
|
+
*
|
|
2229
|
+
* @param codes - Array of HCPCS/CPT codes (max 100)
|
|
2230
|
+
* @returns Batch results with per-code MUE limits
|
|
2231
|
+
*
|
|
2232
|
+
* @example
|
|
2233
|
+
* ```ts
|
|
2234
|
+
* const results = await client.claims.lookupMueMany(["99213", "99214", "99215"]);
|
|
2235
|
+
* for (const item of results.results) {
|
|
2236
|
+
* if (item.status === "ok") {
|
|
2237
|
+
* console.log(`${item.hcpcs_code}: ${item.data.limits.length} limits`);
|
|
2238
|
+
* }
|
|
2239
|
+
* }
|
|
2240
|
+
* ```
|
|
2241
|
+
*/
|
|
2242
|
+
lookupMueMany(codes: string[]): Promise<MueBatchResponse>;
|
|
2243
|
+
/**
|
|
2244
|
+
* Look up Physician Fee Schedule and RVU data for a HCPCS/CPT code.
|
|
2245
|
+
*
|
|
2246
|
+
* @param hcpcs - HCPCS/CPT code (4-5 alphanumeric characters)
|
|
2247
|
+
* @returns Fee schedule data including RVU breakdown and calculated payments
|
|
2248
|
+
*
|
|
2249
|
+
* @example
|
|
2250
|
+
* ```ts
|
|
2251
|
+
* const pfs = await client.claims.lookupPfs("99213");
|
|
2252
|
+
* console.log(`Description: ${pfs.data.description}`);
|
|
2253
|
+
* console.log(`Work RVU: ${pfs.data.rvu.work}`);
|
|
2254
|
+
* console.log(`Non-facility payment: $${pfs.data.calculated_payment.non_facility}`);
|
|
2255
|
+
* console.log(`Facility payment: $${pfs.data.calculated_payment.facility}`);
|
|
2256
|
+
* ```
|
|
2257
|
+
*/
|
|
2258
|
+
lookupPfs(hcpcs: string): Promise<PfsLookupResponse>;
|
|
2259
|
+
/**
|
|
2260
|
+
* Batch PFS/RVU lookup for multiple HCPCS codes.
|
|
2261
|
+
*
|
|
2262
|
+
* @param codes - Array of HCPCS/CPT codes (max 100)
|
|
2263
|
+
* @returns Batch results with per-code fee schedule data
|
|
2264
|
+
*
|
|
2265
|
+
* @example
|
|
2266
|
+
* ```ts
|
|
2267
|
+
* const results = await client.claims.lookupPfsMany(["99213", "99214", "99215"]);
|
|
2268
|
+
* for (const item of results.results) {
|
|
2269
|
+
* if (item.status === "ok") {
|
|
2270
|
+
* console.log(`${item.hcpcs_code}: $${item.data.calculated_payment.non_facility}`);
|
|
2271
|
+
* }
|
|
2272
|
+
* }
|
|
2273
|
+
* ```
|
|
2274
|
+
*/
|
|
2275
|
+
lookupPfsMany(codes: string[]): Promise<PfsBatchResponse>;
|
|
2276
|
+
/**
|
|
2277
|
+
* Check LCD/NCD coverage determinations linked to a HCPCS code.
|
|
2278
|
+
*
|
|
2279
|
+
* @param hcpcs - HCPCS/CPT code (4-5 alphanumeric characters)
|
|
2280
|
+
* @param options - Optional filters (active only)
|
|
2281
|
+
* @returns Coverage policies linked to the code
|
|
2282
|
+
*
|
|
2283
|
+
* @example
|
|
2284
|
+
* ```ts
|
|
2285
|
+
* const coverage = await client.claims.checkCoverage("99213");
|
|
2286
|
+
* console.log(`${coverage.data.policies_found} policies found`);
|
|
2287
|
+
* for (const policy of coverage.data.policies) {
|
|
2288
|
+
* console.log(`${policy.display_id}: ${policy.policy_title} [${policy.status}]`);
|
|
2289
|
+
* }
|
|
2290
|
+
* ```
|
|
2291
|
+
*/
|
|
2292
|
+
checkCoverage(hcpcs: string, options?: CoverageCheckOptions): Promise<CoverageCheckResponse>;
|
|
2293
|
+
}
|
|
2294
|
+
|
|
1936
2295
|
/**
|
|
1937
2296
|
* Base configuration options shared by all auth modes.
|
|
1938
2297
|
*/
|
|
@@ -2005,11 +2364,12 @@ type FhirflyConfig = FhirflyApiKeyConfig | FhirflyOAuthConfig;
|
|
|
2005
2364
|
*
|
|
2006
2365
|
* Provides access to healthcare reference data including drug codes (NDC, RxNorm),
|
|
2007
2366
|
* provider identifiers (NPI), lab codes (LOINC), diagnosis codes (ICD-10),
|
|
2008
|
-
* vaccine codes (CVX, MVX),
|
|
2367
|
+
* vaccine codes (CVX, MVX), FDA drug labels, SNOMED CT concepts, connectivity
|
|
2368
|
+
* intelligence, and claims editing/payment data (NCCI, MUE, PFS, Coverage).
|
|
2009
2369
|
*
|
|
2010
2370
|
* @example
|
|
2011
2371
|
* ```ts
|
|
2012
|
-
* import { Fhirfly } from "@fhirfly/
|
|
2372
|
+
* import { Fhirfly } from "@fhirfly-io/terminology";
|
|
2013
2373
|
*
|
|
2014
2374
|
* // Option A: API key (simple)
|
|
2015
2375
|
* const client = new Fhirfly({ apiKey: "ffly_sk_live_..." });
|
|
@@ -2022,7 +2382,7 @@ type FhirflyConfig = FhirflyApiKeyConfig | FhirflyOAuthConfig;
|
|
|
2022
2382
|
*
|
|
2023
2383
|
* // Look up a drug by NDC
|
|
2024
2384
|
* const ndc = await client.ndc.lookup("0069-0151-01");
|
|
2025
|
-
* console.log(ndc.data.
|
|
2385
|
+
* console.log(ndc.data.brand_name); // "Lipitor"
|
|
2026
2386
|
* ```
|
|
2027
2387
|
*/
|
|
2028
2388
|
declare class Fhirfly {
|
|
@@ -2069,6 +2429,11 @@ declare class Fhirfly {
|
|
|
2069
2429
|
* Look up clinical concepts from the SNOMED CT IPS free set (~12K concepts, CC BY 4.0).
|
|
2070
2430
|
*/
|
|
2071
2431
|
readonly snomed: SnomedEndpoint;
|
|
2432
|
+
/**
|
|
2433
|
+
* Claims Intelligence endpoints (requires `claims.read` scope).
|
|
2434
|
+
* NCCI PTP validation, MUE limits, PFS/RVU fee schedule, LCD/NCD coverage.
|
|
2435
|
+
*/
|
|
2436
|
+
readonly claims: ClaimsEndpoint;
|
|
2072
2437
|
/**
|
|
2073
2438
|
* Create a new FHIRfly client.
|
|
2074
2439
|
*
|
|
@@ -2154,4 +2519,4 @@ declare class TimeoutError extends FhirflyError {
|
|
|
2154
2519
|
constructor(timeoutMs: number);
|
|
2155
2520
|
}
|
|
2156
2521
|
|
|
2157
|
-
export { type ActiveIngredient, ApiError, type ApiResponse, AuthenticationError, type AuthorizedOfficial, type BatchLookupOptions, type BatchResponse, type BatchResultItem, type ConnectivityEndpointData, type ConnectivityMeta, type ConnectivityTargetData, type CvxCompact, type CvxData, type CvxFull, type CvxSearchParams, type CvxStandard, type Deactivation, type DisplayField, type EndpointAuthRequirements, type EndpointAvailability, type EnrichedTaxonomy, type EvidenceSummary, type FdaLabelBundleName, type FdaLabelData, type FdaLabelLookupOptions, type FdaLabelMetadata, type FdaLabelSearchCompact, type FdaLabelSearchData, type FdaLabelSearchFull, type FdaLabelSearchParams, type FdaLabelSearchStandard, type FhirMetadata, Fhirfly, type FhirflyApiKeyConfig, type FhirflyConfig, FhirflyError, type FhirflyOAuthConfig, type Icd10Compact, type Icd10Data, type Icd10Full, type Icd10SearchParams, type Icd10Standard, type Icd10Type, type IncludeOption, type IpsCategory, type LegalInfo, type LoincCompact, type LoincData, type LoincFhirCoding, type LoincFull, type LoincParts, type LoincRanks, type LoincSearchParams, type LoincSourceOrg, type LoincStandard, type LoincUnits, type LookupOptions, type MvxCompact, type MvxData, type MvxFhirCoding, type MvxFull, type MvxIngest, type MvxSearchParams, type MvxStandard, type NdcCompact, type NdcData, type NdcFull, type NdcSearchParams, type NdcStandard, type NdcType, NetworkError, NotFoundError, type NpiAddress, type NpiCompact, type NpiConnectivityData, type NpiData, type NpiFull, type NpiSearchParams, type NpiStandard, type OtherIdentifier, type PersonName, type ProviderSummary, QuotaExceededError, RateLimitError, type ResponseMeta, type ResponseShape, type RxNormCompact, type RxNormData, type RxNormFull, type RxNormSearchParams, type RxNormStandard, type RxTermType, type SearchFacets, type SearchLegalInfo, type SearchOptions, type SearchResponse, type SecondaryLocation, ServerError, type SnomedBatchResultItem, type SnomedCategoriesResponse, type SnomedConcept, type SnomedEnrichmentFull, type SnomedEnrichmentStandard, type SnomedMappingSource, type SnomedMappingSourceSystem, type SnomedMappingType, type SnomedReverseMapping, type SnomedReverseMappingData, type SnomedSearchParams, TimeoutError, TokenManager, ValidationError };
|
|
2522
|
+
export { type ActiveIngredient, ApiError, type ApiResponse, AuthenticationError, type AuthorizedOfficial, type BatchLookupOptions, type BatchResponse, type BatchResultItem, type ClaimsLegalInfo, type ClaimsMeta, type ConnectivityEndpointData, type ConnectivityMeta, type ConnectivityTargetData, type CoverageCheckData, type CoverageCheckItem, type CoverageCheckResponse, type CoveragePolicyType, type CvxCompact, type CvxData, type CvxFull, type CvxSearchParams, type CvxStandard, type Deactivation, type DisplayField, type EndpointAuthRequirements, type EndpointAvailability, type EnrichedTaxonomy, type EvidenceSummary, type FdaLabelBundleName, type FdaLabelData, type FdaLabelLookupOptions, type FdaLabelMetadata, type FdaLabelSearchCompact, type FdaLabelSearchData, type FdaLabelSearchFull, type FdaLabelSearchParams, type FdaLabelSearchStandard, type FhirMetadata, Fhirfly, type FhirflyApiKeyConfig, type FhirflyConfig, FhirflyError, type FhirflyOAuthConfig, type Icd10Compact, type Icd10Data, type Icd10Full, type Icd10SearchParams, type Icd10Standard, type Icd10Type, type IncludeOption, type IpsCategory, type LegalInfo, type LoincCompact, type LoincData, type LoincFhirCoding, type LoincFull, type LoincParts, type LoincRanks, type LoincSearchParams, type LoincSourceOrg, type LoincStandard, type LoincUnits, type LookupOptions, type MueBatchResponse, type MueBatchResultItem, type MueLimitItem, type MueLookupData, type MueLookupResponse, type MueServiceType, type MvxCompact, type MvxData, type MvxFhirCoding, type MvxFull, type MvxIngest, type MvxSearchParams, type MvxStandard, type NcciClaimType, type NcciEditItem, type NcciValidateData, type NcciValidateResponse, type NdcCompact, type NdcData, type NdcFull, type NdcSearchParams, type NdcStandard, type NdcType, NetworkError, NotFoundError, type NpiAddress, type NpiCompact, type NpiConnectivityData, type NpiData, type NpiFull, type NpiSearchParams, type NpiStandard, type OtherIdentifier, type PersonName, type PfsBatchResponse, type PfsBatchResultItem, type PfsIndicators, type PfsLookupData, type PfsLookupResponse, type PfsPayment, type PfsRvu, type ProviderSummary, QuotaExceededError, RateLimitError, type ResponseMeta, type ResponseShape, type RxNormCompact, type RxNormData, type RxNormFull, type RxNormSearchParams, type RxNormStandard, type RxTermType, type SearchFacets, type SearchLegalInfo, type SearchOptions, type SearchResponse, type SecondaryLocation, ServerError, type SnomedBatchResultItem, type SnomedCategoriesResponse, type SnomedConcept, type SnomedEnrichmentFull, type SnomedEnrichmentStandard, type SnomedMappingSource, type SnomedMappingSourceSystem, type SnomedMappingType, type SnomedReverseMapping, type SnomedReverseMappingData, type SnomedSearchParams, TimeoutError, TokenManager, ValidationError };
|