Advertisement
Guest User

Untitled

a guest
Apr 28th, 2017
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 15.83 KB | None | 0 0
  1. # ----------------------------------------------------------------- #
  2. # COVERAGE CONNECT - PREPARE PROFERO STATUS #
  3. # ----------------------------------------------------------------- #
  4.  
  5. # ----------------------------------------------------------------- #
  6. # LOAD COMMON LIBRARIES #
  7. setwd("/Users/kate/Google Drive/Local Wisdom/20170417_RScripts-selected/Script - 201604_withModifications-someOriginalData/Common/Profero/")
  8. # ----------------------------------------------------------------- #
  9. library(data.table)
  10. library(lubridate)
  11. library(reshape2)
  12. library(Hmisc)
  13.  
  14. # ----------------------------------------------------------------- #
  15. # GET PLAN LEVEL STATUS & COPAY FROM PROFERO FILE(S) #
  16. # #
  17. # NOTE: FILE FORMAT CHANGING IN 2016-04 - SECTION TO BE FINALIZED #
  18. # ----------------------------------------------------------------- #
  19. val_payer_plan <- read.table("Coverage Connect_SHS_March_3_24_17.csv", fill=T, head=T, sep="|", quote="", comment.char="", colClasses=c("character","character","character","character","character","character","character","character","character","character","character","character","character","character","character","character","character","character","character","character","character","character","character","character","character","character","character","character","character"))
  20. val_master_col <- colnames(val_payer_plan)
  21.  
  22. # AMENDMENTS - FORMAT TO BE FINALIZED #
  23. #adj_payer_plan <- read.table("November 2015 Update - 2nd Round 10_12.txt", fill=T, head=T, sep="|", quote="", comment.char="", colClasses=c("NULL","NULL","NULL","NULL","character","character","character","character","character","character","character","character","character","character","character","character","character","character","character","character","character","character","character","character","character","character","character","character","character","character","character","character","character"))
  24.  
  25. #setnames(adj_payer_plan, "Promotional_Name", "aPromotional_Name")
  26. #setnames(adj_payer_plan, "PLN_DESC", "aPLN_DESC")
  27. #setnames(adj_payer_plan, "Permission", "aPermission")
  28. #setnames(adj_payer_plan, "LIS.Eligible", "aLIS.Eligible")
  29. #setnames(adj_payer_plan, "Invokana_Status", "aInvokana_Status")
  30. #setnames(adj_payer_plan, "Farxiga_Status", "aFarxiga_Status")
  31. #setnames(adj_payer_plan, "Jardiance_Status", "aJardiance_Status")
  32. #setnames(adj_payer_plan, "Januvia_Status", "aJanuvia_Status")
  33. #setnames(adj_payer_plan, "Invokamet_Status", "aInvokamet_Status")
  34. #setnames(adj_payer_plan, "XigduoXR_Status", "aXigduoXR_Status")
  35. #setnames(adj_payer_plan, "Janumet_Status", "aJanumet_Status")
  36. #setnames(adj_payer_plan, "Xarelto_Status", "aXarelto_Status")
  37. #setnames(adj_payer_plan, "Eliquis_Status", "aEliquis_Status")
  38. #setnames(adj_payer_plan, "Pradaxa_Status", "aPradaxa_Status")
  39. #setnames(adj_payer_plan, "Savaysa_Status", "aSavaysa_Status")
  40. #setnames(adj_payer_plan, "Invokana_Copay", "aInvokana_Copay")
  41. #setnames(adj_payer_plan, "Farxiga_Copay", "aFarxiga_Copay")
  42. #setnames(adj_payer_plan, "Jardiance_Copay", "aJardiance_Copay")
  43. #setnames(adj_payer_plan, "Januvia_Copay", "aJanuvia_Copay")
  44. #setnames(adj_payer_plan, "Invokamet_Copay", "aInvokamet_Copay")
  45. #setnames(adj_payer_plan, "XigduoXR_Copay", "aXigduoXR_Copay")
  46. #setnames(adj_payer_plan, "Janumet_Copay", "aJanumet_Copay")
  47. #setnames(adj_payer_plan, "Xarelto_Copay", "aXarelto_Copay")
  48. #setnames(adj_payer_plan, "Eliquis_Copay", "aEliquis_Copay")
  49. #setnames(adj_payer_plan, "Pradaxa_Copay", "aPradaxa_Copay")
  50. #setnames(adj_payer_plan, "Savaysa_Copay", "aSavaysa_Copay")
  51.  
  52. #adj_payer_plan <- data.table(adj_payer_plan)
  53. #setkey(adj_payer_plan, PLN_ID, CHANNEL, HCP_STATE..STATE.)
  54. val_payer_plan <- data.table(val_payer_plan)
  55. setkey(val_payer_plan, PLN_ID, CHANNEL, HCP_STATE..STATE.)
  56.  
  57. #val_payer_plan <- adj_payer_plan[val_payer_plan]
  58.  
  59. #val_payer_plan[!(is.na(aPromotional_Name)), Promotional_Name := aPromotional_Name]
  60. #val_payer_plan[!(is.na(aPLN_DESC)), PLN_DESC := aPLN_DESC]
  61. #val_payer_plan[!(is.na(aPermission)), Permission := aPermission]
  62. #val_payer_plan[!(is.na(aLIS.Eligible)), LIS.Eligible := aLIS.Eligible]
  63. #val_payer_plan[!(is.na(aInvokana_Status)), Invokana_Status := aInvokana_Status]
  64. #val_payer_plan[!(is.na(aFarxiga_Status)), Farxiga_Status := aFarxiga_Status]
  65. #val_payer_plan[!(is.na(aJardiance_Status)), Jardiance_Status := aJardiance_Status]
  66. #val_payer_plan[!(is.na(aJanuvia_Status)), Januvia_Status := aJanuvia_Status]
  67. #val_payer_plan[!(is.na(aInvokamet_Status)), Invokamet_Status := aInvokamet_Status]
  68. #val_payer_plan[!(is.na(aXigduoXR_Status)), XigduoXR_Status := aXigduoXR_Status]
  69. #val_payer_plan[!(is.na(aJanumet_Status)), Janumet_Status := aJanumet_Status]
  70. #val_payer_plan[!(is.na(aXarelto_Status)), Xarelto_Status := aXarelto_Status]
  71. #val_payer_plan[!(is.na(aEliquis_Status)), Eliquis_Status := aEliquis_Status]
  72. #val_payer_plan[!(is.na(aPradaxa_Status)), Pradaxa_Status := aPradaxa_Status]
  73. #val_payer_plan[!(is.na(aSavaysa_Status)), Savaysa_Status := aSavaysa_Status]
  74. #val_payer_plan[!(is.na(aInvokana_Copay)), Invokana_Copay := aInvokana_Copay]
  75. #val_payer_plan[!(is.na(aFarxiga_Copay)), Farxiga_Copay := aFarxiga_Copay]
  76. #val_payer_plan[!(is.na(aJardiance_Copay)), Jardiance_Copay := aJardiance_Copay]
  77. #val_payer_plan[!(is.na(aJanuvia_Copay)), Januvia_Copay := aJanuvia_Copay]
  78. #val_payer_plan[!(is.na(aInvokamet_Copay)), Invokamet_Copay := aInvokamet_Copay]
  79. #val_payer_plan[!(is.na(aXigduoXR_Copay)), XigduoXR_Copay := aXigduoXR_Copay]
  80. #val_payer_plan[!(is.na(aJanumet_Copay)), Janumet_Copay := aJanumet_Copay]
  81. #val_payer_plan[!(is.na(aXarelto_Copay)), Xarelto_Copay := aXarelto_Copay]
  82. #val_payer_plan[!(is.na(aEliquis_Copay)), Eliquis_Copay := aEliquis_Copay]
  83. #val_payer_plan[!(is.na(aPradaxa_Copay)), Pradaxa_Copay := aPradaxa_Copay]
  84. #val_payer_plan[!(is.na(aSavaysa_Copay)), Savaysa_Copay := aSavaysa_Copay]
  85.  
  86. #val_payer_plan <- subset(val_payer_plan, select=val_master_col)
  87.  
  88. # REMOVE DUPLICATES - LEFT OVER FROM ORIGINAL DUPLICATED KAI COLUMNS THAT ARE NOT NEEDED FOR COVERAGE CONNECT #
  89. val_payer_plan <- data.table(val_payer_plan)
  90. val_payer_plan <- val_payer_plan[,.N,by=.(Promotional_Name,CHANNEL,PLN_ID,PLN_DESC,HCP_STATE..STATE.,Permission,LIS.Eligible,Invokana_Status,Farxiga_Status,Jardiance_Status,Januvia_Status,Invokamet_Status,XigduoXR_Status,Janumet_Status,Xarelto_Status,Eliquis_Status,Pradaxa_Status,Savaysa_Status,Invokana_Copay,Farxiga_Copay,Jardiance_Copay,Januvia_Copay,Invokamet_Copay,XigduoXR_Copay,Janumet_Copay,Xarelto_Copay,Eliquis_Copay,Pradaxa_Copay,Savaysa_Copay)]
  91. val_payer_plan <- subset(val_payer_plan, select=val_master_col)
  92.  
  93. # ----------------------------------------------------------------- #
  94. # GENERATE PROFERO MASTER FILE AS BASE FOR NEXT MONTH #
  95. # ----------------------------------------------------------------- #
  96. write.table(val_payer_plan, "Profero_Master.txt", quote=F, sep="|", row.names=F, col.names=T)
  97.  
  98. val_payer_plan_backup <- val_payer_plan
  99.  
  100. # ----------------------------------------------------------------- #
  101. # CREATE PROFERO STATUS BY BRAND - INVOKANA #
  102. # ----------------------------------------------------------------- #
  103. medcol <- c("CHANNEL", "PLN_ID", "PLN_DESC","HCP_STATE..STATE.", "Promotional_Name", "Permission","LIS.Eligible","Invokana_Status","Farxiga_Status","Jardiance_Status","Januvia_Status","Invokana_Copay","Farxiga_Copay","Jardiance_Copay", "Januvia_Copay")
  104. val_payer_plan <- val_payer_plan_backup
  105. val_med_plan <- as.data.frame(subset(val_payer_plan, select=medcol))
  106. # colnames(val_med_plan) <- c("Promotional_Name", "CHANNEL", "PLN_ID","PLN_DESC","STATE","Permission","LIS.Eligible","VTierStatus1","VTierStatus2","VTierStatus3","VTierStatus4","Copay1","Copay2","Copay3","Copay4")
  107. # two problems -
  108. # one is that the original list has 15 colnames while the val_med_plan only have 14 columns (consistent with select statement in medcol <- c()):: Can't determine what LIS.Eligible is, not in medcol subset
  109. # second problem is that the original list of colnames to be used is out of order - so that the state column was incorrectly labeled as PLN_DESC
  110. # works if you remove the copay4 - i am not convinced this ever worked...
  111. colnames(val_med_plan) <- c("CHANNEL", "PLN_ID", "PLN_DESC","STATE", "Promotional_Name", "Permission","LIS.Eligible","VTierStatus1","VTierStatus2","VTierStatus3","VTierStatus4","Copay1","Copay2", "Copay3","Copay4")
  112.  
  113.  
  114. val_med_plan$VTierStatus1[val_med_plan$VTierStatus1=="#N/A"|val_med_plan$VTierStatus1=="N/A"|is.na(val_med_plan$VTierStatus1)] <- ""
  115. val_med_plan$VTierStatus2[val_med_plan$VTierStatus2=="#N/A"|val_med_plan$VTierStatus2=="N/A"|is.na(val_med_plan$VTierStatus2)] <- ""
  116. val_med_plan$VTierStatus3[val_med_plan$VTierStatus3=="#N/A"|val_med_plan$VTierStatus3=="N/A"|is.na(val_med_plan$VTierStatus3)] <- ""
  117. val_med_plan$VTierStatus4[val_med_plan$VTierStatus4=="#N/A"|val_med_plan$VTierStatus4=="N/A"|is.na(val_med_plan$VTierStatus4)] <- ""
  118.  
  119. val_med_plan$Copay1[val_med_plan$Copay1=="#N/A"|val_med_plan$Copay1=="N/A"|val_med_plan$Copay1==""|is.na(val_med_plan$Copay1)] <- "-1"
  120. val_med_plan$Copay2[val_med_plan$Copay2=="#N/A"|val_med_plan$Copay2=="N/A"|val_med_plan$Copay2==""|is.na(val_med_plan$Copay2)] <- "-1"
  121. val_med_plan$Copay3[val_med_plan$Copay3=="#N/A"|val_med_plan$Copay3=="N/A"|val_med_plan$Copay3==""|is.na(val_med_plan$Copay3)] <- "-1"
  122. val_med_plan$Copay4[val_med_plan$Copay4=="#N/A"|val_med_plan$Copay4=="N/A"|val_med_plan$Copay4==""|is.na(val_med_plan$Copay4)] <- "-1"
  123. # DEFAULT FOR INVALID VALUE - CORRECTION FOR ORIGINAL FILE #
  124. val_med_plan$Copay4[val_med_plan$Copay4=="Not Covered"] <- "-1"
  125.  
  126. val_med_plan$Copay1 <- as.numeric(val_med_plan$Copay1)
  127. val_med_plan$Copay2 <- as.numeric(val_med_plan$Copay2)
  128. val_med_plan$Copay3 <- as.numeric(val_med_plan$Copay3)
  129. val_med_plan$Copay4 <- as.numeric(val_med_plan$Copay4)
  130.  
  131. # ----------------------------------------------------------------- #
  132. # PRODUCTION BACKUP - INVOKANA #
  133. # ----------------------------------------------------------------- #
  134. write.table(val_med_plan, "val_payer_plan_kan.txt", quote=F, sep="|", row.names=F, col.names=T)
  135. # "Promotional_Name", "CHANNEL", "PLN_ID","PLN_DESC","STATE","Permission","LIS.Eligible","VTierStatus1","VTierStatus2","VTierStatus3","VTierStatus4","Copay1","Copay2","Copay3", "Copay4" #
  136. # val_payer_plan <- read.table("val_payer_plan.txt", sep="|", fill=T, head=T, quote="", comment.char="", colClasses=c("character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "numeric", "numeric", "numeric", "numeric"))
  137.  
  138. # ----------------------------------------------------------------- #
  139. # CREATE PROFERO STATUS BY BRAND - INVOKAMET #
  140. # ----------------------------------------------------------------- #
  141. medcol <- c("Promotional_Name", "CHANNEL", "PLN_ID","PLN_DESC","HCP_STATE..STATE.","Permission","LIS.Eligible","Invokamet_Status","XigduoXR_Status","Janumet_Status","Invokamet_Copay","XigduoXR_Copay","Janumet_Copay")
  142. val_payer_plan <- val_payer_plan_backup
  143. val_med_plan <- as.data.frame(subset(val_payer_plan, select=medcol))
  144. colnames(val_med_plan) <- c("Promotional_Name", "CHANNEL", "PLN_ID","PLN_DESC","STATE","Permission","LIS.Eligible","VTierStatus1","VTierStatus2","VTierStatus3","Copay1","Copay2","Copay3")
  145.  
  146. val_med_plan$VTierStatus1[val_med_plan$VTierStatus1=="#N/A"|val_med_plan$VTierStatus1=="N/A"|is.na(val_med_plan$VTierStatus1)] <- ""
  147. val_med_plan$VTierStatus2[val_med_plan$VTierStatus2=="#N/A"|val_med_plan$VTierStatus2=="N/A"|is.na(val_med_plan$VTierStatus2)] <- ""
  148. val_med_plan$VTierStatus3[val_med_plan$VTierStatus3=="#N/A"|val_med_plan$VTierStatus3=="N/A"|is.na(val_med_plan$VTierStatus3)] <- ""
  149.  
  150. val_med_plan$Copay1[val_med_plan$Copay1=="#N/A"|val_med_plan$Copay1=="N/A"|val_med_plan$Copay1==""|is.na(val_med_plan$Copay1)] <- "-1"
  151. val_med_plan$Copay2[val_med_plan$Copay2=="#N/A"|val_med_plan$Copay2=="N/A"|val_med_plan$Copay2==""|is.na(val_med_plan$Copay2)] <- "-1"
  152. val_med_plan$Copay3[val_med_plan$Copay3=="#N/A"|val_med_plan$Copay3=="N/A"|val_med_plan$Copay3==""|is.na(val_med_plan$Copay3)] <- "-1"
  153.  
  154. val_med_plan$Copay1 <- as.numeric(val_med_plan$Copay1)
  155. val_med_plan$Copay2 <- as.numeric(val_med_plan$Copay2)
  156. val_med_plan$Copay3 <- as.numeric(val_med_plan$Copay3)
  157.  
  158. # ----------------------------------------------------------------- #
  159. # PRODUCTION BACKUP - INVOKAMET #
  160. # ----------------------------------------------------------------- #
  161. write.table(val_med_plan, "val_payer_plan_imt.txt", quote=F, sep="|", row.names=F, col.names=T)
  162. # "Promotional_Name", "CHANNEL", "PLN_ID","PLN_DESC","STATE","Permission","LIS.Eligible","VTierStatus1","VTierStatus2","VTierStatus3","VTierStatus4","Copay1","Copay2","Copay3", "Copay4" #
  163. # val_payer_plan <- read.table("val_payer_plan.txt", sep="|", fill=T, head=T, quote="", comment.char="", colClasses=c("character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "numeric", "numeric", "numeric"))
  164.  
  165. # ----------------------------------------------------------------- #
  166. # CREATE PROFERO STATUS BY BRAND - XARELTO #
  167. # ----------------------------------------------------------------- #
  168. medcol <- c("Promotional_Name", "CHANNEL", "PLN_ID","PLN_DESC","HCP_STATE..STATE.","Permission","LIS.Eligible","Xarelto_Status","Eliquis_Status","Pradaxa_Status","Savaysa_Status","Xarelto_Copay","Eliquis_Copay","Pradaxa_Copay", "Savaysa_Copay")
  169. val_payer_plan <- val_payer_plan_backup
  170. val_med_plan <- as.data.frame(subset(val_payer_plan, select=medcol))
  171. colnames(val_med_plan) <- c("Promotional_Name", "CHANNEL", "PLN_ID","PLN_DESC","STATE","Permission","LIS.Eligible","VTierStatus1","VTierStatus2","VTierStatus3","VTierStatus4","Copay1","Copay2","Copay3","Copay4")
  172.  
  173. val_med_plan$VTierStatus1[val_med_plan$VTierStatus1=="#N/A"|val_med_plan$VTierStatus1=="N/A"|is.na(val_med_plan$VTierStatus1)] <- ""
  174. val_med_plan$VTierStatus2[val_med_plan$VTierStatus2=="#N/A"|val_med_plan$VTierStatus2=="N/A"|is.na(val_med_plan$VTierStatus2)] <- ""
  175. val_med_plan$VTierStatus3[val_med_plan$VTierStatus3=="#N/A"|val_med_plan$VTierStatus3=="N/A"|is.na(val_med_plan$VTierStatus3)] <- ""
  176. val_med_plan$VTierStatus4[val_med_plan$VTierStatus4=="#N/A"|val_med_plan$VTierStatus4=="N/A"|is.na(val_med_plan$VTierStatus4)] <- ""
  177.  
  178. val_med_plan$Copay1[val_med_plan$Copay1=="#N/A"|val_med_plan$Copay1=="N/A"|val_med_plan$Copay1==""|is.na(val_med_plan$Copay1)] <- "-1"
  179. val_med_plan$Copay2[val_med_plan$Copay2=="#N/A"|val_med_plan$Copay2=="N/A"|val_med_plan$Copay2==""|is.na(val_med_plan$Copay2)] <- "-1"
  180. val_med_plan$Copay3[val_med_plan$Copay3=="#N/A"|val_med_plan$Copay3=="N/A"|val_med_plan$Copay3==""|is.na(val_med_plan$Copay3)] <- "-1"
  181. val_med_plan$Copay4[val_med_plan$Copay4=="#N/A"|val_med_plan$Copay4=="N/A"|val_med_plan$Copay4==""|is.na(val_med_plan$Copay4)] <- "-1"
  182. # DEFAULT FOR INVALID VALUE - CORRECTION FOR ORIGINAL FILE #
  183. val_med_plan$Copay4[val_med_plan$Copay4=="Not Covered"] <- "-1"
  184.  
  185. val_med_plan$Copay1 <- as.numeric(val_med_plan$Copay1)
  186. val_med_plan$Copay2 <- as.numeric(val_med_plan$Copay2)
  187. val_med_plan$Copay3 <- as.numeric(val_med_plan$Copay3)
  188. val_med_plan$Copay4 <- as.numeric(val_med_plan$Copay4)
  189.  
  190. # ----------------------------------------------------------------- #
  191. # PRODUCTION BACKUP - XARELTO #
  192. # ----------------------------------------------------------------- #
  193. write.table(val_med_plan, "val_payer_plan_xar.txt", quote=F, sep="|", row.names=F, col.names=T)
  194. # "Promotional_Name", "CHANNEL", "PLN_ID","PLN_DESC","STATE","Permission","LIS.Eligible","VTierStatus1","VTierStatus2","VTierStatus3","VTierStatus4","Copay1","Copay2","Copay3", "Copay4" #
  195. # val_payer_plan <- read.table("val_payer_plan.txt", sep="|", fill=T, head=T, quote="", comment.char="", colClasses=c("character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "numeric", "numeric", "numeric", "numeric"))
  196.  
  197. # ----------------------------------------------------------------- #
  198. # CLEAN UP #
  199. # ----------------------------------------------------------------- #
  200. rm(adj_payer_plan)
  201. rm(val_payer_plan_backup)
  202. rm(medcol)
  203. gc()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement