[613] | 1 | MDRPCOP1 ; HOIFO/DP - Object RPCs (TMDPatient) - Cont. ; 01-09-2003 15:21
|
---|
| 2 | ;;1.0;CLINICAL PROCEDURES;**6**;Apr 01, 2004;Build 102
|
---|
| 3 | ; Integration Agreements:
|
---|
| 4 | ; IA# 3027 [Supported] Calls to DGSEC4
|
---|
| 5 | ; IA# 3266 [Subscription] Call to DPTLK1
|
---|
| 6 | ; IA# 10035 [Supported] DPT references
|
---|
| 7 | ; IA# 3267 [Subscription] Call to DPTLK1
|
---|
| 8 | ; IA# 3593 [Supported] Access to routine DPTLK6 utilities for lookup
|
---|
| 9 | ;
|
---|
| 10 | ADD(X) ; [Procedure] Add line to @RESULTS@(...
|
---|
| 11 | S @RESULTS@(+$O(@RESULTS@(""),-1)+1)=X
|
---|
| 12 | Q
|
---|
| 13 | ;
|
---|
| 14 | SELECT ; [Procedure] Select patient
|
---|
| 15 | I '$D(^DPT(+$G(DFN),0))#2 S @RESULTS@(0)="-1^No such patient" Q
|
---|
| 16 | S @RESULTS@(0)="1^Required Identifiers & messages"
|
---|
| 17 | S IENS=DFN_","
|
---|
| 18 | D FILE^DID(2,,"REQUIRED IDENTIFIERS","MDIDS")
|
---|
| 19 | F MDX=0:0 S MDX=$O(MDIDS("REQUIRED IDENTIFIERS",MDX)) Q:'MDX D
|
---|
| 20 | .S MDFLD=MDIDS("REQUIRED IDENTIFIERS",MDX,"FIELD")
|
---|
| 21 | .S MDID="$$PTID^"_$$GET1^DID(2,MDFLD,"","LABEL")
|
---|
| 22 | .S MDID=MDID_U_$$GET1^DIQ(2,IENS,MDFLD)
|
---|
| 23 | .D:MDFLD=.03
|
---|
| 24 | ..S MDID=MDID_" ("_$$GET1^DIQ(2,IENS,.033)_")"
|
---|
| 25 | ..S MDID=MDID_U_$$DOB^DPTLK1(+IENS)
|
---|
| 26 | .D:MDFLD=.09
|
---|
| 27 | ..S X=$P(MDID,U,3),X=$E(X,1,3)_"-"_$E(X,4,5)_"-"_$E(X,6,10)
|
---|
| 28 | ..S $P(MDID,U,3)=X,$P(MDID,U,4)=$$SSN^DPTLK1(+IENS)
|
---|
| 29 | .S @RESULTS@($O(@RESULTS@(""),-1)+1)=MDID
|
---|
| 30 | S MDID="$$PTID^"_$$GET1^DID(2,.1,"","LABEL")
|
---|
| 31 | S MDID=MDID_U_$$GET1^DIQ(2,IENS,.1)
|
---|
| 32 | S @RESULTS@($O(@RESULTS@(""),-1)+1)=MDID
|
---|
| 33 | S MDID="$$PTID^"_$$GET1^DID(2,.101,"","LABEL")
|
---|
| 34 | S MDID=MDID_U_$$GET1^DIQ(2,IENS,.101)
|
---|
| 35 | S @RESULTS@($O(@RESULTS@(""),-1)+1)=MDID
|
---|
| 36 | K MDRET
|
---|
| 37 | D GUIBS5A^DPTLK6(.MDRET,DFN) D:MDRET(1)=1
|
---|
| 38 | .D ADD("$$MSGHDR^2^SAME LAST NAME AND LAST 4")
|
---|
| 39 | .S MDX=1
|
---|
| 40 | .F S MDX=$O(MDRET(MDX)) Q:'MDX!(+$G(MDRET(MDX))) D
|
---|
| 41 | ..D ADD($P(MDRET(MDX),U,2))
|
---|
| 42 | .D ADD(" ")
|
---|
| 43 | .S MDX=1
|
---|
| 44 | .F S MDX=$O(MDRET(MDX)) Q:'MDX D:+MDRET(MDX)
|
---|
| 45 | ..S MDDFN=+$P(MDRET(MDX),U,2)
|
---|
| 46 | ..D ADD($$GET1^DIQ(2,MDDFN_",",.01)_" "_$$DOB^DPTLK1(MDDFN)_" "_$$SSN^DPTLK1(MDDFN))
|
---|
| 47 | .D ADD(" ")
|
---|
| 48 | .D ADD("Please review carefully before continuing")
|
---|
| 49 | .D ADD("$$MSGEND")
|
---|
| 50 | K MDRET
|
---|
| 51 | D PTSEC^DGSEC4(.MDRET,DFN) D:MDRET(1)'=0
|
---|
| 52 | .D:MDRET(1)=3
|
---|
| 53 | ..D ADD("$$MSGHDR^0^CAN'T ACCESS YOUR OWN RECORD!!")
|
---|
| 54 | .D:MDRET(1)=-1
|
---|
| 55 | ..D ADD("$$MSGHDR^0^INCOMPLETE INFORMATION - CAN'T PROCEED")
|
---|
| 56 | .D:MDRET(1)=1
|
---|
| 57 | ..D ADD("$$MSGHDR^1^SENSITIVE RECORD ACCESS")
|
---|
| 58 | .D:MDRET(1)'=-1&(MDRET(1)'=3)&(MDRET(1)'=1)
|
---|
| 59 | ..D ADD("$$MSGHDR^3^SENSITIVE RECORD ACCESS")
|
---|
| 60 | .S MDX=1
|
---|
| 61 | .F S MDX=$O(MDRET(MDX)) Q:'MDX D ADD($TR(MDRET(MDX),"*"," "))
|
---|
| 62 | .D ADD("$$MSGEND")
|
---|
| 63 | D GUIMTD^DPTLK6(.MDRET,DFN) D:MDRET(1)=1
|
---|
| 64 | .D ADD("$$MSGHDR^1^NOTICE")
|
---|
| 65 | .F MDX=1:0 S MDX=$O(MDRET(MDX)) Q:'MDX D ADD(MDRET(MDX))
|
---|
| 66 | .D ADD("$$MSGEND")
|
---|
| 67 | Q
|
---|
| 68 | ;
|
---|
| 69 | X2FM(X) ; [Function] return FM date given relative date
|
---|
| 70 | N %DT S %DT="TS" D ^%DT
|
---|
| 71 | Q Y
|
---|
| 72 | ;
|
---|