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

VENPCC.m

Go to the documentation of this file.
  1. VENPCC ; IHS/OIT/GIS - ENTRY POINTS FOR THE PCC+ CHECK IN MODULE ;
  1. ;;2.6;PCC+;;NOV 12, 2007
  1. ;
  1. ; DEDICATED TO DON ENOS, DEAR FRIEND AND PRIMARY AUTHOR OF THE PCC
  1. ; 2.5 ENHANCEMENTS: NURSE CHECK IN AND EFNOTASK ENTRY POINT
  1. ;
  1. CKIN ; EP-TO GENERATE AN EF AND HS DURING A NON-ILC CHECK-IN
  1. NEW CLINIC,DEPTIEN,DIC,LOC,NOW,PATIENT,PRVIEN,TYPE,VIEN,X,Y,%,%H,%I,%Q,%Y,DTOUT,DUOUT,DEFEF,DEFHS,RESULT,CFIGIEN,VCN,AUPNDAYS,AUPNDOB,AUPNDOD,AUPNPAT,AUPNSEX,DIPGM,APPT,VPFLAG,POP,NCCANCEL
  1. N DISYS,DDH,AGE,SEX,SSN,DFN,DOB,%T,%1,%DT,ELIG,OGFLAG,EXT,UPDEM
  1. D ^XBCLS
  1. W !,"Welcome to the PATIENT CHECK-IN MODULE...."
  1. S CFIGIEN=$$CFG^VENPCCU I 'CFIGIEN W !,"Unable to find configuration parameters! Notify the site manager...",!! Q
  1. PATIENT ; EP-CHECK IN PATIENT
  1. G ^VENPCCA ; VER 2.2 CHECK IN PROCESS
  1. ;
  1. ; -------------------------------------------------------------------
  1. ; CHECK-IN CODE IN VENPCCA AFTER VER 1.X
  1. ; ---------------------------------------------------------------------
  1. ;
  1. DEBUG ; EP-FOR DEBUG MODE - NO VISIT CREATED AND RECORD SENT TO FILE NOT TCP SOCKET
  1. N VENDEMO,VENNOTCP,NOTASK,VENDEBUG
  1. S (NOTASK,VENDEMO,VENNOTCP)=1
  1. D CKIN
  1. Q
  1. ;
  1. EFNOTASK ; EP-NO TASK (FOREGROUND MODE), DEBUG, NO VISIT, ENCOUNTER FORM ONLY
  1. N EFONLY S EFONLY=1
  1. NOTASK ; EP-NO TASK, DEBUG, NO VISIT
  1. N NOTASK,VENDEMO S NOTASK=1,VENDEMO=1
  1. D VENPCC
  1. Q
  1. ;
  1. HSNOTASK ; EP-NO TASK (FOREGROUND MODE), HEALTH SUMMARY ONLY
  1. N NOTASK,HSONLY
  1. S NOTASK=1,HSONLY=1
  1. D VENPCC
  1. Q
  1. ;
  1. NCI ; EP-NURSE CHECK IN
  1. N NCIFLAG
  1. S NCIFLAG=1
  1. D CKIN
  1. Q
  1. ;
  1. DEMO ; EP-FROM VEN MENU OPTION ; DEMO MODE - NO VISIT CREATED
  1. N VENDEMO S VENDEMO=1
  1. D CKIN
  1. Q
  1. ;
  1. DEMODATA ; EP-CREATE A DEMO DATA FILE IN THE TEMP DIRECTORY
  1. ; ASSUMES THAT DEMODATA ALREADY HAS A VALUE = DEMO FILE NAME
  1. N EFONLY,VENDEMO,NOTASK
  1. I '$L($G(DEMODATA)) Q ; THE DEMO DATA FILE MUST HAVE A NAME
  1. S DEMODATA=$P(DEMODATA,".") ; STRIP OFF FILE EXTENSION
  1. S EFONLY=1,VENDEMO=1,NOTASK=1
  1. D CKIN
  1. Q
  1. ;
  1. REPRINT ; EP-FROM THE MENU OPTION ; REPRINT THE EF
  1. N REPRINT S REPRINT=1
  1. EFONLY ; EP-FROM VEN MENU OPTION ; PRINT THE EF ONLY
  1. N EFONLY S EFONLY=1
  1. D CKIN
  1. Q
  1. ;
  1. HSONLY ; EP-FROM VEN MENU OPTION ; PRINT THE HS ONLY
  1. N HSONLY,VENDEMO S (HSONLY,VENDEMO)=1
  1. D CKIN
  1. Q
  1. ;
  1. OGONLY ; EP-FROM VEN MENU OPTION ; OUTGUIDE ONLY
  1. N OGONLY,VENDEMO S (OGONLY,VENDEMO)=1
  1. D VENPCC
  1. Q
  1. ;
  1. EHR ; EP - USE THE VISIT CREATED BY THE EHR
  1. N EHRFLAG
  1. S EHRFLAG=1
  1. D VENPCC
  1. Q
  1. ;
  1. CKONLY ; EP-CHECKIN ONLY
  1. N CHECKIN S CHECKIN=1
  1. D CKIN
  1. Q
  1. ;
  1. PGRP(CIEN) ; EP-RETURN THE SPECIAL PRINTER GROUP (SPGRP) ; ONLY FOR HS ONLY, TELEPHONE TRIAGE, OR CHART REV
  1. ; PATCHED BY GIS/OIT 1/15/06 ; PCC+ 2.5 PATCH 2
  1. N DIC,X,Y,LOC,DUOUT,DTOUT,CNAME,PGRP
  1. I $G(HSONLY) G PGRP0
  1. S CNAME=$P($G(^DIC(40.7,CIEN,0)),U) ; GET THE STANDARD CLINIC STOP NAME
  1. I CNAME'["TELEPHONE",CNAME'["CHART REVIEW" Q "" ; CAN ONLY DEFINE SPGRP FOR TELE TRIAGE & CHART REVIEW
  1. PGRP0 S DIC="^VEN(7.95,",DIC(0)="AEQM",DIC("A")="Printer location: "
  1. S DIC("S")="I $P($G(^(2)),U,1)"
  1. PGRP1 D ^DIC I Y=-1 D ^XBFMK Q -1
  1. S PGRP=$P($G(^VEN(7.95,+Y,2)),U)
  1. D ^XBFMK
  1. Q PGRP
  1. ;
  1. DOCS N PATH,% ; EP-FROM VENPCCMX ; COUNT DOCUMENTS
  1. S PATH=$G(^VEN(7.5,CFIGIEN,1)) I '$L(PATH) Q
  1. S %=$$COUNT^VENPCCP(PATH)
  1. I %'=1 W !,"There are now ",%," documents in the print queue"
  1. E W !,"There is one document in the print queue"
  1. Q
  1. ;
  1. PACK() ; EP-TO PACK UP ENVIRONMENTAL VARIABLES
  1. N %,Y,I,X,JOB,VENDEV
  1. S %="DT^DTIME^DUZ^DUZ(0)^DUZ(2)^VENDEV^JOB^NOTASK^VENDEMO^VENNOTCP^EFONLY^HSONLY^OGONLY^OGFLAG^SPGRP",Y="",JOB=$J,VENDEV=$G(IO)
  1. F I=1:1:$L(%,U) S X=$P(%,U,I) I $D(@X) S $P(Y,U,I)=X_"="_@X
  1. Q Y
  1. ;
  1. DUP(DFN,DIEN) ; EP-GIVEN A DFN AND DEPT STOP IEN RETURN A '1' IF DUPLICATE VISIT
  1. I '$D(^DPT(+$G(DFN),0)) Q 0
  1. I '$D(^VEN(7.95,+$G(DIEN),0)) Q 0
  1. N QIEN,TIME,DIFF,DEPT,STOP,VISIT,LIM,VIEN,X,CS,V,VDT,CSIEN,%,%Y,TIME
  1. ; FIRST CHECK THE VISIT FILE
  1. S VISIT=999999999999,STOP=0,LIM=$$FMADD^XLFDT($$NOW^VENPCCU,0,-6,0,0),VIEN=0
  1. F V=1:1:10 S VISIT=$O(^AUPNVSIT("AC",DFN,VISIT),-1) Q:'VISIT D I STOP Q ; CHK LAST 10 VISITS FOR MATCHES
  1. . S X=$G(^AUPNVSIT(VISIT,0)) I '$L(X) Q
  1. . S VDT=+X
  1. . I VDT<LIM Q
  1. . S CS=$P(X,U,8) I CS,CS=$P($G(^VEN(7.95,+$G(DIEN),0)),U,4) S STOP=1,VIEN=VISIT Q
  1. . Q
  1. I 'VIEN,$G(EHRFLAG) W !,"PCC+ can't locate a valid EHR visit! Request cancelled.." Q "" ; IF EHR FLAG IS SET, A DUPLCATE MUST EXIST!!!!
  1. I 'VIEN W !,"A new VISIT will be created for this encounter" Q "" ; NO DUPLICATE FOUND
  1. ; AT THIS POINT A POTENTIAL VISIT EXISTS
  1. I $G(EHRFLAG) W !,"PCC+ has successfully located the EHR visit!" Q VIEN
  1. DNCI I $G(NCIFLAG) D Q VIEN ; AUTOMATICALLY ASSIGN THE VISIT IF NURSE CHECK IN FLAG IS SET
  1. . S CSIEN=$P($G(^AUPNVSIT(VIEN,0)),U,8) I 'CSIEN S VIEN="" Q
  1. . S CS=$P($G(^DIC(40.7,CSIEN,0)),U) I '$L(CS) S VIEN="" Q
  1. . S TIME="today"
  1. . S %=+$G(^AUPNVSIT(VIEN,0)) I '% Q
  1. . I $P(%,".",2)'=12 S TIME="on "_$$FMTE^XLFDT(%)
  1. . W !,"This patient checked into a """,CS,""" clinic ",TIME
  1. . W !,"Want to link your check-in measurements to this existing"
  1. . W !,"visit (Answer NO only if you want to create a new visit!)"
  1. . S %=1 D YN^DICN
  1. . I %=1 Q
  1. . W !,"OK, a new visit will be created to contain your check-in measurements"
  1. . S VIEN="" ; FORCE THE CREATION OF A NEW NCI VISIT
  1. . Q
  1. DREG ; FROM HERE ON, POSSIBLE MATCH EXISTS BUT IT IS A REG VISIT - NOT AN NCI VISIT
  1. W !,"This patient had a visit in this clinic within the past 6 hours..."
  1. W !,"Want to create another visit" S %=2
  1. D YN^DICN
  1. I %=1 Q VIEN ; FORCE THE CREATION OF A NEW VISIT
  1. Q ""
  1. ;
  1. QUEUE(VISIT,DEPTIEN,OGFLAG,TRFLAG,UPDEM,PRVIEN) ; EP-LEGACY SIGNATURE EP FOR ANMC
  1. G QSIG^VENPCCA
  1. ;
  1. PIMS(PIMSDFN) ; EP - PRINTS A PCC+ FORM VIA USUAL DIALOG. CALLED DURING PIMS SCHEDULING
  1. ; PATIENT DFN IS KNOWN BUT NO VISIT WILL BE CREATED
  1. ; PATCHED BY GIS/OIT 6/15/06 ; PCC+ 2.5 PATCH 5
  1. I '$D(^DPT(+$G(PIMSDFN),0)) Q
  1. N NOVISIT
  1. S NOVISIT=1
  1. D CKIN
  1. Q
  1. ;