C0CCCD1 ; CCDCCR/GPL - CCD TEMPLATE AND ACCESS ROUTINES; 6/7/08
;;1.2;CCD/CCR GENERATION UTILITIES;;Oct 30, 2012;Build 50
;Copyright 2008,2009 George Lilly, University of Minnesota.
;
; This program is free software: you can redistribute it and/or modify
; it under the terms of the GNU Affero General Public License as
; published by the Free Software Foundation, either version 3 of the
; License, or (at your option) any later version.
;
; This program is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
; GNU Affero General Public License for more details.
;
; You should have received a copy of the GNU Affero General Public License
; along with this program. If not, see .
;
;
W "This is a CCD TEMPLATE with processing routines",!
W !
Q
;
ZT(ZARY,BAT,LINE) ; private routine to add a line to the ZARY array
; ZARY IS PASSED BY NAME
; BAT is a string identifying the section
; LINE is a test which will evaluate to true or false
; I '$G(@ZARY) D ; IF ZARY DOES NOT EXIST '
; . S @ZARY@(0)=0 ; initially there are no elements
; . W "GOT HERE LOADING "_LINE,!
N CNT ; count of array elements
S CNT=@ZARY@(0) ; contains array count
S CNT=CNT+1 ; increment count
S @ZARY@(CNT)=LINE ; put the line in the array
; S @ZARY@(BAT,CNT)="" ; index the test by battery
S @ZARY@(0)=CNT ; update the array counter
Q
;
ZLOAD(ZARY,ROUTINE) ; load tests into ZARY which is passed by reference
; ZARY IS PASSED BY NAME
; ZARY = name of the root, closed array format (e.g., "^TMP($J)")
; ROUTINE = NAME OF THE ROUTINE - PASSED BY VALUE
K @ZARY S @ZARY=""
S @ZARY@(0)=0 ; initialize array count
N LINE,LABEL,BODY
N INTEST S INTEST=0 ; switch for in the TEMPLATE section
N SECTION S SECTION="[anonymous]" ; NO section LABEL
;
N NUM F NUM=1:1 S LINE=$T(+NUM^@ROUTINE) Q:LINE="" D
. I LINE?." "1";".E S INTEST=1 ; entering section
. I LINE?." "1";".E S INTEST=0 ; leaving section
. I INTEST D ; within the section
. . I LINE?." "1";><".E D ; sub-section name found
. . . S SECTION=$P($P(LINE,";><",2),">",1) ; pull out name
. . I LINE?." "1";;".E D ; line found
. . . D ZT(ZARY,SECTION,$P(LINE,";;",2)) ; put the line in the array
Q
;
LOAD(ARY) ; LOAD A CCR TEMPLATE INTO ARY PASSED BY NAME
D ZLOAD(ARY,"C0CCCD1")
; ZWR @ARY
Q
;
TRMCCD ; ROUTINE TO BE WRITTEN TO REMOVE CCR MARKUP FROM CCD
Q
MARKUP ;
;;
;;
;;
;;
;;
;;
;;
;;
;;
;;
;;
;;
;;
;;
;;
;;
;;
;
;;
;;
Q
;
;
;;
;;
;;
;;
;;
;;
;;
;;Continuity of Care Document
;;
;;
;;
;;
;;
;;
;;
;;
;;@@ACTORGIVENNAME@@
;;@@ACTORFAMILYNAME@@
;;@@ACTORSUFFIXNAME@@
;;
;;
;;
;;
;;
;;
;;@@ORGANIZATIONNAME@@
;;
;;
;;
;;
;;
;;
;;
;;
;;
;;@@ACTORNAMEPREFIX@@
;;@@ACTORGIVENNAME@@
;;@@ACTORFAMILYNAME@@
;;
;;
;;
;;
;;@@ORGANIZATIONNAME@@
;;
;;
;;
;;
;;
;;
;;
;;
;;@@ORGANIZATIONNAME@@
;;
;;
;;
;;
;;
;;
;;
;;@@ORGANIZATIONNAME@@
;;
;;
;;
;;
;;
;;
;;
;;
;;
;;
;;@@ORGANIZATIONNAME@@
;;
;;
;;
;;
;;
;;
;;
;;
;;
;;
;;
;;
;;Henrietta
;;Levin
;;
;;
;;
;;
;;
;;
;;
;;
;;
;;
;;
;;
;;
;;
;;
;;
;;
;;
;;@@ACTORPREFIXNAME@@
;;@@ACTORGIVENNAME@@
;;@@ACTORFAMILYNAME@@
;;
;;
;;
;;
;;@@ORGANIZATIONNAME@@
;;
;;
;;
;;
;;
;;
;;
;;