The fetchers should be placed in src/services/api/clinical-trials-search-api.
Each fetcher should have unit tests.
When a fetcher is implemented, the CTSMiddleware will need to be updated to use that method instead of the client.
Each fetcher should be single-purpose. Please do not try and refactor ahead of time. This should make life easier.
The response handlers for each action will be moved to the fetcher. This was just done because things were not made single purpose.
The action parameters should be analyzed to determine what specifically needs to be passed into the fetcher. There maybe other "parameters" but they can be coded into the fetcher.
Parent Issue: #406
ESTIMATE 3
Acceptance Criteria
Scenario: User searches for other treatments via autosuggest on advanced form
Given user is navigating to "/about-cancer/treatment/clinical-trials/search/advanced"
And "Drug/Treatment" form section is displayed
Then "Other Treatments" input field has a placeholder "Start typing to select other treatments"
When user clicks on "Treatment" field
Then autocomplete dropdown is displayed with "Please enter 3 or more characters" text
And user types "bio" in "Treatment" field
Then the autocomplete dropdown is displayed with the following results
| index | value |
| 0 | Laboratory Biomarker Analysis |
| 1 | Biospecimen Collection |
| 2 | Biopsy |
| 3 | Sentinel Lymph Node Biopsy |
| 4 | Diagnostic Laboratory Biomarker Analysis |
| 5 | Biopsy of Prostate |
| 6 | Fine-Needle Aspiration |
| 7 | Lymph Node Biopsy |
| 8 | Ultrasound-Guided Prostate Biopsy |
| 9 | Bioelectric Impedance Analysis |
Scenario: User searches for other treatment that does not exist on advanced form
Given user is navigating to "/about-cancer/treatment/clinical-trials/search/advanced"
And "Drug/Treatment" form section is displayed
When user clicks on "Treatment" field
Then autocomplete dropdown is displayed with "Please enter 3 or more characters" text
When user types "asdf" in "Treatment" field
Then autocomplete dropdown is displayed with "No results found" text
API Notes
Request in v1:
* Method: GET
* Api endpoint: https://clinicaltrialsapi.cancer.gov/v1/interventions?current_trial_status[]=Active¤t_trial_status[]=Approved¤t_trial_status[]=Enrolling%20by%20Invitation¤t_trial_status[]=In%20Review¤t_trial_status[]=Temporarily%20Closed%20to%20Accrual¤t_trial_status[]=Temporarily%20Closed%20to%20Accrual%20and%20Intervention&sort=cancergov&order=asc&category[]=Other&name=Bio&size=0
General Direction
src/services/api/clinical-trials-search-api
.Parent Issue: #406
Acceptance Criteria
API Notes
{ "terms": [ { "name": "Laboratory Biomarker Analysis", "codes": [ "C64263" ], "synonyms": [], "category": "other", "count": 880 }, { "name": "Biospecimen Collection", "codes": [ "C70945" ], "synonyms": [ "Biological Sample Collection" ], "category": "other", "count": 459 }, { "name": "Biopsy", "codes": [ "C15189" ], "synonyms": [ "Bx" ], "category": "other", "count": 67 }, { "name": "Diagnostic Laboratory Biomarker Analysis", "codes": [ "C64900" ], "synonyms": [], "category": "other", "count": 15 }, { "name": "Sentinel Lymph Node Biopsy", "codes": [ "C15667" ], "synonyms": [ "SLNB", "SNB", "Sentinel Node Biopsy" ], "category": "other", "count": 13 }, { "name": "Biomarker Analysis", "codes": [ "C63333" ], "synonyms": [], "category": "other", "count": 10 }, { "name": "Bone Marrow Biopsy", "codes": [ "C15193" ], "synonyms": [ "Biopsy of Bone Marrow", "Biopsy, Bone Marrow" ], "category": "other", "count": 9 }, { "name": "Fine-Needle Aspiration", "codes": [ "C15361" ], "synonyms": [ "Aspirate, Fine Needle", "FNA", "Fine Needle Aspiration", "Fine Needle Biopsy" ], "category": "other", "count": 7 }, { "name": "Core Biopsy", "codes": [ "C15680" ], "synonyms": [ "Core Needle Biopsy" ], "category": "other", "count": 6 }, { "name": "MRI Ultrasound Fusion Guided Biopsy", "codes": [ "C118510" ], "synonyms": [ "Fusion Biopsy", "Fusion Guided Biopsy", "Fusion-Guided Biopsy", "MR Fusion Biopsy", "MRI/US Biopsy", "MRI/Ultrasound Fusion Biopsy" ], "category": "other", "count": 6 }, { "name": "Skin Biopsy", "codes": [ "C51692" ], "synonyms": [ "Biopsy of Skin" ], "category": "other", "count": 6 }, { "name": "Biopsy of Prostate", "codes": [ "C51701" ], "synonyms": [ "Prostate Biopsy", "Prostatic Biopsy" ], "category": "other", "count": 5 }, { "name": "Bone Marrow Aspiration and Biopsy", "codes": [ "C92958" ], "synonyms": [], "category": "other", "count": 5 }, { "name": "Image-Guided Biopsy", "codes": [ "C15652" ], "synonyms": [ "Image Guided Biopsy", "Imaging Guided Biopsy" ], "category": "other", "count": 5 }, { "name": "Punch Biopsy", "codes": [ "C28743" ], "synonyms": [ "Punch Biopsy of Skin" ], "category": "other", "count": 5 }, { "name": "Biopsy of Breast", "codes": [ "C51698" ], "synonyms": [ "Breast Biopsy" ], "category": "other", "count": 4 }, { "name": "Liquid Biopsy", "codes": [ "C135727" ], "synonyms": [ "Liquid Biopsy", "Plasma Biopsy" ], "category": "other", "count": 4 }, { "name": "Endoscopic Biopsy", "codes": [ "C15389" ], "synonyms": [ "Endoscopy and Biopsy" ], "category": "other", "count": 3 }, { "name": "Liver Biopsy", "codes": [ "C51677" ], "synonyms": [ "Biopsy of Liver" ], "category": "other", "count": 3 }, { "name": "Lymph Node Biopsy", "codes": [ "C51900" ], "synonyms": [ "Biopsy of Lymph Node" ], "category": "other", "count": 3 }, { "name": "Biopsy Specimen Radiography", "codes": [ "C137813" ], "synonyms": [ "Biospecimen Radiography", "Specimen Radiography" ], "category": "other", "count": 2 }, { "name": "ClariCore Optical Biopsy System", "codes": [ "C153338" ], "synonyms": [ "ClariCore" ], "category": "other", "count": 2 }, { "name": "Electromagnetic-Based Therapy", "codes": [ "C16207" ], "synonyms": [ "Bioelectro-Magnetics", "Bioelectromagnetic Therapies", "Bioelectromagnetic-Based Therapy", "Bioelectromagnetics" ], "category": "other", "count": 2 }, { "name": "Manometry", "codes": [ "C16820" ], "synonyms": [ "Biochemistry, Manometry" ], "category": "other", "count": 2 }, { "name": "Stereotactic Biopsy", "codes": [ "C51654" ], "synonyms": [], "category": "other", "count": 2 }, { "name": "Bioelectric Impedance Analysis", "codes": [ "C43545" ], "synonyms": [ "BIA", "Bioelectric Impedance", "Bioelectric Impedance Test", "Bioelectrical Impedance Analysis", "Bioimpedance Analysis" ], "category": "other", "count": 1 }, { "name": "Biopsy Twinkling Marker Ultrasound Detection", "codes": [ "C178560" ], "synonyms": [ "Biopsy Twinkle Marker Detection", "Mayo Twinkle Marker", "Mayo Twinkle Marker Detection", "Twinkle Marker Detection" ], "category": "other", "count": 1 }, { "name": "Biopsy of Bladder", "codes": [ "C51700" ], "synonyms": [ "Bladder Biopsy" ], "category": "other", "count": 1 }, { "name": "Biopsy of Bone", "codes": [ "C51927" ], "synonyms": [ "Bone Biopsy" ], "category": "other", "count": 1 }, { "name": "Circadian Biometric Recorder", "codes": [ "C155848" ], "synonyms": [ "CBR System", "Cyrcadia Health Circadian Biometric Recorder" ], "category": "other", "count": 1 }, { "name": "Colposcopic Biopsy", "codes": [ "C15703" ], "synonyms": [], "category": "other", "count": 1 }, { "name": "Computed Tomography Assisted Biopsy", "codes": [ "C137909" ], "synonyms": [ "CT Assisted Biopsy", "CT Guided Biopsy", "Computed Tomography-Guided Needle Biopsy" ], "category": "other", "count": 1 }, { "name": "Endobronchial Ultrasound-Guided Miniforceps Biopsy", "codes": [ "C170542" ], "synonyms": [ "EBUS-MFB", "EBUS-Miniforceps Biopsy" ], "category": "other", "count": 1 }, { "name": "Incisional Biopsy", "codes": [ "C15386" ], "synonyms": [ "Open Biopsy" ], "category": "other", "count": 1 }, { "name": "Needle Biopsy of Prostate", "codes": [ "C51694" ], "synonyms": [], "category": "other", "count": 1 }, { "name": "Percutaneous Breast Biopsy", "codes": [ "C140257" ], "synonyms": [ "Percutaneous Biopsy of Breast" ], "category": "other", "count": 1 }, { "name": "Shave Biopsy", "codes": [ "C15387" ], "synonyms": [], "category": "other", "count": 1 }, { "name": "Transbronchial Lung Biopsy", "codes": [ "C51749" ], "synonyms": [], "category": "other", "count": 1 }, { "name": "Transperineal Biopsy", "codes": [ "C93199" ], "synonyms": [ "Transperineal Prostate Biopsy" ], "category": "other", "count": 1 }, { "name": "Transperineal MRI-guided Prostate Biopsy", "codes": [ "C182616" ], "synonyms": [], "category": "other", "count": 1 }, { "name": "Ultrasound-Guided Biopsy", "codes": [ "C93022" ], "synonyms": [], "category": "other", "count": 1 }, { "name": "Ultrasound-Guided Prostate Biopsy", "codes": [ "C116510" ], "synonyms": [], "category": "other", "count": 1 } ] }
{ "data": [ { "name": "Laboratory Biomarker Analysis", "codes": [ "C64263" ], "category": [ "other" ], "type": [ "other", "procedure/surgery" ], "synonyms": [ "Laboratory Biomarker Analysis" ], "count": 880 }, { "name": "Biospecimen Collection", "codes": [ "C70945" ], "category": [ "other" ], "type": [ "procedure/surgery", "other" ], "synonyms": [ "Biological Sample Collection", "Biospecimen Collection" ], "count": 459 }, { "name": "Biopsy", "codes": [ "C15189" ], "category": [ "other" ], "type": [ "procedure/surgery" ], "synonyms": [ "Biopsy", "Bx" ], "count": 67 }, { "name": "Diagnostic Laboratory Biomarker Analysis", "codes": [ "C64900" ], "category": [ "other" ], "type": [ "other" ], "synonyms": [ "Diagnostic Laboratory Biomarker Analysis" ], "count": 15 }, { "name": "Sentinel Lymph Node Biopsy", "codes": [ "C15667" ], "category": [ "other" ], "type": [ "procedure/surgery" ], "synonyms": [ "SLNB", "SNB", "Sentinel Lymph Node Biopsy", "Sentinel Node Biopsy" ], "count": 13 }, { "name": "Biomarker Analysis", "codes": [ "C63333" ], "category": [ "other" ], "type": [ "other" ], "synonyms": [ "Biomarker Analysis" ], "count": 10 }, { "name": "Bone Marrow Biopsy", "codes": [ "C15193" ], "category": [ "other" ], "type": [ "procedure/surgery" ], "synonyms": [ "Biopsy of Bone Marrow", "Biopsy, Bone Marrow" ], "count": 9 }, { "name": "Fine-Needle Aspiration", "codes": [ "C15361" ], "category": [ "other" ], "type": [ "procedure/surgery" ], "synonyms": [ "Aspirate, Fine Needle", "FNA", "Fine Needle Aspiration", "Fine Needle Biopsy", "Fine-Needle Aspiration" ], "count": 7 }, { "name": "Core Biopsy", "codes": [ "C15680" ], "category": [ "other" ], "type": [ "procedure/surgery" ], "synonyms": [ "Core Biopsy", "Core Needle Biopsy" ], "count": 6 }, { "name": "MRI Ultrasound Fusion Guided Biopsy", "codes": [ "C118510" ], "category": [ "other" ], "type": [ "procedure/surgery" ], "synonyms": [ "Fusion Biopsy", "Fusion Guided Biopsy", "Fusion-Guided Biopsy", "MR Fusion Biopsy", "MRI Ultrasound Fusion Guided Biopsy", "MRI/US Biopsy", "MRI/Ultrasound Fusion Biopsy" ], "count": 6 }, { "name": "Skin Biopsy", "codes": [ "C51692" ], "category": [ "other" ], "type": [ "procedure/surgery" ], "synonyms": [ "Biopsy of Skin", "Skin Biopsy" ], "count": 6 }, { "name": "Biopsy of Prostate", "codes": [ "C51701" ], "category": [ "other" ], "type": [ "procedure/surgery" ], "synonyms": [ "Biopsy of Prostate", "Prostate Biopsy", "Prostatic Biopsy" ], "count": 5 }, { "name": "Bone Marrow Aspiration and Biopsy", "codes": [ "C92958" ], "category": [ "other" ], "type": [ "procedure/surgery" ], "synonyms": [ "Bone Marrow Aspiration and Biopsy" ], "count": 5 }, { "name": "Image-Guided Biopsy", "codes": [ "C15652" ], "category": [ "other" ], "type": [ "procedure/surgery" ], "synonyms": [ "Image-Guided Biopsy", "Imaging Guided Biopsy" ], "count": 5 }, { "name": "Punch Biopsy", "codes": [ "C28743" ], "category": [ "other" ], "type": [ "procedure/surgery" ], "synonyms": [ "Punch Biopsy", "Punch Biopsy of Skin" ], "count": 5 }, { "name": "Biopsy of Breast", "codes": [ "C51698" ], "category": [ "other" ], "type": [ "procedure/surgery" ], "synonyms": [ "Biopsy of Breast", "Breast Biopsy" ], "count": 4 }, { "name": "Liquid Biopsy", "codes": [ "C135727" ], "category": [ "other" ], "type": [ "procedure/surgery" ], "synonyms": [ "Liquid Biopsy", "Plasma Biopsy" ], "count": 4 }, { "name": "Endoscopic Biopsy", "codes": [ "C15389" ], "category": [ "other" ], "type": [ "procedure/surgery" ], "synonyms": [ "Endoscopic Biopsy", "Endoscopy and Biopsy" ], "count": 3 }, { "name": "Liver Biopsy", "codes": [ "C51677" ], "category": [ "other" ], "type": [ "procedure/surgery" ], "synonyms": [ "Biopsy of Liver", "Liver Biopsy" ], "count": 3 }, { "name": "Lymph Node Biopsy", "codes": [ "C51900" ], "category": [ "other" ], "type": [ "procedure/surgery" ], "synonyms": [ "Biopsy of Lymph Node", "Lymph Node Biopsy" ], "count": 3 }, { "name": "Biopsy Specimen Radiography", "codes": [ "C137813" ], "category": [ "other" ], "type": [ "procedure/surgery" ], "synonyms": [ "Biopsy Specimen Radiography", "Biospecimen Radiography", "Specimen Radiography" ], "count": 2 }, { "name": "ClariCore Optical Biopsy System", "codes": [ "C153338" ], "category": [ "other" ], "type": [ "device" ], "synonyms": [ "ClariCore", "ClariCore Optical Biopsy System" ], "count": 2 }, { "name": "Electromagnetic-Based Therapy", "codes": [ "C16207" ], "category": [ "other" ], "type": [ "procedure/surgery" ], "synonyms": [ "Bioelectro-Magnetics", "Bioelectromagnetic Therapies", "Bioelectromagnetic-Based Therapy", "Bioelectromagnetics" ], "count": 2 }, { "name": "Manometry", "codes": [ "C16820" ], "category": [ "other" ], "type": [ "procedure/surgery" ], "synonyms": [ "Biochemistry, Manometry", "Manometry" ], "count": 2 }, { "name": "Stereotactic Biopsy", "codes": [ "C51654" ], "category": [ "other" ], "type": [ "procedure/surgery" ], "synonyms": [ "Stereotactic Biopsy" ], "count": 2 }, { "name": "Bioelectric Impedance Analysis", "codes": [ "C43545" ], "category": [ "other" ], "type": [ "procedure/surgery" ], "synonyms": [ "BIA", "Bioelectric Impedance", "Bioelectric Impedance Analysis", "Bioelectric Impedance Test", "Bioelectrical Impedance Analysis", "Bioimpedance Analysis" ], "count": 1 }, { "name": "Biopsy Twinkling Marker Ultrasound Detection", "codes": [ "C178560" ], "category": [ "other" ], "type": [ "procedure/surgery" ], "synonyms": [ "Biopsy Twinkle Marker Detection", "Biopsy Twinkling Marker Ultrasound Detection", "Mayo Twinkle Marker", "Mayo Twinkle Marker Detection", "Twinkle Marker Detection" ], "count": 1 }, { "name": "Biopsy of Bladder", "codes": [ "C51700" ], "category": [ "other" ], "type": [ "procedure/surgery" ], "synonyms": [ "Biopsy of Bladder", "Bladder Biopsy" ], "count": 1 }, { "name": "Biopsy of Bone", "codes": [ "C51927" ], "category": [ "other" ], "type": [ "procedure/surgery" ], "synonyms": [ "Biopsy of Bone", "Bone Biopsy" ], "count": 1 }, { "name": "Circadian Biometric Recorder", "codes": [ "C155848" ], "category": [ "other" ], "type": [ "device" ], "synonyms": [ "CBR System", "Circadian Biometric Recorder", "Cyrcadia Health Circadian Biometric Recorder" ], "count": 1 }, { "name": "Colposcopic Biopsy", "codes": [ "C15703" ], "category": [ "other" ], "type": [ "procedure/surgery" ], "synonyms": [ "Colposcopic Biopsy" ], "count": 1 }, { "name": "Computed Tomography Assisted Biopsy", "codes": [ "C137909" ], "category": [ "other" ], "type": [ "procedure/surgery" ], "synonyms": [ "CT Assisted Biopsy", "CT Guided Biopsy", "Computed Tomography Assisted Biopsy", "Computed Tomography-Guided Needle Biopsy" ], "count": 1 }, { "name": "Endobronchial Ultrasound-Guided Miniforceps Biopsy", "codes": [ "C170542" ], "category": [ "other" ], "type": [ "procedure/surgery" ], "synonyms": [ "EBUS-MFB", "EBUS-Miniforceps Biopsy", "Endobronchial Ultrasound-Guided Miniforceps Biopsy" ], "count": 1 }, { "name": "Incisional Biopsy", "codes": [ "C15386" ], "category": [ "other" ], "type": [ "procedure/surgery" ], "synonyms": [ "Incisional Biopsy", "Open Biopsy" ], "count": 1 }, { "name": "Needle Biopsy of Prostate", "codes": [ "C51694" ], "category": [ "other" ], "type": [ "procedure/surgery" ], "synonyms": [ "Needle Biopsy of Prostate" ], "count": 1 }, { "name": "Percutaneous Breast Biopsy", "codes": [ "C140257" ], "category": [ "other" ], "type": [ "procedure/surgery" ], "synonyms": [ "Percutaneous Biopsy of Breast", "Percutaneous Breast Biopsy" ], "count": 1 }, { "name": "Shave Biopsy", "codes": [ "C15387" ], "category": [ "other" ], "type": [ "procedure/surgery" ], "synonyms": [ "Shave Biopsy" ], "count": 1 }, { "name": "Transbronchial Lung Biopsy", "codes": [ "C51749" ], "category": [ "other" ], "type": [ "procedure/surgery" ], "synonyms": [], "count": 1 }, { "name": "Transperineal Biopsy", "codes": [ "C93199" ], "category": [ "other" ], "type": [ "procedure/surgery" ], "synonyms": [ "Transperineal Biopsy", "Transperineal Prostate Biopsy" ], "count": 1 }, { "name": "Transperineal MRI-guided Prostate Biopsy", "codes": [ "C182616" ], "category": [ "other" ], "type": [ "procedure/surgery" ], "synonyms": [ "Transperineal MRI-guided Prostate Biopsy" ], "count": 1 }, { "name": "Ultrasound-Guided Biopsy", "codes": [ "C93022" ], "category": [ "other" ], "type": [ "procedure/surgery" ], "synonyms": [ "Ultrasound-Guided Biopsy" ], "count": 1 }, { "name": "Ultrasound-Guided Prostate Biopsy", "codes": [ "C116510" ], "category": [ "other" ], "type": [ "procedure/surgery" ], "synonyms": [ "Ultrasound-Guided Prostate Biopsy" ], "count": 1 } ], "total": 42 }