pat_id_issuer cannot be null

657 views
Skip to first unread message

martin hamon

unread,
Oct 19, 2018, 12:35:24 PM10/19/18
to dcm4che
Hi boys.
I have a problem whith x-ray device. When i send dicom to dcm4chee this say " pat_id_issuer cannot be null", i change in storescp some values, restarted the  server, check the values again but dcm its saying the same.

Some idea?

Many thanks.

rx.png


gabriel perez caldo

unread,
Oct 19, 2018, 1:16:43 PM10/19/18
to dcm...@googlegroups.com
Hola, entiendo inglés pero me cuesta escribir. El problema que tienes radica en que cuando cargues el paciente en el equipo digital de tomografía o rayos x, los datos del paciente deben completarse, es decir ponerle el nombre del paciente, número de estudio, tipo de estudio y edad. Luego lo envías al DCM4CHEE y no tendrás error. 

--
You received this message because you are subscribed to the Google Groups "dcm4che" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dcm4che+u...@googlegroups.com.
To post to this group, send email to dcm...@googlegroups.com.
Visit this group at https://groups.google.com/group/dcm4che.
For more options, visit https://groups.google.com/d/optout.

martin hamon

unread,
Oct 19, 2018, 1:28:48 PM10/19/18
to dcm4che
Gabriel gracias por tu respuesta. Obviamente los datos son cargados en el equipo, pero me parece que los campos como pat_user_id o no llegan o está mal formado en la mensaje.
Por eso también modifique el servicio de store pero tampoco me funcionó.

gabriel perez caldo

unread,
Oct 19, 2018, 1:34:46 PM10/19/18
to dcm...@googlegroups.com
Es la primera vez que te da el error? Quizás la imagen original esté con error por eso no se envia

El vie., 19 oct. 2018 2:28 p. m., martin hamon <marti...@gmail.com> escribió:
Gabriel gracias por tu respuesta. Obviamente los datos son cargados en el equipo, pero me parece que los campos como pat_user_id o no llegan o está mal formado en la mensaje.
Por eso también modifique el servicio de store pero tampoco me funcionó.

martin hamon

unread,
Oct 19, 2018, 1:54:40 PM10/19/18
to dcm4che
Lo hace con todos los estudios, por eso supongo que está mal formado y el campo no viaja en el dicom. Es un equipo con algunos años y la gente que lo instalo no tiene idea quién desarrollo el software como para consultarles xq no va el campo o pedir modificación.

gabriel perez caldo

unread,
Oct 19, 2018, 2:11:19 PM10/19/18
to dcm...@googlegroups.com
Sabes que versión están usando? 

El vie., 19 oct. 2018 2:54 p. m., martin hamon <marti...@gmail.com> escribió:
Lo hace con todos los estudios, por eso supongo que está mal formado y el campo no viaja en el dicom. Es un equipo con algunos años y la gente que lo instalo no tiene idea quién desarrollo el software como para consultarles xq no va el campo o pedir modificación.

martin hamon

unread,
Oct 19, 2018, 2:19:02 PM10/19/18
to dcm4che
No nada, no tiene nada de información ni mucha configuración.

fleetwoodfc

unread,
Oct 19, 2018, 5:18:51 PM10/19/18
to dcm4che
If you search for patients with the ID that is causing the issue you will find more than 1 record displayed (use the Patients with or without studies filter). If you are not using an "Issuer of Patient ID"  then you need to fix the patient records that are in error - such that you only have a single entry.

martin hamon

unread,
Oct 19, 2018, 8:44:32 PM10/19/18
to dcm4che
No, Because dcm4chee rejects the studies, not accept them until pat_id_issuer will be not null.

fleetwoodfc

unread,
Oct 20, 2018, 8:10:55 AM10/20/18
to dcm4che
What does the server.log show?

martin hamon

unread,
Oct 20, 2018, 1:08:14 PM10/20/18
to dcm4che

Hi fleetwoodfc, thanks for your time.
this is the log.


12:38:18,291 INFO  [FsmImpl] Socket[addr=/10.13.18.40,port=53815,localport=11112]
12:38:18,291 INFO  [FsmImpl] received AAssociateRQ
appCtxName: 1.2.840.10008.3.1.1.1/DICOM Application Context Name
implClass: 1.2.40.0.13.1.1.1
implVersion: dcm4che-1.4.34
calledAET: DCM4CHEE
callingAET: ECONSOLE1
maxPDULen: 16384
asyncOpsWindow:
pc-1: as=1.2.840.10008.1.1/Verification SOP Class
ts=1.2.840.10008.1.2/Implicit VR Little Endian
12:38:18,306 INFO  [FsmImpl] sending AAssociateAC
appCtxName: 1.2.840.10008.3.1.1.1/DICOM Application Context Name
implClass: 1.2.40.0.13.1.1.1
implVersion: dcm4che-1.4.34
calledAET: DCM4CHEE
callingAET: ECONSOLE1
maxPDULen: 16352
asyncOpsWindow:
pc-1: 0 - acceptance
ts=1.2.840.10008.1.2/Implicit VR Little Endian
12:38:18,306 INFO  [FsmImpl] received [pc-1] 108:C_ECHO_RQ
class: 1.2.840.10008.1.1/Verification SOP Class
12:38:18,306 INFO  [FsmImpl] sending [pc-1] 108:C_ECHO_RSP
class: 1.2.840.10008.1.1/Verification SOP Class
status: 0
12:38:18,322 INFO  [FsmImpl] received A-RELEASE-RQ
12:38:18,322 INFO  [FsmImpl] sending A-RELEASE-RP
12:38:18,385 INFO  [FsmImpl] closing connection - Socket[addr=/10.13.18.40,port=53815,localport=11112]
12:38:18,385 INFO  [ServerImpl] finished - Socket[addr=/10.13.18.40,port=53815,localport=11112]
12:38:26,167 INFO  [FileSystemMgt2Service] Check file system group LOSSY_STORAGE for deletion of orphaned private files
12:38:26,167 INFO  [FileSystemMgt2Service] Check file system group ONLINE_STORAGE for deletion of orphaned private files
12:38:26,401 INFO  [ServerImpl] handle - Socket[addr=/10.13.18.40,port=53816,localport=11112]
12:38:26,401 INFO  [FsmImpl] Socket[addr=/10.13.18.40,port=53816,localport=11112]
12:38:26,401 INFO  [FsmImpl] received AAssociateRQ
appCtxName: 1.2.840.10008.3.1.1.1/DICOM Application Context Name
implClass: 1.2.40.0.13.1.1.1
implVersion: dcm4che-1.4.34
calledAET: DCM4CHEE
callingAET: ECONSOLE1
maxPDULen: 16384
asyncOpsWindow:
pc-3: as=1.2.840.10008.5.1.4.1.1.1/Computed Radiography Image Storage
ts=1.2.840.10008.1.2.1/Explicit VR Little Endian
12:38:26,401 INFO  [FsmImpl] sending AAssociateAC
appCtxName: 1.2.840.10008.3.1.1.1/DICOM Application Context Name
implClass: 1.2.40.0.13.1.1.1
implVersion: dcm4che-1.4.34
calledAET: DCM4CHEE
callingAET: ECONSOLE1
maxPDULen: 16352
asyncOpsWindow:
pc-3: 0 - acceptance
ts=1.2.840.10008.1.2.1/Explicit VR Little Endian
12:38:26,433 INFO  [FsmImpl] received [pc-3] 109:C_STORE_RQ with Dataset
class: 1.2.840.10008.5.1.4.1.1.1/Computed Radiography Image Storage
inst: 1.2.840.114257.54181.2018101913441629358.1.1.1/?
12:38:26,464 INFO  [FileSystemMgt2Service] Free disk space on D:\DICOM: 433.62344GB
12:38:26,479 INFO  [StoreScpService] M-WRITE file:D:\DICOM\2018\10\19\12\52CA25FE\C8D8A441\A7904287
12:38:27,778 INFO  [StorageBean] inserting instance FileMetaInfo[uid=1.2.840.114257.54181.2018101913441629358.1.1.1
class=1.2.840.10008.5.1.4.1.1.1/Computed Radiography Image Storage
ts=1.2.840.10008.1.2.1/Explicit VR Little Endian
impl=1.2.40.0.13.1.1.1-dcm4che-1.4.34]
12:38:27,794 ERROR [OtherPatientID] Could not create entity
com.mysql.jdbc.exceptions.MySQLIntegrityConstraintViolationException: Column 'pat_id_issuer' cannot be null
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:931)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2941)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1623)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1715)
at com.mysql.jdbc.Connection.execSQL(Connection.java:3249)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1268)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1541)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1455)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1440)
at org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeUpdate(WrappedPreparedStatement.java:365)
at org.jboss.ejb.plugins.cmp.jdbc.keygen.JDBCMySQLCreateCommand.executeInsert(JDBCMySQLCreateCommand.java:107)
at org.jboss.ejb.plugins.cmp.jdbc.JDBCAbstractCreateCommand.performInsert(JDBCAbstractCreateCommand.java:321)
at org.jboss.ejb.plugins.cmp.jdbc.JDBCAbstractCreateCommand.execute(JDBCAbstractCreateCommand.java:151)
at org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.createEntity(JDBCStoreManager.java:587)
at org.jboss.ejb.plugins.CMPPersistenceManager.createEntity(CMPPersistenceManager.java:237)
at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.createEntity(CachedConnectionInterceptor.java:225)
at org.jboss.ejb.EntityContainer.createLocalHome(EntityContainer.java:625)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)


Any idea?
log.txt

Prakash Jayaraman

unread,
Oct 22, 2018, 12:53:31 AM10/22/18
to dcm...@googlegroups.com
Check the properties of patient table and remove not null constraint if anything set for pat_id_issuer.

--

Prakash Jayaraman

unread,
Oct 22, 2018, 12:57:37 AM10/22/18
to dcm...@googlegroups.com
Also check this value in StoreSCP service.

image.png

On Sat, Oct 20, 2018 at 10:38 PM martin hamon <marti...@gmail.com> wrote:
--

martin hamon

unread,
Oct 22, 2018, 8:50:22 AM10/22/18
to dcm4che
Hi, i checked the table patient and pat_id_issuer accepts null values.

Captura.PNG



And the option  in storeSCp is correct as your image.
image.png

Prakash Jayaraman

unread,
Oct 22, 2018, 9:00:32 AM10/22/18
to dcm...@googlegroups.com
12:38:27,794 ERROR [OtherPatientID] Could not create entity
com.mysql.jdbc.exceptions.MySQLIntegrityConstraintViolationException: Column 'pat_id_issuer' cannot be null

From your server log text, we can observe that it is trying to update the following table which has pat_id_issuer column set as not null.

CREATE TABLE other_pid (
    pk                BIGINT AUTO_INCREMENT NOT NULL PRIMARY KEY,
    pat_id            VARCHAR(250) BINARY NOT NULL,
    pat_id_issuer     VARCHAR(250) BINARY NOT NULL

Is there any other studies available for this patient with difference patient issuer id? I guess so. I'm not sure.

martin hamon

unread,
Oct 22, 2018, 9:01:15 AM10/22/18
to dcm4che



Look at this, all other modalities send null to the field pat_is_issuer and the images are stored. I m really confused


Captura.PNG




El lunes, 22 de octubre de 2018, 1:57:37 (UTC-3), Prakash Jayaraman escribió:

Prakash Jayaraman

unread,
Oct 22, 2018, 9:03:48 AM10/22/18
to dcm...@googlegroups.com
Please refer my previous email. You may remove the not null constraint and give a try.
Message has been deleted

martin hamon

unread,
Oct 22, 2018, 10:30:41 AM10/22/18
to dcm4che
Hi i checked what you said.


Captura.PNG

But now the error is 

11:08:04,902 INFO  [FsmImpl] received [pc-3] 102:C_STORE_RQ with Dataset
class: 1.2.840.10008.5.1.4.1.1.1/Computed Radiography Image Storage
inst: 1.2.840.114257.54200.2018101916010302995.1.1.1/?
11:08:04,934 INFO  [FileSystemMgt2Service] Free disk space on D:\DICOM: 424.62222GB
11:08:04,934 INFO  [StoreScpService] M-WRITE file:D:\DICOM\2018\10\22\11\7637F9C8\C820AD8B\45BE96D1
11:08:06,965 INFO  [StorageBean] inserting instance FileMetaInfo[uid=1.2.840.114257.54200.2018101916010302995.1.1.1
class=1.2.840.10008.5.1.4.1.1.1/Computed Radiography Image Storage
ts=1.2.840.10008.1.2.1/Explicit VR Little Endian
impl=1.2.40.0.13.1.1.1-dcm4che-1.4.34]
11:08:06,981 INFO  [OtherPatientIDBean] Created ProxyTarget[org.jboss.ejb.plugins.cmp.bridge.EntityBridgeInvocationHandler@c9c24]
11:08:06,981 INFO  [PatientBean] Created Patient[pk=303, pid=29635178, issuer=null, name=MARTIN H^^^^]
11:08:07,043 ERROR [LogInterceptor] TransactionRolledbackLocalException in method: public abstract org.dcm4chex.archive.ejb.interfaces.StudyLocal org.dcm4chex.archive.ejb.interfaces.StudyLocalHome.create(org.dcm4che.data.Dataset,org.dcm4chex.archive.ejb.interfaces.PatientLocal) throws javax.ejb.CreateException, causedBy:
java.lang.IllegalArgumentException: Missing Local Name Space and Universal Entity ID
at org.dcm4chex.archive.ejb.entity.IssuerBean.valueOf(IssuerBean.java:99)
at org.dcm4chex.archive.ejb.entity.StudyBean.updateIssuerOfAccessionNumber(StudyBean.java:1020)
at org.dcm4chex.archive.ejb.entity.StudyBean.ejbPostCreate(StudyBean.java:550)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.jboss.ejb.plugins.CMPPersistenceManager.postCreateEntity(CMPPersistenceManager.java:266)
at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.postCreateEntity(CachedConnectionInterceptor.java:230)
at org.jboss.ejb.EntityContainer.postCreateLocalHome(EntityContainer.java:638)

fleetwoodfc

unread,
Oct 22, 2018, 8:01:15 PM10/22/18
to dcm4che
Could be your incoming DICOM file includes  "Other Patient IDs Sequence" without a valid issuer.

Wagner Castro

unread,
Oct 22, 2018, 8:16:15 PM10/22/18
to dcm...@googlegroups.com
Esses erros são referente as atualizações do firefox e google chrome recentes.


Wagner Ramalho de Castro
 (65)9.9940-0701
 (65)3359-9101



martin hamon

unread,
Oct 30, 2018, 9:15:27 AM10/30/18
to dcm4che
Hi thats not the problem, because this happends when dicom is recived by the pacs .
Reply all
Reply to author
Forward
0 new messages