/** * @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; }
/** * Returns a count of the current number of repetitions of Mother's Maiden Name (PID-6). * This method does not create a repetition, so if no repetitions have currently been defined or accessed, * it will return zero. */ public int getMotherSMaidenNameReps() { return this.getReps(6); }
/** * Returns all repetitions of Alternate Patient ID - PID (PID-4). */ public CX[] getPid4_AlternatePatientIDPID() { CX[] retVal = this.getTypedField(4, new CX[0]); return retVal; }
CX[] idList = pid.getPatientIdentifierList(); if (idList == null || idList.length < 1) { throw new HL7Exception("Missing patient identifier in PID segment"); XPN patientNameX = pid.getPatientName(0); if (patientNameX == null) { throw new HL7Exception("Missing patient name in the PID segment"); String gender = pid.getAdministrativeSex().getValue(); if (gender == null) { throw new HL7Exception("Missing gender in the PID segment"); TS dateOfBirth = pid.getDateTimeOfBirth(); if (dateOfBirth == null || dateOfBirth.getTime() == null || dateOfBirth.getTime().getValue() == null) { throw new HL7Exception("Missing birth date in the PID segment");
private void init(ModelClassFactory factory) { try { this.add(SI.class, false, 1, 4, new Object[]{ getMessage() }, "Set ID - PID"); this.add(CX.class, false, 1, 20, new Object[]{ getMessage() }, "Patient ID"); this.add(CX.class, true, 0, 250, new Object[]{ getMessage() }, "Patient Identifier List"); this.add(CX.class, false, 0, 20, new Object[]{ getMessage() }, "Alternate Patient ID - PID"); this.add(XPN.class, true, 0, 250, new Object[]{ getMessage() }, "Patient Name"); this.add(XPN.class, false, 0, 250, new Object[]{ getMessage() }, "Mother's Maiden Name"); this.add(TS.class, false, 1, 26, new Object[]{ getMessage() }, "Date/Time of Birth"); this.add(IS.class, false, 1, 1, new Object[]{ getMessage(), new Integer(1) }, "Administrative Sex"); this.add(XPN.class, false, 0, 250, new Object[]{ getMessage() }, "Patient Alias"); this.add(CE.class, false, 0, 250, new Object[]{ getMessage() }, "Race"); this.add(XAD.class, false, 0, 250, new Object[]{ getMessage() }, "Patient Address"); this.add(IS.class, false, 1, 4, new Object[]{ getMessage(), new Integer(289) }, "County Code"); this.add(XTN.class, false, 0, 250, new Object[]{ getMessage() }, "Phone Number - Home"); this.add(XTN.class, false, 0, 250, new Object[]{ getMessage() }, "Phone Number - Business"); this.add(CE.class, false, 1, 250, new Object[]{ getMessage() }, "Primary Language"); this.add(CE.class, false, 1, 250, new Object[]{ getMessage() }, "Marital Status"); this.add(CE.class, false, 1, 250, new Object[]{ getMessage() }, "Religion"); this.add(CX.class, false, 1, 250, new Object[]{ getMessage() }, "Patient Account Number"); this.add(ST.class, false, 1, 16, new Object[]{ getMessage() }, "SSN Number - Patient"); this.add(DLN.class, false, 1, 25, new Object[]{ getMessage() }, "Driver's License Number - Patient"); this.add(CX.class, false, 0, 250, new Object[]{ getMessage() }, "Mother's Identifier"); this.add(CE.class, false, 0, 250, new Object[]{ getMessage() }, "Ethnic Group"); this.add(ST.class, false, 1, 250, new Object[]{ getMessage() }, "Birth Place"); this.add(ID.class, false, 1, 1, new Object[]{ getMessage(), new Integer(136) }, "Multiple Birth Indicator"); this.add(NM.class, false, 1, 2, new Object[]{ getMessage() }, "Birth Order"); this.add(CE.class, false, 0, 250, new Object[]{ getMessage() }, "Citizenship"); this.add(CE.class, false, 1, 250, new Object[]{ getMessage() }, "Veterans Military Status"); this.add(CE.class, false, 1, 250, new Object[]{ getMessage() }, "Nationality");
/** * Creates a new PID segment */ public PID(Group parent, ModelClassFactory factory) { super(parent, factory); init(factory); }
case 0: return new SI(getMessage()); case 1: return new CX(getMessage()); case 2: return new CX(getMessage()); case 3: return new CX(getMessage()); case 4: return new XPN(getMessage()); case 5: return new XPN(getMessage()); case 6: return new TS(getMessage()); case 7: return new IS(getMessage(), new Integer( 1 )); case 8: return new XPN(getMessage()); case 9: return new CE(getMessage()); case 10: return new XAD(getMessage()); case 11: return new IS(getMessage(), new Integer( 289 )); case 12: return new XTN(getMessage()); case 13: return new XTN(getMessage()); case 14: return new CE(getMessage()); case 15: return new CE(getMessage()); case 16: return new CE(getMessage()); case 17: return new CX(getMessage()); case 18: return new ST(getMessage()); case 19: return new DLN(getMessage()); case 20: return new CX(getMessage()); case 21: return new CE(getMessage()); case 22: return new ST(getMessage()); case 23: return new ID(getMessage(), new Integer( 136 )); case 24: return new NM(getMessage()); case 25: return new CE(getMessage()); case 26: return new CE(getMessage()); case 27: return new CE(getMessage()); case 28: return new TS(getMessage());
private void init(ModelClassFactory factory) { try { this.add(SI.class, false, 1, 4, new Object[]{ getMessage() }, "Set ID - PID"); this.add(CX.class, false, 1, 20, new Object[]{ getMessage() }, "Patient ID"); this.add(CX.class, true, 0, 250, new Object[]{ getMessage() }, "Patient Identifier List"); this.add(CX.class, false, 0, 20, new Object[]{ getMessage() }, "Alternate Patient ID - PID"); this.add(XPN.class, true, 0, 250, new Object[]{ getMessage() }, "Patient Name"); this.add(XPN.class, false, 0, 250, new Object[]{ getMessage() }, "Mother's Maiden Name"); this.add(TS.class, false, 1, 26, new Object[]{ getMessage() }, "Date/Time of Birth"); this.add(IS.class, false, 1, 1, new Object[]{ getMessage(), new Integer(1) }, "Administrative Sex"); this.add(XPN.class, false, 0, 250, new Object[]{ getMessage() }, "Patient Alias"); this.add(CE.class, false, 0, 250, new Object[]{ getMessage() }, "Race"); this.add(XAD.class, false, 0, 250, new Object[]{ getMessage() }, "Patient Address"); this.add(IS.class, false, 1, 4, new Object[]{ getMessage(), new Integer(289) }, "County Code"); this.add(XTN.class, false, 0, 250, new Object[]{ getMessage() }, "Phone Number - Home"); this.add(XTN.class, false, 0, 250, new Object[]{ getMessage() }, "Phone Number - Business"); this.add(CE.class, false, 1, 250, new Object[]{ getMessage() }, "Primary Language"); this.add(CE.class, false, 1, 250, new Object[]{ getMessage() }, "Marital Status"); this.add(CE.class, false, 1, 250, new Object[]{ getMessage() }, "Religion"); this.add(CX.class, false, 1, 250, new Object[]{ getMessage() }, "Patient Account Number"); this.add(ST.class, false, 1, 16, new Object[]{ getMessage() }, "SSN Number - Patient"); this.add(DLN.class, false, 1, 25, new Object[]{ getMessage() }, "Driver's License Number - Patient"); this.add(CX.class, false, 0, 250, new Object[]{ getMessage() }, "Mother's Identifier"); this.add(CE.class, false, 0, 250, new Object[]{ getMessage() }, "Ethnic Group"); this.add(ST.class, false, 1, 250, new Object[]{ getMessage() }, "Birth Place"); this.add(ID.class, false, 1, 1, new Object[]{ getMessage(), new Integer(136) }, "Multiple Birth Indicator"); this.add(NM.class, false, 1, 2, new Object[]{ getMessage() }, "Birth Order"); this.add(CE.class, false, 0, 250, new Object[]{ getMessage() }, "Citizenship"); this.add(CE.class, false, 1, 250, new Object[]{ getMessage() }, "Veterans Military Status"); this.add(CE.class, false, 1, 250, new Object[]{ getMessage() }, "Nationality");
/** * Creates a new PID segment */ public PID(Group parent, ModelClassFactory factory) { super(parent, factory); init(factory); }
case 0: return new SI(getMessage()); case 1: return new CX(getMessage()); case 2: return new CX(getMessage()); case 3: return new CX(getMessage()); case 4: return new XPN(getMessage()); case 5: return new XPN(getMessage()); case 6: return new TS(getMessage()); case 7: return new IS(getMessage(), new Integer( 1 )); case 8: return new XPN(getMessage()); case 9: return new CE(getMessage()); case 10: return new XAD(getMessage()); case 11: return new IS(getMessage(), new Integer( 289 )); case 12: return new XTN(getMessage()); case 13: return new XTN(getMessage()); case 14: return new CE(getMessage()); case 15: return new CE(getMessage()); case 16: return new CE(getMessage()); case 17: return new CX(getMessage()); case 18: return new ST(getMessage()); case 19: return new DLN(getMessage()); case 20: return new CX(getMessage()); case 21: return new CE(getMessage()); case 22: return new ST(getMessage()); case 23: return new ID(getMessage(), new Integer( 136 )); case 24: return new NM(getMessage()); case 25: return new CE(getMessage()); case 26: return new CE(getMessage()); case 27: return new CE(getMessage()); case 28: return new TS(getMessage());
/** * Returns a count of the current number of repetitions of Patient Alias (PID-9). * This method does not create a repetition, so if no repetitions have currently been defined or accessed, * it will return zero. */ public int getPid9_PatientAliasReps() { return this.getReps(9); }
/** * Returns a specific repetition of * PID-4: "Alternate Patient ID - PID" - creates it if necessary * * @param rep The repetition index (0-indexed) */ public CX getPid4_AlternatePatientIDPID(int rep) { CX retVal = this.getTypedField(4, rep); return retVal; }
@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; }
/** * Returns a count of the current number of repetitions of Race (PID-10). * This method does not create a repetition, so if no repetitions have currently been defined or accessed, * it will return zero. */ public int getRaceReps() { return this.getReps(10); }
/** * Returns all repetitions of Patient Name (PID-5). */ public XPN[] getPid5_PatientName() { XPN[] retVal = this.getTypedField(5, new XPN[0]); return retVal; }
/** * Returns a count of the current number of repetitions of Patient Address (PID-11). * This method does not create a repetition, so if no repetitions have currently been defined or accessed, * it will return zero. */ public int getPatientAddressReps() { return this.getReps(11); }
/** * Returns all repetitions of Mother's Maiden Name (PID-6). */ public XPN[] getMotherSMaidenName() { XPN[] retVal = this.getTypedField(6, new XPN[0]); return retVal; }
/** * Returns a count of the current number of repetitions of Phone Number - Home (PID-13). * This method does not create a repetition, so if no repetitions have currently been defined or accessed, * it will return zero. */ public int getPhoneNumberHomeReps() { return this.getReps(13); }
/** * Returns a specific repetition of * PID-6: "Mother's Maiden Name" - creates it if necessary * * @param rep The repetition index (0-indexed) */ public XPN getMotherSMaidenName(int rep) { XPN retVal = this.getTypedField(6, rep); return retVal; }
/** * Returns a count of the current number of repetitions of Mother's Identifier (PID-21). * This method does not create a repetition, so if no repetitions have currently been defined or accessed, * it will return zero. */ public int getPid21_MotherSIdentifierReps() { return this.getReps(21); }