| [613] | 1 | MDPS3 ; HOIFO/NCA - Remote Data View Data Retriever for CP ;8/26/05  14:37
 | 
|---|
 | 2 |  ;;1.0;CLINICAL PROCEDURES;**2,5,13**;Apr 01, 2004;Build 19
 | 
|---|
 | 3 |  ; Integration Agreements:
 | 
|---|
 | 4 |  ; Reference IA# 2693 [Subscription] TIU Extractions.
 | 
|---|
 | 5 |  ;               3067 [Private] Read fields in Consult file (#123) w/FM
 | 
|---|
 | 6 |  ;               10104 [Supported] Routine XLFSTR calls.
 | 
|---|
 | 7 |  ;                 875 [Subscription] Access Order Status file (#100.01)
 | 
|---|
 | 8 |  ;
 | 
|---|
 | 9 | GET702(MDGLO,MDDFN,MDC,MDSDT,MDEDT,MDMAX) ; Gather the new 702 entries
 | 
|---|
 | 10 |  N MDARR,MDCON,MDDTE,MDLP,MDCODE,MDPROC,MDSTAT,MDX
 | 
|---|
 | 11 |  D GP^MDPS5(MDDFN,MDSDT,MDEDT)
 | 
|---|
 | 12 |  S MDLP="" F  S MDLP=$O(^MDD(702,"B",MDDFN,MDLP)) Q:MDLP<1  D
 | 
|---|
 | 13 |  .S MDX=$G(^MDD(702,MDLP,0)) Q:$P(MDX,"^",9)'=3
 | 
|---|
 | 14 |  .S MDPROC=$$GET1^DIQ(702,MDLP_",",.04,"E") Q:MDPROC=""
 | 
|---|
 | 15 |  .Q:'$P(MDX,U,6)
 | 
|---|
 | 16 |  .K ^TMP("MDTIUST",$J) S MDTIUER=""
 | 
|---|
 | 17 |  .D EXTRACT^TIULQ($P(MDX,U,6),"^TMP(""MDTIUST"",$J)",MDTIUER,".01;.05;70201;70202") Q:+MDTIUER
 | 
|---|
 | 18 |  .S MDCODE=$G(^TMP("MDTIUST",$J,$P(MDX,U,6),70201,"E"))
 | 
|---|
 | 19 |  .S:MDCODE'="" MDCODE=$$UP^XLFSTR(MDCODE)
 | 
|---|
 | 20 |  .I $G(MDC)'="" Q:MDCODE'=$G(MDC)
 | 
|---|
 | 21 |  .S MDDTE=$G(^TMP("MDTIUST",$J,$P(MDX,U,6),70202,"I"))
 | 
|---|
 | 22 |  .S MDSTAT=$G(^TMP("MDTIUST",$J,$P(MDX,U,6),.05,"E"))
 | 
|---|
 | 23 |  .S:'MDDTE MDDTE=$$GET1^DIQ(702,MDLP_",",.02,"I")
 | 
|---|
 | 24 |  .K ^TMP("MDTIUST",$J)
 | 
|---|
 | 25 |  .S MDCON=$P(MDX,U,5)
 | 
|---|
 | 26 |  .I +$G(MDSDT) Q:MDDTE<+$G(MDSDT)
 | 
|---|
 | 27 |  .I +$G(MDEDT) Q:MDDTE>+$G(MDEDT)
 | 
|---|
 | 28 |  .I MDCON D  Q:MDSTAT'="COMPLETE"&(MDSTAT'="PARTIAL RESULTS")
 | 
|---|
 | 29 |  ..S MDSTAT=$$GET1^DIQ(123,MDCON_",",8,"E")
 | 
|---|
 | 30 |  ..I MDSTAT="" S MDSTAT=$$GET1^DIQ(123,MDCON_",",8,"I") S:+MDSTAT MDSTAT=$$GET1^DIQ(100.01,MDSTAT_",",.01,"E")
 | 
|---|
 | 31 |  ..Q
 | 
|---|
 | 32 |  .S Y=MDDTE X ^DD("DD") N MDREV S MDREV=(9999999.9999-MDDTE)
 | 
|---|
 | 33 |  .I MDCON Q:$G(MDARR(MDCON))'=""  S MDARR(MDCON)=MDCON
 | 
|---|
 | 34 |  .S:$G(^TMP("MDPLST",$J,MDPROC,MDREV_"^"_MDLP))="" ^(MDREV_"^"_MDLP)=MDPROC_"^"_MDLP_"^"_"PR702"_"^"_"MDPS1"_"^^"_Y_"^"_MDCODE_"^^^^"_MDPROC_"^^"_MDCON_"^"_+$P(MDX,U,6)
 | 
|---|
 | 35 |  .Q
 | 
|---|
 | 36 |  K MDARR
 | 
|---|
 | 37 |  Q
 | 
|---|
 | 38 | PRO(RESULT) ;  Function to return info on single procedure.
 | 
|---|
 | 39 |  ;
 | 
|---|
 | 40 |  ; RESULT = variable pointer to a medicine file
 | 
|---|
 | 41 |  ;          (e.g. "12;MCAR(691.5,") (required)
 | 
|---|
 | 42 |  N MDVAL,LL,S3,S4,S5
 | 
|---|
 | 43 |  S S3=+RESULT,S4=$P(RESULT,";",2),S4=$P(S4,",")
 | 
|---|
 | 44 |  I S4="MCAR(702.7" Q ""
 | 
|---|
 | 45 |  I S4="MCAR(699" S LL=$P($G(^MCAR(699,+S3,0)),U,12),MDVAL=$P($G(^MCAR(697.2,+LL,0)),U) Q MDVAL
 | 
|---|
 | 46 |  I S4="MCAR(699.5" S LL=$P($G(^MCAR(699.5,+S3,0)),U,6),MDVAL=$P($G(^MCAR(697.2,+LL,0)),U) Q MDVAL
 | 
|---|
 | 47 |  I S4="MCAR(694" S LL=$P($G(^MCAR(699.5,+S3,0)),U,6),MDVAL=$P($G(^MCAR(697.2,+LL,0)),U) Q MDVAL
 | 
|---|
 | 48 |  S LL=$O(^MCAR(697.2,"C",S4,0)),MDVAL=$P(^MCAR(697.2,LL,0),U)
 | 
|---|
 | 49 |  Q MDVAL
 | 
|---|
 | 50 | CHKMED(MDCON) ; Check for Medicine results
 | 
|---|
 | 51 |  N MDCK,MDCX,MDY
 | 
|---|
 | 52 |  S MDY=0 D GETS^DIQ(123,MDCON_",","50*","I","MDCX")
 | 
|---|
 | 53 |  S MDCK="" F  S MDCK=$O(MDCX(123.03,MDCK)) Q:MDCK<1  S MDX4=$G(MDCX(123.03,MDCK,.01,"I")) D
 | 
|---|
 | 54 |  .I MDX4["MCAR" S MDY=1
 | 
|---|
 | 55 |  Q MDY
 | 
|---|
 | 56 | HDR ; Print Header for Report Form Feed
 | 
|---|
 | 57 |  N FFL,MDNM,MDNAME,MDTITL,MDTM S $P(FFL,"-",80)=""
 | 
|---|
 | 58 |  S MDNM=$QS(MDREC,4),MDNAME=$O(^MCAR(697.2,"B",MDNM,0))
 | 
|---|
 | 59 |  I MDNAME S MDTITL=$P($G(^MCAR(697.2,+MDNAME,0)),"^",8)
 | 
|---|
 | 60 |  I $G(MDTITL)="" S MDNAME=$O(^MDS(702.01,"B",MDNM,0)) S:MDNAME MDTITL=$P($G(^MDS(702.01,+MDNAME,0)),U)
 | 
|---|
 | 61 |  W !! D NOW^%DTC S X=% D DTIME^MCARP S MDTM=$$FMTE^XLFDT(X,2) K %
 | 
|---|
 | 62 |  S MDRPG=MDRPG+1 W !,"Pg. "_MDRPG_$J(" ",25)_$$HOSP^MDPS2(DFN)_$J(" ",25)_MDTM
 | 
|---|
 | 63 |  I $G(MDTITL)'="" W !,$J(" ",25)_MDTITL
 | 
|---|
 | 64 |  W !,$$DEMO^MDPS2(DFN)
 | 
|---|
 | 65 |  W !,FFL
 | 
|---|
 | 66 |  Q
 | 
|---|