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

BPMXWP.m

Go to the documentation of this file.
  1. BPMXWP ;IHS/PHXAO/AEF - PROCESS WORD PROCESSING FIELDS - 6/26/12 ;
  1. ;;1.0;IHS PATIENT MERGE;**2**;MAR 01, 2010;Build 1
  1. ;IHS/OIT/LJF 10/26/2006 routine originated from Phoenix Area Office
  1. ; changed namespace from BZXM to BPM
  1. ;IHS/OIT/NKD 6/13/2012 Added DT to WP's 3rd piece in 0 node
  1. ; Removed ^GMR processing
  1. ; Delete WP after merging
  1. ; Create an entry in the parent file if none existed
  1. ;;
  1. DESC ;----- ROUTINE DESCRIPTION
  1. ;;
  1. ;;BPMXWP:
  1. ;;THIS ROUTINE MERGES THE CONTENTS OF THE SPECIFIED WORD PROCESSING
  1. ;;FIELD FOR THE SPECIFIED ENTRY FOR DINUM'ED FILES.
  1. ;;
  1. ;;THIS ROUTINE IS CALLED BY THE SPECIAL MERGE ROUTINE DRIVER - ^BPMXDRV
  1. ;;
  1. ;;THE IHS PATIENT MERGE SOFTWARE ENTERS AT EN LINE LABEL. IT IS EXPECTED
  1. ;;THAT THE FOLLOWING GLOBAL WOULD HAVE BEEN SET UP BY THE PATIENT MERGE
  1. ;;SOFTWARE:
  1. ;; ^TMP("XDRFROM",$J,FROMIEN,TOIEN,FROMIEN_GLOBROOT,TOIEN_GLOBROOT)=FILE
  1. ;;EXAMPLE:
  1. ;; ^TMP("XDRFROM",2804,6364,1991,"6364;DPT(","1991;DPT(")=2
  1. ;;WHERE =2 IS THE PARENT FILE (VA PATIENT FILE).
  1. ;;
  1. ;;$$END
  1. ;
  1. N I,X F I=1:1 S X=$P($T(DESC+I),";;",2) Q:X["$$END" D EN^DDIOL(X)
  1. Q
  1. EN(BPMRY) ;EP
  1. ;----- MAIN ENTRY POINT FROM DUPLICATE PATIENT MERGE SOFTWARE
  1. ;
  1. ; BPMRY = TEMP GLOBAL SET UP BY THE PATIENT MERGE SOFTWARE,
  1. ; I.E., "^TMP(""XDRFROM"",$J)"
  1. ;
  1. N BPMFR,BPMTO
  1. ;
  1. S BPMFR=$O(@BPMRY@(0))
  1. Q:'BPMFR
  1. S BPMTO=$O(@BPMRY@(BPMFR,0))
  1. Q:'BPMTO
  1. ;
  1. D PROC(BPMFR,BPMTO)
  1. Q
  1. PROC(BPMFR,BPMTO) ;
  1. ;----- PROCESS WP FIELDS
  1. ;
  1. N I,FLD
  1. ;
  1. F I=1:1 S FLD=$P($T(WPFLDS+I),";;",2) Q:FLD["$$END" D
  1. . D ONE(BPMFR,BPMTO,FLD)
  1. Q
  1. ONE(BPMFR,BPMTO,FLD) ;
  1. ;----- PROCESS ONE WP FIELD
  1. ;
  1. K ^TMP("BPM",$J)
  1. ;
  1. D GET(BPMFR,FLD)
  1. Q:'$D(^TMP("BPM",$J))
  1. D PUT(BPMTO,FLD)
  1. ;
  1. K ^TMP("BPM",$J)
  1. ;
  1. Q
  1. GET(IEN,FLD) ;
  1. ;----- GET TEXT FROM WP FIELD
  1. ;
  1. N G,Z,DA,DIK,DO,DD
  1. ;
  1. S G=$P(FLD,";")_IEN_","_$P(FLD,";",2)_","
  1. S Z=0
  1. F S Z=$O(@(G_Z_")")) Q:'Z D
  1. . S ^TMP("BPM",$J,Z)=@(G_Z_",0)")
  1. ;IHS/OIT/NKD BPM*1.0*2 REMOVE WP DATA AFTER STORING
  1. K @($P(FLD,";")_IEN_","_$P(FLD,";",2)_")")
  1. Q
  1. PUT(IEN,FLD) ;
  1. ;----- PUT TEXT INTO WP FIELD
  1. ;
  1. ;IHS/OIT/NKD BPM*1.0*2 CREATE PARENT FILE ENTRY IF NONE EXISTED
  1. I '$D(@($P(FLD,";")_IEN_",0)")) D
  1. . N DIC,X,DINUM
  1. . S DIC=$P(FLD,";"),DIC(0)=""
  1. . S X=IEN,DINUM=X
  1. . K DD,DO
  1. . D FILE^DICN
  1. ;
  1. N D1,G,Z
  1. ;
  1. S G=$P(FLD,";")_IEN_","_$P(FLD,";",2)_","
  1. S D1=+$P($G(@(G_"0)")),U,3)
  1. S Z=0
  1. F S Z=$O(^TMP("BPM",$J,Z)) Q:'Z D
  1. . S D1=D1+1
  1. . S @(G_D1_",0)")=^TMP("BPM",$J,Z)
  1. . ;IHS/OIT/NKD BPM*1.0*2 ADD DT TO 3RD PIECE
  1. . S $P(@(G_"0)"),U,3,5)=D1_U_D1_U_$$DT^XLFDT()
  1. Q
  1. WPFLDS ;----- LIST OF WORD PROCESSING FIELDS TO BE MERGED - GBLROOT;SUBSCRPT
  1. ;;^AUPNPAT(;12;LOCATION OF HOME FIELD IN PATIENT FILE
  1. ;;^AUPNPAT(;13;ADDITIONAL REGISTRATION INFO FIELD IN PATIENT FILE
  1. ;;^AUPNPAT(;14;REMARKS FIELD IN PATIENT FILE
  1. ;;^AUPNPAT(;15;ALERTS FIELD IN PATIENT FILE
  1. ;;^AUPNPAT(;16;CHS NOTES FIELD IN PATIENT FILE
  1. ;;^BATREG(;11;NOTES/COMMENTS FIELD IN ASTHMA REGISTER FILE
  1. ;;^AMHPINTK(;10;REFERRED BY FIELD IN MHSS INTAKE FILE
  1. ;;^AMHPINTK(;11;INFORMANTS INCLUDE FIELD IN MHSS INTAKE FILE
  1. ;;^AMHPINTK(;12;HISTORY OF PRESENTING PROBLEM FIELD IN MHSS INTAKE FILE
  1. ;;^AMHPINTK(;13;PAST PSYCHIATRIC HISTORY FIELD IN MHSS INTAKE FILE
  1. ;;^AMHPINTK(;14;DRUG/ALCOHOL HISTORY FIELD IN MHSS INTAKE FILE
  1. ;;^AMHPINTK(;15;LEGAL HISTORY FIELD IN MHSS INTAKE FILE
  1. ;;^AMHPINTK(;16;SOCIAL HISTORY FIELD IN MHSS INTAKE FILE
  1. ;;^AMHPINTK(;17;MEDICAL HISTORY FIELD IN MHSS INTAKE FILE
  1. ;;^AMHPINTK(;18;CURRENT MEDICATIONS FIELD IN MHSS INTAKE FILE
  1. ;;^AMHPINTK(;19;MENTAL STATUS EXAM FIELD IN MHSS INTAKE FILE
  1. ;;^AMHPINTK(;21;IMPRESSION/FORMULATION FIELD IN MHSS INTAKE FILE
  1. ;;^AMHPINTK(;22;DEVELOPMENTAL HISTORY FIELD IN MHSS INTAKE FILE
  1. ;;^AMHPINTK(;23;EDUCATIONAL HISTORY FIELD IN MHSS INTAKE FILE
  1. ;;^AMHPINTK(;24;FAMILY HISTORY FIELD IN MHSS INTAKE FILE
  1. ;;^AMHPINTK(;25;VOCATIONAL HISTORY FIELD IN MHSS INTAKE FILE
  1. ;;^AMHPINTK(;26;HOBBIES FIELD IN MHSS INTAKE FILE
  1. ;;^AMHPINTK(;27;STRENGTHS/RESOURCES FIELD IN MHSS INTAKE FILE
  1. ;;^AMHPINTK(;28;INITIAL PLAN FIELD IN MHSS INTAKE FILE
  1. ;;^AMHPINTK(;41;INTAKE DOCUMENTATION/NARRATIVE FIELD IN MHSS INTAKE FILE
  1. ;;^BIP(;1;IMM/SERVE TEXT FIELD IN BI PATIENT FILE
  1. ;;^BWP(;1;NOTES FIELD IN BW PATIENT FILE
  1. ;;^PS(55,;5.2;COMMENTS FIELD IN PHARMACY PATIENT FILE
  1. ;;^SCPT(404.41,;"C";COMMENTS FIELD IN OUTPATIENT PROFILE FILE
  1. ;;^ABSPE(;"TRANS";TRANSMISSION RAW DATA FIELD IN ABSP ELIGIBILITY FILE
  1. ;;^ABSPE(;"RESP";RESPONSE RAW DATA FIELD IN ABSP ELIGIBILITY FILE
  1. ;;$$END
  1. ;;^GMR(126,;"IN";INTAKE FIELD IN GMRY PATIENT I/0 FILE
  1. ;;^GMR(126,;"IV";IV FIELD IN GMRY PATIENT I/O FILE
  1. ;;^GMR(126,;"OUT";OUTPUT FIELD IN GMRY PATIENT I/O FILE