Skip to content

Coerce Issuer of Patient ID

Vrinda edited this page Mar 27, 2023 · 1 revision

Overview

For use cases or scenarios where the DICOM objects may contain non unique patient ID, one may choose to ensure uniqueness of such Patient IDs in archive by supplementing Issuer of Patient ID derived from other attributes of the patient.

Note : This coercion is provided as an example for cases where there is no system in the hospital workflow specifying assigning authorities, as well as for setups involving DICOM and HL7 workflows. Normally, an issuer or assigning authority is specific and unique to a hospital. To uniquely identify patient records for migration or any other incoming data to archive per hospital, use Supplement DICOM object with attributes coercion instead.

Configuration

Let's take an example that uniqueness is ensured by setting hash of Patient Name and Birth Date as Issuer of Patient ID.

Using Archive UI

An Attribute Coercion may be created on :

  • Archive Device level - to apply attribute coercion for instances received by any Application Entity of the Archive : (Menu->Configuration -> Devices -> dcm4chee-arc -> Extensions -> Device Extension -> Archive Device-> Child objects -> + Add a new Attribute Coercion against the field Attribute Coercion) OR
  • Application Entity level - to apply attribute coercion for instances received by this Application Entity of the Archive : : (Menu->Configuration -> Devices -> dcm4chee-arc -> Child objects -> Application Entity -> Extensions -> Network AE Extension -> Extensions -> Archvie Network AE -> Child objects -> + Add a new Attribute Coercion against the field Attribute Coercion)

Set Name, DIMSE as C_STORE_RQ, DICOM Transfer Role as SCU, Issuer Of Patient ID Format and (if needed) Nullify Issuer of Patient ID (together with Issuer of Patient ID; if Nullify Issuer Of Patient ID set to MATCHING or NON_MATCHING) and any other optional fields as required and Save.

Using LDAP

One may either create a LDIF file to add attributes either on :

  • Archive Device level (e.g.):

      version: 1
      dn: cn=EnsureUniqueIssuerOfPID,dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
      dcmDIMSE: C_STORE_RQ
      dicomTransferRole: SCU
      dcmIssuerOfPatientIDFormat: {00100010,hash}-{00100030}
      dcmNullifyIssuerOfPatientID: ALWAYS
      objectClass: dcmArchiveAttributeCoercion
      cn: EnsureUniqueIssuerOfPID
    

OR

  • Archive AE level (e.g.):

      version: 1
      dn: cn=EnsureUniqueIssuerOfPID,dicomAETitle=DCM4CHEE,dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
      dcmDIMSE: C_STORE_RQ
      dicomTransferRole: SCU
      dcmIssuerOfPatientIDFormat: {00100010,hash}-{00100030}
      dcmNullifyIssuerOfPatientID: ALWAYS
      objectClass: dcmArchiveAttributeCoercion
      cn: EnsureUniqueIssuerOfPID
    

    and import it to the LDAP Server by using the ldapadd command line utility or the LDIF Import... function of Apache Directory Studio

  • or directly use its New Entry... function to create corresponding Export Rule entries. OR directly use the New Entry... function of Apache Directory Studio to create corresponding Export Rule entries on Device Level (e.g.: dicomDeviceName=dcm4chee-arc) or on Application Entity Level (e.g: dicomAETitle=DCM4CHEE) of the Archive Configuration.

One may refer to Archive Attribute Coercion to understand the description of attributes.

TESTING

Store object(s) to archive using storescu tool and check using Archive UI, that Issuer of Patient ID(s) of patient(s) is set to hash value of Patient Name and Patient Birth Date separated by hyphen.

Clone this wiki locally