Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support multiple Patient IDs for one Patient #4053

Closed
51 tasks done
gunterze opened this issue Apr 28, 2023 · 0 comments
Closed
51 tasks done

Support multiple Patient IDs for one Patient #4053

gunterze opened this issue Apr 28, 2023 · 0 comments
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@gunterze
Copy link
Member

gunterze commented Apr 28, 2023

Support multiple Patient IDs for one Patient

  • Change DB model from
    patient_id
    to
    patient_ids

  • insert additional Patient ID records for Patient IDs in the Other Patient ID Sequence (0010,1002) on received objects

  • insert additional Patient ID records for Patient IDs on receive of HL7v2 message with repeating Patient Identifier List PID-3 in the Other Patient ID Sequence (0010,1002)

    • with selection of primary patient identifier on root dataset level, configurable by Archive Device or Archive HL7 Application level attribute

      Name Type Description (LDAP Attribute)
      HL7 Primary Assigning Authority of Patient ID string Assigning Authority of Patient ID in received HL7 message used to search primary qualified patient identifier in the list of identifiers in PID-3 / MRG-1. This qualified patient identifier shall be used on the root dataset. If absent, by default the first patient identifier pair in PID-3 / MRG-1 shall be used as primary patient identifier on root dataset. If none of the qualified patient identifiers in the list match with the configured issuer, archive server log shall contain a log INFO message and by default the first qualified patient identifier in PID-3 / MRG-1 shall be used. Format: {Issuer of Patient ID}[&{UniversalEntityID}&{UniversalEntityIDType}]. (hl7PrimaryAssigningAuthorityOfPatientID)
    • and an inclusion policy for adding patient identifiers in PID.3 in Other Patient ID Sequence (0010,1002), configurable by Archive Device or Archive HL7 Application level attribute

      Name Type Description (LDAP Attribute)
      HL7 Other Patient IDs string Specifies inclusion policy for patient identifiers in PID-3 / MRG-1 of HL7 message in Other Patient IDs Sequence (0010,1002). Enumerated values: ALL, NONE, OTHER. If absent, OTHER will be applied. (hl7OtherPatientIDs)
  • Adjust existing transformation of alternate patient identifiers referenced in PID.2 for chip / PID.4 for tattoo in veterinary cases also into Other Patient ID Sequence (0010,1002)

  • Include all Patient IDs in emitted Audit Messages with Patient Participating Object separated by ~. For audits triggered by HL7 messages, include all patient identifiers only if Assigning Authority of Patient ID for Audit is not configured

  • Update DICOM Conformance Statement : Configuration / Audits

  • Update HL7 Conformance Statements : Incoming / Outgoing messages

  • Enable sending multiple patient identifiers in outgoing HL7 messages from archive to notify external HL7 receivers

    • HL7 Procedure Status Update triggered on study receive using DCM2HL7 Exporter
    • HL7 Procedure Status Update triggered on study receive without DCM2HL7 Exporter
    • HL7 Procedure Status Update triggered on MPPS receive
    • Triggered by HL7 Patient Update services in local archive
    • Triggered by HL7 Patient Update services invoked in external archive
  • Test receive of DICOM objects with additional Patient IDs in Other Patient ID Sequence (0010,1002)
    You may generate test data by adjusting existing DICOM objects by

    json2dcm -j pids.json -i image.dcm -o test.dcm 

    with pids.json:

    {
     "00100020": {
       "vr": "LO",
       "Value": [
         "PID-1"
       ]
     },
     "00100021": {
       "vr": "LO",
       "Value": [
         "ISSUER-1"
       ]
     },
     "00101002": {
       "vr": "SQ",
       "Value": [
         {
           "00100020": {
             "vr": "LO",
             "Value": [
               "PID-2"
             ]
           },
           "00100021": {
             "vr": "LO",
             "Value": [
               "ISSUER-2"
             ]
           }
         }
       ]
     }
    }
  • Test matching by Patient ID via findscu or curl (QIDO-RS)

  • Test receive of objects of different studies and verify the the studies get associated to the the same patient and the Patient IDs of that Patient get supplemented

    • with later includes only one of the Patient IDs than in previous
    • with later includes more Patient IDs than previous objects
    • with later includes Patient IDs in other order than in previous
  • Test receive of objects with Patient IDs more qualified than Patient IDs in previous received objects and verify the persisted Patient ID get more qualified

    • with previous Patient ID with neither Issuer of Patient ID nor Issuer of Patient ID Qualifiers Sequence
    • with previous Patient ID with Issuer of Patient ID but no Issuer of Patient ID Qualifiers Sequence
      • with later includes Patient ID with Issuer of Patient ID and Issuer of Patient ID Qualifiers Sequence
      • with later includes Patient ID with Issuer of Patient ID Qualifiers Sequence but no Issuer of Patient ID
    • with previous Patient ID with Issuer of Patient ID Qualifiers Sequence but no Issuer of Patient ID
      • with later includes Patient ID with Issuer of Patient ID and Issuer of Patient ID Qualifiers Sequence
      • with later includes Patient ID with Issuer of Patient ID but no Issuer of Patient ID Qualifiers Sequence
  • Test creation of Patient on receive of HL7 ADT message with multiple Patient IDs by repeating PID-3

  • Test update of Patient on receive of HL7 ADT message with multiple Patient IDs by repeating PID-3

    • with later includes only one of the Patient IDs than in previous
    • with later includes more Patient IDs than previous objects
    • with later includes Patient IDs in other order than in previous
    • with later includes Patient IDs more qualified than Patient IDs in previous - updates on root dataset level
      • with later includes Patient IDs more qualified than Patient IDs in previous - update also in Other Patient IDs Sequence
  • Test merge of Patients on receive of HL7 ADT^A40 message with multiple Patient IDs by repeating PID-3

  • Test change of Patient IDs on receive of HL7 ADT^A47 message with multiple Patient IDs by repeating PID-3 (with tracking of change patient id disabled)

  • Test RESTful services on Patients with multiple Patient IDs:

  • Test scheduled Patient Verification s. Patient Demographics Query (PDQ) Service Provider Extension #1631

@gunterze gunterze added the enhancement New feature or request label Apr 28, 2023
@gunterze gunterze added this to the 5.30.0 milestone Apr 28, 2023
@gunterze gunterze self-assigned this Apr 28, 2023
@gunterze gunterze modified the milestones: 5.30.0, 5.31.0 Apr 28, 2023
vrindanayak added a commit to dcm4che-dockerfiles/slapd-dcm4chee that referenced this issue May 24, 2023
vrindanayak added a commit to dcm4che/dcm4chee-arc-lang that referenced this issue May 24, 2023
vrindanayak added a commit that referenced this issue Jun 6, 2023
…formation #4085, Support multiple Patient IDs for one Patient #4053
vrindanayak added a commit to dcm4che/dcm4chee-arc-lang that referenced this issue Jun 12, 2023
gunterze added a commit to dcm4che-dockerfiles/postgres-dcm4chee that referenced this issue Jun 12, 2023
gunterze added a commit to dcm4che-dockerfiles/postgres-dcm4chee that referenced this issue Jun 12, 2023
gunterze added a commit to dcm4che-dockerfiles/postgres-dcm4chee that referenced this issue Jun 12, 2023
gunterze added a commit to dcm4che-dockerfiles/postgres-dcm4chee that referenced this issue Jun 12, 2023
gunterze added a commit to dcm4che-dockerfiles/postgres-dcm4chee that referenced this issue Jun 12, 2023
gunterze added a commit to dcm4che-dockerfiles/postgres-dcm4chee that referenced this issue Jun 12, 2023
gunterze added a commit to dcm4che-dockerfiles/postgres-dcm4chee that referenced this issue Jun 12, 2023
gunterze added a commit to dcm4che-dockerfiles/postgres-dcm4chee that referenced this issue Jun 12, 2023
gunterze added a commit to dcm4che-dockerfiles/postgres-dcm4chee that referenced this issue Jun 12, 2023
gunterze added a commit to dcm4che-dockerfiles/slapd-dcm4chee that referenced this issue Jun 12, 2023
@vrindanayak vrindanayak reopened this Jun 12, 2023
vrindanayak added a commit to dcm4che-dockerfiles/slapd-dcm4chee that referenced this issue Jun 16, 2023
vrindanayak added a commit to dcm4che/dcm4chee-arc-cs that referenced this issue Jul 12, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants