Variable assigned in Results section of CCR template

This commit is contained in:
george 2008-07-28 21:09:22 +00:00
parent 21364dd8fc
commit 55924aa0bf
3 changed files with 49 additions and 363 deletions

View File

@ -50,6 +50,7 @@ CCRRPC(CCRGRTN,DFN,CCRPART,TIME1,TIME2,HDRARY) ;RPC ENTRY POINT FOR CCR OUTPUT
; IF NULL WILL DEFAULT TO "FROM" DUZ AND "TO" DFN
S DEBUG=0
S CCD=0 ; NEED THIS FLAG TO DISTINGUISH FROM CCD
I '$D(TESTLAB) S TESTLAB=0 ; FLAG FOR TESTING RESULTS SECTION
S TGLOBAL=$NA(^TMP("GPLCCR",$J,"TEMPLATE")) ; GLOBAL FOR STORING TEMPLATE
S CCRGLO=$NA(^TMP("GPLCCR",$J,DFN,"CCR")) ; GLOBAL FOR BUILDING THE CCR
S ACTGLO=$NA(^TMP("GPLCCR",$J,DFN,"ACTORS")) ; GLOBAL FOR ALL ACTORS
@ -104,6 +105,7 @@ INITSTPS(TAB) ; INITIALIZE CCR PROCESSING STEPS
D PUSH^GPLXPATH(TAB,"EXTRACT;GPLPROBS;//ContinuityOfCareRecord/Body/Problems;^TMP(""GPLCCR"",$J,DFN,""PROBLEMS"")")
;D PUSH^GPLXPATH(TAB,"EXTRACT;GPLMEDS;//ContinuityOfCareRecord/Body/Medications;^TMP(""GPLCCR"",$J,DFN,""MEDICATIONS"")")
D PUSH^GPLXPATH(TAB,"EXTRACT;GPLVITALS;//ContinuityOfCareRecord/Body/VitalSigns;^TMP(""GPLCCR"",$J,DFN,""VITALS"")")
I TESTLAB D PUSH^GPLXPATH(TAB,"EXTRACT;GPLLABS;//ContinuityOfCareRecord/Body/Results;^TMP(""GPLCCR"",$J,DFN,""RESULTS"")")
Q
;
HDRMAP(CXML,DFN,IHDR) ; MAP HEADER VARIABLES: FROM, TO ECT

View File

@ -382,454 +382,139 @@ LOAD(ARY) ; LOAD A CCR TEMPLATE INTO ARY PASSED BY NAME
;;</VitalSigns>
;;<Results>
;;<Result>
;;<CCRDataObjectID>7d5a02b0-67a4-11db-bd13-0800200c9a66</CCRDataObjectID>
;;<CCRDataObjectID>@@RESULTOBJECTID@@</CCRDataObjectID>
;;<DateTime>
;;<Type>
;;<Text>Assessment Time</Text>
;;</Type>
;;<ExactDateTime>2000-04-07T14:30Z</ExactDateTime>
;;<ExactDateTime>@@RESULTASSESSMENTDATETIME@@</ExactDateTime>
;;</DateTime>
;;<Description>
;;<Text>CBC WO DIFFERENTIAL</Text>
;;<Text>@@RESULTDESCRIPTIONTEXT@@</Text>
;;<Code>
;;<Value>43789009</Value>
;;<CodingSystem>SNOMED CT</CodingSystem>
;;<Value>@@RESULTCODE@@</Value>
;;<CodingSystem>@@RESULTCODINGSYSTEM@@</CodingSystem>
;;</Code>
;;</Description>
;;<Status>
;;<Text>Final Results</Text>
;;<Text>@@RESULTSTATUS@@</Text>
;;</Status>
;;<Source>
;;<Actor>
;;<ActorID>8a54f393-8015-460c-abd2-f29aad15481c</ActorID>
;;<ActorID>@@RESULTSOURCEACTORID@@</ActorID>
;;</Actor>
;;</Source>
;;<Test_1>
;;<CCRDataObjectID>107c2dc0-67a5-11db-bd13-0800200c9a66</CCRDataObjectID>
;;<TEST_NORMALDESCRIPTION>
;;<Test>
;;<CCRDataObjectID>@@RESULTTESTOBJECTID@@</CCRDataObjectID>
;;<DateTime>
;;<Type>
;;<Text>Assessment Time</Text>
;;</Type>
;;<ExactDateTime>2000-04-07T14:30Z</ExactDateTime>
;;<ExactDateTime>@@RESULTTESTDATETIME@@</ExactDateTime>
;;</DateTime>
;;<Description>
;;<Text>HGB</Text>
;;<Text>@@RESULTTESTDESCRIPTIONTEXT@@</Text>
;;<Code>
;;<Value>30313-1</Value>
;;<CodingSystem>LOINC</CodingSystem>
;;<Value>@@RESULTTESTCODE@@</Value>
;;<CodingSystem>@@RESULTTESTCODINGSYSTEM@@</CodingSystem>
;;</Code>
;;</Description>
;;<Status>
;;<Text>Final Results</Text>
;;<Text>@@RESULTTESTSTATUSTEXT@@</Text>
;;</Status>
;;<Source>
;;<Actor>
;;<ActorID>8a54f393-8015-460c-abd2-f29aad15481c</ActorID>
;;<ActorID>@@RESULTTESTSOURCEACTORID@@</ActorID>
;;</Actor>
;;</Source>
;;<TestResult>
;;<Value>13.2</Value>
;;<Value>@@RESULTTESTVALUE@@</Value>
;;<Units>
;;<Unit>g/dl</Unit>
;;<Unit>@@RESULTTESTUNITS@@</Unit>
;;</Units>
;;</TestResult>
;;<NormalResult>
;;<Normal>
;;<Description>
;;<Text>M 13-18 g/dl; F 12-16 g/dl</Text>
;;<Text>@@RESULTTESTNORMALDESCRIPTIONTEXT@@</Text>
;;</Description>
;;<Source>
;;<Actor>
;;<ActorID>8a54f393-8015-460c-abd2-f29aad15481c</ActorID>
;;</Actor>
;;</Source>
;;</Normal>
;;</NormalResult>
;;</Test_1>
;;<Test_2>
;;<CCRDataObjectID>8b3fa370-67a5-11db-bd13-0800200c9a66</CCRDataObjectID>
;;<DateTime>
;;<Type>
;;<Text>Assessment Time</Text>
;;</Type>
;;<ExactDateTime>2000-04-07T14:30Z</ExactDateTime>
;;</DateTime>
;;<Description>
;;<Text>WBC</Text>
;;<Code>
;;<Value>33765-9</Value>
;;<CodingSystem>LOINC</CodingSystem>
;;</Code>
;;</Description>
;;<Status>
;;<Text>Final Results</Text>
;;</Status>
;;<Source>
;;<Actor>
;;<ActorID>8a54f393-8015-460c-abd2-f29aad15481c</ActorID>
;;</Actor>
;;</Source>
;;<TestResult>
;;<Value>6.7</Value>
;;<Units>
;;<Unit>10+3/ul</Unit>
;;</Units>
;;</TestResult>
;;<NormalResult>
;;<Normal>
;;<Value>4.3</Value>
;;<Units>
;;<Unit>10+3/ul</Unit>
;;</Units>
;;<ValueSequencePosition>1</ValueSequencePosition>
;;<Source>
;;<Actor>
;;<ActorID>8a54f393-8015-460c-abd2-f29aad15481c</ActorID>
;;</Actor>
;;</Source>
;;</Normal>
;;<Normal>
;;<Value>10.8</Value>
;;<Units>
;;<Unit>10+3/ul</Unit>
;;</Units>
;;<ValueSequencePosition>2</ValueSequencePosition>
;;<VariableNomalModifier>
;;<Text>TO</Text>
;;</VariableNomalModifier>
;;<Source>
;;<Actor>
;;<ActorID>8a54f393-8015-460c-abd2-f29aad15481c</ActorID>
;;</Actor>
;;</Source>
;;</Normal>
;;</NormalResult>
;;</Test_2>
;;<Test_3>
;;<CCRDataObjectID>80a6c740-67a5-11db-bd13-0800200c9a66</CCRDataObjectID>
;;<DateTime>
;;<Type>
;;<Text>Assessment Time</Text>
;;</Type>
;;<ExactDateTime>2000-04-07T14:30Z</ExactDateTime>
;;</DateTime>
;;<Description>
;;<Text>PLT</Text>
;;<Code>
;;<Value>123</Value>
;;<CodingSystem>LOINC</CodingSystem>
;;</Code>
;;</Description>
;;<Status>
;;<Text>Final Results</Text>
;;</Status>
;;<Source>
;;<Actor>
;;<ActorID>8a54f393-8015-460c-abd2-f29aad15481c</ActorID>
;;</Actor>
;;</Source>
;;<TestResult>
;;<Value>153</Value>
;;<Units>
;;<Unit>10+3/ul</Unit>
;;</Units>
;;</TestResult>
;;<NormalResult>
;;<Normal>
;;<Value>150</Value>
;;<Units>
;;<Unit>10+3/ul</Unit>
;;</Units>
;;<ValueSequencePosition>1</ValueSequencePosition>
;;<Source>
;;<Actor>
;;<ActorID>8a54f393-8015-460c-abd2-f29aad15481c</ActorID>
;;</Actor>
;;</Source>
;;</Normal>
;;<Normal>
;;<Value>350</Value>
;;<Units>
;;<Unit>10+3/ul</Unit>
;;</Units>
;;<ValueSequencePosition>2</ValueSequencePosition>
;;<VariableNomalModifier>
;;<Text>TO</Text>
;;</VariableNomalModifier>
;;<Source>
;;<Actor>
;;<ActorID>8a54f393-8015-460c-abd2-f29aad15481c</ActorID>
;;<ActorID>@@RESULTTESTNORMALSOURCEACTORID@@</ActorID>
;;</Actor>
;;</Source>
;;</Normal>
;;</NormalResult>
;;<Flag>
;;<Text>LOW</Text>
;;<Text>@@RESULTTESTFLAG@@</Text>
;;</Flag>
;;</Test_3>
;;</Result>
;;<Result>
;;<CCRDataObjectID>a40027e0-67a5-11db-bd13-0800200c9a66</CCRDataObjectID>
;;<DateTime>
;;<Type>
;;<Text>Assessment Time</Text>
;;</Type>
;;<ExactDateTime>2000-03-23T14:30Z</ExactDateTime>
;;</DateTime>
;;<Description>
;;<Text>LYTES</Text>
;;<Code>
;;<Value>20109005</Value>
;;<CodingSystem>SNOMED CT</CodingSystem>
;;</Code>
;;</Description>
;;<Status>
;;<Text>Final Results</Text>
;;</Status>
;;<Source>
;;<Actor>
;;<ActorID>8a54f393-8015-460c-abd2-f29aad15481c</ActorID>
;;</Actor>
;;</Source>
;;<Test>
;;<CCRDataObjectID>a40027e1-67a5-11db-bd13-0800200c9a66</CCRDataObjectID>
;;<DateTime>
;;<Type>
;;<Text>Assessment Time</Text>
;;</Type>
;;<ExactDateTime>2000-03-23T14:30Z</ExactDateTime>
;;</DateTime>
;;<Description>
;;<Text>NA</Text>
;;<Code>
;;<Value>2951-2</Value>
;;<CodingSystem>LOINC</CodingSystem>
;;</Code>
;;</Description>
;;<Status>
;;<Text>Final Results</Text>
;;</Status>
;;<Source>
;;<Actor>
;;<ActorID>8a54f393-8015-460c-abd2-f29aad15481c</ActorID>
;;</Actor>
;;</Source>
;;<TestResult>
;;<Value>140</Value>
;;<Units>
;;<Unit>meq/l</Unit>
;;</Units>
;;</TestResult>
;;<NormalResult>
;;<Normal>
;;<Value>135</Value>
;;<Units>
;;<Unit>meq/l</Unit>
;;</Units>
;;<ValueSequencePosition>1</ValueSequencePosition>
;;<Source>
;;<Actor>
;;<ActorID>8a54f393-8015-460c-abd2-f29aad15481c</ActorID>
;;</Actor>
;;</Source>
;;</Normal>
;;<Normal>
;;<Value>145</Value>
;;<Units>
;;<Unit>meq/l</Unit>
;;</Units>
;;<ValueSequencePosition>2</ValueSequencePosition>
;;<VariableNomalModifier>
;;<Text>TO</Text>
;;</VariableNomalModifier>
;;<Source>
;;<Actor>
;;<ActorID>8a54f393-8015-460c-abd2-f29aad15481c</ActorID>
;;</Actor>
;;</Source>
;;</Normal>
;;</NormalResult>
;;</Test>
;;</TEST_NORMALDESCRIPTION>
;;<TEST_NORMALSEQUENCE>
;;<Test>
;;<CCRDataObjectID>a40027e2-67a5-11db-bd13-0800200c9a66</CCRDataObjectID>
;;<CCRDataObjectID>@@RESULTTESTOBJECTID@@</CCRDataObjectID>
;;<DateTime>
;;<Type>
;;<Text>Assessment Time</Text>
;;</Type>
;;<ExactDateTime>2000-03-23T14:30Z</ExactDateTime>
;;<ExactDateTime>@@RESULTTESTDATETIME@@</ExactDateTime>
;;</DateTime>
;;<Description>
;;<Text>K</Text>
;;<Text>@@RESULTTESTDESCRIPTIONTEXT@@</Text>
;;<Code>
;;<Value>2823-3</Value>
;;<CodingSystem>LOINC</CodingSystem>
;;<Value>@@RESULTTESTVALUE@@</Value>
;;<CodingSystem>@@RESULTTESTCODINGSYSTEM@@</CodingSystem>
;;</Code>
;;</Description>
;;<Status>
;;<Text>Final Results</Text>
;;<Text>@@RESULTTESTSTATUSTEXT@@</Text>
;;</Status>
;;<Source>
;;<Actor>
;;<ActorID>8a54f393-8015-460c-abd2-f29aad15481c</ActorID>
;;<ActorID>@@RESULTTESTSOURCEACTORID@@</ActorID>
;;</Actor>
;;</Source>
;;<TestResult>
;;<Value>4.0</Value>
;;<Value>@@RESULTTESTVALUE@@</Value>
;;<Units>
;;<Unit>meq/l</Unit>
;;<Unit>@@RESULTTESTUNITS@@</Unit>
;;</Units>
;;</TestResult>
;;<NormalResult>
;;<Normal>
;;<Value>3.5</Value>
;;<Value>@@RESULTTESTNORMALVALUESEQ1@@</Value>
;;<Units>
;;<Unit>meq/l</Unit>
;;<Unit>@@RESULTTESTNORMALUNITSEQ1@@</Unit>
;;</Units>
;;<ValueSequencePosition>1</ValueSequencePosition>
;;<Source>
;;<Actor>
;;<ActorID>8a54f393-8015-460c-abd2-f29aad15481c</ActorID>
;;<ActorID>@@RESULTTESTNORMALSOURCEACTORID@@</ActorID>
;;</Actor>
;;</Source>
;;</Normal>
;;<Normal>
;;<Value>5.0</Value>
;;<Value>@@RESULTTESTNORMALVALUESEQ2@@</Value>
;;<Units>
;;<Unit>meq/l</Unit>
;;<Unit>@@RESULTTESTNORMALUNITSEQ2@@</Unit>
;;</Units>
;;<ValueSequencePosition>2</ValueSequencePosition>
;;<VariableNomalModifier>
;;<Text>TO</Text>
;;<Text>@@RESULTTESTNORMALMODIFIER@@</Text>
;;</VariableNomalModifier>
;;<Source>
;;<Actor>
;;<ActorID>8a54f393-8015-460c-abd2-f29aad15481c</ActorID>
;;</Actor>
;;</Source>
;;</Normal>
;;</NormalResult>
;;</Test>
;;<Test>
;;<CCRDataObjectID>a40027e3-67a5-11db-bd13-0800200c9a66</CCRDataObjectID>
;;<DateTime>
;;<Type>
;;<Text>Assessment Time</Text>
;;</Type>
;;<ExactDateTime>2000-03-23T14:30Z</ExactDateTime>
;;</DateTime>
;;<Description>
;;<Text>CL</Text>
;;<Code>
;;<Value>2075-0</Value>
;;<CodingSystem>LOINC</CodingSystem>
;;</Code>
;;</Description>
;;<Status>
;;<Text>Final Results</Text>
;;</Status>
;;<Source>
;;<Actor>
;;<ActorID>8a54f393-8015-460c-abd2-f29aad15481c</ActorID>
;;</Actor>
;;</Source>
;;<TestResult>
;;<Value>102</Value>
;;<Units>
;;<Unit>meq/l</Unit>
;;</Units>
;;</TestResult>
;;<NormalResult>
;;<Normal>
;;<Value>98</Value>
;;<Units>
;;<Unit>meq/l</Unit>
;;</Units>
;;<ValueSequencePosition>1</ValueSequencePosition>
;;<Source>
;;<Actor>
;;<ActorID>8a54f393-8015-460c-abd2-f29aad15481c</ActorID>
;;</Actor>
;;</Source>
;;</Normal>
;;<Normal>
;;<Value>106</Value>
;;<Units>
;;<Unit>meq/l</Unit>
;;</Units>
;;<ValueSequencePosition>2</ValueSequencePosition>
;;<VariableNomalModifier>
;;<Text>TO</Text>
;;</VariableNomalModifier>
;;<Source>
;;<Actor>
;;<ActorID>8a54f393-8015-460c-abd2-f29aad15481c</ActorID>
;;</Actor>
;;</Source>
;;</Normal>
;;</NormalResult>
;;</Test>
;;<Test>
;;<CCRDataObjectID>a40027e4-67a5-11db-bd13-0800200c9a66</CCRDataObjectID>
;;<DateTime>
;;<Type>
;;<Text>Assessment Time</Text>
;;</Type>
;;<ExactDateTime>2000-03-23T14:30Z</ExactDateTime>
;;</DateTime>
;;<Description>
;;<Text>HCO3</Text>
;;<Code>
;;<Value>1963-8</Value>
;;<CodingSystem>LOINC</CodingSystem>
;;</Code>
;;</Description>
;;<Status>
;;<Text>Final Results</Text>
;;</Status>
;;<Source>
;;<Actor>
;;<ActorID>8a54f393-8015-460c-abd2-f29aad15481c</ActorID>
;;</Actor>
;;</Source>
;;<TestResult>
;;<Value>35</Value>
;;<Units>
;;<Unit>meq/l</Unit>
;;</Units>
;;</TestResult>
;;<NormalResult>
;;<Normal>
;;<Value>18</Value>
;;<Units>
;;<Unit>meq/l</Unit>
;;</Units>
;;<ValueSequencePosition>1</ValueSequencePosition>
;;<Source>
;;<Actor>
;;<ActorID>8a54f393-8015-460c-abd2-f29aad15481c</ActorID>
;;</Actor>
;;</Source>
;;</Normal>
;;<Normal>
;;<Value>23</Value>
;;<Units>
;;<Unit>meq/l</Unit>
;;</Units>
;;<ValueSequencePosition>2</ValueSequencePosition>
;;<VariableNomalModifier>
;;<Text>TO</Text>
;;</VariableNomalModifier>
;;<Source>
;;<Actor>
;;<ActorID>8a54f393-8015-460c-abd2-f29aad15481c</ActorID>
;;<ActorID>@@RESULTTESTNORMALSOURCEACTORID@@</ActorID>
;;</Actor>
;;</Source>
;;</Normal>
;;</NormalResult>
;;<Flag>
;;<Text>HIGH</Text>
;;<Text>@@RESULTTESTFLAG@@</Text>
;;</Flag>
;;</Test>
;;</TEST_NORMALSEQUENCE>
;;</Result>
;;</Results>
;;<HealthCareProviders>

View File

@ -80,17 +80,16 @@ EXTRACT(IPXML,DFN,OUTXML) ; EXTRACT PROBLEMS INTO PROVIDED XML TEMPLATE
. F I=1:1:RPCRSLT(0) D ; FOR EACH PROBLEM
. . S VMAP=$NA(@TVMAP@(I))
. . S ZX="<tr><td>" ; BEGIN ROW AND COL
. . S ZX=ZX_@VMAP@("PROBLEMDESCRIPTION")
. . S ZX=ZX_"</td><td>" ; NEXT COL
. . D PUSH^GPLXPATH("HTMP",ZX) ; ADD TO BUFFER
. . S ZX=@VMAP@("PROBLEMDESCRIPTION")
. . I ZX="" S ZX=" " ; SET TO BLANK SO IT DOESN'T GET TRIMMED
. . D PUSH^GPLXPATH("HTMP",ZX)
. . D PUSH^GPLXPATH("HTMP","</td><td>") ; NEXT COL
. . S ZX=@VMAP@("PROBLEMDATEOFONSET")
. . I ZX="" S ZX="Unknown" ; SET TO UNKNOWN
. . D PUSH^GPLXPATH("HTMP",ZX)
. . D PUSH^GPLXPATH("HTMP","</td><td>") ; NEXT COL
. . D PUSH^GPLXPATH("HTMP","Active") ; WE ONLY DO ACTIVE
. . D PUSH^GPLXPATH("HTMP","</td></tr>") ; END OF COL AND ROW
. . S ZX="</td><td>" ; NEXT COL
. . S ZX=ZX_"Active" ; WE ONLY DO ACTIVE
. . S ZX=ZX_"</td></tr>" ; END OF COL AND ROW
. . D PUSH^GPLXPATH("HTMP",ZX)
. D PUSH^GPLXPATH("HTMP","</tbody></table></text>") ; END TABLE
. D INSB4^GPLXPATH(OUTXML,"HTMP") ; INSERT AT TOP OF SECTION
N PROBSTMP,I