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

AMERVSIT.m

Go to the documentation of this file.
  1. AMERVSIT ; IHS/OIT/SCR - INTERFACING ROUTINES OUTSIDE OF AMER NAMESPACE REQUIRED FOR PCC VISIT CREATION
  1. ;;3.0;ER VISIT SYSTEM;**1,5**;MAR 03, 2009;Build 14
  1. ;
  1. VPRVIEN(AMERPCC,AMERPIEN) ; EP from AMERPCC1
  1. ; ROUTINE to locate ien of V PROVIDER file in question
  1. ; INPUT :
  1. ; AMERPCC - IEN OF PCC VISIT
  1. ; AMERPIEN - PROVIDER IEN OF PROVIDER IN V PROVIDER FILE
  1. ;
  1. ; RETURNS IEN OF V PROVIDER FILE
  1. ;
  1. N AMERVIEN,AMERY,AMERFND,AMERVPRV
  1. S AMERVIEN=""
  1. S (AMERVPRV,AMERFND)=0
  1. F S AMERVPRV=$O(^AUPNVPRV("AD",AMERPCC,AMERVPRV)) Q:(AMERVPRV=""!AMERFND) D
  1. .; AMERVPRV is an IEN for a V PROVIDER entry for this visit.
  1. .; Now see if it is the V PROVIDER you were looking for
  1. .I AMERPIEN=$P($G(^AUPNVPRV(AMERVPRV,0)),U,1) D
  1. ..S AMERFND=1
  1. ..S AMERVIEN=AMERVPRV
  1. .Q
  1. Q AMERVIEN
  1. ;
  1. VPOVIEN(AMERPCC,AMERPIEN) ;
  1. ; AMERPCC - IEN OF PCC VISIT
  1. ; AMERPIEN - ICD9 IEN OF ICD9 CODE IN V POV FILE
  1. ;
  1. ; RETURNS IEN OF V POV FILE
  1. ;
  1. N AMERVIEN,AMERY,AMERFND,AMERVPOV
  1. S AMERVIEN=""
  1. S (AMERVPOV,AMERFND)=0
  1. F S AMERVPOV=$O(^AUPNVPOV("AD",AMERPCC,AMERVPOV)) Q:(AMERVPOV=""!AMERFND) D
  1. .; AMERVPOV is an IEN for a V POV entry for this visit.
  1. .; Now see if it is the V POV you were looking for
  1. .I AMERPIEN=$P($G(^AUPNVPOV(AMERVPOV,0)),U,1) D
  1. ..S AMERFND=1
  1. ..S AMERVIEN=AMERVPOV
  1. .Q
  1. Q AMERVIEN
  1. ;
  1. VSITDIE(AMERPCC,AMERVDR) ; EP from AMERPCC
  1. ; Updates VISIT file with AMERPCC IEN with DR string AMERVDR
  1. ; INPUT :
  1. ; AMERPCC - the VISIT ien for the entry that is being edited
  1. ; AMERVDR - THE DR string that will be used to update this entry
  1. N DIE,DR
  1. S DR=AMERVDR
  1. S DIE="^AUPNVSIT(",DA=AMERPCC
  1. L +^AUPNVSIT(DA):2
  1. I $T D
  1. .D ^DIE
  1. .L -^AUPNVSIT(DA)
  1. .D MOD^AUPNVSIT
  1. .Q
  1. E D EN^DDIOL("Unable to update VISIT file","","!!")
  1. Q
  1. VPRVDIE(AMERVIEN,AMERVDR) ; EP from AMERPCC1
  1. ; Updates a particular V PROVIDER entry
  1. ; INPUT :
  1. ; AMERVIEN - THE IEN OF THE V PROVIDER FILE THAT IS BEING MODIFIED
  1. ; AMERVDR - THE DR STRING THAT PROVIDES INFORMATION TO BE USED
  1. N DIE,DR
  1. S DR=AMERVDR
  1. S DIE="^AUPNVPRV(",DA=AMERVIEN
  1. L +^AUPNVPRV(DA):2
  1. I $T D
  1. .D ^DIE
  1. .L -^AUPNVPRV(DA)
  1. .D MOD^AUPNVSIT ; UPATE VISIT when modifying V PROVIDER
  1. .Q
  1. E D EN^DDIOL("Unable to update V PROVIDER file","","!!")
  1. Q
  1. VPOVDIE(AMERVIEN,AMERVDR) ; EP from AMERVSIT files to update V POV data
  1. ; Updates a particular V POV entry AMERVEIEN with DR string AMERVDR
  1. ; INPUT :
  1. ; AMERVIEN : THE IEN OF THE V POV record to be updated
  1. ; AMERVDR : The DR string containing the field and value to be updated
  1. N DIE,DR
  1. S DR=AMERVDR
  1. S DIE="^AUPNVPOV(",DA=AMERVIEN
  1. L +^AUPNVPOV(DA):2
  1. I $T D
  1. .D ^DIE
  1. .L -^AUPNVPOV(DA)
  1. .D MOD^AUPNVSIT ; UPATE VISIT when modifying V POV
  1. .Q
  1. E D EN^DDIOL("Unable to update V POV file","","!!")
  1. Q
  1. DELVPRV(AMERVPRV) ; EP from AMERPCC1
  1. ; REMOVE PROVIDER EIN AMERVPRV FROM V PROVIDER FILE
  1. ; INPUT:
  1. ; AMERVPRV : PROVIDER IEN TO BE REMOVED
  1. ;
  1. S DIK="^AUPNVPRV("
  1. S DA=AMERVPRV
  1. L +^AUPNVPRV(DA):2
  1. I $T D
  1. .D ^DIK
  1. .D IX^DIK ; RE-INDEX FILE FOR THIS ENTRY
  1. .L -^AUPNVPRV(DA)
  1. .D MOD^AUPNVSIT
  1. E D EN^DDIOL("Unable to delete from V PROVIDER entry","","!!")
  1. Q
  1. DELETPRV(AMERPCC) ; EP
  1. ; DELETES ALL V PROVIDER ENTRIES FOR A GIVEN PCC VISIT
  1. ; AMERPCC - VISIT IEN
  1. N AMERVPOV,DIK,DA
  1. S AMERVPRV=0
  1. I '$G(AMERPCC) Q 0
  1. L +^AUPNVPRV:3 E Q
  1. F S AMERVPRV=$O(^AUPNVPRV("AD",AMERPCC,AMERVPRV)) Q:AMERVPRV="" D
  1. .S DA=AMERVPRV,DIK="^AUPNVPRV(" D ^DIK
  1. .D IX^DIK
  1. .Q
  1. L -^AUPNVPRV
  1. K DA,DIK
  1. Q 1
  1. GETOPIEN(AMERNAME) ; EP from AMERPCC
  1. ; INPUT:
  1. ; AMERNAME : the name of the option who's ien belongs in the "created by option" field of the VISIT file
  1. N AMEROIEN,DIC,X,Y
  1. S DIC="^DIC(19,"
  1. S DIC(0)="BO" ; USE "B" CROSS REFERENCE AND ONLY FIND EXACT MATCH
  1. S X=AMERNAME
  1. D ^DIC
  1. I Y>0 S AMEROIEN=$P(Y,U,1)
  1. E S AMEROIEN=-1
  1. Q AMEROIEN
  1. GETVOPTN(AMERPCC) ; EP from AMERPCC
  1. ; RETURNS THE option used to create a visit
  1. ; INPUT :
  1. ; AMERPCC : the IEN of the VISIT record in question
  1. N AMEROPT
  1. S AMEROPT=$P($G(^AUPNVSIT(AMERPCC,0)),U,24)
  1. Q AMEROPT
  1. UPDTNAR(AMERVIEN,AMERNAR) ; EP from AMERPCC2
  1. ; UPDATES THE PROVIDER NARRATIVE FOR A GIVEN V POV ENTRY
  1. ; INPUT :
  1. ; AMERVIEN - V POV IEN
  1. ; AMERNAR - PROVIDER NARRATIVE
  1. N AMERDR
  1. S AMERVDR=".04///"_AMERNAR
  1. D VPOVDIE(AMERVIEN,AMERVDR)
  1. Q
  1. DELETPOV(AMERPCC) ; EP FROM AMERPCC2
  1. ; DELETES ALL V POV ENTRIES FOR A GIVEN PCC VISIT
  1. ; SO THEY CAN BE RE-ADDED WITH THE PRIMARY POV FIRST
  1. ;
  1. ; AMERPCC - VISIT IEN
  1. ;
  1. N AMERVPOV,DIK,DA
  1. S AMERVPOV=0
  1. I '$G(AMERPCC) Q 0
  1. L +^AUPNVPOV:3 E Q
  1. F S AMERVPOV=$O(^AUPNVPOV("AD",AMERPCC,AMERVPOV)) Q:AMERVPOV="" D
  1. .S DA=AMERVPOV,DIK="^AUPNVPOV(" D ^DIK
  1. .Q
  1. L -^AUPNVPOV
  1. K DA,DIK
  1. Q 1
  1. REMOVPOV(AMERVPOV) ; EP from AMERPCC2
  1. ; DELETES ONE V POV ENTRY
  1. ; INPUT:
  1. ; AMERVPOV - V POV IEN TO BE DELETED
  1. N DIK,DA
  1. I '$G(AMERVPOV)>0 Q 0
  1. L +^AUPNVPOV:3 E Q
  1. S DA=AMERVPOV
  1. S DIK="^AUPNVPOV("
  1. D ^DIK
  1. D IX^DIK ; RE-INDEX FILE FOR THIS ENTRY
  1. L -^AUPNVPOV
  1. K DA,DIK
  1. Q 1
  1. RTNGSLP(AMERDFN,AMERDATE) ; EP FROM AMERBSDU
  1. ; PRINTS ROUTING SLIP FOR A PATIENT WITH SCHEDULE
  1. ; INPUT:
  1. ; AMERDFN - EIN OF PATIENT IN PATIENT FILE
  1. ; AMERDATE - DATE/TIME OF ER VISIT
  1. ;
  1. N SDX,SDSTART,ORDER,SDREP
  1. S DIR(0)="Y",DIR("A")="Do you want to PRINT a routing slip",DIR("B")="YES"
  1. D ^DIR
  1. Q:Y=0
  1. K IOP S (SDX,SDSTART,ORDER,SDREP)=""
  1. ;
  1. ;AMER*3.0*5
  1. D LOG^AMERBUSA("P","P","AMERREP3","AMER: Printed Routing Slip",AMERDFN)
  1. ;
  1. D WISD^BSDROUT(AMERDFN,AMERDATE,"WI") ; lEGAL WITH PIMS 1006
  1. ; WISD^BSDROUT is not a public entry point yet but is in SOW for PIMS patch 1006.
  1. Q
  1. NEWREG(AMERDFN,AMERDA) ; EP from AMEREDTA
  1. ; Called when a misidentified patient must be registered as a new patient
  1. ;
  1. ; AMERDFN - A PATIENT IEN
  1. ; AMERDA - AN ER VISIT EIN
  1. ;
  1. ; RETURNS 1 IF PATIENT RECORD WAS CREATED ON DAY OF VISIT
  1. ; 0 IF PATIENT RECORD WAS NOT CREATED ON DAY OF VISIT
  1. N AMERCRTD,AMERVDAT,X1,X2,X,AMERNEW
  1. S AMERNEW=0
  1. S (AMERCRTD,X1)=$$DATECRTD(AMERDFN,"I")
  1. S (AMERVDAT,X2)=$P($G(^AMERVSIT(AMERDA,0)),U,1)
  1. D ^%DTC
  1. I X=0 S AMERNEW=1 ; THEN THE ORIGINAL PATIENT WAS CREATED ON THE DATE OF THE ER VISIT
  1. Q AMERNEW
  1. DATECRTD(DFN,F) ;
  1. ; Returns DATE CREATED in F format
  1. ; F="E":DATE CREATED IN EXTERNAL FORMAT, F="I":DATE CREATED IN INTERNAL FORMAT
  1. N AMERIDAT,AMEREDAT
  1. S (AMERIDAT,AMEREDAT)=""
  1. I '$G(DFN) Q -1
  1. I '$D(^AUPNPAT(DFN,0)) Q -1
  1. S AMERIDAT=$P($G(^AUPNPAT(DFN,0)),"^",2)
  1. I AMERIDAT="" Q ""
  1. S F=$G(F)
  1. I F="E" D
  1. .S Y=AMERIDAT
  1. .D DD^%DT
  1. .S AMEREDAT=Y
  1. .Q
  1. Q $S(F="I":AMERIDAT,F="E":AMEREDAT,1:AMERIDAT)
  1. CHANGPAT(AMERODFN,AMERDA,AMERISNW) ; EP FROM EDADMIT^AMEREDTA
  1. ; Updates appropriate files when a patient is changed in the editing interface
  1. ; ALGORITHM:
  1. ; 1. identifY if a new patient ID should be associated to the ER VISIT
  1. ; 2a. If NO updates use paitent reg APIs to change patient name
  1. ; 2b. If YES updates ER VISIT file and creates a new VISIT with new patient ID and old information
  1. ; leaves old PCC VISIT with no V POV or V PROVIDER files and sends a mail
  1. ; message idenifying original and changed information
  1. ; INPUT:
  1. ; AMERODFN - THE ORIGINAL PATIENT DFN
  1. ; AMERDA - POINTER TO THE ER VISIT FILE THAT IS BEING EDITED
  1. ; RETURNS;
  1. ; AMERNDFN = THE NEW PATIENT DFN
  1. N AMERNDFN,AMERNPCC,AMEROPCC,AMERDONE
  1. N DIC,Y,DIR
  1. S AMERNDFN="",AMERDONE=0
  1. ; NOW SAVE OFF OLD INFORMATION
  1. S AMERDATE=$P($G(^AMERVSIT(AMERDA,0)),U,1)
  1. S AMEROPCC=$$FINDVSIT^AMERPCC(AMERDA)
  1. F Q:AMERDONE=1 D
  1. .S DIC=2,DIC(0)="AEMQV"
  1. .S DIC("B")=$P($G(^DPT(AMERDFN,0)),U,1)
  1. .S DIC("A")="Enter the patient's NAME or LOCAL CHART NUMBER: "
  1. .D ^DIC K DIC,AUPNPAT,AUPNDOB,AUPNDOD,AUPNDAYS,AUPNSEX
  1. .I $D(DTOUT)!$D(DUOUT) K DTOUT,DUOUT S AMERQUIT="",AMERNDFN=0,AMERDONE=1 Q
  1. .I +Y'=-1 S AMERNDFN=+Y
  1. .; IF THE PATIENT WAS ORIGINALLY CREATED FOR THIS VISIT, DON'T CREATE ANOTHER ONE
  1. .I (+Y=-1&AMERISNW) S AMERNDFN=0,AMERDONE=1 Q
  1. .I $P(Y,U,2)=$P($G(^DPT(AMERODFN,0)),U,1) D
  1. ..S DIR(0)="Y",DIR("A")="Do you want to register a new patient for this visit "
  1. ..S DIR("B")="NO"
  1. ..D ^DIR
  1. ..; Give user a chance to create a new patient if an existing patient was incorrectly identified
  1. ..I +Y=1 D
  1. ...S DOG="" K DFN D DOG^AG0
  1. ...S:$D(DFN) AMERNDFN=DFN
  1. ...Q
  1. ..Q
  1. .I AMERNDFN="" S AMERNDFN=AMERODFN Q ; RETURN OLD PATIENT ID IF THE NEW PATIENT ID IS UNSUCCESSFUL
  1. .I AMERNDFN'=AMERODFN D
  1. ..S DIR(0)="Y",DIR("A")="Change patient from "_$P($G(^DPT(AMERODFN,0)),U,1)_" to "_$P($G(^DPT(AMERNDFN,0)),U,1)
  1. ..S DIR("B")="NO"
  1. ..D ^DIR
  1. ..I Y=0 S AMERNDFN=AMERODFN Q
  1. ..S AMERDONE=1 ; IF WE GOT THIS FAR, WE FOUND A PATIENT TO UPDATE SO QUIT LOOP
  1. ..; MODIFIY NEW VISIT CREATION TO WORK WITH SCHEDULED VISIT
  1. ..I $G(^AMER(2.5,DUZ(2),"SD"))="" S AMERNPCC=$$VISIT^AMERPCC(AMERNDFN,AMERDATE)
  1. ..; If the LOCATION is set up for scheduling create a PCC VISIT through ERS interface CHECKIN^AMERBSDU(AMERDFN,AMERTIME)
  1. ..I $G(^AMER(2.5,DUZ(2),"SD"))'="" S AMERNPCC=$$ERCHCKIN^AMERBSDU(AMERNDFN,AMERDATE)
  1. ..I AMERNPCC>0 D
  1. ...D SAVPCCO^AMERPCC(AMERNPCC,AMERDA) ; UPDATES ER VISIT FILE WITH NEW PCC IEN
  1. ...D DELETPRV(AMEROPCC)
  1. ...D DELETPOV(AMEROPCC)
  1. ...D SENDMSG(AMEROPCC,AMERNPCC,AMERODFN,AMERNDFN,AMERDATE)
  1. ...Q
  1. ..I AMERNPCC<1 D
  1. ...D EN^DDIOL("UNABLE TO CREATE NEW PCC VISIT FOR PATIENT "_AMERNDFN,"","!!")
  1. ...S AMERNDFN=AMERODFN
  1. ...Q
  1. ..Q
  1. .Q
  1. Q AMERNDFN
  1. UPDATPAT(AMERDFN) ; EP FROM AMEREDTA
  1. ; CALLED when a patient record that was created on the day of the ER VISIT is being updated
  1. ; INPUT:
  1. ; AMERDFN : THE IEN OF THE PATIENT RECORD BEING EDITED
  1. ;
  1. N DFN,Y,AMERBAD,AMERAGN,AMERQUIT
  1. S (AMERQUIT,AMERAGN,AMERBAD)=0
  1. S DFN=AMERDFN
  1. F Q:AMERQUIT=1 D
  1. .S AMERAGN=0
  1. .I $$NAME^AMERAGED(AMERDFN)=0 D ; MODIFIED NAME^AGEMAN TO FORCE THIS DFN AND NO OTHER FOR EDIT
  1. ..S DIR("A")="There were problems with patient update, would you like to try again"
  1. ..S DIR(0)="Y",DIR("B")="YES"
  1. ..D ^DIR
  1. ..I Y=0 S (AMERQUIT,AMERBAD)=1
  1. ..I Y=1 S AMERAGN=1
  1. ..Q
  1. .Q:AMERBAD!AMERAGN
  1. .I $D(DUOUT)!$D(DTOUT) K DUOUT,DTOUT S AMERQUIT=1 Q
  1. .D DOB^AG2A
  1. .I $D(DUOUT)!$D(DTOUT) K DUOUT,DTOUT S AMERQUIT=1 Q
  1. .D SEX^AG2A
  1. .I $D(DUOUT)!$D(DTOUT) K DUOUT,DTOUT S AMERQUIT=1 Q
  1. .D SSN^AG3A
  1. .I $D(DUOUT)!$D(DTOUT) K DUOUT,DTOUT S AMERQUIT=1 Q
  1. .S AMERQUIT=1
  1. .Q
  1. I AMERBAD Q 0
  1. Q 1
  1. SENDMSG(AMEROPCC,AMERNPCC,AMERODFN,AMERNDFN,AMERDATE) ;
  1. N AMERONAM,AMERNNAM,AMERMSG,X
  1. S AMERONAM=$P($G(^DPT(AMERODFN,0)),U,1)
  1. S AMERNNAM=$P($G(^DPT(AMERNDFN,0)),U,1)
  1. S Y=AMERDATE
  1. D DD^%DT
  1. S AMERDATE=Y
  1. S AMERMSG=$$PATMRG1^AMERXMB(AMERODFN,AMERONAM,AMEROPCC,AMERNDFN,AMERNNAM,AMERNPCC,AMERDATE)
  1. D EN^DDIOL("MESSAGE NUMBER "_AMERMSG_" CREATED AND SENT","","!!")
  1. Q
  1. UPDTVTIM(AMERDA,AMEROTIM,AMERNTIM) ; EP from AMEREDTA
  1. ; Array APCDCVDT must be passed as follows:
  1. ;
  1. ; APCDCVDT("VISIT DFN")=DFN of VISIT entry being changed.
  1. ; APCDCVDT("VISIT DATE/TIME")=date and time to be changed to in
  1. ; internal FileMan form.
  1. ; APCDCVDT("TALK")=any value including NULL
  1. N AMERDFN,AMERPCC
  1. K APCDCVDT
  1. S AMERDFN=$P($G(^AMERVSIT(AMERDA,0)),U,2)
  1. S AMERPCC=$$FINDVSIT^AMERPCC(AMERDA)
  1. S APCDCVDT("VISIT DFN")=AMERPCC
  1. S APCDCVDT("VISIT DATE/TIME")=AMERNTIM
  1. S APCDCVDT("TALK")=""
  1. I AMERPCC<1 D EN^DDIOL("VISIT NOT FOUND - TIME NOT UPDATED","","!")
  1. D:AMERPCC>0 START^APCDCVDT
  1. I $D(APCDCVDT("ERROR FLAG")) D EN^DDIOL("ERRORS RETURNED AFTER UPDATING PCC VISIT TIME","","!!")
  1. K APCDCVDT
  1. Q
  1. CLNICPTR(AMERPCC,AMERFORM) ;
  1. N AMERRTRN,AMERCLNC
  1. S AMERRTRN=""
  1. I 'AMERPCC Q -1
  1. I '$D(^AUPNVSIT(AMERPCC)) Q -1
  1. S AMERCLNC=$P(^AUPNVSIT(AMERPCC,0),U,8)
  1. I AMERCLNC=""
  1. I '$D(^DIC(40.7,AMERCLNC)) Q -1
  1. I AMERFORM="E" S AMERRTRN=$P(^DIC(40.7,AMERCLNC,0),U,1) ; THIS IS A WORD - EMERGENCY ROOM OR URGENT CARE
  1. S:AMERRTRN="" AMERRTRN=AMERCLNC
  1. Q AMERRTRN
  1. ;
  1. UPDTVCLN(AMERVPOV,AMERVCLN) ; EP FROM AMERPCC2
  1. ; UPDATES THE "clinic" field of V POV to the one identified on the VISIT
  1. ; INPUT :
  1. ; AMERVPOV - IEN OF VPOV BEING EDITED
  1. ; AMERVCLN - THE NAME OF THE CLINIC STOP FILE THAT SHOULD BE ASSOCIATED TO THIS VPOV ENTRY
  1. N AMERVDR
  1. S AMERVDR=".08///"_AMERVCLN
  1. D VPOVDIE(AMERVPOV,AMERVDR)
  1. Q
  1. GETPOVCL(AMERVPOV) ; EP from AMERPCC2
  1. ; INPUT: AMERVPOV - IEN OF THE V POV FILE
  1. ; RETURNS: THE DESCRIPTION OF "CLINIC STOP"
  1. N AMERVCLN
  1. S AMERVCLN=$P($G(^AUPNVPOV(AMERVPOV,12)),U,3) ; AMERVCLN IS A CODE -'30' FOR EMERGENCY '80' FOR URGENT CARE
  1. S:AMERVCLN'="" AMERVCLN=$P($G(^DIC(40.7,AMERVCLN,0)),U,1) ; AMERVCLN IS A WORD
  1. Q AMERVCLN
  1. GETPOVEP(AMERVPOV) ; EP from AMERPCC2
  1. ; INPUT AMERVPOV - IEN OF THE V POV FILE
  1. ; RETURNS - IEN OF ENCOUNTER PROVIDER FOR V POV ENTRY
  1. N AMEREPRV
  1. S AMEREPRV=$P($G(^AUPNVPOV(AMERVPOV,12)),U,4)
  1. Q AMEREPRV
  1. UPDTEPRV(AMERVIEN,AMERDOC) ; EP FROM AMERPCC2
  1. ; Updates ENCOUNTER PROVIDER in V POV file
  1. ; INPUT
  1. ; AMERVIEN : THE IEN of the V POV entr being updated
  1. ; AMERDOC : The IEN of the NEW PERSON with provider keys being added to file
  1. ; note: the four slash stuff is needed to avoid cross-referencing that can identify a provider by last four of social security
  1. N AMERVDR
  1. S AMERVDR="1204////"_AMERDOC
  1. D VPOVDIE(AMERVIEN,AMERVDR)
  1. Q
  1. DELETVST(AMERDA) ; IHS/OIT/SCR 10/08/08 - DELETE PCC VISIT WHEN 'REGISTERED IN ERROR'
  1. ; CALLED WHEN A VISIT IS SAVED WITH DISPOSITION 'REGISTERED IN ERROR'
  1. ; Updates VISIT file with AMERPCC IEN with DR string AMERVDR
  1. ; INPUT :
  1. ; AMERPCC - the VISIT ien for the entry that is being DELETED
  1. N APCDVDLT,AMERPCC,DIK,DA,AMERDFN,AMERTIME
  1. S AMERPCC=$$FINDVSIT^AMERPCC(AMERDA)
  1. I AMERPCC>0 D
  1. .S APCDVDLT=AMERPCC
  1. .D EN^APCDVDLT
  1. .K APCDVDLT
  1. S DIK="^AMERVSIT(",DA=AMERDA
  1. D ^DIK
  1. S AMERTIME=$P($G(^AMERVSIT(AMERDA,0)),U,1)
  1. S AMERDFN=$P($G(^AMERVSIT(AMERDA,0)),U,2)
  1. ;IHS/OIT/SCR 10/27/08
  1. D CANCEL^AMERBSDU(AMERDFN,AMERTIME)
  1. Q