Changeset 1623 for fmts/trunk/p/C0XPT3.m


Ignore:
Timestamp:
May 6, 2013, 1:04:50 PM (12 years ago)
Author:
Sam Habiel
Message:

remove unused ADDDRUG EP

File:
1 edited

Legend:

Unmodified
Added
Removed
  • fmts/trunk/p/C0XPT3.m

    r1619 r1623  
    1 C0XPT3  ;ISI/MLS,VEN/SMH -- MEDS IMPORT ;2013-04-19  5:42 PM
     1C0XPT3  ;ISI/MLS,VEN/SMH -- MEDS IMPORT ;2013-05-06  10:21 AM
    22        ;;1.0;FILEMAN TRIPLE STORE;;Jun 26,2012;Build 29
    33        ; (C) Sam Habiel 2013
     
    237237        S DIC="^PS(52.5,",DIC(0)="L",DLAYGO=52.5,DIC("DR")=".02///"_FDT_";.03////"_$P(^PSRX(PSOIEN,0),"^",2)_";.04////"_TYPE_";.05///0;.06////"_DIV_";2///0" K DD,D0 D FILE^DICN K DD,D0
    238238        Q
    239         ;
    240 ADDDRUG(RXN,NDC,BARCODE) ; Public Proc; Add Drug to Drug File
    241  ; Input: RXN - RxNorm Semantic Clinical Drug CUI by Value. Required.
    242  ; Input: NDC - Drug NDC by Value. Optional. Pass in 11 digit format without dashes.
    243  ; Input: BARCODE - Wand Barcode. Optional. Pass exactly as wand reads minus control characters.
    244  ; Output: None.
    245  ;
    246  ; Prelim Checks
    247  I '$G(RXN) S $EC=",U1," ; Required
    248  I $L($G(NDC)),$L(NDC)'=11 S $EC=",U1,"
    249  ;
    250  N PSSZ S PSSZ=1    ; Needed for the drug file to let me in!
    251  ;
    252  ; If RXN refers to a brand drug, get the generic instead.
    253  I $$ISBRAND^C0CRXNLK(RXN) S RXN=$$BR2GEN^C0CRXNLK(RXN)
    254  W !,"(debug) RxNorm is "_RXN,!
    255  ;
    256  ; Get first VUID for this RxNorm drug
    257  N VUID S VUID=+$$RXN2VUI^C0CRXNLK(RXN)
    258  Q:'VUID
    259  W "(debug) VUID for RxNorm CUI "_RXN_" is "_VUID,!
    260  ;
    261  ; IEN in 50.68
    262  N C0XVUID ; For Searching Compound Index
    263  S C0XVUID(1)=VUID
    264  S C0XVUID(2)=1
    265  N F5068IEN S F5068IEN=$$FIND1^DIC(50.68,"","XQ",.C0XVUID,"AMASTERVUID")
    266  Q:'F5068IEN
    267  W "F 50.68 IEN (debug): "_F5068IEN,!
    268  ;
    269  ; FDA Array
    270  N C0XFDA
    271  ;
    272  ; Name, shortened
    273  S C0XFDA(50,"+1,",.01)=$E($$GET1^DIQ(50.68,F5068IEN,.01),1,40)
    274  ;
    275  ; File BarCode as a Synonym for BCMA
    276  I $L($G(BARCODE)) D
    277  . S C0XFDA(50.1,"+2,+1,",.01)=BARCODE
    278  . S C0XFDA(50.1,"+2,+1,",1)="Q"
    279  ;
    280  ; Brand Names
    281  N BNS S BNS=$$RXN2BNS^C0CRXNLK(RXN) ; Brands
    282  I $L(BNS) N I F I=1:1:$L(BNS,U) D
    283  . N IENS S IENS=I+2
    284  . S C0XFDA(50.1,"+"_IENS_",+1,",.01)=$$UP^XLFSTR($E($P(BNS,U,I),1,40))
    285  . S C0XFDA(50.1,"+"_IENS_",+1,",1)="T"
    286  ;
    287  ; NDC (string)
    288  I $G(NDC) S C0XFDA(50,"+1,",31)=$E(NDC,1,5)_"-"_$E(NDC,6,9)_"-"_$E(NDC,10,11)
    289  ;
    290  ; Dispense Unit (string)
    291  S C0XFDA(50,"+1,",14.5)=$$GET1^DIQ(50.68,F5068IEN,"VA DISPENSE UNIT")
    292  ;
    293  ; National Drug File Entry (pointer to 50.6)
    294  S C0XFDA(50,"+1,",20)="`"_$$GET1^DIQ(50.68,F5068IEN,"VA GENERIC NAME","I")
    295  ;
    296  ; VA Product Name (string)
    297  S C0XFDA(50,"+1,",21)=$E($$GET1^DIQ(50.68,F5068IEN,.01),1,70)
    298  ;
    299  ; PSNDF VA PRODUCT NAME ENTRY (pointer to 50.68)
    300  S C0XFDA(50,"+1,",22)="`"_F5068IEN
    301  ;
    302  ; DEA, SPECIAL HDLG (string)
    303  D  ; From ^PSNMRG
    304  . N CS S CS=$$GET1^DIQ(50.68,F5068IEN,"CS FEDERAL SCHEDULE","I")
    305  . S CS=$S(CS?1(1"2n",1"3n"):+CS_"C",+CS=2!(+CS=3)&(CS'["C"):+CS_"A",1:CS)
    306  . S C0XFDA(50,"+1,",3)=CS
    307  ;
    308  ; NATIONAL DRUG CLASS (pointer to 50.605) (triggers VA Classification field)
    309  S C0XFDA(50,"+1,",25)="`"_$$GET1^DIQ(50.68,F5068IEN,"PRIMARY VA DRUG CLASS","I")
    310  ;
    311  ; Right Now, I don't file the following which ^PSNMRG does (cuz I don't need them)
    312  ; - Package Size (derived from NDC/UPN file)
    313  ; - Package Type (ditto)
    314  ; - CMOP ID (from $$PROD2^PSNAPIS)
    315  ; - National Formulary Indicator (from 50.68)
    316  ;
    317  ; Next Step is to kill Old OI if Dosage Form doesn't match
    318  ; Won't do that here as it's assumed any drugs that's added is new.
    319  ; This happens at ^PSNPSS
    320  ;
    321  ; Next Step: Kill off old doses and add new ones. We need to to that.
    322  ; TODO: Add doses. Happens at EN1^PSSUTIL.
    323  N C0XERR,C0XIEN
    324  D UPDATE^DIE("E","C0XFDA","C0XIEN","C0XERR")
    325  ;
    326  S:$D(C0XERR) $EC=",U1,"
    327  ;
    328  QUIT C0XIEN(1)
Note: See TracChangeset for help on using the changeset viewer.