001package ca.cdr.api.pub.hl7v2.common.abstraction; 002 003/*- 004 * #%L 005 * Smile CDR - CDR 006 * %% 007 * Copyright (C) 2016 - 2024 Smile CDR, Inc. 008 * %% 009 * All rights reserved. 010 * #L% 011 */ 012 013import ca.uhn.hl7v2.HL7Exception; 014import ca.uhn.hl7v2.model.AbstractMessage; 015 016/** 017 * Wraps a HL7 V2 message to an abstraction with relevant segments and groups 018 */ 019public class WrapperFactory { 020 private WrapperFactory() {} 021 022 private static final EventMessageFactory ourEventMessageFactory = new EventMessageFactory(); 023 private static final OrderMessageFactory ourOrderMessageFactory = new OrderMessageFactory(); 024 private static final PatientMessageFactory ourPatientMessageFactory = new PatientMessageFactory(); 025 private static final VisitMessageFactory ourVisitMessageFactory = new VisitMessageFactory(); 026 027 public static IEventMessage asEventMessage(AbstractMessage theMessage) { 028 return ourEventMessageFactory.asEventMessage(theMessage); 029 } 030 031 public static IOrderMessage asOrderMessage(AbstractMessage theMessage) throws HL7Exception { 032 return ourOrderMessageFactory.asOrderMessage(theMessage); 033 } 034 035 public static IPatientMessage asPatientMessage(AbstractMessage theMessage) throws HL7Exception { 036 return ourPatientMessageFactory.asPatientMessage(theMessage); 037 } 038 039 public static IVisitMessage asVisitMessage(AbstractMessage theMessage) throws HL7Exception { 040 return ourVisitMessageFactory.asVisitMessage(theMessage); 041 } 042}