Added the Organization actor and fixed defaults

This commit is contained in:
george 2008-07-11 23:08:09 +00:00
parent 7ed92e118c
commit 1668056254
3 changed files with 47 additions and 18 deletions

View File

@ -2,21 +2,21 @@ GPLACTORS ; CCDCCR/GPL - CCR/CCD PROCESSING FOR ACTORS ; 7/3/08
;;0.3;CCDCCR;nopatch;noreleasedate
;
; PROCESS THE ACTORS SECTION OF THE CCR
;
; ===Revision History===
; 0.1 Initial Writing of Skeleton--GPL
; 0.2 Patient Data Extraction--SMH
; 0.3 Information System Info Extraction--SMH
;
; ===Revision History===
; 0.1 Initial Writing of Skeleton--GPL
; 0.2 Patient Data Extraction--SMH
; 0.3 Information System Info Extraction--SMH
;
EXTRACT(IPXML,ALST,AXML) ; EXTRACT ACTOR FROM ALST INTO PROVIDED XML TEMPLATE
; IPXML is the Input Actor Template into which we are going to substitute values
; This is straight XML. Values to be substituted are in @@VAL@@ format.
; ALST is the actor list global generated by ACTLST^GPLCCR and is in the following format
; ^TMP(7542,1,"ACTORS",0)=Count
; ^TMP(7542,1,"ACTORS",n)="ActorID^ActorType^ActorIEN"
; ActorType is an enum containing either "PROVIDER" "PATIENT" "SYSTEM"
; This is straight XML. Values to be substituted are in @@VAL@@ format.
; ALST is the actor list global generated by ACTLST^GPLCCR and is in the following format
; ^TMP(7542,1,"ACTORS",0)=Count
; ^TMP(7542,1,"ACTORS",n)="ActorID^ActorType^ActorIEN"
; ActorType is an enum containing either "PROVIDER" "PATIENT" "SYSTEM"
; AXML is the output arrary, to contain XML.
N I,J,AMAP,AOID,ATYP,AIEN
@ -47,6 +47,10 @@ EXTRACT(IPXML,ALST,AXML) ; EXTRACT ACTOR FROM ALST INTO PROVIDED XML TEMPLATE
. . D QUERY^GPLXPATH(IPXML,"//Actors/ACTOR-PROVIDER","ATMP")
. . D PROVIDER("ATMP",@ALST@(I),"ATMP2")
. ;
. I ATYP="ORGANIZATION" D ; PROVIDER ACTOR TYPE
. . D QUERY^GPLXPATH(IPXML,"//Actors/ACTOR-ORG","ATMP")
. . D ORG("ATMP",@ALST@(I),"ATMP2")
. ;
. D INSINNER^GPLXPATH(AXML,"ATMP2") ; INSERT INTO ROOT
;
D MISSING^GPLXPATH(AXML,"ACTTMP") ; SEARCH XML FOR MISSING VARS
@ -61,7 +65,7 @@ PATIENT(INXML,ACTREC,OUTXML) ; PROCESS A PATIENT ACTOR
W "PROCESSING ACTOR PATIENT ",ACTREC,!
; N AMAP
S AMAP=$NA(^TMP($J,"AMAP"))
D INIT^CCRDPT(AIEN)
D INIT^CCRDPT(AIEN)
S @AMAP@("ACTOROBJECTID")=AOID ;ACTOR OBJECT ID
S @AMAP@("ACTORGIVENNAME")=$$GIVEN^CCRDPT
S @AMAP@("ACTORMIDDLENAME")=$$MIDDLE^CCRDPT
@ -78,10 +82,10 @@ PATIENT(INXML,ACTREC,OUTXML) ; PROCESS A PATIENT ACTOR
S @AMAP@("ACTORADDRESSZIPCODE")=$$ZIP^CCRDPT
S @AMAP@("ACTORRESTEL")=$$RESTEL^CCRDPT
S @AMAP@("ACTORWORKTEL")=$$WORKTEL^CCRDPT
S @AMAP@("ACTORCELLTEL")=$$CELLTEL^CCRDPT
S @AMAP@("ACTORCELLTEL")=$$CELLTEL^CCRDPT
S @AMAP@("ACTOREMAIL")=$$EMAIL^CCRDPT
S @AMAP@("ACTORADDRESSSOURCEID")=AOID
D DESTROY^CCRDPT
D DESTROY^CCRDPT
D MAP^GPLXPATH(INXML,AMAP,OUTXML) ; MAP THE VARIABLE
Q
;
@ -91,7 +95,7 @@ SYSTEM(INXML,ACTREC,OUTXML) ; PROCESS A SYSTEM ACTOR
S AMAP=$NA(^TMP($J,"AMAP"))
S @AMAP@("ACTOROBJECTID")=AOID ;ACTOR OBJECT ID
S @AMAP@("ACTORINFOSYSNAME")=$$SYSNAME^CCRSYS
S @AMAP@("ACTORINFOSYSVER")=$$SYSVER^CCRSYS
S @AMAP@("ACTORINFOSYSVER")=$$SYSVER^CCRSYS
S @AMAP@("ACTORINFOSYSSOURCEID")=AOID
D MAP^GPLXPATH(INXML,AMAP,OUTXML) ; MAP THE VARIABLE
Q
@ -107,6 +111,16 @@ NOK(INXML,ACTREC,OUTXML) ; PROCESS A NEXT OF KIN TYPE ACTOR
D MAP^GPLXPATH(INXML,AMAP,OUTXML) ; MAP THE VARIABLE
Q
;
ORG(INXML,ACTREC,OUTXML) ; PROCESS AN ORGANIZATION TYPE ACTOR
;
; N AMAP
S AMAP=$NA(^TMP($J,"AMAP"))
S @AMAP@("ACTOROBJECTID")=AOID ;ACTOR OBJECT ID
S @AMAP@("ORGANIZATIONNAME")="WORLDVISTA EHR CLINIC"
S @AMAP@("ACTORSOURCEID")="ACTORSYSTEM_1"
D MAP^GPLXPATH(INXML,AMAP,OUTXML) ; MAP THE VARIABLE
Q
;
PROVIDER(INXML,ACTREC,OUTXML) ; PROCESS A PROVIDER TYPE ACTOR
;
; N AMAP

View File

@ -93,9 +93,11 @@ HDRMAP(CXML,DFN,IHDR) ; MAP HEADER VARIABLES: FROM, TO ECT
S @VMAP@("DATETIME")=$$FMDTOUTC^CCRUTIL($$NOW^XLFDT,"DT")
I IHDR="" D ; HEADER ARRAY IS NOT PROVIDED, USE DEFAULTS
. S @VMAP@("ACTORPATIENT")="ACTORPATIENT_"_DFN
. S @VMAP@("ACTORFROM")="ACTORPROVIDER_"_DUZ ; FROM DUZ - ???
. S @VMAP@("ACTORFROM")="ACTORORGANIZATION_"_DUZ ; FROM DUZ - ???
. S @VMAP@("ACTORFROM2")="ACTORSYSTEM_1" ; SECOND FROM IS THE SYSTEM
. S @VMAP@("ACTORTO")="ACTORPATIENT_"_DFN ; FOR TEST PURPOSES,
. S @VMAP@("ACTORTO")="ACTORPATIENT_"_DFN ; FOR TEST PURPOSES
. S @VMAP@("PURPOSEDESCRIPTION")="CEND PHR" ; FOR TEST PURPOSES
. S @VMAP@("ACTORTOTEXT")="Patient" ; FOR TEST PURPOSES
. ; THIS IS THE USE CASE FOR THE PHR WHERE "TO" IS THE PATIENT
I IHDR'="" D ; HEADER VALUES ARE PROVIDED
. D CP^GPLXPATH(IHDR,VMAP) ; COPY HEADER VARIABLES TO MAP ARRAY

View File

@ -572,6 +572,19 @@ LOAD(ARY) ; LOAD A CCR TEMPLATE INTO ARY PASSED BY NAME
;;</Source>
;;</Actor>
;;</ACTOR-PROVIDER>
;;<ACTOR-ORG>
;;<Actor>
;;<ActorObjectID>@@ACTOROBJECTID@@</ActorObjectID>
;;<Organization>
;;<Name>@@ORGANIZATIONNAME@@</Name>
;;</Organization>
;;<Source>
;;<Actor>
;;<ActorID>@@ACTORSOURCEID</ActorID>
;;</Actor>
;;</Source>
;;</Actor>
;;</ACTOR-ORG>
;;</Actors>
;;<Signatures>
;;<CCRSignature>