| [613] | 1 | RORUPD62 ;HCIOFO/SG - HIV-SPECIFIC REGISTRY UPDATE CODE ; 5/11/05 2:17pm | 
|---|
|  | 2 | ;;1.5;CLINICAL CASE REGISTRIES;;Feb 17, 2006 | 
|---|
|  | 3 | ; | 
|---|
|  | 4 | ; This routine uses the following IAs: | 
|---|
|  | 5 | ; | 
|---|
|  | 6 | ; #2762         Check for the patient merge (controlled) | 
|---|
|  | 7 | ; | 
|---|
|  | 8 | ;-------------------------------------------------------------------- | 
|---|
|  | 9 | ; Registry: [VA HIV] | 
|---|
|  | 10 | ;-------------------------------------------------------------------- | 
|---|
|  | 11 | Q | 
|---|
|  | 12 | ; | 
|---|
|  | 13 | ;***** CONVERTS ICR 2.1 RECORDS TO CCR:HIV FORMAT | 
|---|
|  | 14 | ; | 
|---|
|  | 15 | ; RORREG        Registry IEN | 
|---|
|  | 16 | ; | 
|---|
|  | 17 | ; Return Values: | 
|---|
|  | 18 | ;       <0  Error Code | 
|---|
|  | 19 | ;        0  Ok | 
|---|
|  | 20 | ; | 
|---|
|  | 21 | CONVERT(RORREG) ; | 
|---|
|  | 22 | N CODE,IMRIEN,PATIEN,RC,REGIEN,RULENAME,RULES,TMP | 
|---|
|  | 23 | D LOG^RORLOG(2,"ICR 2.1 Conversion") | 
|---|
|  | 24 | S REGIEN=+RORREG | 
|---|
|  | 25 | ;--- Prepare the selection rules | 
|---|
|  | 26 | S RULENAME="VA HIV 2.1 CONVERSION" | 
|---|
|  | 27 | S TMP=$$SRLIEN^RORUTL02(RULENAME) | 
|---|
|  | 28 | Q:TMP'>0 $$ERROR^RORERR(-3,,RULENAME) | 
|---|
|  | 29 | S RULES(1)=TMP_U_DT | 
|---|
|  | 30 | ;--- Convert the remaining records of ICR v2.1 | 
|---|
|  | 31 | S (IMRIEN,RC)=0 | 
|---|
|  | 32 | F  S IMRIEN=$O(^IMR(158,IMRIEN))  Q:IMRIEN'>0  D  Q:RC<0 | 
|---|
|  | 33 | . S CODE=$P($G(^IMR(158,IMRIEN,0)),U)  Q:CODE'>0 | 
|---|
|  | 34 | . S PATIEN=+$$XOR^RORUTL03(CODE)  Q:PATIEN'>0 | 
|---|
|  | 35 | . ;--- Check if the patient has been merged | 
|---|
|  | 36 | . S TMP=+$G(^DPT(PATIEN,-9))  S:TMP>0 PATIEN=TMP | 
|---|
|  | 37 | . ;--- Check if the patient record in the file #2 is valid | 
|---|
|  | 38 | . Q:$$CHKPTR^RORUTL05(PATIEN)<0 | 
|---|
|  | 39 | . ;--- Quit if the patient has already been added to the new registry | 
|---|
|  | 40 | . Q:$$PRRIEN^RORUTL01(PATIEN,REGIEN)>0 | 
|---|
|  | 41 | . ;--- Check if the patient is an employee | 
|---|
|  | 42 | . Q:$$SKIPEMPL^RORUTL02(PATIEN,.REGIEN) | 
|---|
|  | 43 | . ;--- Add the patient to the new registry | 
|---|
|  | 44 | . S TMP=$$ADDPAT^RORUPD06(PATIEN,"VA HIV",.RULES) | 
|---|
|  | 45 | ;--- | 
|---|
|  | 46 | Q $S(RC<0:RC,1:0) | 
|---|
|  | 47 | ; | 
|---|
|  | 48 | ;***** AFTER UPDATE CALL-BACK ENTRY POINT | 
|---|
|  | 49 | ; | 
|---|
|  | 50 | ; RORIEN        An IEN of the newly added registry record | 
|---|
|  | 51 | ; PATIEN        Patient IEN | 
|---|
|  | 52 | ; REGIEN        Registry IEN | 
|---|
|  | 53 | ; | 
|---|
|  | 54 | ; Return Values: | 
|---|
|  | 55 | ;       <0  Error Code | 
|---|
|  | 56 | ;        0  Ok | 
|---|
|  | 57 | ; | 
|---|
|  | 58 | POSTUPD(RORIEN,PATIEN,REGIEN) ; | 
|---|
|  | 59 | N DA,DIK,IENS,RC,RORFDA,RORHIV,RORMSG | 
|---|
|  | 60 | S RORIEN=+$G(RORIEN)  Q:RORIEN'>0 0 | 
|---|
|  | 61 | ;--- Delete the record if it exists by some reason | 
|---|
|  | 62 | D:$D(^RORDATA(799.4,RORIEN)) | 
|---|
|  | 63 | . S DIK="^RORDATA(799.4,",DA=RORIEN  D ^DIK | 
|---|
|  | 64 | ;--- Prepare the data | 
|---|
|  | 65 | S IENS="+1," | 
|---|
|  | 66 | S RORFDA(799.4,IENS,.01)=RORIEN | 
|---|
|  | 67 | S RORHIV(1)=RORIEN | 
|---|
|  | 68 | ;--- Add the record to the ROR HIV STUDY file | 
|---|
|  | 69 | D UPDATE^DIE(,"RORFDA","RORHIV","RORMSG") | 
|---|
|  | 70 | Q:$G(DIERR) $$DBS^RORERR("RORMSG",-9,,,799.4,IENS) | 
|---|
|  | 71 | Q 0 | 
|---|