| 1 | MCARUTL3 ;HOIFO/WAA-Utility Routine #3;11/29/00  09:55
 | 
|---|
| 2 |  ;;2.3;Medicine;**30**;09/13/1996
 | 
|---|
| 3 |  ;;
 | 
|---|
| 4 |  ;;This API is referenced in DBIA 3280
 | 
|---|
| 5 |  ;
 | 
|---|
| 6 | MEDLKUP(ARRAY,FN,IEN) ; This sub-routine will return the following information
 | 
|---|
| 7 |  ; Input:
 | 
|---|
| 8 |  ;    ARRAY = the array for the return array
 | 
|---|
| 9 |  ;    FN = the medicine file number
 | 
|---|
| 10 |  ;    IEN = the Internal Entry Number
 | 
|---|
| 11 |  ; Output:
 | 
|---|
| 12 |  ;    piece 1 =0 (failure) or 1 (success, 2nd piece is message text.)
 | 
|---|
| 13 |  ;    piece 2     = Medicine file
 | 
|---|
| 14 |  ;    piece 3     = Medicine ien
 | 
|---|
| 15 |  ;    piece 4 & 5 =Medicine patient (internal ^ external)
 | 
|---|
| 16 |  ;    piece 6 & 7 =Medicine date/time   (internal ^ external)
 | 
|---|
| 17 |  ;    piece 8 & 9 =Medicine Procedure (internal ^ external)
 | 
|---|
| 18 |  ;    piece 10 & 11 =i~_Image (Med,2005,IEN) ^ external pointer to 2005)
 | 
|---|
| 19 |  N LINE,PDATE,EDATE,DFN,PATNAM,PROC,PROCN,IMG,IMAGE,DILN,%,I,DISYS
 | 
|---|
| 20 |  S ARRAY=0
 | 
|---|
| 21 |  S FN=$G(FN) I FN="" S ARRAY="0^No File indicated." Q
 | 
|---|
| 22 |  I FN=690 S ARRAY="0^Cannot look-up on MEDICAL PATIENT File." Q
 | 
|---|
| 23 |  I FN<690!(FN>701) S ARRAY="0^Non-Medicine File indicated." Q 
 | 
|---|
| 24 |  I FN=697.2 S ARRAY="0^Cannot look-up on PROCEDURE/SUBSPECIALTY File." Q
 | 
|---|
| 25 |  I ($O(^MCAR(697.2,"C","MCAR("_FN,0)))<1 S ARRAY="0^"_FN_" is not a procedure file." Q
 | 
|---|
| 26 |  S IEN=$G(IEN) I IEN="" S ARRAY="0^No IEN indicated." Q 
 | 
|---|
| 27 |  S LINE=$G(^MCAR(FN,IEN,0))
 | 
|---|
| 28 |  I LINE="" S ARRAY="0^Entry "_IEN_" in file "_FN_" not found." Q
 | 
|---|
| 29 |  S PDATE=$P(LINE,U,1) ; Procedure Date
 | 
|---|
| 30 |  I PDATE<1 S ARRAY="0^Incomplete data, NO Procedure Date in entry "_IEN_" for file "_FN Q
 | 
|---|
| 31 |  S EDATE=$$FMTE^XLFDT(PDATE,8) ; External Date
 | 
|---|
| 32 |  S DFN=$P(LINE,U,2) ; Get Patient
 | 
|---|
| 33 |  I DFN<1 S ARRAY="0^Incomplete data, NO Patient in entry "_IEN_" for file "_FN Q
 | 
|---|
| 34 |  S PATNAM=$$GET1^DIQ(2,DFN_",",.01,"I") ; Patient Name
 | 
|---|
| 35 |  S PROC="" ; setup for getting indicated procedure
 | 
|---|
| 36 |  I FN=699 S PROC=$P(LINE,U,12) ; Screening
 | 
|---|
| 37 |  I FN=699.5 S PROC=$P(LINE,U,6) ; Screening
 | 
|---|
| 38 |  I FN=694 S PROC=$P(LINE,U,3) ; Screening
 | 
|---|
| 39 |  I PROC="" S PROC=$O(^MCAR(697.2,"C","MCAR("_FN,0)) ; Verify the procedure
 | 
|---|
| 40 |  I PROC<1 S ARRAY="0^No Procedure indicated." Q  ; Bad Procedure
 | 
|---|
| 41 |  S PROCN=$P($G(^MCAR(697.2,PROC,0)),U) ; get procedure number
 | 
|---|
| 42 |  I PROCN="" S ARRAY="0^No Procedure Name indicated." Q  ; again Bad
 | 
|---|
| 43 |  S ARRAY="1"_U_FN_U_IEN_U_DFN_U_PATNAM_U_PDATE_U_EDATE_U_PROC_U_PROCN
 | 
|---|
| 44 |  S IMG=+$P($G(^MCAR(FN,IEN,2005,0)),U,3) I IMG D
 | 
|---|
| 45 |  . S IMAGE=+$P($G(^MCAR(FN,IEN,2005,IMG,0)),U)
 | 
|---|
| 46 |  . S ARRAY=ARRAY_U_IMG_U_IMAGE
 | 
|---|
| 47 |  . Q
 | 
|---|
| 48 |  ; Getting Image and passing back
 | 
|---|
| 49 |  Q
 | 
|---|