Repository: cancervariants/therapy-normalization (language: python)

Issue:
Remove xrefs from RxNorm with SRL > 1



Discussion / hints:

Fix patch:
diff --git a/therapy/etl/chemidplus.py b/therapy/etl/chemidplus.py
index 02a13328..779517a5 100644
--- a/therapy/etl/chemidplus.py
+++ b/therapy/etl/chemidplus.py
@@ -185,7 +185,7 @@ def _add_meta(self):
                     data_license_attributes=DataLicenseAttributes(
                         non_commercial=False,
                         share_alike=False,
-                        attribution=False
+                        attribution=True
                     ))
         item = dict(meta)
         item['src_name'] = SourceName.CHEMIDPLUS.value
diff --git a/therapy/etl/rxnorm.py b/therapy/etl/rxnorm.py
index 69aab132..e8420b23 100644
--- a/therapy/etl/rxnorm.py
+++ b/therapy/etl/rxnorm.py
@@ -4,12 +4,6 @@
 Library of Medicine (NLM), National Institutes of Health, Department of Health
  and Human Services; NLM is not responsible for the product and does not
  endorse or recommend this or any other product."
-
- "This material includes SNOMED Clinical Terms® (SNOMED CT®) which is used by
- permission of the International Health Terminology Standards Development
- Organisation (IHTSDO). All rights reserved. SNOMED CT®, was originally
- created by The College of American Pathologists. "SNOMED" and "SNOMED CT"
- are registered trademarks of the IHTSDO."
 """
 from .base import Base
 from therapy import PROJECT_ROOT, DownloadException
@@ -41,9 +35,9 @@
 # Semantic branded drug
 TRADE_NAMES = ['BD', 'BN', 'SBD']
 
-# Allowed xrefs
+# Allowed xrefs that have Source Level Restriction 0 or 1
 XREFS = ['ATC', 'CVX', 'DRUGBANK', 'MMSL', 'MSH', 'MTHCMSFRF', 'MTHSPL',
-         'RXNORM', 'SNOMEDCT_US', 'USP', 'VANDF']
+         'RXNORM', 'USP', 'VANDF']
 
 
 class RxNorm(Base):
@@ -370,12 +364,7 @@ def _add_str_field(self, params, row, precise_ingredient, drug_forms,
             if row[17] == '4096':
                 params['approval_status'] = ApprovalStatus.APPROVED.value
         elif term_type in ALIASES:
-            if term_type == 'PT' and source == 'SNOMEDCT_US':
-                if 'containing' not in term:
-                    # Dont want to store aliases that have "-containing ..."
-                    self._add_term(params, term, 'aliases')
-            else:
-                self._add_term(params, term, 'aliases')
+            self._add_term(params, term, 'aliases')
         elif term_type in TRADE_NAMES:
             self._add_term(params, term, 'trade_names')
 
@@ -441,11 +430,10 @@ def _add_meta(self):
                     data_license_attributes={
                         'non_commercial': False,
                         'share_alike': False,
-                        'attribution': False
+                        'attribution': True
                     })
         params = dict(meta)
         params['src_name'] = SourceName.RXNORM.value
-        params['snomedct_version'] = '20200731'
         self.database.metadata.put_item(Item=params)
 
     def _load_data(self):
diff --git a/therapy/schemas.py b/therapy/schemas.py
index 31e1a527..5ded3dcf 100644
--- a/therapy/schemas.py
+++ b/therapy/schemas.py
@@ -160,10 +160,9 @@ class NamespacePrefix(Enum):
     ATC = "atc"  # Anatomical Therapeutic Chemical Classification System
     CVX = "cvx"  # Vaccines Administered
     MMSL = "mmsl"  # Multum MediSource Lexicon
-    MSH = "msh"  # Medical Subject Headings
+    MSH = "mesh"  # Medical Subject Headings
     MTHCMSFRF = "mthcmsfrf"  # CMS Formulary Reference File
     MTHSPL = "mthspl"  # FDA Structured Product Labels
-    SNOMEDCT_US = "snomedct"  # US Edition of SNOMED CT
     USP = "usp"  # USP Compendial Nomenclature
     VANDF = "vandf"  # Veterans Health Administration National Drug File
 


Test patch:
diff --git a/tests/unit/data/metadata.json b/tests/unit/data/metadata.json
index 4643ef9b..eeee3861 100644
--- a/tests/unit/data/metadata.json
+++ b/tests/unit/data/metadata.json
@@ -59,7 +59,7 @@
     "data_license_attributes": {
       "non_commercial": false,
       "share_alike": false,
-      "attribution": false
+      "attribution": true
     }
   },
   {
@@ -71,7 +71,7 @@
     "data_license_attributes": {
       "non_commercial": false,
       "share_alike": false,
-      "attribution": false
+      "attribution": true
     }
   }
 ]
diff --git a/tests/unit/data/therapies.json b/tests/unit/data/therapies.json
index 44076e64..5a20d54d 100644
--- a/tests/unit/data/therapies.json
+++ b/tests/unit/data/therapies.json
@@ -528,23 +528,17 @@
     "label": "cisplatin",
     "approval_status": "approved",
     "aliases": [
-      "Diaminedichloroplatinum",
       "cis-Platinum",
       "CISplatin",
       "cis Diamminedichloroplatinum",
       "cis Platinum",
       "Diamminodichloride, Platinum",
-      "cis-Platinum compound",
-      "cis-DDP",
-      "cis-Diaminedichloroplatinum",
-      "cis-Platinum II",
+      "cis-Diamminedichloroplatinum",
       "DDP",
       "Dichlorodiammineplatinum",
-      "cis-Diamminedichloroplatinum",
       "cis-Dichlorodiammineplatinum(II)",
       "Platinum Diamminodichloride",
       "cis-Diamminedichloroplatinum(II)",
-      "cis-Platinum",
       "cis-diamminedichloroplatinum(II)",
       "CDDP",
       "Cis-DDP"
@@ -559,15 +553,13 @@
     ],
     "xrefs": [
       "usp:m17910",
-      "snomedct:57066004",
       "vandf:4018139",
-      "msh:D002945",
+      "mesh:D002945",
       "mthspl:Q20Q21Q62J",
       "mmsl:d00195",
       "atc:L01XA01",
       "mmsl:31747",
-      "mmsl:4456",
-      "snomedct:387318005"
+      "mmsl:4456"
     ],
     "src_name": "RxNorm"
   },
@@ -582,7 +574,7 @@
     "src_name": "RxNorm"
   },
   {
-    "label_and_type": "diaminedichloroplatinum##alias",
+    "label_and_type": "dichlorodiammineplatinum##alias",
     "concept_id": "rxcui:2555",
     "src_name": "RxNorm"
   },
@@ -603,7 +595,6 @@
     "approval_status": "approved",
     "aliases": [
       "3,5-diamino-N-carbamimidoyl-6-chloropyrazine-2-carboxamide",
-      "Amiloride",
       "aMILoride",
       "Amipramidin",
       "Amipramidine",
@@ -623,13 +614,11 @@
       "drugbank:DB00594"
     ],
     "xrefs": [
-      "snomedct:387503008",
-      "msh:D000584",
+      "mesh:D000584",
       "vandf:4019603",
       "mthspl:7DZO8EB0Z3",
       "mmsl:d00169",
-      "atc:C03DB01",
-      "snomedct:87395005"
+      "atc:C03DB01"
     ],
     "src_name": "RxNorm"
   },
@@ -661,7 +650,6 @@
     "aliases": [
       "(S)-1-((1,1-Dimethylethyl)amino)-3-((4-(4-morpholinyl)-1,2,5-thiadazol-3-yl)oxy)-2-propanol",
       "2-Propanol, 1-((1,1-dimethylethyl)amino)-3-((4-(4-morpholinyl)-1,2,5-thiadiazol-3-yl)oxy)-, (S)-",
-      "Timolol",
       "(S)-1-(tert-butylamino)-3-[(4-morpholin-4-yl-1,2,5-thiadiazol-3-yl)oxy]propan-2-ol"
     ],
     "trade_names": [
@@ -684,12 +672,10 @@
     "xrefs": [
       "vandf:4019949",
       "mthspl:817W3C6175",
-      "snomedct:372880004",
-      "msh:D013999",
+      "mesh:D013999",
       "mmsl:d00139",
       "atc:C07AA06",
-      "atc:S01ED01",
-      "snomedct:85591001"
+      "atc:S01ED01"
     ],
     "src_name": "RxNorm"
   },
@@ -714,7 +700,6 @@
     "label": "lymphocyte immune globulin, anti-thymocyte globulin",
     "approval_status": "approved",
     "aliases": [
-      "Antithymocyte immunoglobulin",
       "Lymphocyte Immune Globulin, Anti-Thymocyte Globulin",
       "Anti-Thymocyte Globulin",
       "Antithymocyte Globulin",
@@ -735,8 +720,7 @@
       "Thymoglobulin"
     ],
     "xrefs": [
-      "snomedct:768651008",
-      "msh:D000961",
+      "mesh:D000961",
       "vandf:4022194",
       "vandf:4018097",
       "mmsl:d01141",
@@ -777,7 +761,6 @@
     "aliases": [
       "Salicylic acid acetate",
       "Aspirin",
-      "Acetylsalicylic acid",
       "Acid, Acetylsalicylic",
       "2-(Acetyloxy)benzoic Acid",
       "2-Acetoxybenzenecarboxylic acid",
@@ -793,19 +776,16 @@
     ],
     "xrefs": [
       "usp:m6240",
-      "snomedct:7947003",
       "vandf:4017536",
       "mmsl:34512",
       "mthspl:R16CO5Y76E",
       "mmsl:244",
-      "snomedct:387458008",
-      "msh:D001241",
+      "mesh:D001241",
       "mmsl:4223",
       "mmsl:d00170",
       "atc:A01AD05",
       "atc:B01AC06",
-      "atc:N02BA01",
-      "snomedct:7947003"
+      "atc:N02BA01"
     ],
     "src_name": "RxNorm"
   },
@@ -830,7 +810,6 @@
     "label": "mesna",
     "approval_status": "approved",
     "aliases": [
-      "Sodium 2-mercaptoethanesulfonate",
       "Mesnum",
       "Ethanesulfonic acid, 2-mercapto-, monosodium salt",
       "Sodium 2-Mercaptoethanesulphonate",
@@ -844,15 +823,12 @@
     ],
     "xrefs": [
       "usp:m49500",
-      "snomedct:108821000",
-      "snomedct:386922000",
-      "msh:D015080",
+      "mesh:D015080",
       "vandf:4019477",
       "mthspl:NR7O1405Q9",
       "atc:R05CB05",
       "atc:V03AF01",
       "mmsl:41498",
-      "snomedct:386922000",
       "mmsl:5057",
       "mmsl:d01411"
     ],
@@ -884,14 +860,12 @@
     "label": "beta-alanine",
     "approval_status": "approved",
     "aliases": [
-      "Beta alanine",
       "beta Alanine",
       "3 Aminopropionic Acid",
       "3-Aminopropionic Acid"
     ],
     "xrefs": [
-      "snomedct:70587000",
-      "msh:D015091",
+      "mesh:D015091",
       "vandf:4028377",
       "mthspl:11P2JDE17B"
     ],
@@ -919,7 +893,7 @@
       "Dihydroxyprogesterone"
     ],
     "xrefs": [
-      "msh:D000523"
+      "mesh:D000523"
     ],
     "src_name": "RxNorm"
   },
@@ -938,40 +912,55 @@
     "concept_id": "rxcui:10582",
     "label": "levothyroxine",
     "approval_status": "approved",
+    "aliases": [
+      "3,5,3',5'-Tetraiodo-L-thyronine",
+      "Thyroxine",
+      "thyroxine",
+      "Thyroid Hormone, T4",
+      "Thyroxin",
+      "T4 Thyroid Hormone",
+      "O-(4-Hydroxy-3,5-diiodophenyl)-3,5-diiodotyrosine",
+      "3,5,3',5'-Tetraiodothyronine",
+      "O-(4-Hydroxy-3,5-diiodophenyl)-3,5-diiodo-L-tyrosine",
+      "L-T4",
+      "LT4",
+      "T4",
+      "3,3',5,5'-Tetraiodo-L-thyronine",
+      "L-Thyroxine",
+      "O-(4-Hydroxy-3,5-diidophenyl)-3,5-diiodo-L-tyrosine",
+      "4-(4-Hydroxy-3,5-diiodophenoxy)-3,5-diiodo-L-phenylalanine",
+      "Levothyroxin"
+    ],
     "trade_names": [
       "Eltroxin",
-     "Estre",
-     "Euthyrox",
-     "Leventa",
-     "Levo-T",
-     "Levocrine",
-     "Levotabs",
-     "Levothroid",
-     "Levothyroid",
-     "Levoxyl",
-     "Novothyrox",
-     "SOLOXINE",
-     "Synthroid",
-     "Thyro-Tabs",
-     "ThyroKare",
-     "ThyroMed",
-     "Thyrolar",
-     "Thyrox",
-     "Tirosint",
-     "Unithroid"
+      "Estre",
+      "Euthyrox",
+      "Leventa",
+      "Levo-T",
+      "Levocrine",
+      "Levotabs",
+      "Levothroid",
+      "Levothyroid",
+      "Levoxyl",
+      "Novothyrox",
+      "SOLOXINE",
+      "Synthroid",
+      "Thyro-Tabs",
+      "ThyroKare",
+      "ThyroMed",
+      "Thyrolar",
+      "Thyrox",
+      "Tirosint",
+      "Unithroid"
     ],
     "other_identifiers": [
       "drugbank:DB00451"
     ],
     "xrefs": [
-      "snomedct:768532006",
-      "snomedct:73187006",
       "vandf:4022126",
-      "msh:D013974",
+      "mesh:D013974",
       "mmsl:d00278",
-      "mthspl:Q51BO43MG4",
-      "snomedct:710809001",
-      "snomedct:38076006"
+      "mthspl:Q51BO43MG4"
     ],
     "src_name": "RxNorm"
   },
@@ -989,5 +978,15 @@
     "label_and_type": "euthyrox##trade_name",
     "concept_id": "rxcui:10582",
     "src_name": "RxNorm"
+  },
+  {
+    "label_and_type": "thyroxin##alias",
+    "concept_id": "rxcui:10582",
+    "src_name": "RxNorm"
+  },
+  {
+    "label_and_type": "lt4##alias",
+    "concept_id": "rxcui:10582",
+    "src_name": "RxNorm"
   }
 ]
diff --git a/tests/unit/test_chemidplus_source.py b/tests/unit/test_chemidplus_source.py
index b9cc9d04..a99baa14 100644
--- a/tests/unit/test_chemidplus_source.py
+++ b/tests/unit/test_chemidplus_source.py
@@ -154,5 +154,5 @@ def test_meta(chemidplus):
     assert response['meta_'].data_license_attributes == {
         "non_commercial": False,
         "share_alike": False,
-        "attribution": False
+        "attribution": True
     }
diff --git a/tests/unit/test_rxnorm_source.py b/tests/unit/test_rxnorm_source.py
index ba1e84b1..e8e0f507 100644
--- a/tests/unit/test_rxnorm_source.py
+++ b/tests/unit/test_rxnorm_source.py
@@ -55,23 +55,17 @@ def cisplatin():
         'label': 'cisplatin',
         'concept_id': 'rxcui:2555',
         'aliases': [
-            'Diaminedichloroplatinum',
             'cis-Platinum',
             'CISplatin',
             'cis Diamminedichloroplatinum',
             'cis Platinum',
             'Diamminodichloride, Platinum',
-            'cis-Platinum compound',
-            'cis-DDP',
-            'cis-Diaminedichloroplatinum',
-            'cis-Platinum II',
+            'cis-Diamminedichloroplatinum',
             'DDP',
             'Dichlorodiammineplatinum',
-            'cis-Diamminedichloroplatinum',
             'cis-Dichlorodiammineplatinum(II)',
             'Platinum Diamminodichloride',
             'cis-Diamminedichloroplatinum(II)',
-            'cis-Platinum',
             'cis-diamminedichloroplatinum(II)',
             'CDDP',
             'Cis-DDP',
@@ -83,15 +77,13 @@ def cisplatin():
         ],
         'xrefs': [
             'usp:m17910',
-            'snomedct:57066004',
             'vandf:4018139',
-            'msh:D002945',
+            'mesh:D002945',
             'mthspl:Q20Q21Q62J',
             'mmsl:d00195',
             'atc:L01XA01',
             'mmsl:31747',
             'mmsl:4456',
-            'snomedct:387318005'
         ],
         'trade_names': [
             'Cisplatin',
@@ -109,7 +101,6 @@ def amiloride():
         'concept_id': 'rxcui:644',
         'aliases': [
             '3,5-diamino-N-carbamimidoyl-6-chloropyrazine-2-carboxamide',
-            'Amiloride',
             'aMILoride',
             'Amipramidin',
             'Amipramidine',
@@ -121,13 +112,11 @@ def amiloride():
             'drugbank:DB00594'
         ],
         'xrefs': [
-            'snomedct:387503008',
-            'msh:D000584',
+            'mesh:D000584',
             'vandf:4019603',
             'mthspl:7DZO8EB0Z3',
             'mmsl:d00169',
-            'atc:C03DB01',
-            'snomedct:87395005'
+            'atc:C03DB01'
         ],
         'trade_names': [
             'Midamor',
@@ -153,7 +142,6 @@ def timolol():
             '-1,2,5-thiadazol-3-yl)oxy)-2-propanol',
             '2-Propanol, 1-((1,1-dimethylethyl)amino)-3-((4-(4-morpholi'
             'nyl)-1,2,5-thiadiazol-3-yl)oxy)-, (S)-',
-            'Timolol',
             '(S)-1-(tert-butylamino)-3-[(4-morpholin-4-yl-1,2,5-thiadiazol'
             '-3-yl)oxy]propan-2-ol'
         ],
@@ -164,12 +152,10 @@ def timolol():
         'xrefs': [
             'vandf:4019949',
             'mthspl:817W3C6175',
-            'snomedct:372880004',
-            'msh:D013999',
+            'mesh:D013999',
             'mmsl:d00139',
             'atc:C07AA06',
-            'atc:S01ED01',
-            'snomedct:85591001'
+            'atc:S01ED01'
         ],
         'trade_names': [
             'Betimol',
@@ -198,7 +184,6 @@ def lymphocyte():
         'label': 'lymphocyte immune globulin, anti-thymocyte globulin',
         'concept_id': 'rxcui:1011',
         'aliases': [
-            'Antithymocyte immunoglobulin',
             'Lymphocyte Immune Globulin, Anti-Thymocyte Globulin',
             'Anti-Thymocyte Globulin',
             'Antithymocyte Globulin',
@@ -217,8 +202,7 @@ def lymphocyte():
         'approval_status': 'approved',
         'other_identifiers': [],
         'xrefs': [
-            'snomedct:768651008',
-            'msh:D000961',
+            'mesh:D000961',
             'vandf:4022194',
             'vandf:4018097',
             'mmsl:d01141',
@@ -241,7 +225,6 @@ def aspirin():
         'aliases': [
             'Salicylic acid acetate',
             'Aspirin',
-            'Acetylsalicylic acid',
             'Acid, Acetylsalicylic',
             '2-(Acetyloxy)benzoic Acid',
             '2-Acetoxybenzenecarboxylic acid',
@@ -258,19 +241,16 @@ def aspirin():
         ],
         'xrefs': [
             'usp:m6240',
-            'snomedct:7947003',
             'vandf:4017536',
             'mmsl:34512',
             'mthspl:R16CO5Y76E',
             'mmsl:244',
-            'snomedct:387458008',
-            'msh:D001241',
+            'mesh:D001241',
             'mmsl:4223',
             'mmsl:d00170',
             'atc:A01AD05',
             'atc:B01AC06',
-            'atc:N02BA01',
-            'snomedct:7947003'
+            'atc:N02BA01'
         ],
         'trade_names': []
     }
@@ -284,7 +264,6 @@ def mesna():
         'label': 'mesna',
         'concept_id': 'rxcui:44',
         'aliases': [
-            'Sodium 2-mercaptoethanesulfonate',
             'Mesnum',
             'Ethanesulfonic acid, 2-mercapto-, monosodium salt',
             'Sodium 2-Mercaptoethanesulphonate',
@@ -295,15 +274,12 @@ def mesna():
         'other_identifiers': [],
         'xrefs': [
             'usp:m49500',
-            'snomedct:108821000',
-            'snomedct:386922000',
-            'msh:D015080',
+            'mesh:D015080',
             'vandf:4019477',
             'mthspl:NR7O1405Q9',
             'atc:R05CB05',
             'atc:V03AF01',
             'mmsl:41498',
-            'snomedct:386922000',
             'mmsl:5057',
             'mmsl:d01411'
         ],
@@ -323,7 +299,6 @@ def beta_alanine():
         'label': 'beta-alanine',
         'concept_id': 'rxcui:61',
         'aliases': [
-            'Beta alanine',
             'beta Alanine',
             '3 Aminopropionic Acid',
             '3-Aminopropionic Acid'
@@ -331,8 +306,7 @@ def beta_alanine():
         'approval_status': 'approved',
         'other_identifiers': [],
         'xrefs': [
-            'snomedct:70587000',
-            'msh:D015091',
+            'mesh:D015091',
             'vandf:4028377',
             'mthspl:11P2JDE17B'
         ],
@@ -356,7 +330,7 @@ def algestone():
         'approval_status': None,
         'other_identifiers': [],
         'xrefs': [
-            'msh:D000523'
+            'mesh:D000523'
         ],
         'trade_names': []
     }
@@ -369,20 +343,34 @@ def levothyroxine():
     params = {
         'label': 'levothyroxine',
         'concept_id': 'rxcui:10582',
-        'aliases': [],
+        'aliases': [
+            '3,5,3\',5\'-Tetraiodo-L-thyronine',
+            'Thyroxine',
+            'thyroxine',
+            'Thyroid Hormone, T4',
+            'Thyroxin',
+            'T4 Thyroid Hormone',
+            'O-(4-Hydroxy-3,5-diiodophenyl)-3,5-diiodotyrosine',
+            '3,5,3\',5\'-Tetraiodothyronine',
+            'O-(4-Hydroxy-3,5-diiodophenyl)-3,5-diiodo-L-tyrosine',
+            'L-T4',
+            'LT4',
+            'T4',
+            '3,3\',5,5\'-Tetraiodo-L-thyronine',
+            'L-Thyroxine',
+            'O-(4-Hydroxy-3,5-diidophenyl)-3,5-diiodo-L-tyrosine',
+            '4-(4-Hydroxy-3,5-diiodophenoxy)-3,5-diiodo-L-phenylalanine',
+            'Levothyroxin'
+        ],
         'approval_status': 'approved',
         'other_identifiers': [
             'drugbank:DB00451'
         ],
         'xrefs': [
-            'snomedct:768532006',
-            'snomedct:73187006',
             'vandf:4022126',
-            'msh:D013974',
+            'mesh:D013974',
             'mmsl:d00278',
-            'mthspl:Q51BO43MG4',
-            'snomedct:710809001',
-            'snomedct:38076006'
+            'mthspl:Q51BO43MG4'
         ],
         'trade_names': [
             'Eltroxin',
@@ -542,7 +530,7 @@ def test_cisplatin(cisplatin, rxnorm):
     assert set(normalized_drug.trade_names) == set(cisplatin.trade_names)
     assert normalized_drug.approval_status == cisplatin.approval_status
 
-    normalizer_response = rxnorm.normalize('Diaminedichloroplatinum')
+    normalizer_response = rxnorm.normalize('Dichlorodiammineplatinum')
     assert normalizer_response['match_type'] == MatchType.ALIAS
     assert len(normalizer_response['records']) == 1
     normalized_drug = normalizer_response['records'][0]
@@ -1062,6 +1050,33 @@ def test_levothyroxine(levothyroxine, rxnorm):
     assert set(normalized_drug.trade_names) == set(levothyroxine.trade_names)
     assert normalized_drug.approval_status == levothyroxine.approval_status
 
+    # Alias Match
+    normalizer_response = rxnorm.normalize('Thyroxin')
+    assert normalizer_response['match_type'] == MatchType.ALIAS
+    assert len(normalizer_response['records']) == 1
+    normalized_drug = normalizer_response['records'][0]
+    assert normalized_drug.label == levothyroxine.label
+    assert normalized_drug.concept_id == levothyroxine.concept_id
+    assert set(normalized_drug.aliases) == set(levothyroxine.aliases)
+    assert set(normalized_drug.other_identifiers) == \
+           set(levothyroxine.other_identifiers)
+    assert set(normalized_drug.xrefs) == set(levothyroxine.xrefs)
+    assert set(normalized_drug.trade_names) == set(levothyroxine.trade_names)
+    assert normalized_drug.approval_status == levothyroxine.approval_status
+
+    normalizer_response = rxnorm.normalize('LT4')
+    assert normalizer_response['match_type'] == MatchType.ALIAS
+    assert len(normalizer_response['records']) == 1
+    normalized_drug = normalizer_response['records'][0]
+    assert normalized_drug.label == levothyroxine.label
+    assert normalized_drug.concept_id == levothyroxine.concept_id
+    assert set(normalized_drug.aliases) == set(levothyroxine.aliases)
+    assert set(normalized_drug.other_identifiers) == \
+           set(levothyroxine.other_identifiers)
+    assert set(normalized_drug.xrefs) == set(levothyroxine.xrefs)
+    assert set(normalized_drug.trade_names) == set(levothyroxine.trade_names)
+    assert normalized_drug.approval_status == levothyroxine.approval_status
+
     # Trade Name Match
     normalizer_response = rxnorm.normalize('Unithroid')
     assert normalizer_response['match_type'] == MatchType.TRADE_NAME
@@ -1134,5 +1149,5 @@ def test_meta_info(rxnorm):
     assert normalizer_response.data_license_attributes == {
         "non_commercial": False,
         "share_alike": False,
-        "attribution": False
+        "attribution": True
     }