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

PXBAPI21.m

Go to the documentation of this file.
  1. PXBAPI21 ;ISL/DCM - API for Classification check out ;7/25/96 15:04
  1. ;;1.0;PCE PATIENT CARE ENCOUNTER;;Aug 12, 1996
  1. CLASS(ENCOWNTR,DFN,APTDT,LOC,VISIT) ;Edit classification fields
  1. ; Input - ENCOWNTR - ien of ^SCE(ien (409.68 Outpatient Encounter file)
  1. ; ENCOWNTR optional if DFN,LOC,APTDT params used
  1. ; DFN - ien of ^DPT(DFN, (only used if no ENCOWNTR)
  1. ; LOC - ien of ^SC(LOC, (only used if no ENCOWNTR)
  1. ; APTDT - Appointment Date/time (only used if no ENCOWNTR)
  1. ; VISIT - optional if no ENCOWNTR look for main encounter that
  1. ; points to this visit
  1. ; Output - PXBDATA(Classification type)=OutPT Class ien^Value
  1. ; PXBDATA("ERR",Class type)=1 Bad ptr to 409.41
  1. ; =2 DATA entry not applicable
  1. ; =3 DATA entry uneditable
  1. ; =4 User ^ out of prompt
  1. ; Classification type 1 - Agent Orange
  1. ; 2 - Ionizing Radiation
  1. ; 3 - Service Connected
  1. ; 4 - Environmental Contaminants
  1. ; Ext References: ^SCE(DA,0) INP^SDAM2
  1. ; REQ^SDM1A CLINIC^SDAMU
  1. ; EXOE^SDCOU2 CLOE^SDCO21
  1. ; SEQ^SDCO21 CL^SDCO21
  1. ; In ^PXBAPI22
  1. ; ^DG(43,1,"SCLR") piece 24
  1. ; ^SD(409.41,DA,0) ^SD(409.41,DA,2)
  1. ; VAL^SDCODD SC^SDCO23
  1. I $G(ENCOWNTR)'>0,$G(VISIT)>0 D
  1. . S ENCOWNTR=$O(^SCE("AVSIT",VISIT,0))
  1. . I ENCOWNTR,$P(^SCE(ENCOWNTR,0),"^",6) S ENCOWNTR=$P(^SCE(ENCOWNTR,0),"^",6)
  1. N IEN,IFN,SDCLOEY,ORG,END,DA,X,SQUIT
  1. I $G(ENCOWNTR) Q:'$D(^SCE(+ENCOWNTR,0)) N APTDT,DFN,LOC S END=0,X0=^(0) D ENCHK(ENCOWNTR,X0) Q:END G ON
  1. Q:'$G(DFN)!'$G(LOC)!'$G(APTDT)
  1. S X=$G(^DPT(DFN,"S",APTDT,0))
  1. I +X,+X=LOC,$P(X,"^",20),$D(^SCE($P(X,"^",20),0)) S ENCOWNTR=$P(X,"^",20),END=0,X0=^(0) D ENCHK(ENCOWNTR,X0) Q:END G ON
  1. ON D ASKCL($G(ENCOWNTR),.SDCLOEY,DFN,APTDT)
  1. I '$D(SDCLOEY) Q
  1. I $D(SDCLOEY) D ASK($G(ENCOWNTR),.SDCLOEY,.SQUIT) Q:$D(SQUIT)
  1. Q
  1. ASKCL(ENCOWNTR,SDCLOEY,DFN,APTDT) ;Ask classifications on check out
  1. I $G(ENCOWNTR) D CLOE^SDCO21(ENCOWNTR,.SDCLOEY) Q
  1. D CL^SDCO21(DFN,APTDT,"",.SDCLOEY)
  1. Q
  1. ASK(ENCOWNTR,SDCLOEY,SQUIT) ;Ask classifications
  1. N I,IOINHI,IOINORM,TYPI,TYPSEQ,CTS,X
  1. S X="IOINHI;IOINORM" D ENDR^%ZISS
  1. I '$D(SDCLOEY) Q
  1. W !!,"--- ",IOINHI,"Classification",IOINORM," --- [",IOINHI,"Required",IOINORM,"]"
  1. W ! S TYPSEQ=$$SEQ^SDCO21 ;Get classification type sequence (3,1,2,4)
  1. F CTS=1:1 S TYPI=+$P(TYPSEQ,",",CTS) Q:'TYPI!($D(SQUIT)) D
  1. .I $D(SDCLOEY(TYPI)) D
  1. ..D ONE^PXBAPI22(TYPI,SDCLOEY(TYPI),ENCOWNTR,.SQUIT)
  1. ..I TYPI=3 F I=1,2,4 S:$D(SDCLOEY(I))&($P($G(PXBDATA(3)),"^",2)=1) $P(SDCLOEY(I),"^",3)=1 S:$P($G(PXBDATA(3)),"^",2)=0&('$D(SDCLOEY(I))) SDCLOEY(I)=""
  1. Q
  1. ENCHK(ENCOWNTR,X0) ;Do outpatient encounter checks
  1. S APTDT=+X0,DFN=$P(X0,"^",2),LOC=$P(X0,"^",4),ORG=$P(X0,"^",8),DA=$P(X0,"^",9)
  1. I $$REQ^SDM1A(+X0)'="CO" S END=1 Q ;Check MAS Check out date parameter
  1. I ORG=1,'$$CLINIC^SDAMU(+LOC) S END=1 Q ;Screen for valid clinic
  1. I "^1^2^"[("^"_ORG_"^"),$$INP^SDAM2(+DFN,+X0)="I" S END=1 Q ;Inpat chk
  1. I $$EXOE^SDCOU2(ENCOWNTR) S END=1 Q ;Chk exempt Outpt classifications
  1. Q
  1. TEST ;Test call to CLASS
  1. N PXIFN S PXIFN=63
  1. F S PXIFN=$O(^SCE(PXIFN)) Q:PXIFN<1 S DFN=$P(^(PXIFN,0),"^",2) K PXBDATA W !!,PXIFN_" "_$P(^DPT(DFN,0),"^") D S %=1 W !,"Continue " D YN^DICN Q:%'=1
  1. . D CLASS(PXIFN)
  1. . ;W ! ZW PXBDATA
  1. Q