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

MDPS3.m

Go to the documentation of this file.
  1. MDPS3 ; HOIFO/NCA - Remote Data View Data Retriever for CP ;8/26/05 14:37
  1. ;;1.0;CLINICAL PROCEDURES;**2,5,13,24**;Apr 01, 2004;Build 8
  1. ; Integration Agreements:
  1. ; Reference IA# 2693 [Subscription] TIU Extractions.
  1. ; 3067 [Private] Read fields in Consult file (#123) w/FM
  1. ; 10104 [Supported] Routine XLFSTR calls.
  1. ; 875 [Subscription] Access Order Status file (#100.01)
  1. ;
  1. GET702(MDGLO,MDDFN,MDC,MDSDT,MDEDT,MDMAX) ; Gather the new 702 entries
  1. N MDARR,MDCON,MDDTE,MDLP,MDCODE,MDCTRR,MDPROC,MDSTAT,MDX
  1. D GP^MDPS5(MDDFN,MDSDT,MDEDT) S MDCTRR=0
  1. S MDLP="" F S MDLP=$O(^MDD(702,"B",MDDFN,MDLP),-1) Q:MDLP<1 D
  1. .S MDX=$G(^MDD(702,MDLP,0)) Q:$P(MDX,"^",9)'=3
  1. .S MDPROC=$$GET1^DIQ(702,MDLP_",",.04,"E") Q:MDPROC=""
  1. .Q:'$P(MDX,U,6)
  1. .K ^TMP("MDTIUST",$J) S MDTIUER=""
  1. .D EXTRACT^TIULQ($P(MDX,U,6),"^TMP(""MDTIUST"",$J)",MDTIUER,".01;.05;70201;70202") Q:+MDTIUER
  1. .S MDCODE=$G(^TMP("MDTIUST",$J,$P(MDX,U,6),70201,"E"))
  1. .S:MDCODE'="" MDCODE=$$UP^XLFSTR(MDCODE)
  1. .I $G(MDC)'="" Q:MDCODE'=$G(MDC)
  1. .S MDDTE=$G(^TMP("MDTIUST",$J,$P(MDX,U,6),70202,"I"))
  1. .S MDSTAT=$G(^TMP("MDTIUST",$J,$P(MDX,U,6),.05,"E"))
  1. .S:'MDDTE MDDTE=$$GET1^DIQ(702,MDLP_",",.02,"I")
  1. .K ^TMP("MDTIUST",$J)
  1. .S MDCON=$P(MDX,U,5)
  1. .I +$G(MDMAX) Q:MDCTRR=MDMAX
  1. .I +$G(MDSDT) Q:MDDTE<+$G(MDSDT)
  1. .I +$G(MDEDT) Q:MDDTE>+$G(MDEDT)
  1. .I MDCON D Q:MDSTAT'="COMPLETE"&(MDSTAT'="PARTIAL RESULTS")
  1. ..S MDSTAT=$$GET1^DIQ(123,MDCON_",",8,"E")
  1. ..I MDSTAT="" S MDSTAT=$$GET1^DIQ(123,MDCON_",",8,"I") S:+MDSTAT MDSTAT=$$GET1^DIQ(100.01,MDSTAT_",",.01,"E")
  1. ..Q
  1. .S Y=MDDTE X ^DD("DD") N MDREV S MDREV=(9999999.9999-MDDTE)
  1. .I MDCON Q:$G(MDARR(MDCON))'="" S MDARR(MDCON)=MDCON
  1. .S:$G(^TMP("MDPLST",$J,MDPROC,MDREV_"~"_MDLP))="" ^(MDREV_"~"_MDLP)=MDPROC_"^"_MDLP_"^"_"PR702"_"^"_"MDPS1"_"^^"_Y_"^"_MDCODE_"^^^^"_MDPROC_"^^"_MDCON_"^"_+$P(MDX,U,6)
  1. .S MDCTRR=MDCTRR+1
  1. .Q
  1. K MDARR
  1. Q
  1. PRO(RESULT) ; Function to return info on single procedure.
  1. ;
  1. ; RESULT = variable pointer to a medicine file
  1. ; (e.g. "12;MCAR(691.5,") (required)
  1. N MDVAL,LL,S3,S4,S5
  1. S S3=+RESULT,S4=$P(RESULT,";",2),S4=$P(S4,",")
  1. I S4="MCAR(702.7" Q ""
  1. 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
  1. 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
  1. 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
  1. S LL=$O(^MCAR(697.2,"C",S4,0)),MDVAL=$P(^MCAR(697.2,LL,0),U)
  1. Q MDVAL
  1. CHKMED(MDCON) ; Check for Medicine results
  1. N MDCK,MDCX,MDY
  1. S MDY=0 D GETS^DIQ(123,MDCON_",","50*","I","MDCX")
  1. S MDCK="" F S MDCK=$O(MDCX(123.03,MDCK)) Q:MDCK<1 S MDX4=$G(MDCX(123.03,MDCK,.01,"I")) D
  1. .I MDX4["MCAR" S MDY=1
  1. Q MDY
  1. GETAMDT(MDCON) ; Check For Amendment
  1. N MDAMT,MDMS,MDX5,MDY S MDY=0
  1. S MDAMT="" F S MDAMT=$O(^MDD(702,"ACON",+MDCON,MDAMT),-1) Q:MDAMT<1!(+MDY) D
  1. .S MDMS=0 F S MDMS=$O(^MDD(702,MDAMT,.091,MDMS)) Q:MDMS<1!(+MDY) S MDX5=$G(^(MDMS,0)) I $P(MDX5,"^",9)["AMENDMENT" S MDY=+$P($G(^MDD(702,+MDAMT,0)),"^",6) Q
  1. Q MDY
  1. HDR ; Print Header for Report Form Feed
  1. N FFL,MDNM,MDNAME,MDTITL,MDTM S $P(FFL,"-",80)=""
  1. S MDNM=$QS(MDREC,4),MDNAME=$O(^MCAR(697.2,"B",MDNM,0))
  1. I MDNAME S MDTITL=$P($G(^MCAR(697.2,+MDNAME,0)),"^",8)
  1. I $G(MDTITL)="" S MDNAME=$O(^MDS(702.01,"B",MDNM,0)) S:MDNAME MDTITL=$P($G(^MDS(702.01,+MDNAME,0)),U)
  1. W !! D NOW^%DTC S X=% D DTIME^MCARP S MDTM=$$FMTE^XLFDT(X,2) K %
  1. S MDRPG=MDRPG+1 W !,"Pg. "_MDRPG_$J(" ",25)_$$HOSP^MDPS2(DFN)_$J(" ",25)_MDTM
  1. I $G(MDTITL)'="" W !,$J(" ",25)_MDTITL
  1. W !,$$DEMO^MDPS2(DFN)
  1. W !,FFL
  1. Q