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

BQIPLADR.m

Go to the documentation of this file.
  1. BQIPLADR ;VNGT/HS/ALA-Mail Merge RPC ; 12 May 2008 2:39 PM
  1. ;;2.1;ICARE MANAGEMENT SYSTEM;;Feb 07, 2011
  1. ;
  1. ;
  1. EN(DATA,OWNR,PLIEN,PLIST) ; EP - BQI MAIL MERGE LIST
  1. ; Input
  1. ; PLIST - List of patient IENs separated by $C(28)
  1. ;DUZ is assumed to be the user signed onto iCare.
  1. ;DFN is the Patient internal entry number
  1. ;
  1. NEW UID,II,ADATA,APCLPCNT,APCLPRNT,CITY,ZIP,STATE
  1. S UID=$S($G(ZTSK):"Z"_ZTSK,1:$J)
  1. S DATA=$NA(^TMP("BQIPLADR",UID))
  1. K @DATA
  1. ;
  1. S II=0
  1. NEW $ESTACK,$ETRAP S $ETRAP="D ERR^BQIPLADR D UNWIND^%ZTER" ; SAC 2006 2.2.3.3.2
  1. ;
  1. D HDR
  1. S PLIST=$G(PLIST,""),OWNR=$G(OWNR,""),PLIEN=$G(PLIEN,"")
  1. ;
  1. I OWNR'="" D G DONE
  1. . S DFN=0
  1. . F S DFN=$O(^BQICARE(OWNR,1,PLIEN,40,DFN)) Q:'DFN D PARS
  1. ;
  1. I PLIST="" D
  1. . S LIST="",BN=""
  1. . F S BN=$O(PLIST(BN)) Q:BN="" S LIST=LIST_PLIST(BN)
  1. . K PLIST
  1. . S PLIST=LIST
  1. . K LIST
  1. F BQI=1:1 S DFN=$P(PLIST,$C(28),BQI) Q:DFN="" D PARS
  1. ;
  1. DONE ;
  1. S II=II+1,@DATA@(II)=$C(31)
  1. Q
  1. ;
  1. ERR ;
  1. D ^%ZTER
  1. N Y,ERRDTM
  1. S Y=$$NOW^XLFDT() X ^DD("DD") S ERRDTM=Y
  1. S BMXSEC="Recording that an error occurred at "_ERRDTM
  1. I $D(II),$D(DATA) S II=II+1,@DATA@(II)=$C(31)
  1. Q
  1. ;
  1. HDR ;
  1. S @DATA@(II)="T00040Name^T00080Address_Line_1^T00080Address_Line_2^T00080Address_Line_3^T00015City^T00002State^T00010Zipcode^"
  1. S @DATA@(II)=@DATA@(II)_"T00020Home_Phone^T00020Business_Phone^T00020Alternate_Phone^T00030Community_of_Residence"_$C(30)
  1. Q
  1. ;
  1. PARS ;
  1. NEW DA,EXE,X,NAME,ADR,APCLPRNM,PHN1,PHN2,COMM,PHN3
  1. S DA=$O(^APCLVSTS("B","First, Last Name",""))
  1. S EXE=^APCLVSTS(DA,3)
  1. X EXE
  1. S NAME=X
  1. S II=II+1,@DATA@(II)=NAME
  1. S DA=$O(^APCLVSTS("B","Mlg Address-Complete","")) I DA="" Q
  1. S EXE=^APCLVSTS(DA,3)
  1. X EXE
  1. S ADR=""
  1. S LAST=$O(APCLPRNM(""),-1)
  1. S ADATA=APCLPRNM(LAST) K APCLPRNM(LAST)
  1. ;
  1. F S ADR=$O(APCLPRNM(ADR)) Q:ADR="" D
  1. . S $P(@DATA@(II),U,1+ADR)=APCLPRNM(ADR)
  1. I APCLPCNT<4 S @DATA@(II)=@DATA@(II)_U
  1. I APCLPCNT<3 S @DATA@(II)=@DATA@(II)_U
  1. ;
  1. S CITY=$P(ADATA,",",1),RN=$L(ADATA," ")
  1. S ZIP=$P(ADATA," ",RN)
  1. S DA=$O(^APCLVSTS("B","Mlg Address-State Abbrv","")) I DA="" Q
  1. S EXE=^APCLVSTS(DA,3)
  1. X EXE
  1. S STATE=APCLPRNT
  1. S PHN1=$P($G(^DPT(DFN,.13)),U,1),PHN2=$P($G(^DPT(DFN,.13)),U,2)
  1. S PHN3=$P($G(^AUPNPAT(DFN,18)),U,1)
  1. S COMM=$$GET1^DIQ(9000001,DFN_",",1117,"E")
  1. S @DATA@(II)=@DATA@(II)_U_CITY_U_STATE_U_ZIP_U_PHN1_U_PHN2_U_PHN3_U_COMM_$C(30)
  1. Q
  1. ;
  1. GLS(DATA,FAKE) ;EP -- BQI GET MAIL MERGE GLOSSARY
  1. ;
  1. NEW UID,II,STIEN,IEN
  1. ;
  1. S UID=$S($G(ZTSK):"Z"_ZTSK,1:$J)
  1. S DATA=$NA(^TMP("BQIMMHLP",UID))
  1. K @DATA
  1. ;
  1. S II=0
  1. NEW $ESTACK,$ETRAP S $ETRAP="D ERR^BQICAHLP D UNWIND^%ZTER" ; SAC 2006 2.2.3.3.2
  1. ;
  1. S @DATA@(II)="T32767TEXT"_$C(30)
  1. S STIEN=$$SPM^BQIGPUTL()
  1. S IEN=0
  1. F S IEN=$O(^BQI(90508,STIEN,17,IEN)) Q:'IEN D
  1. . S II=II+1,@DATA@(II)=^BQI(90508,STIEN,17,IEN,0)
  1. S @DATA@(II)=@DATA@(II)_$C(30)
  1. S II=II+1,@DATA@(II)=$C(31)
  1. Q