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

BWPCC2.m

Go to the documentation of this file.
  1. BWPCC2 ;IHS/ANMC/MWR - WOMEN'S HEALTH PCC LINK;15-Feb-2003 22:07;PLS
  1. ;;2.0;WOMEN'S HEALTH;**8,13**;APR 19, 1996;Build 9
  1. ;;* MICHAEL REMILLARD, DDS * ALASKA NATIVE MEDICAL CENTER *
  1. ;; SELECT AND PRINT THE POINTERS OF WOMEN'S HEALTH PROCEDURES TO
  1. ;; TABLE FILES: ICD OP/PROC, LAB TEST, EXAM, RADIOLOGY PROCEDURES.
  1. ;
  1. EDIT ;EP
  1. ;---> EDIT PROCEDURE PCC .01 POINTERS.
  1. D SETVARS^BWUTL5
  1. N A,DR,Y
  1. F D Q:$G(Y)<0
  1. .D TITLE^BWUTL5("EDIT WOMEN'S HEALTH PROCEDURE POINTERS")
  1. .S A=" Select WOMEN'S HEALTH PROCEDURE: "
  1. .D DIC^BWFMAN(9002086.2,"QEMAZ",.Y,A)
  1. .Q:Y<0
  1. .S BWVFIL=$P(Y(0),U,12)
  1. .I 'BWVFIL D Q
  1. ..W !!?5,"This procedure is not set up for export to PCC."
  1. ..D DIRZ^BWUTL3 K Y
  1. .D
  1. ..I BWVFIL=9000010.08 S DR=".14" Q
  1. ..I BWVFIL=9000010.09 S DR=".15" Q
  1. ..I BWVFIL=9000010.13 S DR=".16" Q
  1. ..I BWVFIL=9000010.22 S DR=".17" Q
  1. ..I BWVFIL=9000010.18 S DR=".08" Q
  1. .D DIE^BWFMAN(9002086.2,DR,+Y,.BWPOP)
  1. .D DIRZ^BWUTL3
  1. D EXIT
  1. Q
  1. ;
  1. ;
  1. PRINT ;EP
  1. ;---> DISPLAY PROCEDURE PCC .01 POINTERS.
  1. D SETUP
  1. D TITLE^BWUTL5("PROCEDURE TYPES AND THEIR PCC .01 VALUES")
  1. D DEVICE Q:BWPOP
  1. D DATA
  1. D DISPLAY
  1. D EXIT
  1. Q
  1. ;
  1. SETUP ;EP
  1. D SETVARS^BWUTL5 S BWPOP=0
  1. S BWLINE="-" F I=1:1:79 S BWLINE=BWLINE_"-"
  1. Q
  1. ;
  1. DEVICE ;EP
  1. ;---> GET DEVICE AND POSSIBLY QUEUE TO TASKMAN.
  1. S ZTRTN="DEQUEUE^BWPCC2"
  1. D ZIS^BWUTL2(.BWPOP,1)
  1. Q
  1. ;
  1. ;
  1. DISPLAY ;EP
  1. U IO
  1. S BWTITLE1="* WOMEN'S HEALTH: "
  1. S BWTITLE1=BWTITLE1_"PROCEDURE TYPES AND THEIR PCC .01 VALUES *"
  1. D CENTERT^BWUTL5(.BWTITLE1)
  1. S BWCRT=$S($E(IOST)="C":1,1:0),(BWPAGE,BWPOP)=0
  1. S BWSUB="W !?3,""WH PROCEDURE"",?29,""PCC .01 VALUE"""
  1. S BWSUB=BWSUB_",?64,""PCC TABLE FILE"""
  1. ;
  1. S (BWPOP,N,Z)=0
  1. W:BWCRT @IOF D HEADER
  1. F S N=$O(^TMP("BW",$J,N)) Q:'N!(BWPOP) D
  1. .I $Y+8>IOSL D:BWCRT DIRZ^BWUTL3 Q:BWPOP D HEADER
  1. .W !!,^TMP("BW",$J,N,0)
  1. I BWCRT&('BWPOP) W !! D DIRZ^BWUTL3
  1. W:'BWCRT @IOF
  1. D ^%ZISC
  1. K ^TMP("BW",$J)
  1. Q
  1. ;
  1. W:BWPAGE @IOF S BWPAGE=BWPAGE+1
  1. W !,BWTITLE1,?71,"PAGE ",BWPAGE
  1. W !,BWLINE X BWSUB W !,BWLINE
  1. Q
  1. ;
  1. DEQUEUE ;EP
  1. ;---> CALLED BY TASKMAN
  1. D SETUP,DATA,DISPLAY,EXIT
  1. Q
  1. ;
  1. DATA ;EP
  1. ;---> SORT PROCEDURE TYPE FILE POINTERS.
  1. N BWNODE,N,P,X,Y,Z K ^TMP("BW",$J)
  1. ;---> LOOP THROUGH BW PROCEDURE FILE.
  1. S N=0
  1. F I=1:1 S N=$O(^BWPN("B",N)) Q:N="" D
  1. .;
  1. .S Y=$O(^BWPN("B",N,0)),Y=^BWPN(Y,0),BWNODE=""
  1. .S BWNODE=$E($P(Y,U),1,24)
  1. .;
  1. .;---> X=V FILE POINTER.
  1. .S X=$P(Y,U,12)
  1. .I 'X S BWNODE=BWNODE_U_"NOT SET UP FOR PCC"
  1. .;
  1. .;---> Z=PCC TABLE FILE POINTER.
  1. .S Z=0
  1. .I X D
  1. ..Q:'$D(^DD(X,.01,0))
  1. ..S Z=+$P($P(^DD(X,.01,0),U,2),"P",2)
  1. .I ('Z)&(X) S BWNODE=BWNODE_U_"PROBLEM W/FILE"
  1. .;
  1. .;---> P=PCC TABLE FILE GLOBAL.
  1. .S:Z P=^DIC(Z,0,"GL")
  1. .D:(X&(Z))
  1. ..;---> V PROCEDURE PTR.
  1. ..I X=9000010.08 D Q
  1. ...I '$P(Y,U,14) S BWNODE=BWNODE_U_"POINTER VALUE NOT SELECTED" Q
  1. ...S BWNODE=BWNODE_U_$E($P(@(P_$P(Y,U,14)_",0)"),U,4),1,24)
  1. ...S BWNODE=BWNODE_" ("_$P(@(P_$P(Y,U,14)_",0)"),U)_")" Q
  1. ..;
  1. ..;---> V LAB PTR.
  1. ..I X=9000010.09 D Q
  1. ...I '$P(Y,U,15) S BWNODE=BWNODE_U_"POINTER VALUE NOT SELECTED" Q
  1. ...S BWNODE=BWNODE_U_$P(@(P_$P(Y,U,15)_",0)"),U) Q
  1. ..;
  1. ..;---> V EXAM PTR.
  1. ..I X=9000010.13 D Q
  1. ...I '$P(Y,U,16) S BWNODE=BWNODE_U_"POINTER VALUE NOT SELECTED" Q
  1. ...S BWNODE=BWNODE_U_$P(@(P_$P(Y,U,16)_",0)"),U)
  1. ...S BWNODE=BWNODE_" ("_$P(@(P_$P(Y,U,16)_",0)"),U,2)_")"
  1. ..;
  1. ..;---> V RADIOLOGY PTR.
  1. ..I X=9000010.22 D Q
  1. ...I '$P(Y,U,17) S BWNODE=BWNODE_U_"POINTER VALUE NOT SELECTED" Q
  1. ...S P=P_$P(Y,U,17)_",0)" I '$D(@P) D Q
  1. ....S BWNODE=BWNODE_U_"POINTED TO ENTRY DOES NOT EXIST"
  1. ...S BWNODE=BWNODE_U_$E($P(@(P),U),1,24)
  1. ...S BWNODE=BWNODE_" ("_$P(@(P),U,9)_")"
  1. ..;---> V CPT PTR
  1. ..I X=9000010.18 D Q
  1. ...I '$P(Y,U,8) S BWNODE=BWNODE_U_"POINTER VALUE NOT SELECTED" Q
  1. ...S P=P_$P(Y,U,8)_",0)" I '$D(@P) D Q
  1. ....S BWNODE=BWNODE_U_"POINTED TO ENTRY DOES NOT EXIST"
  1. ...S BWNODE=BWNODE_U_$E($P(@(P),U,2),1,24)
  1. ...S BWNODE=BWNODE_" ("_$P(@(P),U)_")" Q
  1. ..;
  1. ..;---> NOTHING.
  1. ..S BWNODE=BWNODE_U
  1. .;
  1. .S:(X&(Z)) BWNODE=BWNODE_U_$E($P(^DIC(Z,0),U),1,15)
  1. .;
  1. .D FORMAT(.BWNODE)
  1. .S ^TMP("BW",$J,I,0)=BWNODE
  1. Q
  1. ;
  1. FORMAT(Y) ;EP
  1. ;---> INSERT NECESSARY SPACING FOR COLUMNS.
  1. N A,B,C
  1. S A=$P(Y,U),B=$P(Y,U,2),C=$P(Y,U,3)
  1. S Y=" "_A_$$S(26-$L(A))_B_$$S(35-$L(B))_C
  1. Q
  1. ;
  1. S(S) ;EP
  1. ;---> SPACES.
  1. Q $$S^BWUTL7($G(S))
  1. ;
  1. EXIT ;EP
  1. D KILLALL^BWUTL8
  1. Q