RxNorm linking - Amazon Comprehend Medical

RxNorm linking

Use the InferRxNorm operation to identify medications that are listed in a patient record as entities. The operation also links those entities to concept identifiers (RxCUI) from the RxNorm database from the National Library of Medicine. The source for each RxCUI is the 2022-11-07 RxNorm and RxTerms Release. Each RxCUI is unique for different strengths and dose forms. Amazon Comprehend Medical lists the top potentially matching RxCUIs for each medication that it detects in descending order by confidence score. Use the RxCUI codes for downstream analysis that is not possible with unstructured text. Related information such as strength, frequency, dose, dose form, and route of administration are listed as attributes in JSON format.

You can use InferRxNorm for the following scenarios:

  • Screening for medications the patient has taken.

  • Preventing potentially negative reactions between newly prescribed drugs and drugs the patient is currently taking.

  • Screening for inclusion in clinical trials based on drug history using the RxCUI.

  • Checking whether the dosage and frequency of a drug is appropriate.

  • Screening for uses, indications, and side effects of drugs.

  • Managing population health.

Important notice

The InferRxNorm operation of Amazon Comprehend Medical is not a substitute for professional medical advice, diagnosis, or treatment. Identify the right confidence threshold for your use case, and use high confidence thresholds in situations that require high accuracy. Only use Amazon Comprehend Medical operations in patient care scenarios after reviewing for accuracy and receiving sound judgment by trained medical professionals.

RxNorm category

InferRxNorm detects entities in the MEDICATION category. It also detects additional related information that is linked as attributes or traits.

RxNorm types

The types of entities in the Medication category are

  • BRAND_NAME: The copyrighted brand name of the medication or therapeutic agent.

  • GENERIC_NAME: Non-brand name, ingredient name, or formula mixture of the medication or therapeutic agent.

RxNorm attributes

  • DOSAGE: The amount of medication ordered.

  • DURATION: How long the medication should be administered.

  • FORM: The form of the medication.

  • FREQUENCY: How often to administer the medication.

  • RATE: The administration rate of the medication (primarily for medication infusions or IVs).

  • ROUTE_OR_MODE: The administration method of a medication.

  • STRENGTH: The medication strength.

RxNorm traits

  • NEGATION: Any indication that the patient is not taking a medication.

  • PAST_HISTORY: An indication that a medication detected is from the patient’s past (prior to current encounter).

Input and response examples

This section shows you an example of using the InferRxNorm operation using the AWS Command Line Interface. This code example uses the following medical note as the input: fluoride topical ( fluoride 1.1 % topical gel ) 1 application Topically daily Brush onto teeth before bed time, spit, do not rinse, eat or drink for 20-30 minutes.

aws comprehendmedical infer-rx-norm --text 'fluoride topical ( fluoride 1.1 % topical gel ) 1 application Topically daily Brush onto teeth before bed time , spit , do not rinse, eat or drink for 20-30 minutes'

Based on the previous input, you receive the following JSON response:

{ "Entities": [ { "Id": 1, "Text": "fluoride", "Category": "MEDICATION", "Type": "GENERIC_NAME", "Score": 0.9765048027038574, "BeginOffset": 19, "EndOffset": 27, "Attributes": [], "Traits": [], "RxNormConcepts": [ { "Description": "fluorine", "Code": "1310123", "Score": 0.9384168982505798 }, { "Description": "sodium fluoride", "Code": "9873", "Score": 0.9174549579620361 }, { "Description": "magnesium fluoride", "Code": "1435860", "Score": 0.8124921917915344 }, { "Description": "sulfuryl fluoride", "Code": "2289224", "Score": 0.5632417798042297 }, { "Description": "acidulated phosphate fluoride", "Code": "236", "Score": 0.41748538613319397 } ] } ], "ModelVersion": "2.2.0.20221003" }

The infer-rx-norm operation recognizes the negation trait too.

aws comprehendmedical infer-rx-norm --text 'patient is not on warfarin'

Based on the previous input, you receive the following JSON response:

{ "Entities": [ { "Id": 1, "Text": "warfarin", "Category": "MEDICATION", "Type": "GENERIC_NAME", "Score": 0.9970192909240723, "BeginOffset": 18, "EndOffset": 26, "Attributes": [], "Traits": [ { "Name": "NEGATION", "Score": 0.8079015016555786 } ], "RxNormConcepts": [ { "Description": "warfarin", "Code": "11289", "Score": 0.9439865350723267 }, { "Description": "warfarin sodium 2 MG Oral Tablet", "Code": "855302", "Score": 0.5045595169067383 }, { "Description": "warfarin sodium 10 MG Oral Tablet", "Code": "855296", "Score": 0.40246912837028503 }, { "Description": "warfarin sodium 2 MG Oral Tablet [Coumadin]", "Code": "855304", "Score": 0.22325271368026733 }, { "Description": "warfarin sodium 10 MG Oral Tablet [Jantoven]", "Code": "855300", "Score": 0.13163453340530396 } ] } ], "ModelVersion": "2.2.0.20221003" }