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

AGCNVTPL.m

Go to the documentation of this file.
  1. AGCNVTPL ; IHS/ASDS/EFG - THIRD PART LIABILITY CONVERSION ROUTINE 3/26/2004 8:10:41 AM
  1. ;;7.1;PATIENT REGISTRATION;;AUG 25,2005
  1. ;USE AS A POST INSTALL TO TRANSFER ENTRIES FROM THE AUTO/LIABILITY FILE TO
  1. ;THE NEW THIRD PART LIABILITY FILE
  1. ;
  1. D BMES^XPDUTL("Beginning post-install routine (AGTPLTR). "),TS
  1. I '$$CONFIRM D BMES^XPDUTL("New file 9000041 cannot be found transfer aborted!!") Q
  1. ;
  1. I $P($G(^AUPNTPL(0)),U,4) D BMES^XPDUTL("Entries already transferred. Aborting transfer "),TS Q
  1. ;
  1. S RECORDS=+$P($G(^AUPNAUTO(0)),U,4)
  1. D BMES^XPDUTL(RECORDS_" records found in file 9000031")
  1. I 'RECORDS D BMES^XPDUTL("No records to transfer... transfer not done.") Q
  1. ;
  1. D READOLD ;LOOP THROUGH OLD FILE
  1. Q
  1. READOLD ;
  1. S PATIEN=0
  1. F S PATIEN=$O(^AUPNAUTO("C",PATIEN)) Q:PATIEN="" D
  1. .S RECORD=0
  1. .F S RECORD=$O(^AUPNAUTO("C",PATIEN,RECORD)) Q:'RECORD D
  1. ..S DATA0=$G(^AUPNAUTO(RECORD,0))
  1. ..S DATA1=$G(^AUPNAUTO(RECORD,1))
  1. ..S DATEINJ=$P(DATA0,U) ;FILEMAN DATE 3040323
  1. ..S PAT=$P(DATA0,U,2) ;PTR TO 9000001
  1. ..S DESCRIP=$P(DATA0,U,3) ;FREE TEXT
  1. ..S INSCOMP=$P(DATA0,U,4) ;FREE TEXT LOOK FOR IN INSURER FILE
  1. ..S POLNUM=$P(DATA0,U,5) ;FREE TEXT
  1. ..S ATTORN=$P(DATA0,U,6) ;FREE TEXT
  1. ..S RESPSSN=$P(DATA0,U,7) ;FREE TEXT
  1. ..S CAUSE=$P(DATA0,U,8) ;FREE TEXT
  1. ..S RESPNAM=$P(DATA1,U) ;FREE TEXT
  1. ..S EFFDATE=$P(DATA1,U,2) ;FILEMAN DATE 3040323
  1. ..S ENDDATE=$P(DATA1,U,3) ;FILEMAN DATE 3040323
  1. ..S GRPNAME=$P(DATA1,U,4) ;PTR TO 9999999.77
  1. ..S NOTES=$P(DATA1,U,5) ;FREE TEXT
  1. ..I INSCOMP'="" D FINDINS(INSCOMP,RECORD) ;FIND A MATCH FOR THE INSURER IN THE INSURER FILE
  1. ..D ENTERNEW ;CREATE NEW RECORDS IN NEW FILE WITH OLD DATA
  1. Q
  1. CONFIRM() ;
  1. Q $D(^DIC(9000041,0))
  1. TS D MES^XPDUTL($$HTE^XLFDT($H)) Q
  1. ;FIND INSURER IN THE INSURER FILE
  1. FINDINS(X,RECORD) ;
  1. K INSCOMPP ;INSURANCE COMPANY POINTER
  1. D SEARCH(X)
  1. Q
  1. S GLO="^AUTNINS(0)"
  1. F S GLO=$Q(@GLO) Q:GLO="" Q:'(+$P($P(GLO,","),"(",2)) D Q:$D(INSCOMPP)
  1. . I $P(@GLO,U)=X S FREC=$P($P(GLO,","),"(",2) S INSCOMPP=FREC D DISPLAY(GLO,FREC,1,X) Q
  1. . I @GLO[X S FREC=$P($P(GLO,","),"(",2) S INSCOMPP=FREC D DISPLAY(GLO,FREC,2,X) Q
  1. Q
  1. DISPLAY(GLO,FREC,MSG,KEYWORD) ;
  1. W !!,$S(MSG=1:"Exact ",MSG=2:"Possible ",1:"Unknown msg")_" match for KEYWORD="_KEYWORD_" in record "_RECORD_" in AUTO/LIABILITY file found in INSURER file at ien "_FREC_" "_$P(@GLO,U)
  1. Q
  1. ;CREATE THE NEW RECORDS IN 'THIRD PART LIABILITY' FILE
  1. ENTERNEW ;
  1. D CREATFDA ;SET UP THE FDA ARRAY
  1. D UPDATE^DIE("S","AGFDA","AGIEN","AGERROR")
  1. Q
  1. CREATFDA ;
  1. K AGFDA,AGIEN,AGERROR,AGRECORD
  1. I '$D(^AUPNTPL(PAT)) D NEWONE
  1. E D ADDONE
  1. Q
  1. NEWONE ;
  1. S AGIEN(1)=PAT
  1. S AGRECORD="+2,+1,"
  1. S AGFDA(9000041,"+1,",.01)=PAT
  1. S AGFDA(9000041.0101,AGRECORD,.01)=$G(DATEINJ)
  1. S AGFDA(9000041.0101,AGRECORD,.02)=$G(INSCOMPP)
  1. S AGFDA(9000041.0101,AGRECORD,.03)=$G(POLNUM)
  1. S AGFDA(9000041.0101,AGRECORD,.04)=$G(EFFDATE)
  1. S AGFDA(9000041.0101,AGRECORD,.05)=$G(ENDDATE)
  1. S AGFDA(9000041.0101,AGRECORD,.06)=$G(GRPNAME)
  1. S AGFDA(9000041.0101,AGRECORD,101)=$G(RESPNAM)
  1. S AGFDA(9000041.0101,AGRECORD,102)=$G(RESPSSN)
  1. S AGFDA(9000041.0101,AGRECORD,103)=$G(ATTORN)
  1. S AGFDA(9000041.0101,AGRECORD,104)=$G(CAUSE)
  1. S AGFDA(9000041.0101,AGRECORD,105)=$G(DESCRIP)
  1. S AGFDA(9000041.0101,AGRECORD,106)=$G(NOTES)
  1. Q
  1. ADDONE ;
  1. S AGRECORD="+2,"_PAT_","
  1. S AGFDA(9000041.0101,AGRECORD,.01)=$G(DATEINJ)
  1. S AGFDA(9000041.0101,AGRECORD,.02)=$G(INSCOMPP)
  1. S AGFDA(9000041.0101,AGRECORD,.03)=$G(POLNUM)
  1. S AGFDA(9000041.0101,AGRECORD,.04)=$G(EFFDATE)
  1. S AGFDA(9000041.0101,AGRECORD,.05)=$G(ENDDATE)
  1. S AGFDA(9000041.0101,AGRECORD,.06)=$G(GRPNAME)
  1. S AGFDA(9000041.0101,AGRECORD,101)=$G(RESPNAM)
  1. S AGFDA(9000041.0101,AGRECORD,102)=$G(RESPSSN)
  1. S AGFDA(9000041.0101,AGRECORD,103)=$G(ATTORN)
  1. S AGFDA(9000041.0101,AGRECORD,104)=$G(CAUSE)
  1. S AGFDA(9000041.0101,AGRECORD,105)=$G(DESCRIP)
  1. S AGFDA(9000041.0101,AGRECORD,106)=$G(NOTES)
  1. Q