/** * @param pid A PID segment of an hl7 message * @return The internal id number of the Patient described by the PID segment, or null of the * patient is not found, or if the PID segment is ambiguous * @throws HL7Exception */ @Override @Transactional(readOnly = true) public Integer resolvePatientId(PID pid) throws HL7Exception { Person p = resolvePersonFromIdentifiers(pid.getPatientIdentifierList()); if (p != null && p.getIsPatient()) { return p.getPersonId(); } return null; }
CX[] idList = pid.getPatientIdentifierList(); if (idList == null || idList.length < 1) { throw new HL7Exception("Missing patient identifier in PID segment");
@Override public Iti64AuditDataset enrichAuditDatasetFromRequest(Iti64AuditDataset auditDataset, Object msg, Map<String, Object> parameters) { ADT_A43 message = (ADT_A43) msg; ADT_A43_PATIENT patient = message.getPATIENT(0); CX[] pidPatientIdList = patient.getPID().getPatientIdentifierList(); if (pidPatientIdList.length > 0) { auditDataset.setNewPatientId(PipeParser.encode(pidPatientIdList[0], ENCODING_CHARACTERS)); if (pidPatientIdList.length > 1) { auditDataset.setLocalPatientId(PipeParser.encode(pidPatientIdList[1], ENCODING_CHARACTERS)); } } CX[] mrgPatientIdList = patient.getMRG().getMrg1_PriorPatientIdentifierList(); if (mrgPatientIdList.length > 0) { auditDataset.setPreviousPatientId(PipeParser.encode(mrgPatientIdList[0], ENCODING_CHARACTERS)); if (mrgPatientIdList.length > 1) { auditDataset.setSubsumedLocalPatientId(PipeParser.encode(mrgPatientIdList[1], ENCODING_CHARACTERS)); } } return auditDataset; }