DGRRLU1 ;alb/aas - DG Replacement and Rehosting RPC for VADPT ;1/4/06 11:31
Source file <DGRRLU1.m>
| Package | Total | Call Graph |
|---|---|---|
| Registration | 12 | $$CVEDT^DGCV ($$FINDCUR,$$GET)^DGENA $$CATEGORY^DGENA4 ($$FINDCUR,$$GET)^DGENEGT $$ABOVE^DGENEGT1 $$EXT^DGENU ADD^DGRRLU 10^DGRRLU1A $$PRIM^DGRRLUA ($$CHARCHK,$$XMLHDR)^DGRRUTL $$BS5^DPTLK5 $$TESTPAT^VADPT |
| Kernel | 3 | $$IEN^XUAF4 DUZ^XUP $$IEN^XUPS |
| VA Fileman | 3 | DT^DICRW $$EXTERNAL^DILFD $$GET1^DIQ |
| Order Entry Results Reporting | 1 | $$CWAD^ORQPT2 |
| Uncategorized | 1 | $$GETDFN^MPIF001 |
| Name | Comments | DBIA/ICR reference |
|---|---|---|
| INSTTTN | ; set institution to USER_INSTITUTION if available else set to default institution
|
|
| 9 | ; -- enrollment information FROM DPTLK, Provide Enrollment data for user notification
; ; If patient is NOT ELIGIBLE, display Enrollment Status (Ineligible Project Phase I) ; Get Enrollment Group Threshold Priority and Subgroup ; Compare Patient's Enrollment Priority to Enrollment Group Threshold |
|
| PATIENT | ; establish Patient VPID from Patient ID
|
|
| 4 | ; -- primary elig = employee and user doesn't hold dg security office key,from EMPL^DGSEC4(DFN)
; give message and log if chosen |
|
| RULES(DFN,DIV) | ;
; -- display order from old SRS ; Messages will display in the following order: ; emp SSN mission, Similar, Deceased, Security (sometimes), CWAD, Missing, Test, Enrollment and Means Test. ; |
|
| 1 | ; -- similar patients, Checks the BS5 cross reference for similar patients and matches last name
; bs5 index is first character of last name concatenated with last 4 of ssn. ; give warning, ask if okay, ; |
|
| 0 | ; -- employee SSN missing from new person file
|
|
| 3 | ; -- accessing own record and user doesn't have dg record access key and MAS parameter to restrict patient records=yes
; check parameter first, check key second. if (param && !userKey), if (emp ssn == to pt ssn) don't allow (check format of ssn) ; if (empssn=="") tell them to get added and don't allow access |
|
| 2 | ; -- deceased patient
; give warning if patient is deceased |
|
| 5 | ; -- sensitive record and user doesn't have the dg sensitivity key
; ask to continue, if yes, log if chosen |
|
| USER | ; establish the DUZ from User ID
|
|
| 7 | ; -- patient on MPR, see if patient is listed in Missing Patient Register
|
|
| 6 | ; -- cwad for patient (C)risis notes, Clinical (W)arnings, (A)lergies, and Advance (D)irectives
|
|
| BUS(RESULT,PARAMS) | ; -- return business logic data for 1 patient in xml format
; -- RPC: DGRR GET PTLK BUSINESS DATA ; ; -- input [required] PARAMS("PATIENT_ID_TYPE") = 'DFN' or 'ICN' ; [required] PARAMS("PATIENT_ID") = a DFN value or an ICN value ; [required] PARAMS("USER_ID_TYPE") = 'VPID' or 'DUZ' ; [required] PARAMS("USER_ID") = value of a VPID, or DUZ ; [optional] PARAMS("USER_INSTITUTION") = Station # (Defaults to DUZ(2) if not received) ; [temporary/optional] PARAMS("PATIENT_RECORD_FLAG") = Optional. If 1 the query returns old version of the patient_record_flag business rule ; ; -- returns result array that contains XML document containing data for 12 checks of patient ; related to lookup that is executed in the business layer. See Patient Lookup documentation ; for logic ; |
|
| 8 | ; -- test patient
; if (dataColumn=1) display message. |
|
| END | ;
|
|
| BUSEND |
| Name | Field # of Occurrence |
|---|---|
| $$CVEDT^DGCV | 9+19 |
| $$FINDCUR^DGENA | 9+8 |
| $$GET^DGENA | 9+8 |
| $$CATEGORY^DGENA4 | 9+9 |
| $$FINDCUR^DGENEGT | 9+22 |
| $$GET^DGENEGT | 9+23 |
| $$ABOVE^DGENEGT1 | 9+26 |
| $$EXT^DGENU | 9+11, 9+12 |
| ADD^DGRRLU | PATIENT+9, PATIENT+10, PATIENT+11, PATIENT+12, BUSEND, 0+5, 1+5, 2+3, 3+5, 4+7 , 5+4, 6+3, 7+3, 8+4, 9+30 |
| 10^DGRRLU1A | 9+32 |
| $$PRIM^DGRRLUA | 4+7 |
| $$CHARCHK^DGRRUTL | PATIENT+3, PATIENT+5, PATIENT+11, 0+2, 0+3, 0+4, 1+5, 2+3, 3+3, 3+4 , 4+7, 5+4, 6+3, 7+3, 8+4, 9+27, 9+28 |
| $$XMLHDR^DGRRUTL | PATIENT+9 |
| DT^DICRW | BUS+21 |
| $$EXTERNAL^DILFD | 9+10, 9+15 |
| $$GET1^DIQ | RULES+6 |
| $$BS5^DPTLK5 | 1+4 |
| $$GETDFN^MPIF001 | PATIENT+3 |
| $$CWAD^ORQPT2 | 6+2 |
| $$TESTPAT^VADPT | 8+3 |
| $$IEN^XUAF4 | INSTTTN+3 |
| DUZ^XUP | USER+3 |
| $$IEN^XUPS | USER+1 |
| RPC Name | Call Tags |
|---|---|
| DGRR GET PTLK BUSINESS DATA | BUS |
| FileNo | Call Tags |
|---|---|
| ^VA(200 - [#200] | GET1^DIQ |
| ^DGEN(27.11 - [#27.11] | EXTERNAL^DILFD |
| ^DGEN(27.15 - [#27.15] | EXTERNAL^DILFD |
| Name | Line Occurrences (* Changed, ! Killed) |
|---|---|
| ^DG(43 - [#43] | RULES+9 |
| ^DGSL(38.1 - [#38.1] | 5+2 |
| ^DIC(8 - [#8] | 4+5 |
| ^DIC(8.1 - [#8.1] | 4+5 |
| ^DPT - [#2] | PATIENT+7, PATIENT+11, RULES+7, 2+2 |
| ^DPT("AEL" | 4+4 |
| ^TMP($J | BUS+18! |
| ^XUSEC("DG RECORD ACCESS" | RULES+8 |
| ^XUSEC("DG SECURITY OFFICER" | 4+6 |
| ^XUSEC("DG SENSITIVITY" | 5+3 |
| Name | Line Occurrences |
|---|---|
| BUSEND | PATIENT+10 |
| RULES | PATIENT+13 |
| >> | Not killed explicitly |
| * | Changed |
| ! | Killed |
| ~ | Newed |
| Name | Field # of Occurrence |
|---|---|
| CNT | BUS+14~, BUS+16* |
| CWAD | 6+1~, 6+2*, 6+3 |
| DFN | RULES~, RULES+7, 1+4, 2+2, 4+4, 4+7, 5+2, 6+2, 8+3, 9+8 , 9+9, 9+19, 9+26 |
| DGEGT | 9+21~, 9+23* |
| DGEGT("PRIORITY" | 9+24, 9+26 |
| DGEGT("SUBGRP" | 9+26 |
| DGEGTIEN | 9+21~, 9+22*, 9+23 |
| DGELIG | 4+2~, 4+3*, 4+4*, 4+5 |
| DGENR | BUS+14~, 9+8 |
| DGENR("END" | 9+13 |
| DGENR("PRIORITY" | 9+11, 9+24, 9+26 |
| DGENR("STATUS" | 9+14 |
| DGENR("SUBGRP" | 9+12, 9+26 |
| DGENST | 9+6~, 9+14*, 9+15*, 9+28 |
| DGENTHR | 9+17~, 9+18*, 9+26*, 9+29 |
| DGRRESLT | BUS+14~, BUS+15!, BUS+19*, BUS+20 |
| DGRRLINE | BUS+14~, BUS+17* |
| DIV | RULES~ |
| DOD | RULES+5~, 2+2*, 2+3 |
| DUZ | RULES+6, RULES+8, 4+6, 5+3 |
| DUZ(2 | INSTTTN+4 |
| ELIST | 4+2~, 4+3*, 4+5*, 4+7 |
| EMPSSN | RULES+5~, RULES+6*, 0+2, 3+4 |
| ENCAT | 9+6~, 9+7*, 9+9*, 9+10*, 9+27 |
| ENEND | 9+6~, 9+13*, 9+27 |
| ENPRIO | 9+6~, 9+11*, 9+28 |
| ENSUBGRP | 9+6~, 9+12*, 9+28 |
| ERRMESS | BUS+14~, USER+4*, PATIENT+6*, PATIENT+7*, PATIENT+10 |
| ICN | BUS+14~, PATIENT+2*, PATIENT+3 |
| INSTTTN | BUS+14~, INSTTTN+3*, INSTTTN+4*, PATIENT+13 |
| LINE | 9+6~, 9+27*, 9+28*, 9+29*, 9+30 |
| MASPARAM | RULES+5~, RULES+9*, 0+3, 3+3 |
| MPREC | 7+1~ |
| MPREC(0 | 7+3 |
| PARAMS | BUS~ |
| PARAMS("PATIENT_ID" | PATIENT+2, PATIENT+5, PATIENT+6 |
| PARAMS("PATIENT_ID_TYPE" | PATIENT+1, PATIENT+4, PATIENT+6 |
| PARAMS("USER_ID" | USER+1, USER+2, USER+4 |
| PARAMS("USER_ID_TYPE" | USER+1, USER+2, USER+4 |
| PARAMS("USER_INSTITUTION" | INSTTTN+3 |
| PRIM1 | RULES+5~ |
| PTID | BUS+14~, PATIENT+3*, PATIENT+5*, PATIENT+6, PATIENT+7, PATIENT+11, PATIENT+13 |
| PTSSN | RULES+5~, RULES+7*, 3+4 |
| RESULT | BUS~, BUS+15!, BUS+20* |
| SENSITIV | RULES+5~, 5+2*, 5+4 |
| SIM | RULES+5~, 1+4*, 1+5 |
| TPFIELD | RULES+5~, 8+2*, 8+3*, 8+4 |
| USERID | BUS+14~, USER+1*, USER+2*, USER+3, USER+4 |
| USERKEY | RULES+5~, RULES+8*, 0+4, 3+4, 4+6*, 4+7, 5+3*, 5+4 |
| X | DGRRLU1+3*, BUS+14~, 0+1~, 0+2*, 0+3*, 0+4*, 0+5, 3+3*, 3+4*, 3+5 |
| Y | BUS+14~ |