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

ALPBUTL2.m

Go to the documentation of this file.
  1. ALPBUTL2 ;OIFO-DALLAS MW,SED,KC-BCBU BACKUP REPORT FUNCTIONS AND UTILITIES ;01/01/03
  1. ;;3.0;BAR CODE MED ADMIN;**8**;Mar 2004
  1. ;
  1. DELALG(IEN) ; delete allergies...
  1. ; IEN = the patient's record number in file 53.7
  1. ; deletes any allergies in the patient's record -- returns nothing
  1. I +$G(IEN)=0 Q
  1. I +$O(^ALPB(53.7,IEN,1,0))=0 Q
  1. N ALPBX,DA,DIK,X,Y
  1. S ALPBX=0
  1. F S ALPBX=$O(^ALPB(53.7,IEN,1,ALPBX)) Q:'ALPBX D
  1. .S DA=ALPBX
  1. .S DA(1)=IEN
  1. .S DIK="^ALPB(53.7,"_DA(1)_",1,"
  1. .D ^DIK
  1. .K DA,DIK
  1. Q
  1. ;
  1. GETPID(DATA,FS,CS,ECH,RESULTS) ; retrieve specific patient ID data from
  1. ; PID segment...
  1. ; DATA = HL7 data string
  1. ; FS = HL7 field separator character
  1. ; CS = HL7 component separator character
  1. ; ECH = HL7 separators string
  1. ; RESULTS = an array passed by reference into which retrieved data
  1. ; is returned patient's DFN
  1. S RESULTS(1)=$P($P(DATA,FS,4),CS,1)
  1. ; name...
  1. S RESULTS(2)=$$FMNAME^HLFNC($P(DATA,FS,6),ECH)
  1. ; ssn (strip any dashes)...
  1. S RESULTS(3)=$$STRIP^XLFSTR($P($P(DATA,FS,3),CS,1),"-")
  1. ; dob...
  1. S RESULTS(4)=$$FMDATE^HLFNC($P(DATA,FS,8))
  1. ; gender...
  1. S RESULTS(5)=$P(DATA,FS,9)
  1. Q
  1. ;
  1. GETORC(DATA,FS,CS,RESULTS) ; retrieve order number, date, type, and
  1. ; CPRS order number from ORC segment...
  1. ; DATA = HL7 data string
  1. ; FS = HL7 field separator character
  1. ; CS = HL7 component separator character
  1. ; RESULTS = an array passed by reference into which retrieved data
  1. ; is returned order action
  1. S RESULTS(0)=$P(DATA,FS,2)
  1. ; order number...
  1. S RESULTS(1)=$P($P(DATA,FS,4),CS,1)
  1. ; order date/time...
  1. S RESULTS(2)=$S($P(DATA,FS,16)'="":$$FMDATE^HLFNC($P(DATA,FS,16)),$P(DATA,FS,10)'="":$$FMDATE^HLFNC($P(DATA,FS,10)),1:"")
  1. ; CPRS order number...
  1. S RESULTS(3)=+$P(DATA,FS,3)
  1. ; order type...
  1. S RESULTS(4)=$E(RESULTS(1),$L(RESULTS(1)))
  1. Q
  1. ;
  1. DELERR(IEN) ; delete an entry from the Error Log...
  1. ; IEN = the Error Log record number
  1. N ALPBPARM,DA,DIK,X,Y
  1. S ALPBPARM=+$O(^ALPB(53.71,0))
  1. I ALPBPARM'>0 Q
  1. S DA=IEN
  1. S DA(1)=ALPBPARM
  1. S DIK="^ALPB(53.71,"_DA(1)_",1,"
  1. D ^DIK
  1. Q
  1. ;
  1. ERRCT() ; fetch and return count of errors in the log in BCMA BACKUP PARAMETERS
  1. ; file...
  1. ; returns count of errors
  1. N ALPBPARM,ALPBCNT,ALPBX
  1. S ALPBPARM=+$O(^ALPB(53.71,0))
  1. I ALPBPARM'>0 Q 0
  1. S (ALPBCNT,ALPBX)=0
  1. F S ALPBX=$O(^ALPB(53.71,ALPBPARM,1,"B",ALPBX)) Q:'ALPBX S ALPBCNT=ALPBCNT+1
  1. Q ALPBCNT
  1. ;
  1. REPL(X,Y) ; replace non-alpha and non-numeric characters...
  1. ; X = a string to examine
  1. ; Y = a character to use as the replacment
  1. ; returns a string with any non-alpha and non-numeric characters
  1. ; converted to the character passed in Y
  1. I $G(X)=""!($G(Y)="") Q X
  1. N I,NEWSTR,NEWX,Z
  1. S NEWSTR=""
  1. F I=1:1:$L(X) D
  1. .S (NEWX,Z)=$E(X,I)
  1. .I $A(Z)<48&($A(Z)'=44) S NEWX=Y
  1. .I $A(Z)>57&($A(Z)<65) S NEWX=Y
  1. .I $A(Z)>90&($A(Z)<97) S NEWX=Y
  1. .I $A(Z)>122 S NEWX=Y
  1. .S NEWSTR=NEWSTR_NEWX
  1. Q NEWSTR
  1. ;
  1. CLORD(IEN,OIEN) ; delete drug(s), additive(s) and/or solution(s) entries
  1. ; for a specified order...
  1. ; IEN = patient's record number in file 53.7
  1. ; OIEN = order's sub-record number in file 53.7
  1. ; returns nothing
  1. I +$G(IEN)=0!(+$G(OIEN)=0) Q
  1. N DA,DIK,SUB,X,XIEN,Y
  1. F SUB=7,8,9 D
  1. .S XIEN=0
  1. .F S XIEN=$O(^ALPB(53.7,IEN,2,OIEN,SUB,XIEN)) Q:'XIEN D
  1. ..S DA=XIEN
  1. ..S DA(1)=OIEN
  1. ..S DA(2)=IEN
  1. ..S DIK="^ALPB(53.7,"_DA(2)_",2,"_DA(1)_","_SUB_","
  1. ..D ^DIK
  1. ..K DA,DIK
  1. .K XIEN
  1. Q