User bio
404 bio not found
Member since Nov 6, 2015
Posts:
Mike has not published any posts yet.
Replies:

Scott,

The trick is in using the appropriate syntax to access the individual fields within the DICOM message.  In the example below, we're extracting data from the DICOM message to insert into a simple scheduling request message output as XML.  The same syntax can be used in reverse, writing from HL7 into DICOM.  Since the DICOM message is not fully-defined within Ensemble/HealthShare, the graphical DTL editor view is not pretty...

Hope this helps,
Mike

Class Test.Transform.DICOMToPatientSchedule Extends Ens.DataTransformDTL [ DependsOn = (EnsLib.DICOM.Document, Test.Msg.PatientScheduleReq) ]
{

Parameter IGNOREMISSINGSOURCE = 1;

Parameter REPORTERRORS = 1;

Parameter TREATEMPTYREPEATINGFIELDASNULL = 0;

XData DTL [ XMLNamespace = "http://www.intersystems.com/dtl]
{
<transform sourceClass='EnsLib.DICOM.Document' targetClass='Test.Msg.PatientScheduleReq' targetDocType='2.3.1:ADT_A01' create='new' language='objectscript' >
<assign value='source.GetValueAt("DataSet.PatientID")' property='target.PID' action='set' />
<assign value='"DICOM"' property='target.MessageSource' action='set' />
<assign value='source.GetValueAt("DataSet.PatientName")' property='target.PatientName' action='set' />
<assign value='source.GetValueAt("DataSet.ScheduledProcedureStepSequence[1].ScheduledProcedureStepStartDate")' property='target.ExamDateTime' action='set' />
<assign value='source.GetValueAt("DataSet.ScheduledProcedureStepSequence[1].ScheduledProcedureStepStartDate")' property='target.FileDate' action='set' />
<assign value='source.GetValueAt("DataSet.ScheduledProcedureStepSequence[1].ScheduledProcedureStepDescription")' property='target.ExamType' action='set' />
<assign value='source.GetValueAt("DataSet.AccessionNumber")' property='target.AccessionNumber' action='set' />
<assign value='source.GetValueAt("DataSet.StudyInstanceUID")' property='target.VisitId' action='set' />
<assign value='source.GetValueAt("DataSet.ScheduledProcedureStepSequence[1].ScheduledPerformingPhysicianName")' property='target.AttendingPhysician' action='set' />
</transform>
}

}

Certifications & Credly badges:
Mike has no Certifications & Credly badges yet.
Global Masters badges:
Mike has no Global Masters badges yet.
Followers:
Mike has no followers yet.
Following:
Mike has not followed anybody yet.