UNPKG

@careevolution/orchestrate

Version:

A TypeScript client for the Orchestrate API

369 lines (368 loc) 21.9 kB
import { Bundle, CodeSystem, CodeableConcept, Coding, ConceptMap, Parameters, ParametersParameter, ValueSet } from "fhir/r4.js"; import { IHttpHandler } from "./httpHandler.js"; declare const standardizeTargetSystems: readonly ["ICD-10-CM", "ICD-9-CM-Diagnosis", "SNOMED", "RxNorm", "LOINC", "CPT", "HCPCS", "NDC", "CVX", "http://hl7.org/fhir/sid/icd-10", "http://hl7.org/fhir/sid/icd-9", "http://snomed.info/sct", "http://www.nlm.nih.gov/research/umls/rxnorm", "http://loinc.org", "http://www.ama-assn.org/go/cpt", "http://hl7.org/fhir/sid/ndc", "http://hl7.org/fhir/sid/cvx"]; declare const standardizeResponseSystems: readonly ["http://hl7.org/fhir/sid/icd-10", "http://hl7.org/fhir/sid/icd-9", "http://snomed.info/sct", "http://hl7.org/fhir/sid/ndc", "http://hl7.org/fhir/sid/cvx", "http://www.nlm.nih.gov/research/umls/rxnorm", "http://loinc.org"]; export type StandardizeTargetSystem = (typeof standardizeTargetSystems)[number]; export type StandardizeRequest = Coding & { targetSystem?: StandardizeTargetSystem; }; export type StandardizeResponseCoding = Coding & { system: (typeof standardizeResponseSystems)[number]; }; export type StandardizeResponse = { readonly coding: ReadonlyArray<StandardizeResponseCoding>; }; export type StandardizeConditionResponse = StandardizeResponse; export type StandardizeMedicationResponse = StandardizeResponse; export type StandardizeObservationResponse = StandardizeResponse; export type StandardizeProcedureResponse = StandardizeResponse; export type StandardizeLabResponse = StandardizeResponse; export type StandardizeRadiologyResponse = StandardizeResponse; export type ClassifyRequest = Coding; declare const classifyConditionSystems: readonly ["http://snomed.info/sct", "http://hl7.org/fhir/sid/icd-10-cm", "http://hl7.org/fhir/sid/icd-9-cm-diagnosis", "ICD-10-CM", "ICD-9-CM-Diagnosis", "SNOMED"]; export type ClassifyConditionSystem = (typeof classifyConditionSystems)[number]; export type ClassifyConditionRequest = ClassifyRequest & { system: ClassifyConditionSystem; }; declare const covid19Condition: readonly ["Confirmed", "Suspected", "Exposure", "Encounter", "SignsAndSymptoms", "NonspecificRespiratoryViralInfection"]; export type ClassifyConditionResponse = { ccsrCatgory: CodeableConcept; ccsrDefaultInpatient: Coding; ccsrDefaultOutpatient: Coding; cciChronic: boolean; cciAcute: boolean; hccCategory: CodeableConcept; behavioral: boolean; substance: boolean; socialDeterminant: boolean; covid19Condition: typeof covid19Condition; }; declare const classifyMedicationSystems: readonly ["RxNorm", "NDC", "CVX", "SNOMED", "http://www.nlm.nih.gov/research/umls/rxnorm", "http://hl7.org/fhir/sid/ndc", "http://hl7.org/fhir/sid/cvx", "http://snomed.info/sct"]; export type ClassifyMedicationSystem = (typeof classifyMedicationSystems)[number]; export type ClassifyMedicationRequest = ClassifyRequest & { system: ClassifyMedicationSystem; }; declare const covid19Rx: readonly ["vaccination", "immunoglobulin", "medication"]; export type ClassifyMedicationResponse = { medRtTherapeuticClass: string[]; rxNormIngredient: string[]; rxNormStrength: string; rxNormGeneric: boolean; covid19Rx: typeof covid19Rx; }; declare const classifyObservationSystems: readonly ["http://loinc.org", "LOINC", "http://snomed.info/sct", "SNOMED"]; export type ClassifyObservationRequest = ClassifyRequest & { system: (typeof classifyObservationSystems)[number]; }; export type ClassifyObservationResponse = { loincComponent: string; loincClass: string; loincSystem: string; loincMethodType: string; loincTimeAspect: string; covid19Lab: ["antigen", "antibody", "immunoglobulin"]; category: [ "activity", "exam", "imaging", "laboratory", "procedure", "social-history", "survey", "therapy", "vital-signs" ]; }; export type GetFhirR4CodeSystemResponse = CodeSystem; export type SummarizeFhirR4CodeSystemsResponse = Bundle<CodeSystem>; declare const codeSystems: readonly ["ICD-10-CM", "ICD-9-CM-Diagnosis", "SNOMED", "RxNorm", "LOINC", "CPT", "HCPCS", "NDC", "CVX", "Argonaut", "C4BBClaimCareTeamRole", "C4BBClaimDiagnosisType", "C4BBCompoundLiteral", "CareEvolution", "CARIN-BB-Claim-Type", "CARIN-BB-DiagnosisType", "CdcRaceAndEthnicity", "ClaimCareTeamRoleCodes", "CMSRemittanceAdviceRemarkCodes", "DRG-FY2018", "DRG-FY2019", "DRG-FY2020", "DRG-FY2021", "DRG-FY2022", "DRG-FY2023", "fhir-address-use", "fhir-administrative-gender", "fhir-allergy-clinical-status", "fhir-allergy-intolerance-category", "Fhir-allergy-intolerance-category-dstu2", "fhir-allergy-intolerance-criticality", "fhir-allergy-intolerance-criticality-dstu2", "fhir-allergy-intolerance-status", "fhir-allergy-intolerance-type", "fhir-allergy-verification-status", "fhir-allergyintolerance-clinical", "fhir-allergyintolerance-verification", "fhir-care-plan-activity-status", "fhir-claim-type-link", "fhir-condition-category", "fhir-condition-category-dstu2", "fhir-condition-category-stu3", "fhir-condition-clinical", "fhir-condition-ver-status", "fhir-contact-point-system", "fhir-contact-point-system-DSTU2", "fhir-contact-point-use", "fhir-diagnosis-role", "fhir-diagnostic-order-priority", "fhir-diagnostic-order-status", "fhir-diagnostic-report-status", "fhir-document-reference-status", "fhir-encounter-admit-source", "fhir-encounter-class", "fhir-event-status", "fhir-explanationofbenefit-status", "fhir-fm-status", "fhir-goal-status", "fhir-goal-status-dstu2", "fhir-goal-status-stu3", "fhir-medication-admin-status", "fhir-medication-admin-status-R4", "fhir-medication-dispense-status", "fhir-medication-order-status", "fhir-medication-request-priority", "fhir-medication-request-status", "fhir-medication-statement-status", "fhir-medicationdispense-status", "fhir-medicationrequest-status", "fhir-name-use", "fhir-observation-status", "fhir-procedure-request-priority", "fhir-procedure-request-status", "fhir-reaction-event-severity", "fhir-referralstatus", "fhir-request-intent", "fhir-request-priority", "fhir-request-status", "fhir-task-intent", "fhir-task-status", "FhirCodes", "FhirCodesAlternate1", "FhirCodesAlternate2", "FhirCodesAlternate3", "FhirCodesAlternate4", "FhirCodesAlternate5", "FhirCodesAlternate6", "FhirCodesAlternate7", "HCC-V22", "HCC-V23", "HCC-V24", "HL7 Table 0001 - Administrative Sex", "HL7 Table 0002 - Marital Status", "HL7 Table 0004 - Patient Class", "HL7 Table 0005 - Race", "HL7 Table 0006 - Religion", "HL7 Table 0189 - Ethnic Group", "HL7ActCode", "HL7Acuity", "HL7ContactInfoUseCode", "HL7CurrentSmokingStatus", "HL7DetailedEthnicity", "HL7Ethnicity", "HL7Gender", "HL7MaritalStatus", "HL7NullFlavor", "HL7Race", "HL7RaceCategoryExcludingNulls", "HL7v3Religion", "ICD-9-CM (diagnosis codes)", "ICD-9-CM (procedure codes)", "InternetSocietyLanguage", "NCPDPDispensedAsWrittenOrProductSelectionCode", "OMOP", "POS", "ProviderTaxonomy", "Source Of Payment Typology", "UCUM", "UNII", "uscore-condition-category", "v2 Name Type", "X12ClaimAdjustmentReasonCodes"]; export type GetFhirR4CodeSystemRequest = { codeSystem: (typeof codeSystems)[number]; conceptContains?: string; pageNumber?: number; pageSize?: number; }; export type SummarizeFhirR4CodeSystemRequest = { codeSystem: (typeof codeSystems)[number]; }; export type SummarizeFhirR4CodeSystemResponse = CodeSystem; export type GetFhirR4ConceptMapResponse = Bundle<ConceptMap>; export type TranslateFhirR4ConceptMapResponse = Parameters; declare const translateDomains: readonly ["Condition", "AllergyIntolerance", "MedicationDispense", "MedicationAdministration", "MedicationRequest", "ExplanationOfBenefit", "Encounter", "Procedure", "DiagnosticReport", "Observation", "ServiceRequest", "Patient", "Practitioner", "Person", "CarePlan"]; export type TranslateFhirR4ConceptMapRequest = { code: string; domain?: (typeof translateDomains)[number]; }; export type GetFhirR4ValueSetScopesResponse = ValueSet; export type SummarizeFhirR4ValueSetScopeRequest = { scope: string; }; export type SummarizeFhirR4ValueSetScopeResponse = Bundle<ValueSet>; export type SummarizeFhirR4ValueSetRequest = { id: string; }; export type SummarizeFhirR4ValueSetResponse = ValueSet; export type GetFhirR4ValueSetRequest = { id: string; }; export type GetFhirR4ValueSetResponse = ValueSet; declare const classifyValueSetSystems: readonly ["http://snomed.info/sct", "http://hl7.org/fhir/sid/icd-10-cm", "http://hl7.org/fhir/sid/icd-9-cm-diagnosis", "http://hl7.org/fhir/sid/ndc", "http://hl7.org/fhir/sid/cvx"]; type ClassifyFhirR4ValueSetMembershipRequestSystem = ParametersParameter & { name: "system"; valueString: (typeof classifyValueSetSystems)[number]; }; type ClassifyFhirR4ValueSetMembershipRequestCode = ParametersParameter & { name: "code"; valueString: string; }; type ClassifyFhirR4ValueSetMembershipRequestScope = ParametersParameter & { name: "scope"; valueString: string; }; type ClassifyFhirR4ValueSetMembershipRequestParameter = ClassifyFhirR4ValueSetMembershipRequestCode | ClassifyFhirR4ValueSetMembershipRequestScope | ClassifyFhirR4ValueSetMembershipRequestSystem; export type ClassifyFhirR4ValueSetMembershipRequest = Parameters & { parameter: ClassifyFhirR4ValueSetMembershipRequestParameter[]; }; export type ClassifyFhirR4ValueSetMembershipResponse = Parameters; export type GetFhirR4ValueSetsByScopeRequest = { name?: string; scope?: string; pageNumber?: number; pageSize?: number; }; export type GetFhirR4ValueSetsByScopeResponse = Bundle<ValueSet>; export type GetAllFhirR4ValueSetsForCodesRequest = ClassifyFhirR4ValueSetMembershipRequest; export type GetAllFhirR4ValueSetsForCodesResponse = ClassifyFhirR4ValueSetMembershipResponse; export declare class TerminologyApi { private httpHandler; constructor(httpHandler: IHttpHandler); handleBatchOverload<TIn, TOut>(url: string, request: TIn): Promise<TOut>; /** * Classifies a condition, problem, or diagnosis. The input must be from one of the following code systems: * * - ICD-10-CM * - ICD-9-CM-Diagnosis * - SNOMED * @param request A FHIR Coding * @returns A set of key/value pairs representing different classification of the supplied coding * @link https://rosetta-api.docs.careevolution.com/terminology/classify/condition.html */ classifyCondition(request: ClassifyConditionRequest): Promise<ClassifyConditionResponse>; /** * Classifies conditions, problems, or diagnoses. The input must be from one of the following code systems: * - ICD-10-CM * - ICD-9-CM-Diagnosis * - SNOMED * @param request An array of FHIR Codings * @returns An array of sets of key/value pairs representing different classification of the supplied coding in the same order as the input * @link https://rosetta-api.docs.careevolution.com/terminology/classify/condition.html */ classifyCondition(request: ClassifyConditionRequest[]): Promise<ClassifyConditionResponse[]>; /** * Classifies a medication. The input must be from one of the following code systems: * * - RxNorm * - NDC * - CVX * - SNOMED * @param request A FHIR Coding * @returns A set of key/value pairs representing different classification of the supplied coding * @link https://rosetta-api.docs.careevolution.com/terminology/classify/medication.html */ classifyMedication(request: ClassifyMedicationRequest): Promise<ClassifyMedicationResponse>; /** * Classifies medications. The input must be from one of the following code systems: * * - RxNorm * - NDC * - CVX * - SNOMED * @param request An array of FHIR Codings * @returns An array of sets of key/value pairs representing different classification of the supplied coding in the same order as the input * @link https://rosetta-api.docs.careevolution.com/terminology/classify/medication.html */ classifyMedication(request: ClassifyMedicationRequest[]): Promise<ClassifyMedicationResponse[]>; /** * Classifies an observation, including lab observations and panels, radiology or other reports. The input must be from one of the following code systems: * * - LOINC * - SNOMED * @param request A FHIR Coding * @returns A set of key/value pairs representing different classification of the supplied coding * @link https://rosetta-api.docs.careevolution.com/terminology/classify/observation.html */ classifyObservation(request: ClassifyObservationRequest): Promise<ClassifyObservationResponse>; /** * Classifies observations, including lab observations and panels, radiology or other reports. The input must be from one of the following code systems: * * - LOINC * - SNOMED * @param request An array of FHIR Codings * @returns An array of sets of key/value pairs representing different classification of the supplied coding in the same order as the input * @link https://rosetta-api.docs.careevolution.com/terminology/classify/observation.html */ classifyObservation(request: ClassifyObservationRequest[]): Promise<ClassifyObservationResponse[]>; /** * Standardize a condition, problem, or diagnosis * @param request A FHIR Coding * @returns A collection of standardized codes * @link https://rosetta-api.docs.careevolution.com/terminology/standardize/condition.html */ standardizeCondition(request: StandardizeRequest): Promise<StandardizeConditionResponse>; /** * Standardize conditions, problems, or diagnoses * @param request An array of FHIR Codings * @returns An array of collections of standardized codes in the same order as the input * @link https://rosetta-api.docs.careevolution.com/terminology/standardize/condition.html */ standardizeCondition(request: StandardizeRequest[]): Promise<StandardizeConditionResponse[]>; /** * Standardize a medication code * @param request A FHIR Coding * @returns A collection of standardized codes * @link https://rosetta-api.docs.careevolution.com/terminology/standardize/medication.html */ standardizeMedication(request: StandardizeRequest): Promise<StandardizeMedicationResponse>; /** * Standardize medication codes * @param request An array of FHIR Codings * @returns An array of collections of standardized codes in the same order as the input * @link https://rosetta-api.docs.careevolution.com/terminology/standardize/medication.html */ standardizeMedication(request: StandardizeRequest[]): Promise<StandardizeMedicationResponse[]>; /** * Standardize an observation code * @param request A FHIR Coding * @returns A collection of standardized codes * @link https://rosetta-api.docs.careevolution.com/terminology/standardize/observation.html */ standardizeObservation(request: StandardizeRequest): Promise<StandardizeObservationResponse>; /** * Standardize observation codes * @param request An array of FHIR Codings * @returns An array of collections of standardized codes in the same order as the input * @link https://rosetta-api.docs.careevolution.com/terminology/standardize/observation.html */ standardizeObservation(request: StandardizeRequest[]): Promise<StandardizeObservationResponse[]>; /** * Standardize a procedure * @param request A FHIR Coding * @returns A collection of standardized codes * @link https://rosetta-api.docs.careevolution.com/terminology/standardize/procedure.html */ standardizeProcedure(request: StandardizeRequest): Promise<StandardizeObservationResponse>; /** * Standardize procedures * @param request An array of FHIR Codings * @returns An array of collections of standardized codes in the same order as the input * @link https://rosetta-api.docs.careevolution.com/terminology/standardize/procedure.html */ standardizeProcedure(request: StandardizeRequest[]): Promise<StandardizeObservationResponse[]>; /** * Standardize a lab observation or report code * @param request A FHIR Coding * @returns A collection of standardized codes * @link https://rosetta-api.docs.careevolution.com/terminology/standardize/lab.html */ standardizeLab(request: StandardizeRequest): Promise<StandardizeLabResponse>; /** * Standardize lab observations or report codes * @param request An array of FHIR Codings * @returns An array of collections of standardized codes in the same order as the input * @link https://rosetta-api.docs.careevolution.com/terminology/standardize/lab.html */ standardizeLab(request: StandardizeRequest[]): Promise<StandardizeLabResponse[]>; /** * Standardize a radiology or other report code * @param request A FHIR Coding * @returns A collection of standardized codes * @link https://rosetta-api.docs.careevolution.com/terminology/standardize/radiology.html */ standardizeRadiology(request: StandardizeRequest): Promise<StandardizeRadiologyResponse>; /** * Standardize radiology or other report codes * @param request An array of FHIR Codings * @returns An array of collections of standardized codes in the same order as the input * @link https://rosetta-api.docs.careevolution.com/terminology/standardize/radiology.html */ standardizeRadiology(request: StandardizeRequest[]): Promise<StandardizeRadiologyResponse[]>; /** * Describes a code system * @param request A code system name * @returns A populated CodeSystem * @link https://rosetta-api.docs.careevolution.com/fhir/codesystem.html */ getFhirR4CodeSystem(request: GetFhirR4CodeSystemRequest): Promise<GetFhirR4CodeSystemResponse>; /** * Describes available code systems * @returns A bundle of known CodeSystems * @link https://rosetta-api.docs.careevolution.com/fhir/codesystem.html */ summarizeFhirR4CodeSystems(): Promise<SummarizeFhirR4CodeSystemsResponse>; /** * Describes available concept maps * @returns A bundle of known ConceptMaps * @link https://rosetta-api.docs.careevolution.com/fhir/conceptmap.html */ getFhirR4ConceptMaps(): Promise<GetFhirR4ConceptMapResponse>; /** * Standardizes source codings to a reference code * @param request The best source description of the concept * @returns A Parameters object with the `"result"` parameter of `"valueBoolean": true` indicating if the service was able to standardize the code * @link https://rosetta-api.docs.careevolution.com/fhir/conceptmap.html */ translateFhirR4ConceptMap(request: TranslateFhirR4ConceptMapRequest): Promise<TranslateFhirR4ConceptMapResponse>; /** * Retrieves the set of ValueSets described in a scope * @param request A scope identifier * @returns A bundle of ValueSets within the requested scope * @link https://rosetta-api.docs.careevolution.com/fhir/valueset.html */ summarizeFhirR4ValueSetScope(request: SummarizeFhirR4ValueSetScopeRequest): Promise<SummarizeFhirR4ValueSetScopeResponse>; /** * Summarizes the total number of codes in a ValueSet * @param request A ValueSet identifier * @returns A ValueSet resource with only the count populated * @link https://rosetta-api.docs.careevolution.com/fhir/valueset.html */ summarizeFhirR4ValueSet(request: SummarizeFhirR4ValueSetRequest): Promise<SummarizeFhirR4ValueSetResponse>; /** * Retrieves a ValueSet by identifier * @param request A ValueSet identifier * @returns A ValueSet resource * @link https://rosetta-api.docs.careevolution.com/fhir/valueset.html */ getFhirR4ValueSet(request: GetFhirR4ValueSetRequest): Promise<GetFhirR4ValueSetResponse>; /** * Retrieves a paginated list of ValueSets filtered by name or scope * @param request A paginated request for ValueSets * @returns A bundle of ValueSets that match the search criteria * @link https://rosetta-api.docs.careevolution.com/fhir/valueset.html */ getFhirR4ValueSetsByScope(request: GetFhirR4ValueSetsByScopeRequest): Promise<GetFhirR4ValueSetsByScopeResponse>; /** * Requests the available ValueSet scopes * @returns A unique ValueSet that contains a list of all scopes available on the server * @link https://rosetta-api.docs.careevolution.com/fhir/valueset.html */ getFhirR4ValueSetScopes(): Promise<GetFhirR4ValueSetScopesResponse>; /** * In some situations it is useful to get the ValueSet(s) that a list of codes are members of. This can be used to categorize or group codes by ValueSet membership. For example, you may wish to: * * - Categorize a collection of NDC drug codes by their active ingredient. * - Categorize a collection of LOINC lab tests by the component they are measuring. * - Categorize a collection of ICD-10-CM Diagnoses into a broad set of disease groupings. * @param request A Parameters resource containing codes to classify * @returns A Parameters resource containing the classification results * @link https://rosetta-api.docs.careevolution.com/fhir/valueset.html */ getAllFhirR4ValueSetsForCodes(request: GetAllFhirR4ValueSetsForCodesRequest): Promise<GetAllFhirR4ValueSetsForCodesResponse>; /** * Summarizes a code system, typically used to determine number of codes * @param request A code system name * @returns An unpopulated CodeSystem * @link https://rosetta-api.docs.careevolution.com/fhir/codesystem.html */ summarizeFhirR4CodeSystem(request: SummarizeFhirR4CodeSystemRequest): Promise<SummarizeFhirR4CodeSystemResponse>; } export {};