private User getEnterer(ORC orc) throws HL7Exception { XCN hl7Enterer = orc.getEnteredBy(0); Integer entererId = Context.getHL7Service().resolveUserId(hl7Enterer); if (entererId == null) { throw new HL7Exception(Context.getMessageSourceService().getMessage("ORUR01.error.UnresolvedEnterer")); } User enterer = new User(); enterer.setUserId(entererId); return enterer; }
/** * Returns a count of the current number of repetitions of Quantity/Timing (ORC-7). * This method does not create a repetition, so if no repetitions have currently been defined or accessed, * it will return zero. */ public int getQuantityTimingReps() { return this.getReps(7); }
/** * Returns * ORC-1: "Order Control" - creates it if necessary */ public ID getOrc1_OrderControl() { ID retVal = this.getTypedField(1, 0); return retVal; }
private void init(ModelClassFactory factory) { try { this.add(ID.class, true, 1, 2, new Object[]{ getMessage(), new Integer(119) }, "Order Control"); this.add(EI.class, false, 1, 22, new Object[]{ getMessage() }, "Placer Order Number"); this.add(EI.class, false, 1, 22, new Object[]{ getMessage() }, "Filler Order Number"); this.add(EI.class, false, 1, 22, new Object[]{ getMessage() }, "Placer Group Number"); this.add(ID.class, false, 1, 2, new Object[]{ getMessage(), new Integer(38) }, "Order Status"); this.add(ID.class, false, 1, 1, new Object[]{ getMessage(), new Integer(121) }, "Response Flag"); this.add(TQ.class, false, 0, 200, new Object[]{ getMessage() }, "Quantity/Timing"); this.add(EIP.class, false, 1, 200, new Object[]{ getMessage() }, "Parent Order"); this.add(TS.class, false, 1, 26, new Object[]{ getMessage() }, "Date/Time of Transaction"); this.add(XCN.class, false, 0, 250, new Object[]{ getMessage() }, "Entered By"); this.add(XCN.class, false, 0, 250, new Object[]{ getMessage() }, "Verified By"); this.add(XCN.class, false, 0, 250, new Object[]{ getMessage() }, "Ordering Provider"); this.add(PL.class, false, 1, 80, new Object[]{ getMessage() }, "Enterer's Location"); this.add(XTN.class, false, 0, 250, new Object[]{ getMessage() }, "Call Back Phone Number"); this.add(TS.class, false, 1, 26, new Object[]{ getMessage() }, "Order Effective Date/Time"); this.add(CE.class, false, 1, 250, new Object[]{ getMessage() }, "Order Control Code Reason"); this.add(CE.class, false, 1, 250, new Object[]{ getMessage() }, "Entering Organization"); this.add(CE.class, false, 1, 250, new Object[]{ getMessage() }, "Entering Device"); this.add(XCN.class, false, 0, 250, new Object[]{ getMessage() }, "Action By"); this.add(CE.class, false, 1, 250, new Object[]{ getMessage() }, "Advanced Beneficiary Notice Code"); this.add(XON.class, false, 0, 250, new Object[]{ getMessage() }, "Ordering Facility Name"); this.add(XAD.class, false, 0, 250, new Object[]{ getMessage() }, "Ordering Facility Address"); this.add(XTN.class, false, 0, 250, new Object[]{ getMessage() }, "Ordering Facility Phone Number"); this.add(XAD.class, false, 0, 250, new Object[]{ getMessage() }, "Ordering Provider Address"); this.add(CWE.class, false, 1, 250, new Object[]{ getMessage() }, "Order Status Modifier"); this.add(CWE.class, false, 1, 60, new Object[]{ getMessage() }, "Advanced Beneficiary Notice Override Reason"); this.add(TS.class, false, 1, 26, new Object[]{ getMessage() }, "Filler's Expected Availability Date/Time"); this.add(CWE.class, false, 1, 250, new Object[]{ getMessage() }, "Confidentiality Code");
/** * Creates a new ORC segment */ public ORC(Group parent, ModelClassFactory factory) { super(parent, factory); init(factory); }
case 0: return new ID(getMessage(), new Integer( 119 )); case 1: return new EI(getMessage()); case 2: return new EI(getMessage()); case 3: return new EI(getMessage()); case 4: return new ID(getMessage(), new Integer( 38 )); case 5: return new ID(getMessage(), new Integer( 121 )); case 6: return new TQ(getMessage()); case 7: return new EIP(getMessage()); case 8: return new TS(getMessage()); case 9: return new XCN(getMessage()); case 10: return new XCN(getMessage()); case 11: return new XCN(getMessage()); case 12: return new PL(getMessage()); case 13: return new XTN(getMessage()); case 14: return new TS(getMessage()); case 15: return new CE(getMessage()); case 16: return new CE(getMessage()); case 17: return new CE(getMessage()); case 18: return new XCN(getMessage()); case 19: return new CE(getMessage()); case 20: return new XON(getMessage()); case 21: return new XAD(getMessage()); case 22: return new XTN(getMessage()); case 23: return new XAD(getMessage()); case 24: return new CWE(getMessage()); case 25: return new CWE(getMessage()); case 26: return new TS(getMessage()); case 27: return new CWE(getMessage()); case 28: return new CWE(getMessage());
private void init(ModelClassFactory factory) { try { this.add(ID.class, true, 1, 2, new Object[]{ getMessage(), new Integer(119) }, "Order Control"); this.add(EI.class, false, 1, 22, new Object[]{ getMessage() }, "Placer Order Number"); this.add(EI.class, false, 1, 22, new Object[]{ getMessage() }, "Filler Order Number"); this.add(EI.class, false, 1, 22, new Object[]{ getMessage() }, "Placer Group Number"); this.add(ID.class, false, 1, 2, new Object[]{ getMessage(), new Integer(38) }, "Order Status"); this.add(ID.class, false, 1, 1, new Object[]{ getMessage(), new Integer(121) }, "Response Flag"); this.add(TQ.class, false, 0, 200, new Object[]{ getMessage() }, "Quantity/Timing"); this.add(EIP.class, false, 1, 200, new Object[]{ getMessage() }, "Parent Order"); this.add(TS.class, false, 1, 26, new Object[]{ getMessage() }, "Date/Time of Transaction"); this.add(XCN.class, false, 0, 250, new Object[]{ getMessage() }, "Entered By"); this.add(XCN.class, false, 0, 250, new Object[]{ getMessage() }, "Verified By"); this.add(XCN.class, false, 0, 250, new Object[]{ getMessage() }, "Ordering Provider"); this.add(PL.class, false, 1, 80, new Object[]{ getMessage() }, "Enterer's Location"); this.add(XTN.class, false, 0, 250, new Object[]{ getMessage() }, "Call Back Phone Number"); this.add(TS.class, false, 1, 26, new Object[]{ getMessage() }, "Order Effective Date/Time"); this.add(CE.class, false, 1, 250, new Object[]{ getMessage() }, "Order Control Code Reason"); this.add(CE.class, false, 1, 250, new Object[]{ getMessage() }, "Entering Organization"); this.add(CE.class, false, 1, 250, new Object[]{ getMessage() }, "Entering Device"); this.add(XCN.class, false, 0, 250, new Object[]{ getMessage() }, "Action By"); this.add(CE.class, false, 1, 250, new Object[]{ getMessage() }, "Advanced Beneficiary Notice Code"); this.add(XON.class, false, 0, 250, new Object[]{ getMessage() }, "Ordering Facility Name"); this.add(XAD.class, false, 0, 250, new Object[]{ getMessage() }, "Ordering Facility Address"); this.add(XTN.class, false, 0, 250, new Object[]{ getMessage() }, "Ordering Facility Phone Number"); this.add(XAD.class, false, 0, 250, new Object[]{ getMessage() }, "Ordering Provider Address"); this.add(CWE.class, false, 1, 250, new Object[]{ getMessage() }, "Order Status Modifier"); this.add(CWE.class, false, 1, 60, new Object[]{ getMessage() }, "Advanced Beneficiary Notice Override Reason"); this.add(TS.class, false, 1, 26, new Object[]{ getMessage() }, "Filler's Expected Availability Date/Time"); this.add(CWE.class, false, 1, 250, new Object[]{ getMessage() }, "Confidentiality Code");
/** * Creates a new ORC segment */ public ORC(Group parent, ModelClassFactory factory) { super(parent, factory); init(factory); }
case 0: return new ID(getMessage(), new Integer( 119 )); case 1: return new EI(getMessage()); case 2: return new EI(getMessage()); case 3: return new EI(getMessage()); case 4: return new ID(getMessage(), new Integer( 38 )); case 5: return new ID(getMessage(), new Integer( 121 )); case 6: return new TQ(getMessage()); case 7: return new EIP(getMessage()); case 8: return new TS(getMessage()); case 9: return new XCN(getMessage()); case 10: return new XCN(getMessage()); case 11: return new XCN(getMessage()); case 12: return new PL(getMessage()); case 13: return new XTN(getMessage()); case 14: return new TS(getMessage()); case 15: return new CE(getMessage()); case 16: return new CE(getMessage()); case 17: return new CE(getMessage()); case 18: return new XCN(getMessage()); case 19: return new CE(getMessage()); case 20: return new XON(getMessage()); case 21: return new XAD(getMessage()); case 22: return new XTN(getMessage()); case 23: return new XAD(getMessage()); case 24: return new CWE(getMessage()); case 25: return new CWE(getMessage()); case 26: return new TS(getMessage()); case 27: return new CWE(getMessage()); case 28: return new CWE(getMessage());
/** * Returns * ORC-8: "Parent Order" - creates it if necessary */ public EIP getParentOrder() { EIP retVal = this.getTypedField(8, 0); return retVal; }
/** * Returns a count of the current number of repetitions of Entered By (ORC-10). * This method does not create a repetition, so if no repetitions have currently been defined or accessed, * it will return zero. */ public int getEnteredByReps() { return this.getReps(10); }
/** * @throws HL7Exception * @see HL7Service#resolveUserId(ca.uhn.hl7v2.model.v25.datatype.XCN) */ @Test public void resolveUserId_shouldReturnUserUsingFirstAndLastNameGivenUserIDIsNull() throws HL7Exception { HL7Service hl7service = Context.getHL7Service(); //construct a message such that id Number at ORC is null Message message = hl7service .parseHL7String("MSH|^~\\&|FORMENTRY|AMRS.ELD|HL7LISTENER|AMRS.ELD|20080226102656||ORU^R01|JqnfhKKtouEz8kzTk6Zo|P|2.5|1||||||||16^AMRS.ELD.FORMID\r" + "PID|||3^^^^||John3^Doe^||\r" + "NK1|1|Hornblower^Horatio^L|2B^Sibling^99REL||||||||||||M|19410501|||||||||||||||||1000^^^L^PN||||\r" + "ORC|RE||||||||20080226102537|^Otterbourg^Bruno\r" + "OBR|1|||1238^MEDICAL RECORD OBSERVATIONS^99DCT\r" + "OBX|1|NM|5497^CD4, BY FACS^99DCT||450|||||||||20080206\r" + "OBX|2|DT|5096^RETURN VISIT DATE^99DCT||20080229|||||||||20080212"); ORU_R01 oru = (ORU_R01) message; ORC orc = oru.getPATIENT_RESULT().getORDER_OBSERVATION().getORC(); XCN xcn = orc.getEnteredBy(0); Integer userId = hl7service.resolveUserId(xcn); assertThat(userId, is(501)); }
/** * Returns all repetitions of Entered By (ORC-10). */ public XCN[] getOrc10_EnteredBy() { XCN[] retVal = this.getTypedField(10, new XCN[0]); return retVal; }
/** * Returns a count of the current number of repetitions of Verified By (ORC-11). * This method does not create a repetition, so if no repetitions have currently been defined or accessed, * it will return zero. */ public int getVerifiedByReps() { return this.getReps(11); }
/** * @throws HL7Exception * @see HL7Service#resolveUserId(ca.uhn.hl7v2.model.v25.datatype.XCN) */ @Test public void resolveUserId_shouldReturnUserUsingUsername() throws HL7Exception { HL7Service hl7service = Context.getHL7Service(); //construct a message such that id Number at ORC is null Message message = hl7service .parseHL7String("MSH|^~\\&|FORMENTRY|AMRS.ELD|HL7LISTENER|AMRS.ELD|20080226102656||ORU^R01|JqnfhKKtouEz8kzTk6Zo|P|2.5|1||||||||16^AMRS.ELD.FORMID\r" + "PID|||3^^^^||John3^Doe^||\r" + "NK1|1|Hornblower^Horatio^L|2B^Sibling^99REL||||||||||||M|19410501|||||||||||||||||1000^^^L^PN||||\r" + "ORC|RE||||||||20080226102537|^butch\r" + "OBR|1|||1238^MEDICAL RECORD OBSERVATIONS^99DCT\r" + "OBX|1|NM|5497^CD4, BY FACS^99DCT||450|||||||||20080206\r" + "OBX|2|DT|5096^RETURN VISIT DATE^99DCT||20080229|||||||||20080212"); ORU_R01 oru = (ORU_R01) message; ORC orc = oru.getPATIENT_RESULT().getORDER_OBSERVATION().getORC(); XCN xcn = orc.getEnteredBy(0); Integer userId = hl7service.resolveUserId(xcn); assertThat(userId, is(502)); } }
/** * Returns a specific repetition of * ORC-11: "Verified By" - creates it if necessary * * @param rep The repetition index (0-indexed) */ public XCN getOrc11_VerifiedBy(int rep) { XCN retVal = this.getTypedField(11, rep); return retVal; }
/** * Returns a count of the current number of repetitions of Action By (ORC-19). * This method does not create a repetition, so if no repetitions have currently been defined or accessed, * it will return zero. */ public int getActionByReps() { return this.getReps(19); }
/** * @throws HL7Exception * @see HL7Service#resolveUserId(ca.uhn.hl7v2.model.v25.datatype.XCN) */ @Test public void resolveUserId_shouldReturnNullForAmbiguousUsersUsingFirstAndLastNameGivenUserIDIsNull() throws HL7Exception { HL7Service hl7service = Context.getHL7Service(); executeDataSet(XML_FILENAME); //construct a message such that id Number at ORC is null Message message = hl7service .parseHL7String("MSH|^~\\&|FORMENTRY|AMRS.ELD|HL7LISTENER|AMRS.ELD|20080226102656||ORU^R01|JqnfhKKtouEz8kzTk6Zo|P|2.5|1||||||||16^AMRS.ELD.FORMID\r" + "PID|||3^^^^||John3^Doe^||\r" + "NK1|1|Hornblower^Horatio^L|2B^Sibling^99REL||||||||||||M|19410501|||||||||||||||||1000^^^L^PN||||\r" + "PV1||O|99999^0^0^0&Unknown&0||||^Super User (1-8)|||||||||||||||||||||||||||||||||||||20080212|||||||V\r" + "ORC|RE||||||||20080226102537|^User^Super\r" + "OBR|1|||1238^MEDICAL RECORD OBSERVATIONS^99DCT\r" + "OBX|1|NM|5497^CD4, BY FACS^99DCT||450|||||||||20080206\r" + "OBX|2|DT|5096^RETURN VISIT DATE^99DCT||20080229|||||||||20080212"); ORU_R01 oru = (ORU_R01) message; ORC orc = oru.getPATIENT_RESULT().getORDER_OBSERVATION().getORC(); XCN xcn = orc.getEnteredBy(0); //userId should be null since there exist two ambiguous users that has givename=Super and lastname=User. Integer userId = hl7service.resolveUserId(xcn); Assert.assertNull(userId); }
/** * Returns a specific repetition of * ORC-14: "Call Back Phone Number" - creates it if necessary * * @param rep The repetition index (0-indexed) */ public XTN getOrc14_CallBackPhoneNumber(int rep) { XTN retVal = this.getTypedField(14, rep); return retVal; }
/** * Returns a count of the current number of repetitions of Entered By (ORC-10). * This method does not create a repetition, so if no repetitions have currently been defined or accessed, * it will return zero. */ public int getOrc10_EnteredByReps() { return this.getReps(10); }