Written by

Principal Integration Engineer at Tendo Systems
Question Victor Castanon · Jul 9

Why isn't my SearchTable Generating Anything When I Run BuildTable

I'm trying to gather more data for one of my namespaces so I can do some analysis. However when I run .BuildIndex() nothing populates in the resulting SQL table. I've tried deleting the class and reimporting and compiling and still nothing. I feel like I'm doing something OBVIOUS that's wrong but I can't quite figure out what it is. Here's what I'm doing (Customer name redacted)
 

Class CUST***.System.Cerner.Hl7.SearchTable Extends EnsLib.HL7.SearchTable

{



Parameter DOCCLASS = "EnsLib.HL7.Message";Parameter EXTENTSIZE = 4000000;



XData SearchSpec [ XMLNamespace = "http://www.intersystems.com/EnsSearchTable" ]

{

<Items>

<Item DocType="***_CernerORU:ORU_R01" PropName="AccountID" PropType="String:CaseInsensitive" StoreNulls="false"

Unselective="false">{PID:PatientAccountNumber.ID}</Item>

<Item DocType="***_CernerORU:ORU_R01" PropName="EventID" PropType="String:CaseInsensitive" StoreNulls="false" Unselective="false">$PIECE({ORC:FillerOrderNumber(2):entityidentifier},"^",1)</Item>

<Item DocType="***_CernerORU:ORU_R01" PropName="ContentType" PropType="String:CaseInsensitive" StoreNulls="false" Unselective="true">{OBX(1):ValueType}</Item>

<Item DocType="***_CernerORU:ORU_R01" PropName="FileType" PropType="String:CaseInsensitive" StoreNulls="false" Unselective="true">$EXTRACT([OBX(1):5.1],1,5)</Item>

</Items>

}



Storage Default

{

<Type>%Storage.Persistent</Type>

}



}

Product version: IRIS 2025.1
$ZV: IRIS for UNIX (Ubuntu Server LTS for x86-64 Containers) 2025.1 (Build 223U) Tue Mar 11 2025 18:15:27 EDT

Comments

Jeffrey Drumm · Jul 9

Are the Cerner custom schemas shown in your SearchTable based on InterSystems-supplied schemas? Is it possible that you need to specify "fully qualified" paths to the values you wish to index, for example:

Class XXXX.HL7.RAD.SearchTable Extends EnsLib.HL7.SearchTable
{

XData SearchSpec [ XMLNamespace = "http://www.intersystems.com/EnsSearchTable" ]
{
<Items>
    <Item DocType="InteleRAD_2.5.1:ORU_R01" PropName="AccessionNo" >{PIDgrpgrp(1).ORCgrp(1).OBR:PlacerOrderNumber.EntityIdentifier}</Item>
    <Item DocType="2.5.1:ORU_R01" PropName="AccessionNo" >{PIDgrpgrp(1).ORCgrp(1).OBR:PlacerOrderNumber.EntityIdentifier}</Item>
    <Item DocType="2.5.1:ORM_O01" PropName="AccessionNo" >{PIDgrpgrp(1).ORCgrp(1).OBR:PlacerOrderNumber.EntityIdentifier}</Item>
</Items>
}
0
Victor Castanon  Jul 9 to Jeffrey Drumm

It's a custom Schema that lives in that Namespace. I validated the paths on a local docker image and it built my index fine, however on shared instances nothing seems to populate. 

0
Jeffrey Drumm  Jul 9 to Victor Castanon

And those message schema categories are configured in the services and operations that use that SearchTable? And, just as importantly, have always been there? It's not going to index messages that don't have those assigned in the message object's properties.

0