Presented by Sata Hackenbruck 6 August 2009 State of Oregon SAS Users Group Meeting

Similar documents
Attach patient label here. Physician Orders ADULT: Palliative Care Plan

2018 Formulary Notice of Change Prescription Drug Plans

ICP Formulary Updates

Paper number: CC02 MACRO %NEWFLOW JIAN HUA (DANIEL) HUANG, FOREST LABORATORIES INC, NJ

Aspirin. Iron Supplements

PEDIATRIC SPINE SURGERY POST-OP PLAN - Phase:.

Iowa Medicaid Drug Utilization Review (DUR) Commission Meeting March 4, 2009

Drug Use Evaluation: Short Acting Opioids (SAO)

Capital BlueCross Open/Closed Formulary Update (1 st Quarter 2017)

Changes to the 2018 BlueCross Secure SM (HMO) & BlueCross Total SM (PPO) Formularies

UPDATE WellCare s New Jersey

PEDIATRIC SPINE SURGERY POST-OP PLAN - Phase: Pediatric Spine Surgery General Orders

PAIN. TREATMENT TABLES Analgesics. NON-OPIOID ANALGESICS Generic Name Trade Names (Examples) Duration Initial Dose

MEDICARE Program Policies & Procedures POLICY NUMBER: Medicare D-111

Demerol 50 mg vs hydrocodone

Xyrem (Sodium Oxybate)

New Hampshire Healthy Families CLINICAL POLICY

Dosage Calculation - Worksheet

Physician Orders ADULT: ANES Enhanced Recovery After Surgery (ERAS) Plan

FORMULARY LIST OF COVERED DRUGS

Generic Label Name Drug Strength Dosage Form Example Product (s) MME/Unit ACETAMINOPHEN WITH CODEINE

Appendix B. Nodulus Observer XT Instructional Guide. 1. Setting up your project p. 2. a. Observation p. 2. b. Subjects, behaviors and coding p.

Binary Diagnostic Tests Two Independent Samples

B. Long-acting/Extended-release Opioids

Carefirst. +.V Family of health care plans

Pequot Health Care Opioid Analgesic Quantity Program*

Opiate/Benzodiazepine/Muscle Relaxant Combinations

15 mg morphine 10 mg hydrocodone

2014 FORMULARY LIST OF COVERED DRUGS

AETNA BETTER HEALTH Prior Authorization guideline for Narcotic Analgesic Utilization

Disclosures. You're in Control or Urine Control Clinical Pearls of Drug Testing Case Studies. 9/20/17

Buprenorphine pharmacology

UMC Health System Patient Label Here. PHYSICIAN ORDERS Diagnosis

Upper Peninsula Health Plan Advantage (HMO) (List of Covered Drugs)

Nova Scotia Drug Information System

PRESCRIPTION DRUG PROGRAM FORMULARY UPDATES Select Formulary October 1, 2018 Updates. Formulary. Alternatives

LL/PLIKI/DO POBRANIA/ULOTKI/STAL_ULOTKA_24_02_16

Texas Prior Authorization Program Clinical Edit Criteria

Opioid Management Program October 2018

Equianalgesic Dosing: Making Opioid Interchange Easier. Joseph Bubalo PharmD, BCPS, BCOP Oncology Clinical Pharmacist Assistant Professor Of Medicine

UMC Health System Patient Label Here PHYSICIAN ORDERS

Chapter 3 Software Packages to Install How to Set Up Python Eclipse How to Set Up Eclipse... 42

Bree Collaborative AMDG Opioid Prescribing Guidelines Workgroup. Opioid Prescribing Metrics - DRAFT

Blue Cross and Blue Shield of Minnesota GenRx Formulary Updates

Analgesics: Management of Pain In the Elderly Handout Package

BlueBayCT - Warfarin User Guide

PRESCRIPTION DRUG PROGRAM FORMULARY UPDATES Select Formulary April 1, 2018 Updates. Formulary Alternatives

Nebraska Medicaid Program NE Weekly MAC Price Change List For Period: 12/14/ /20/2017

Anticoagulation Manager - Getting Started

2017 BlueMedicare Comprehensive Formulary

ORTHO TOTAL KNEE REPLACEMENT POST-OP PLAN - Phase: PACU Ortho Phase

Pharmacy Medical Necessity Guidelines: Opioid Analgesics

Compensation Practice & Quality Department Replaced by PD#C10-1 January 27, 2017

Coach Morse - Morse Code Practice Unit

BlueLink TPA FlexRx Updates

UPDATE Ohana QUEST Integration Medicaid

10 mg hydrocodone equals how much oxycodone

HOW TO USE THE FORMULARY

Opioid Conversion Guidelines

2017 Formulary. (List of Covered Drugs)

Emblem Medicaid 3Q18 Formulary Updates

PRESCRIPTION DRUG PROGRAM FORMULARY UPDATES Select Formulary April 1, 2018 Updates. Formulary Alternatives

Formulary. BlueMedicare Preferred (HMO) H , 004, 006 BlueMedicare Preferred POS (HMO POS) H

Medicare Part D 2017 Formulary Changes OC Preferred

Formulary. BlueMedicare Classic (HMO) H , 020, 021 BlueMedicare Choice (Regional PPO) R BlueMedicare Value Rx (PDP) S

Oxymorphone (Opana ) is indicated for the relief of moderate-to-severe acute pain where the use of an opioid is appropriate.

Objectives. Patient Controlled Analgesia (PCA) Management in the Seriously Ill. Discuss principles for opioid dosing and titration for acute pain

Ascribe Rx Online Resource Center User Guide

Enhanced Plan 2018 Prescription Drug Formulary. (Comprehensive list of covered drugs)

FORMULARY LIST OF COVERED DRUGS

2018 Formulary. (List of Covered Drugs)

2019 Prescription Drug Formulary

Amber D. Hartman, PharmD Specialty Practice Pharmacist James Cancer Center & Solove Research Institute Ohio State University Medical Center

Fighting the Good Fight: How to Convert Opioids Just Right!

Horizon Blue Cross Blue Shield of New Jersey. Horizon Medicare Blue Rx Enhanced (PDP) 2018 Formulary. (List of Covered Drugs)

Welcome to the Opioid Overdose Prevention Project

Gabapentin Research Pain Study for Ortho Total Knee Replacement Post-Op Plan - PACU Ortho Phase

: Opioid Quantity Limits

2018 Formulary (List of Covered Drugs)

BARIATRIC SURGERY POST-OP PLAN - Phase: PACU Phase

The Clinical Information Data Entry Screen is the main screen in the DQCMS application.

Binary Diagnostic Tests Paired Samples

TennCare Program TN MAC Price Change List As of: 03/30/2017

Documenting Patient Immunization. New Brunswick 2018/19

Within the proportion the two outside numbers are referred to as the extremes. The two inside numbers are referred to as the means.

CMI Marketplace 2015 (List of Covered Drugs)

2019 Formulary. (List of Covered Drugs)

Psy201 Module 3 Study and Assignment Guide. Using Excel to Calculate Descriptive and Inferential Statistics

Naloxone HCI 4 mg/0.1. nostril. Repeat after 3 minutes if minimal or no

Formulary. BlueMedicare SM Comprehensive. BlueMedicare Value (PPO) H ,024,025

2018 Formulary. (List of Covered Drugs)

ENT THYROIDECTOMY/PARATHYROIDECTOMY POST OP PLAN - Phase: Begin Immediately/PACU

Transcription:

Presented by Sata Hackenbruck 6 August 2009 State of Oregon SAS Users Group Meeting

Explore following SAS text functions: COMPRESS TRANWRD SCAN

Here is the problem I am analyzing pharmacy data and I want to summarize the payments by DRUG GENERIC NAME However, the current variable that I have looks like this: drug_generic_name Oxycodone HCl Tab SR 12HR 10 MG Oxycodone HCl Tab SR 12HR 20 MG Oxycodone HCl Tab SR 12HR 40 MG Oxycodone HCl Tab SR 12HR 80 MG Gabapentin Tab 300 MG Gabapentin Cap 400 MG drug_generic_name Hydrocodone-Acetaminophen Soln 7.5-500 MG/15ML Hydrocodone-Acetaminophen Tab 5-500 MG Fentanyl TD Patch 72HR 50 MCG/HR Hydrocodone-Acetaminophen Tab 10-650 MG Fentanyl Citrate Powder Fentanyl Citrate Inj 0.05 MG/ML

So when I do this proc report data=match; column drug_generic_name payment; define drug_generic_name/group 'Generic name'; define payment/analysis sum format=9.0; title Pharmacy Payments by Generic Name'; run;

I get something like this Generic name Payment Fentanyl Citrate Buccal Tab 100 MCG (Base Equiv) 668 Fentanyl Citrate Buccal Tab 200 MCG (Base Equiv) 13658 Fentanyl Citrate Buccal Tab 400 MCG (Base Equiv) 20525 Fentanyl Citrate Buccal Tab 600 MCG (Base Equiv) 3853 Fentanyl Citrate Buccal Tab 800 MCG (Base Equiv) 9500 Fentanyl Citrate Inj 0.05 MG/ML 228 Fentanyl Citrate Lollipop 1600 MCG 28473 Fentanyl Citrate Lollipop 200 MCG 11146 Fentanyl Citrate Lollipop 400 MCG 25414 Fentanyl Citrate Lollipop 800 MCG 6931 Fentanyl TD Patch 72HR 100 MCG/HR 123592

continues Generic name Payment Fentanyl TD Patch 72HR 12 (12.5) MCG/HR 14480 Fentanyl TD Patch 72HR 25 MCG/HR 26953 Fentanyl TD Patch 72HR 50 MCG/HR 75640 Fentanyl TD Patch 72HR 75 MCG/HR 137592 Gabapentin Cap 100 MG 8625 Gabapentin Cap 300 MG 157998 Gabapentin Cap 400 MG 22300 Gabapentin Tab 100 MG 454 Gabapentin Tab 300 MG 97 Gabapentin Tab 400 MG 1819 Gabapentin Tab 600 MG 112974

COMPRESS COMPRESS(<source>, <chars>, <modifiers>) data match1; set match; generic_name=compress(drug_generic_name, ',,'D'); Modifier 'D removes all numeric characters and ',' character removes all the commas. Other options available to you are: Modifier A' will remove all alpha characters, 'P' will remove all punctuation, 'S' will remove all spaces K will keep all the characters that you specified in <chars> and will remove all the other characters Example COMPRESS(var_name,, AP') will remove all alpha characters and punctuation

TRANWRD TRANWRD(<source>, <target>, <replacement>) data match1; set match; generic_name=compress(gpi_generic_name, ',,'D'); generic_name=tranwrd(generic_name,"tab",","); generic_name=tranwrd(generic_name,"cap",","); generic_name=tranwrd(generic_name,"lollipop",","); generic_name=tranwrd(generic_name,"soln",","); generic_name=tranwrd(generic_name,"conc",","); generic_name=tranwrd(generic_name,"td",","); generic_name=tranwrd(generic_name,"inj",","); generic_name=tranwrd(generic_name,"buccal",",");

SCAN SCAN(<source>,<n>, <delimiter(s)>) <source> specifies any character expression. <n> specifies a numeric expression that produces the number of the word in the character string you want SCAN to select. The following rules apply: If n is negative, SCAN selects the word in the character string starting from the end of the string. If n is greater than the number of words in the character string, SCAN returns a blank value. <delimiter> specifies a character expression that produces characters that you want SCAN to use as a word separator in the character string. Default: If you omit delimiter, SAS uses the following characters: blank. < ( + &! $ * ) ; ^ - /, % Tip: If you represent delimiter as a constant, enclose delimiter in quotation marks.

SCAN (continued) data match1; set match; generic_name=compress(gpi_generic_name, ',,'D'); generic_name=tranwrd(generic_name,"tab",","); generic_name=tranwrd(generic_name,"cap",","); generic_name=tranwrd(generic_name,"lollipop",","); generic_name=tranwrd(generic_name,"soln",","); generic_name=tranwrd(generic_name,"conc",","); generic_name=tranwrd(generic_name,"td",","); generic_name=tranwrd(generic_name,"inj",","); generic_name=tranwrd(generic_name,"buccal",","); generic_nm=scan(generic_name,1,','); run;

If we run proc report again the result will be: Generic name Payment Fentanyl 378256 Fentanyl Citrate 120396 Gabapentin 361854 Hydrocodone-Acetaminophen 535747 Oxycodone HCl 1775669 Our problem is now solved!

SCAN (continued) For Example, variable ArrivalDepartureGates is as follows: ArrivalDepartureGates Tokyo, Osaka Rome, Naples, ArrivalGate = scan(arrivaldeparturegates,1,','); will return the name of the arrival city DepartureGate = left(scan(arrivaldeparturegates,2,',')); will return the name of the departure city

Other useful functions You can do a lot of things with SUBSTR and LENGTH functions as well SUBSTR(<variable>, <position>, <length>) Here is an example of how to add leading zeroes and standartize the reported National Drug Codes to 11-digit format: if 7 le (length(service_code)) le 9 and substr(service_code,1,1) in ('0','1','2','3','4','5','6','7','8','9') then do while (length(service_code) < 11); service_code=('0' service_code); end; if length(service_code)=10 then if substr(service_code,1,1) = '0' then service_code = ('0' service_code); else service_code = (substr(service_code,1,5) '0' substr(service_code,6,5)); run;