MDRPCOP1 ; HOIFO/DP - Object RPCs (TMDPatient) - Cont. ; 01-09-2003 15:21 ;;1.0;CLINICAL PROCEDURES;**6**;Apr 01, 2004;Build 102 ; Integration Agreements: ; IA# 3027 [Supported] Calls to DGSEC4 ; IA# 3266 [Subscription] Call to DPTLK1 ; IA# 10035 [Supported] DPT references ; IA# 3267 [Subscription] Call to DPTLK1 ; IA# 3593 [Supported] Access to routine DPTLK6 utilities for lookup ; ADD(X) ; [Procedure] Add line to @RESULTS@(... S @RESULTS@(+$O(@RESULTS@(""),-1)+1)=X Q ; SELECT ; [Procedure] Select patient I '$D(^DPT(+$G(DFN),0))#2 S @RESULTS@(0)="-1^No such patient" Q S @RESULTS@(0)="1^Required Identifiers & messages" S IENS=DFN_"," D FILE^DID(2,,"REQUIRED IDENTIFIERS","MDIDS") F MDX=0:0 S MDX=$O(MDIDS("REQUIRED IDENTIFIERS",MDX)) Q:'MDX D .S MDFLD=MDIDS("REQUIRED IDENTIFIERS",MDX,"FIELD") .S MDID="$$PTID^"_$$GET1^DID(2,MDFLD,"","LABEL") .S MDID=MDID_U_$$GET1^DIQ(2,IENS,MDFLD) .D:MDFLD=.03 ..S MDID=MDID_" ("_$$GET1^DIQ(2,IENS,.033)_")" ..S MDID=MDID_U_$$DOB^DPTLK1(+IENS) .D:MDFLD=.09 ..S X=$P(MDID,U,3),X=$E(X,1,3)_"-"_$E(X,4,5)_"-"_$E(X,6,10) ..S $P(MDID,U,3)=X,$P(MDID,U,4)=$$SSN^DPTLK1(+IENS) .S @RESULTS@($O(@RESULTS@(""),-1)+1)=MDID S MDID="$$PTID^"_$$GET1^DID(2,.1,"","LABEL") S MDID=MDID_U_$$GET1^DIQ(2,IENS,.1) S @RESULTS@($O(@RESULTS@(""),-1)+1)=MDID S MDID="$$PTID^"_$$GET1^DID(2,.101,"","LABEL") S MDID=MDID_U_$$GET1^DIQ(2,IENS,.101) S @RESULTS@($O(@RESULTS@(""),-1)+1)=MDID K MDRET D GUIBS5A^DPTLK6(.MDRET,DFN) D:MDRET(1)=1 .D ADD("$$MSGHDR^2^SAME LAST NAME AND LAST 4") .S MDX=1 .F S MDX=$O(MDRET(MDX)) Q:'MDX!(+$G(MDRET(MDX))) D ..D ADD($P(MDRET(MDX),U,2)) .D ADD(" ") .S MDX=1 .F S MDX=$O(MDRET(MDX)) Q:'MDX D:+MDRET(MDX) ..S MDDFN=+$P(MDRET(MDX),U,2) ..D ADD($$GET1^DIQ(2,MDDFN_",",.01)_" "_$$DOB^DPTLK1(MDDFN)_" "_$$SSN^DPTLK1(MDDFN)) .D ADD(" ") .D ADD("Please review carefully before continuing") .D ADD("$$MSGEND") K MDRET D PTSEC^DGSEC4(.MDRET,DFN) D:MDRET(1)'=0 .D:MDRET(1)=3 ..D ADD("$$MSGHDR^0^CAN'T ACCESS YOUR OWN RECORD!!") .D:MDRET(1)=-1 ..D ADD("$$MSGHDR^0^INCOMPLETE INFORMATION - CAN'T PROCEED") .D:MDRET(1)=1 ..D ADD("$$MSGHDR^1^SENSITIVE RECORD ACCESS") .D:MDRET(1)'=-1&(MDRET(1)'=3)&(MDRET(1)'=1) ..D ADD("$$MSGHDR^3^SENSITIVE RECORD ACCESS") .S MDX=1 .F S MDX=$O(MDRET(MDX)) Q:'MDX D ADD($TR(MDRET(MDX),"*"," ")) .D ADD("$$MSGEND") D GUIMTD^DPTLK6(.MDRET,DFN) D:MDRET(1)=1 .D ADD("$$MSGHDR^1^NOTICE") .F MDX=1:0 S MDX=$O(MDRET(MDX)) Q:'MDX D ADD(MDRET(MDX)) .D ADD("$$MSGEND") Q ; X2FM(X) ; [Function] return FM date given relative date N %DT S %DT="TS" D ^%DT Q Y ;