| [613] | 1 | MPIFEXT3 ;SFCIO/CMC-EXTENDED PDAT 3 - RPC ;26 JUN 01 | 
|---|
|  | 2 | ;;1.0; MASTER PATIENT INDEX VISTA ;**20**;30 Apr 99 | 
|---|
|  | 3 | ; | 
|---|
|  | 4 | ;Integration Agreements Utilized: | 
|---|
|  | 5 | ;  ^DPT( - #2070 | 
|---|
|  | 6 | ;  $$GET1^DIQ(870,+$P(ARRAY("LINKS",SUBNUM),"^",6)_",",.02,"E") - #3573 | 
|---|
|  | 7 | ;  D GETS^DIQ(2,IEN_",","1*","E","MPIFA") - #3581 | 
|---|
|  | 8 | ; | 
|---|
|  | 9 | ALIAS(RET,IEN,RPC) ; get any Aliases for patient IEN | 
|---|
|  | 10 | N ALIEN,RET2,MPIFA | 
|---|
|  | 11 | I RPC=1 S TEXT="MPI("_IEN_",""ALIAS(ES)"")=" | 
|---|
|  | 12 | S ALIEN=0,RET2="" | 
|---|
|  | 13 | D GETS^DIQ(2,IEN_",","1*","E","MPIFA") | 
|---|
|  | 14 | ;; MPIFA(2.01,"1,1,",.01,"E")=Funky K | 
|---|
|  | 15 | F  S ALIEN=$O(MPIFA(2.01,ALIEN)) Q:'ALIEN  D | 
|---|
|  | 16 | .I $G(MPIFA(2.01,ALIEN,.01,"E"))'="" S RET2=RET2_$G(MPIFA(2.01,ALIEN,.01,"E"))_"^" | 
|---|
|  | 17 | I RET2=""!(RET2?."^") S RET2="NONE" | 
|---|
|  | 18 | S RET(IEN,"ALIAS(ES)")=TEXT_""""_RET2_"""" | 
|---|
|  | 19 | Q | 
|---|
|  | 20 | CMORCH(RET,DFN,RPC) ; get any CMOR Change Requests for this patient | 
|---|
|  | 21 | K MPIFCCR | 
|---|
|  | 22 | D CCRDAT^MPIFUTL(DFN,"MPIFCCR") | 
|---|
|  | 23 | N REQ,FLD,TOT | 
|---|
|  | 24 | S REQ=0,TOT=$G(MPIFCCR(0)) | 
|---|
|  | 25 | F  S REQ=$O(MPIFCCR(REQ)) Q:REQ=""  D | 
|---|
|  | 26 | .I RPC=1 S TEXT="MPI("_DFN_",""CMOR CHG REQ"","_REQ_",""REQ #"")=" | 
|---|
|  | 27 | .S RET(DFN,"CMOR CHG REQ",REQ,"REQ #")=TEXT_""""_$G(MPIFCCR(REQ,.01))_"""" | 
|---|
|  | 28 | .I RPC=1 S TEXT="MPI("_DFN_",""CMOR CHG REQ"","_REQ_",""REQ BY"")=" | 
|---|
|  | 29 | .S RET(DFN,"CMOR CHG REQ",REQ,"REQ BY")=TEXT_""""_$G(MPIFCCR(REQ,.02))_"""" | 
|---|
|  | 30 | .I RPC=1 S TEXT="MPI("_DFN_",""CMOR CHG REQ"","_REQ_",""DT REQ"")=" | 
|---|
|  | 31 | .S RET(DFN,"CMOR CHG REQ",REQ,"DT REQ")=TEXT_""""_$G(MPIFCCR(REQ,.03))_"""" | 
|---|
|  | 32 | .I RPC=1 S TEXT="MPI("_DFN_",""CMOR CHG REQ"","_REQ_",""PATIENT"")=" | 
|---|
|  | 33 | .S RET(DFN,"CMOR CHG REQ",REQ,"PATIENT")=TEXT_""""_$G(MPIFCCR(REQ,.04))_"""" | 
|---|
|  | 34 | .I RPC=1 S TEXT="MPI("_DFN_",""CMOR CHG REQ"","_REQ_",""REQ PHONE"")=" | 
|---|
|  | 35 | .S RET(DFN,"CMOR CHG REQ",REQ,"REQ PHONE")=TEXT_""""_$G(MPIFCCR(REQ,.05))_"""" | 
|---|
|  | 36 | .I RPC=1 S TEXT="MPI("_DFN_",""CMOR CHG REQ"","_REQ_",""STATUS"")=" | 
|---|
|  | 37 | .S RET(DFN,"CMOR CHG REQ",REQ,"STATUS")=TEXT_""""_$G(MPIFCCR(REQ,.06))_"""" | 
|---|
|  | 38 | .I RPC=1 S TEXT="MPI("_DFN_",""CMOR CHG REQ"","_REQ_",""SITE"")=" | 
|---|
|  | 39 | .S RET(DFN,"CMOR CHG REQ",REQ,"SITE")=TEXT_""""_$G(MPIFCCR(REQ,.07))_"""" | 
|---|
|  | 40 | .I RPC=1 S TEXT="MPI("_DFN_",""CMOR CHG REQ"","_REQ_",""TYPE"")=" | 
|---|
|  | 41 | .S RET(DFN,"CMOR CHG REQ",REQ,"TYPE")=TEXT_""""_$G(MPIFCCR(REQ,.08))_"""" | 
|---|
|  | 42 | .I RPC=1 S TEXT="MPI("_DFN_",""CMOR CHG REQ"","_REQ_",""CMOR AFTER APP"")=" | 
|---|
|  | 43 | .S RET(DFN,"CMOR CHG REQ",REQ,"CMOR AFTER APP")=TEXT_""""_$G(MPIFCCR(REQ,.09))_"""" | 
|---|
|  | 44 | .I RPC=1 S TEXT="MPI("_DFN_",""CMOR CHG REQ"","_REQ_",""REQ NAME"")=" | 
|---|
|  | 45 | .S RET(DFN,"CMOR CHG REQ",REQ,"REQ NAME")=TEXT_""""_$G(MPIFCCR(REQ,1.01))_"""" | 
|---|
|  | 46 | .I RPC=1 S TEXT="MPI("_DFN_",""CMOR CHG REQ"","_REQ_",""REQ REASON"")=" | 
|---|
|  | 47 | .S RET(DFN,"CMOR CHG REQ",REQ,"REQ REASON")=TEXT_""""_$G(MPIFCCR(REQ,1.02))_"""" | 
|---|
|  | 48 | .I RPC=1 S TEXT="MPI("_DFN_",""CMOR CHG REQ"","_REQ_",""TYPE OF ACTION"")=" | 
|---|
|  | 49 | .S RET(DFN,"CMOR CHG REQ",REQ,"TYPE OF ACTION")=TEXT_""""_$G(MPIFCCR(REQ,1.03))_"""" | 
|---|
|  | 50 | .I RPC=1 S TEXT="MPI("_DFN_",""CMOR CHG REQ"","_REQ_",""REV BY"")=" | 
|---|
|  | 51 | .S RET(DFN,"CMOR CHG REQ",REQ,"REV BY")=TEXT_""""_$G(MPIFCCR(REQ,2.01))_"""" | 
|---|
|  | 52 | .I RPC=1 S TEXT="MPI("_DFN_",""CMOR CHG REQ"","_REQ_",""DT REV"")=" | 
|---|
|  | 53 | .S RET(DFN,"CMOR CHG REQ",REQ,"DT REV")=TEXT_""""_$G(MPIFCCR(REQ,2.02))_"""" | 
|---|
|  | 54 | .I RPC=1 S TEXT="MPI("_DFN_",""CMOR CHG REQ"","_REQ_",""REV PHONE"")=" | 
|---|
|  | 55 | .S RET(DFN,"CMOR CHG REQ",REQ,"REV PHONE")=TEXT_""""_$G(MPIFCCR(REQ,2.03))_"""" | 
|---|
|  | 56 | .I RPC=1 S TEXT="MPI("_DFN_",""CMOR CHG REQ"","_REQ_",""REV BY"")=" | 
|---|
|  | 57 | .S RET(DFN,"CMOR CHG REQ",REQ,"REV BY")=TEXT_""""_$G(MPIFCCR(REQ,3.01))_"""" | 
|---|
|  | 58 | .I RPC=1 S TEXT="MPI("_DFN_",""CMOR CHG REQ"","_REQ_",""REV COMMENTS"")=" | 
|---|
|  | 59 | .S RET(DFN,"CMOR CHG REQ",REQ,"REV COMMENTS")=TEXT_""""_$G(MPIFCCR(REQ,3.02))_"""" | 
|---|
|  | 60 | .I RPC=1 S TEXT="MPI("_DFN_",""CMOR CHG REQ"","_REQ_",""BLURB"")=" | 
|---|
|  | 61 | .S RET(DFN,"CMOR CHG REQ",REQ,"BLURB")=TEXT_""""_$G(MPIFCCR(REQ,999))_"""" | 
|---|
|  | 62 | K MPIFCCR | 
|---|
|  | 63 | Q | 
|---|
|  | 64 | TFLIST(RET,DFN,RPC) ; | 
|---|
|  | 65 | ; return the complete list of Treating Facilities for patient DFN | 
|---|
|  | 66 | N ARRAY,TEXT,XX,STN,NM | 
|---|
|  | 67 | S (STN,TEXT)="",XX=0 | 
|---|
|  | 68 | D GETTFS^MPIFEXT(DFN,.ARRAY) | 
|---|
|  | 69 | I RPC=1 S TEXT="MPI("_DFN_",""TF LIST""," | 
|---|
|  | 70 | S RET(DFN,"TF LIST",0)=TEXT_XX_")=" | 
|---|
|  | 71 | I +ARRAY<1 S RET(DFN,"TF LIST",0)=TEXT_XX_")="_"""NONE""" Q | 
|---|
|  | 72 | F  S STN=$O(ARRAY(STN)) Q:STN=""  D | 
|---|
|  | 73 | .S XX=XX+1 | 
|---|
|  | 74 | .S NM=$P($$NNT^XUAF4($$LKUP^XUAF4(STN)),"^") | 
|---|
|  | 75 | .S RET(DFN,"TF LIST",XX)=TEXT_XX_")="_""""_NM_" ("_STN_")""" | 
|---|
|  | 76 | S RET(DFN,"TF LIST",0)=$G(RET(DFN,"TF LIST",0))_XX | 
|---|
|  | 77 | Q | 
|---|
|  | 78 | SUBLST(RET,DFN,RPC) ; | 
|---|
|  | 79 | ; return the complete list of Subscribers for patient DFN | 
|---|
|  | 80 | N INST,TERM,TERMDT,MPINODE,SUBNUM,SUB,XX,MPIFX | 
|---|
|  | 81 | S XX=0,TEXT="" | 
|---|
|  | 82 | S MPINODE=$$MPINODE^MPIFAPI(DFN) | 
|---|
|  | 83 | S SUB=$P(MPINODE,"^",5) | 
|---|
|  | 84 | I RPC=1 S TEXT="MPI("_DFN_",""SUB LIST""," | 
|---|
|  | 85 | S RET(DFN,"SUB LIST",0)=TEXT_XX_")=" | 
|---|
|  | 86 | I SUB<1 S RET(DFN,"SUB LIST",0)=TEXT_XX_")="_"""NONE""" Q | 
|---|
|  | 87 | D GET^HLSUB(SUB,0,"",.MPIFX) | 
|---|
|  | 88 | I '$O(MPIFX("LINKS",0)) S RET(DFN,"SUB LIST",0)=TEXT_XX_")="_"""NONE""" Q | 
|---|
|  | 89 | S SUBNUM=0 | 
|---|
|  | 90 | F  S SUBNUM=$O(MPIFX("LINKS",SUBNUM)) Q:SUBNUM=""  D | 
|---|
|  | 91 | .S XX=XX+1 | 
|---|
|  | 92 | .S INST=$$GET1^DIQ(870,+$P(MPIFX("LINKS",SUBNUM),"^",6)_",",.02,"E") | 
|---|
|  | 93 | .S TERM=$P(MPIFX("LINKS",SUBNUM),"^",10) | 
|---|
|  | 94 | .S TERMDT=$$FMTE^XLFDT($E(TERM,1,12)) I TERMDT="" S TERMDT="None Found" | 
|---|
|  | 95 | .S RET(DFN,"SUB LIST",XX)=TEXT_XX_")="_""""_INST_"   Termination Date:"_TERMDT_"""" | 
|---|
|  | 96 | S RET(DFN,"SUB LIST",0)=$G(RET(DFN,"SUB LIST",0))_XX | 
|---|
|  | 97 | Q | 
|---|