Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: MAGVAC01

MAGVAC01.m

Go to the documentation of this file.
  1. MAGVAC01 ;WOIFO/NST - Add records to storage files ; 22 Apr 2010 3:59 PM
  1. ;;3.0;IMAGING;**118**;Mar 19, 2002;Build 4525;May 01, 2013
  1. ;; Per VHA Directive 2004-038, this routine should not be modified.
  1. ;; +---------------------------------------------------------------+
  1. ;; | Property of the US Government. |
  1. ;; | No permission to copy or redistribute this software is given. |
  1. ;; | Use of unreleased versions of this software requires the user |
  1. ;; | to execute a written test agreement with the VistA Imaging |
  1. ;; | Development Office of the Department of Veterans Affairs, |
  1. ;; | telephone (301) 734-0100. |
  1. ;; | The Food and Drug Administration classifies this software as |
  1. ;; | a medical device. As such, it may not be changed in any way. |
  1. ;; | Modifications to this software may result in an adulterated |
  1. ;; | medical device under 21CFR820, the use of which is considered |
  1. ;; | to be a violation of US Federal Statutes. |
  1. ;; +---------------------------------------------------------------+
  1. ;;
  1. Q
  1. ;
  1. ;***** Add a new record to RETENTION POLICY file (#2006.914)
  1. ;
  1. ; RPC:MAGVA CREATE RETPOL
  1. ;
  1. ; Input Parameters
  1. ; ================
  1. ;
  1. ; MAGPARAM("ARCHIVE DURATION TRIGGER")
  1. ; MAGPARAM("ARCHIVE DURATION YEARS")
  1. ; MAGPARAM("BUSINESS KEY")
  1. ; MAGPARAM("DISPLAY NAME")
  1. ; MAGPARAM("MINIMUM ARCHIVE COPIES")
  1. ; MAGPARAM("MINIMUM OFFSITE COPIES")
  1. ;
  1. ; Return Values
  1. ; =============
  1. ; if error MAGRY = Failure status ^Error message^
  1. ; if success MAGRY = Success status ^^IEN - IEN of the new record
  1. ;
  1. ADDRP(MAGRY,MAGPARAM) ; RPC [MAGVA CREATE RETPOL]
  1. N MAGWP
  1. K MAGRY
  1. ; Check for uniqueness of business key among active Retention Policies
  1. I $G(MAGPARAM("BUSINESS KEY"))'="" D Q:$G(MAGRY)'=""
  1. . I $O(^MAGV(2006.914,"BKEYACT",MAGPARAM("BUSINESS KEY"),""))'="" D
  1. . . S MAGRY=$$FAILED^MAGVAF02()_$$RESDEL^MAGVAF02()_"Active business key """_MAGPARAM("BUSINESS KEY")_""" already exists."
  1. . Q
  1. ;
  1. S MAGPARAM("ACTIVE")=1
  1. D ADDRCD^MAGVAF01(.MAGRY,2006.914,.MAGPARAM,.MAGWP)
  1. Q
  1. ;
  1. ;***** Add a new record to ARTIFACT file (#2006.916)
  1. ;
  1. ; RPC:MAGVA CREATE ARTIFACT W KL
  1. ;
  1. ; Input Parameters
  1. ; ================
  1. ;
  1. ; MAGPARAM("ARTIFACT DESCRIPTOR")
  1. ; MAGPARAM("ARTIFACT TOKEN")
  1. ; MAGPARAM("CRC")
  1. ; MAGPARAM("CREATING APPLICATION")
  1. ; MAGPARAM("LAST ACCESS DATE/TIME")
  1. ; MAGPARAM("SIZE IN BYTES")
  1. ;
  1. ; Artifact KEYLIST values
  1. ; KLIST(1) = First level Key
  1. ; KLIST(2) = Second level Key
  1. ; ...
  1. ; KLIST(N) = N-th level Key
  1. ;
  1. ; Return Values
  1. ; =============
  1. ; if error MAGRY = Failure status ^Error message^
  1. ; if success MAGRY = Success status ^^IEN - IEN of the new record
  1. ;
  1. ADDAFACT(MAGRY,MAGPARAM,KLIST) ; RPC [MAGVA CREATE ARTIFACT W KL]
  1. ; build KLIST first - workaround for Old broker listener
  1. N L,LL
  1. S L="KLIST",LL=0
  1. K KLIST
  1. F S L=$O(MAGPARAM(L)) Q:(L="")!($E(L,1,5)'="KLIST") S LL=LL+1,KLIST(LL)=MAGPARAM(L) K MAGPARAM(L)
  1. ;
  1. N MAGWP,FILE,MAGAPP,PFILE
  1. K MAGRY
  1. ; Check ARTIFACT TOKEN presents
  1. S FILE=2006.916
  1. I $G(MAGPARAM("ARTIFACT TOKEN"))="" D Q
  1. . S MAGRY=$$FAILED^MAGVAF02()_$$RESDEL^MAGVAF02()_"ARTIFACT TOKEN is required"
  1. . Q
  1. ; check for "ARTIFACT TOKEN" for uniqueness first
  1. I $D(^MAGV(FILE,"B",MAGPARAM("ARTIFACT TOKEN"))) D Q
  1. . S MAGRY=$$FAILED^MAGVAF02()_$$RESDEL^MAGVAF02()_"ARTIFACT TOKEN is not unique"
  1. . Q
  1. ;
  1. ; Get creating application or create a new one
  1. S PFILE=$$GETFILEP^MAGVAF05(FILE,"CREATING APPLICATION") ; the file that field points to
  1. S MAGRY=$$GETIEN^MAGVAF05(PFILE,MAGPARAM("CREATING APPLICATION"),1)
  1. I '$$ISOK^MAGVAF02(MAGRY) Q ; Quit if error. MAGRY is already set
  1. S MAGPARAM("CREATING APPLICATION")=$$GETVAL^MAGVAF02(MAGRY) ; Set the internal value
  1. ;
  1. ; get the KEYLIST
  1. D GETKLFK^MAGVAKL1(.MAGRY,.KLIST)
  1. I '$$ISOK^MAGVAF02(MAGRY) Q ; Quit if error. MAGRY is already set
  1. S MAGPARAM("KEYLIST")=$$GETVAL^MAGVAF02(MAGRY) ; Set the FK
  1. S MAGPARAM("CREATED DATE/TIME")=$$NOW^XLFDT
  1. D ADDRCD^MAGVAF01(.MAGRY,FILE,.MAGPARAM,.MAGWP)
  1. Q
  1. ;
  1. ;***** Add an Artifact Retention Policy (#2006.921) record
  1. ;
  1. ; RPC:MAGVA CREATE ARETPOL
  1. ;
  1. ; Input Parameters
  1. ;
  1. ; MAGPARAM("ARTIFACT") = A pointer to ARTIFACT file (#2006.916)
  1. ; MAGPARAM("RETENTION POLICY") = A pointer to RETENTION POLICY file (#2006.914)
  1. ; MAGPARAM("SATISFIED DATE/TIME") = DateTime in IDF Format (YYYYMMDD.HHMMSS)
  1. ;
  1. ; Return Values
  1. ; =============
  1. ; if error MAGRY = Failure status ^Error message^
  1. ; if success MAGRY = Success status ^^IEN - IEN of the new record
  1. ;
  1. ADDARP(MAGRY,MAGPARAM) ; RPC [MAGVA CREATE ARETPOL]
  1. N MAGWP
  1. K MAGRY
  1. S MAGPARAM("SATISFIED DATE/TIME")=$$IDF2FM^MAGVAF01($G(MAGPARAM("SATISFIED DATE/TIME")))
  1. S MAGPARAM("ACTIVE")=1
  1. S MAGPARAM("CREATED DATE/TIME")=$$NOW^XLFDT
  1. D ADDRCD^MAGVAF01(.MAGRY,2006.921,.MAGPARAM,.MAGWP)
  1. Q
  1. ;
  1. ;***** Add a new record to RETENTION POLICY FULFILLMENT file (#2006.922)
  1. ;
  1. ; RPC:MAGVA CREATE RETPOLFF
  1. ;
  1. ; Input Parameters
  1. ; ================
  1. ;
  1. ; MAGPARAM("ARTIFACT RETENTION POLICY") = A pointer to ARTIFACT RETENTION POLICY file (#2006.921)
  1. ; MAGPARAM("ARTIFACT INSTANCE") = A pointer to ARTIFACT INSTANCE file (#2006.918)
  1. ;
  1. ; Return Values
  1. ; =============
  1. ; if error MAGRY = Failure status ^Error message^
  1. ; if success MAGRY = Success status ^^IEN - IEN of the new record
  1. ;
  1. ADDARPF(MAGRY,MAGPARAM) ; RPC [MAGVA CREATE RETPOLFF]
  1. N MAGWP
  1. K MAGRY
  1. S MAGPARAM("CREATED DATE/TIME")=$$NOW^XLFDT
  1. D ADDRCD^MAGVAF01(.MAGRY,2006.922,.MAGPARAM,.MAGWP)
  1. Q
  1. ;
  1. ;***** Add a new record to STORAGE PROVIDER AVAILABILITY file (#2006.924)
  1. ;
  1. ; RPC:MAGVA CREATE PROVAVAILTY
  1. ;
  1. ; Input Parameters
  1. ;
  1. ; MAGPARAM("STORAGE PROVIDER") = A pointer to STORAGE PROVIDER file (#2006.917)
  1. ; MAGPARAM("SOURCE PLACE") = A pointer to IMAGING SITE PARAMETERS file (#2006.1)
  1. ; MAGPARAM("START TIME") = DateTime in IDF format (YYYYMMDD.HHMMSS)
  1. ; MAGPARAM("END TIME") = DateTime in IDF format (YYYYMMDD.HHMMSS)
  1. ;
  1. ; Return Values
  1. ; =============
  1. ; if error MAGRY = Failure status ^Error message^
  1. ; if success MAGRY = Success status ^^IEN - IEN of the new record
  1. ;
  1. ADDPA(MAGRY,MAGPARAM) ; RPC [MAGVA CREATE PROVAVAILTY]
  1. N MAGWP
  1. K MAGRY
  1. ; convert date time fields to FileMan date/time format
  1. S MAGPARAM("START TIME")=$$IDF2FM^MAGVAF01($G(MAGPARAM("START TIME")))
  1. S MAGPARAM("END TIME")=$$IDF2FM^MAGVAF01($G(MAGPARAM("END TIME")))
  1. ; Add the record
  1. D ADDRCD^MAGVAF01(.MAGRY,2006.924,.MAGPARAM,.MAGWP)
  1. Q
  1. ;
  1. ;***** Add a new record to STORAGE PROVIDER file (#2006.917)
  1. ;
  1. ; RPC: MAGVA CREATE PROVIDER
  1. ;
  1. ; Input Parameters
  1. ; ================
  1. ;
  1. ; MAGPARAM("STORAGE PROVIDER TYPE")
  1. ; MAGPARAM("STORAGE PLACE")
  1. ; MAGPARAM("ARCHIVE")
  1. ; MAGPARAM("PRIMARY STORAGE")
  1. ;
  1. ; Return Values
  1. ; =============
  1. ; if error MAGRY = Failure status ^Error message^
  1. ; if success MAGRY = Success status ^^IEN - IEN of the new record
  1. ;
  1. ADDPRV(MAGRY,MAGPARAM) ; RPC [MAGVA CREATE PROVIDER]
  1. N MAGWP
  1. K MAGRY
  1. S MAGPARAM("WRITABLE")=1
  1. S MAGPARAM("ACTIVE")=1
  1. ; Add the record
  1. D ADDRCD^MAGVAF01(.MAGRY,2006.917,.MAGPARAM,.MAGWP)
  1. Q
  1. ;
  1. ;***** Add a new record to ARTIFACT INSTANCE file (#2006.918)
  1. ;
  1. ; RPC: MAGVA CREATE AINSTANCE
  1. ;
  1. ; Input Parameters
  1. ; ================
  1. ;
  1. ; MAGPARAM("ARTIFACT")
  1. ; MAGPARAM("STORAGE PROVIDER")
  1. ; MAGPARAM("FILEREF")
  1. ; MAGPARAM("DISK VOLUME")
  1. ; MAGPARAM("FILEPATH")
  1. ; MAGURL(1..n) = URL value
  1. ;
  1. ; Return Values
  1. ; =============
  1. ; if error MAGRY = Failure status ^Error message^
  1. ; if success MAGRY = Success status ^^IEN - IEN of the new record
  1. ;
  1. ADDAINST(MAGRY,MAGPARAM,MAGURL) ; RPC [MAGVA CREATE AINSTANCE]
  1. ; build MAGURL first - workaround for Old broker listener
  1. N L,LL
  1. S L="MAGURL",LL=0
  1. K KLIST
  1. F S L=$O(MAGPARAM(L)) Q:(L="")!($E(L,1,6)'="MAGURL") S LL=LL+1,MAGURL(LL)=MAGPARAM(L) K MAGPARAM(L)
  1. ;
  1. N FILE,MAGWP
  1. K MAGRY
  1. S FILE=2006.918
  1. S MAGPARAM("CREATED DATE/TIME")=$$NOW^XLFDT
  1. M MAGWP("URL")=MAGURL
  1. D ADDRCD^MAGVAF01(.MAGRY,FILE,.MAGPARAM,.MAGWP) ; add the record
  1. Q
  1. ;
  1. ;***** Add a new record to ARTIFACT DESCRIPTOR file (#2006.915)
  1. ;
  1. ; RPC: MAGVA CREATE AD
  1. ;
  1. ; Input Parameters
  1. ; ================
  1. ;
  1. ; MAGPARAM("ARTIFACT FORMAT")
  1. ; MAGPARAM("ARTIFACT TYPE")
  1. ; MAGPARAM("FILE EXTENSION")
  1. ; MAGPARAM("ACTIVE")
  1. ; MAGPARAM("RETENTION POLICY")
  1. ;
  1. ; Return Values
  1. ; =============
  1. ; if error MAGRY = Failure status ^Error message^
  1. ; if success MAGRY = Success status ^^IEN - IEN of the new record
  1. ;
  1. ADDAD(MAGRY,MAGPARAM) ; RPC [MAGVA CREATE AD]
  1. N MAGWP
  1. K MAGRY
  1. ; Add the record
  1. D ADDRCD^MAGVAF01(.MAGRY,2006.915,.MAGPARAM,.MAGWP)
  1. Q
  1. ;
  1. ;***** Add a new record to RETENTION POLICY STORAGE PROVIDER MAP file (#2006.923)
  1. ;
  1. ; RPC: MAGVA CREATE RETPOL PROV MAP
  1. ;
  1. ; Input Parameters
  1. ; ================
  1. ;
  1. ; MAGPARAM("RETENTION POLICY") = Pointer to RETENTION POLICY file (#2006.914)
  1. ; MAGPARAM("STORAGE PROVIDER") = Pointer to STORAGE PROVIDER file (#2006.917)
  1. ; MAGPARAM("SOURCE PLACE") = Pointer to IMAGING SITE PARAMETERS file (#2006.1)
  1. ; MAGPARAM("SYNCHRONOUS") = 0/1
  1. ; MAGPARAM("OFFSITE") = 0/1
  1. ;
  1. ; Return Values
  1. ; =============
  1. ; if error MAGRY = Failure status ^Error message^
  1. ; if success MAGRY = Success status ^^IEN - IEN of the new record
  1. ;
  1. ADDRPPM(MAGRY,MAGPARAM) ; RPC [MAGVA CREATE RETPOL PROV MAP]
  1. N MAGWP
  1. K MAGRY
  1. ; Add the record
  1. D ADDRCD^MAGVAF01(.MAGRY,2006.923,.MAGPARAM,.MAGWP)
  1. Q
  1. ;
  1. ;***** Add a new record to TRANSFER STATISTICS file (#2006.925)
  1. ;
  1. ; RPC: MAGVA CREATE TRF STATS
  1. ;
  1. ; Input Parameters
  1. ; ================
  1. ;
  1. ; MAGPARAM("DURATION IN MILLISECONDS")
  1. ; MAGPARAM("ENDPOINT PLACE") = Pointer to IMAGING SITE PARAMETERS file (#2006.1)
  1. ; MAGPARAM("STORAGE PROVIDER") = Pointer to STORAGE PROVIDER file (#2006.917)
  1. ; MAGPARAM("SIZE IN BYTES")
  1. ; MAGPARAM("START DATE/TIME") = DateTime in IDF format (YYYYMMDD.HHMMSS)
  1. ;
  1. ; Return Values
  1. ; =============
  1. ; if error MAGRY = Failure status ^Error message^
  1. ; if success MAGRY = Success status ^^IEN - IEN of the new record
  1. ;
  1. ADDTRFS(MAGRY,MAGPARAM) ; RPC [MAGVA CREATE TRF STATS]
  1. N MAGWP
  1. K MAGRY
  1. ; Add the record
  1. S MAGPARAM("START DATE/TIME")=$$IDF2FM^MAGVAF01($G(MAGPARAM("START DATE/TIME")))
  1. D ADDRCD^MAGVAF01(.MAGRY,2006.925,.MAGPARAM,.MAGWP)
  1. Q
  1. ;
  1. ;***** Add a new record to STORAGE TRANSACTION file (#2006.926)
  1. ;
  1. ; RPC: MAGVA CREATE STORAGE TA
  1. ;
  1. ; Input Parameters
  1. ; ================
  1. ;
  1. ; MAGPARAM("ARTIFACT") = Pointer to ARTIFACT file (#2006.916)
  1. ; MAGPARAM("STORAGE PROVIDER") = Pointer to STORAGE PROVIDER file (#2006.917)
  1. ; MAGPARAM("SUCCEEDED") = 0/1
  1. ; MAGPARAM("TRANSACTION TYPE") =
  1. ; MAGPARAM("INITIATING APPLICATION") =
  1. ;
  1. ; MAGMSG(1..n) = MESSAGE - optional
  1. ;
  1. ; MAGMSG(1..n) = MESSAGE
  1. ; Return Values
  1. ; =============
  1. ;
  1. ; if error MAGRY = Failure status ^Error message^
  1. ; if success MAGRY = Success status ^^IEN - IEN of the new record
  1. ;
  1. ADDSTTA(MAGRY,MAGPARAM,MAGMSG) ; RPC [MAGVA CREATE STORAGE TA]
  1. ; build MAGMSG first - workaround for Old broker listener
  1. N L,LL
  1. S L="MAGMSG",LL=0
  1. K MAGMSG
  1. F S L=$O(MAGPARAM(L)) Q:(L="")!($E(L,1,6)'="MAGMSG") S LL=LL+1,MAGMSG(LL)=MAGPARAM(L) K MAGPARAM(L)
  1. ;
  1. N FILE,MAGWP,PFILE
  1. K MAGRY
  1. S FILE=2006.926
  1. ;
  1. ; Get creating application or create a new one
  1. S PFILE=$$GETFILEP^MAGVAF05(FILE,"INITIATING APPLICATION")
  1. S MAGRY=$$GETIEN^MAGVAF05(PFILE,MAGPARAM("INITIATING APPLICATION"),1)
  1. I '$$ISOK^MAGVAF02(MAGRY) Q ; Quit if error. MAGRY is already set
  1. S MAGPARAM("INITIATING APPLICATION")=$$GETVAL^MAGVAF02(MAGRY) ; Set the internal value
  1. ;
  1. S MAGPARAM("TRANSACTION DATE/TIME")=$$NOW^XLFDT
  1. M MAGWP("MESSAGE")=MAGMSG
  1. D ADDRCD^MAGVAF01(.MAGRY,FILE,.MAGPARAM,.MAGWP) ; add the record
  1. Q