Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: APSPPCC2

APSPPCC2.m

Go to the documentation of this file.
  1. APSPPCC2 ;IHS/CIA/PLS - PCC Hook for Pharmacy Package - Continued ;12-Feb-2008 16:01;SM
  1. ;;7.0;IHS PHARMACY MODIFICATIONS;**1006**;Sep 23, 2004
  1. ; Outside Medication VMED support
  1. EN(IEN,MSG) ;EP
  1. ; Mapping Table
  1. ; NVA VMED
  1. ; Dispense Drug Drug (.01)
  1. ; File 55 .01 .02
  1. ; Medication Route SIG
  1. ; Documented Date Visit Date
  1. ; Clinic Visit Clinic
  1. ; Disclaimer Comment
  1. ; Discontinued Date Date Discontinued
  1. ; IEN EHR Outside Med
  1. ;
  1. N DEFOLOC,IN,OUT,DFN,SEG,LP,DL1,DL2,ERR,PCC,SIG,ORDNUM
  1. N VSTR,NVA0,COM,STATUS,VMED,VSIT,VM0,DAT,DRG,CAN,COM1
  1. S LP=0
  1. S SEG=$$SEG^APSPPCC("MSH",.LP)
  1. Q:'LP
  1. S DL1=$E(SEG,4),DL2=$E(SEG,5)
  1. S SEG=$$SEG^APSPPCC("PID",.LP)
  1. S DFN=$P(SEG,DL1,4)
  1. Q:'DFN
  1. S DEFOLOC=$$GET^XPAR("ALL","BEHOENCX OTHER LOCATION")
  1. S:'DEFOLOC DEFOLOC=DUZ(2)
  1. ;D LOG
  1. ;
  1. S NVA0=$G(^PS(55,DFN,"NVA",+IEN,0))
  1. S DRG=$P(NVA0,U,2)
  1. S CAN=$P(NVA0,U,7)
  1. S ORDNUM=$P(NVA0,U,8)
  1. S SIG=$$SIG(ORDNUM)
  1. S VMED=$G(^PS(55,DFN,"NVA",+IEN,999999911))
  1. S VM0=$S(VMED:$G(^AUPNVMED(VMED,0)),1:"")
  1. S DAT=+$S($P(NVA0,U,9):$P(NVA0,U,9),1:$P(NVA0,U,10))
  1. S VSIT=$P(VM0,U,3)
  1. S VSTR="0;"_DAT_";E;"_$S('VSIT:";"_-DEFOLOC,1:VSIT)
  1. S STATUS=$P(NVA0,U,6)
  1. S ACT=$S(STATUS:"",VMED:"",1:"+")
  1. S COM=$O(^PS(55,DFN,"NVA",1,"DSC",0))
  1. S:COM COM1=$O(^PS(55,DFN,"NVA",1,"DSC",COM))
  1. S:COM COM=$G(^PS(55,DFN,"NVA",1,"DSC",COM,0))
  1. D ADD("HDR^^^"_VSTR)
  1. D ADD("VST^PT^"_DFN)
  1. D ADD("VST^DT^"_DAT)
  1. ;I VM0,DRG'=+VM0 D ADD("RX-^"_+VM0_U_VMED_U_IEN) S ACT="+"
  1. D ADD("RXV"_ACT_U_DRG_U_VMED_U_IEN_U_DFN_U_U_U_U_CAN_U)
  1. D:$L(COM) ADD("COM^1^"_$S($L(COM)<71:COM,1:$E(COM,1,69)_"~"))
  1. D ADD("SIG^1^"_$S($L(SIG)<146:SIG,1:$E(SIG,1,144)_"~"))
  1. D SAVE^APSPPCCV(.ERR,.PCC)
  1. Q
  1. ADD(X) S PCC=$G(PCC)+1,PCC(PCC)=X
  1. Q
  1. ; Return SIG from Order
  1. SIG(ORIFN) ;EP
  1. N ID,LP,SIG
  1. Q:'$G(ORIFN) ""
  1. S ID=$$PTR(ORIFN,"SIG")
  1. Q:'ID ""
  1. S SIG=""
  1. S LP=0 F S LP=$O(^OR(100,ORIFN,4.5,ID,2,LP)) Q:'LP D
  1. .S SIG=SIG_$S($L(SIG):" ",1:"")_^OR(100,ORIFN,4.5,ID,2,LP,0)
  1. Q SIG
  1. PTR(ORIFN,ID) S ID=$O(^OR(100,ORIFN,4.5,"ID",ID,0))
  1. Q ID