public interface HL7Service extends OpenmrsService
Modifier and Type | Method and Description |
---|---|
Integer |
countHL7InArchive(int messageState,
String query)
the total count of all HL7InArchive objects in the database
|
Integer |
countHL7InError(String query)
the total count of all HL7InError objects in the database
|
Integer |
countHL7InQueue(int messageState,
String query)
the total count of all HL7InQueue objects in the database
|
Person |
createPersonFromNK1(ca.uhn.hl7v2.model.v25.segment.NK1 nk1)
creates a Person from information held in an NK1 segment; if valid PatientIdentifiers exist,
a Patient will be created and returned
|
void |
garbageCollect()
Clean up the current memory consumption
|
List<HL7InArchive> |
getAllHL7InArchives()
Get all archive hl7 queue items from the database
|
List<HL7InError> |
getAllHL7InErrors()
Get all
HL7InError items from the database |
List<HL7InQueue> |
getAllHL7InQueues()
Return a list of all hl7 in queues in the database
|
List<HL7Source> |
getAllHL7Sources()
Get all of the hl7 source objects from the database.
|
HL7InArchive |
getHL7InArchive(Integer hl7InArchiveId)
Get the archive item with the given id, If hl7 archives were moved to the file system, you
can't do a look up by hl7ArchiveId, instead call
getHL7InArchiveByUuid(String) |
List<HL7InArchive> |
getHL7InArchiveBatch(int start,
int length,
int messageState,
String query)
Return a list of all hl7 in archives based on batch settings and a query string
|
List<HL7InArchive> |
getHL7InArchiveByState(Integer state)
If hl7 migration has been run and the state matches that of processed items, the method
returns a list of all archives in the file system, for any other state , it returns an empty
list, this is because all archives would have a status of 'processed' after migration and all
deleted archives moved back into the queue with a status of 'deleted' otherwise it returns
archives with a matching state if migration hasn't yet been run.
|
HL7InArchive |
getHL7InArchiveByUuid(String uuid)
Get the archive item with the given uuid
|
HL7InError |
getHL7InError(Integer hl7InErrorId)
Get the error item with the given id
|
List<HL7InError> |
getHL7InErrorBatch(int start,
int length,
String query)
Return a list of all hl7 in errors based on batch settings and a query string
|
HL7InError |
getHL7InErrorByUuid(String uuid)
Get the error item with the given uuid
|
HL7InQueue |
getHL7InQueue(Integer hl7InQueueId)
Get the hl7 queue item with the given primary key id
|
List<HL7InQueue> |
getHL7InQueueBatch(int start,
int length,
int messageState,
String query)
Return a list of all hl7 in queues based on batch settings and a query string
|
List<HL7InQueue> |
getHL7InQueueByState(Integer state)
Get the queue items given a state (deleted, error, pending, processing, processed).
|
HL7InQueue |
getHL7InQueueByUuid(String uuid)
Get the hl7 queue item with the given uuid
|
HL7QueueItem |
getHl7QueueItemByUuid(String uuid)
Get
HL7QueueItem with the given uuid. |
HL7Source |
getHL7Source(Integer hl7SourceId)
Auto generated method comment
|
HL7Source |
getHL7SourceByName(String name)
Get the hl7 source object from the database that has the given name
|
HL7InQueue |
getNextHL7InQueue()
Get the first queue item in the database
|
String |
getUuidFromIdentifiers(ca.uhn.hl7v2.model.v25.datatype.CX[] identifiers)
finds a UUID from an array of identifiers
|
void |
loadHL7InArchiveData(HL7InArchive archive)
Loads HL7 data from the filesystem for an archived HL7InArchive
|
void |
loadHL7InArchiveData(List<HL7InArchive> archives)
Loads data for a list of HL7 archives from the filesystem
|
void |
migrateHl7InArchivesToFileSystem(Map<String,Integer> progressStatusMap)
Method is called by the archives migration thread to transfer hl7 in archives from the
hl7_in_archives database table to the file system
|
ca.uhn.hl7v2.model.Message |
parseHL7String(String hl7String)
Parses the given string and returns the resulting
Message |
HL7InQueue |
processHL7InQueue(HL7InQueue inQueue)
Process the given
HL7InQueue item. |
ca.uhn.hl7v2.model.Message |
processHL7Message(ca.uhn.hl7v2.model.Message hl7Message)
Parses the given
Message and saves the resulting content to the database |
void |
purgeHL7InArchive(HL7InArchive hl7InArchive)
Completely delete the hl7 in archive item from the database
|
void |
purgeHL7InError(HL7InError hl7InError)
Completely remove this error item from the database
|
void |
purgeHL7InQueue(HL7InQueue hl7InQueue)
Completely delete the hl7 in queue item from the database.
|
void |
purgeHL7Source(HL7Source hl7Source)
Completely remove the source from the database.
|
Integer |
resolveLocationId(ca.uhn.hl7v2.model.v25.datatype.PL pl)
Resolves location from person location object, and if location id is specified then returns
correspond internal identifier of the specified location.
|
Integer |
resolvePatientId(ca.uhn.hl7v2.model.v25.segment.PID pid) |
Person |
resolvePersonFromIdentifiers(ca.uhn.hl7v2.model.v25.datatype.CX[] identifiers)
determines a person (or patient) based on identifiers from a CX array, as found in a PID or
NK1 segment; the first resolving identifier in the list wins
|
Integer |
resolvePersonId(ca.uhn.hl7v2.model.v25.datatype.XCN xcn) |
Integer |
resolveUserId(ca.uhn.hl7v2.model.v25.datatype.XCN xcn) |
HL7Source |
retireHL7Source(HL7Source hl7Source)
Mark the given
hl7Source as no longer active |
HL7InArchive |
saveHL7InArchive(HL7InArchive hl7InArchive)
Save the given hl7 in archive to the database
|
HL7InError |
saveHL7InError(HL7InError hl7InError)
Save the given error item to the database
|
HL7InQueue |
saveHL7InQueue(HL7InQueue hl7InQueue)
Save the given
hl7InQueue to the database |
HL7Source |
saveHL7Source(HL7Source hl7Source)
Save the given
hl7Source to the database |
void |
setHL7DAO(HL7DAO dao)
Auto generated method comment
|
onShutdown, onStartup
void setHL7DAO(HL7DAO dao)
dao
- @Authorized(value="Update HL7 Source") HL7Source saveHL7Source(HL7Source hl7Source) throws APIException
hl7Source
to the databasehl7Source
- the source to saveAPIException
@Authorized(value="Get HL7 Source") HL7Source getHL7Source(Integer hl7SourceId) throws APIException
hl7SourceId
- HL7Source
object for given identifierAPIException
@Authorized(value="Get HL7 Source") HL7Source getHL7SourceByName(String name) throws APIException
name
- string to 'search' onAPIException
@Authorized(value="Get HL7 Source") List<HL7Source> getAllHL7Sources() throws APIException
APIException
@Authorized(value="Update HL7 Source") HL7Source retireHL7Source(HL7Source hl7Source) throws APIException
hl7Source
as no longer activehl7Source
- the source to retireAPIException
@Authorized(value="Purge HL7 Source") void purgeHL7Source(HL7Source hl7Source) throws APIException
retireHL7Source(HL7Source)
hl7Source
- APIException
@Authorized(value={"Update HL7 Inbound Queue","Add HL7 Inbound Queue"}, requireAll=false) HL7InQueue saveHL7InQueue(HL7InQueue hl7InQueue) throws APIException
hl7InQueue
to the databasehl7InQueue
- the queue item to saveAPIException
@Authorized(value="Get HL7 Inbound Queue") HL7InQueue getHL7InQueue(Integer hl7InQueueId) throws APIException
hl7InQueueId
- the id to search onAPIException
@Authorized(value="Get HL7 Inbound Queue") HL7InQueue getHL7InQueueByUuid(String uuid) throws APIException
uuid
- null
APIException
@Authorized(value="Get HL7 Inbound Queue") List<HL7InQueue> getAllHL7InQueues() throws APIException
APIException
@Authorized(value="Get HL7 Inbound Queue") List<HL7InQueue> getHL7InQueueBatch(int start, int length, int messageState, String query) throws APIException
start
- beginning indexlength
- size of the batchmessageState
- status of the HL7InQueue messagequery
- search stringAPIException
@Authorized(value="Get HL7 Inbound Queue") Integer countHL7InQueue(int messageState, String query) throws APIException
messageState
- HL7InQueue statusquery
- search stringAPIException
@Authorized(value="Get HL7 Inbound Queue") List<HL7InError> getHL7InErrorBatch(int start, int length, String query) throws APIException
start
- beginning indexlength
- size of the batchquery
- search stringAPIException
@Authorized(value="Get HL7 Inbound Queue") Integer countHL7InError(String query) throws APIException
query
- search stringAPIException
@Authorized(value="Get HL7 Inbound Archive") List<HL7InArchive> getHL7InArchiveBatch(int start, int length, int messageState, String query) throws APIException
start
- beginning indexlength
- size of the batchmessageState
- status of the HL7InArchive messagequery
- search stringAPIException
@Authorized(value="Get HL7 Inbound Archive") Integer countHL7InArchive(int messageState, String query) throws APIException
messageState
- status of the HL7InArchive messagequery
- search stringAPIException
@Authorized(value="Get HL7 Inbound Queue") HL7InQueue getNextHL7InQueue() throws APIException
APIException
@Authorized(value="Purge HL7 Inbound Queue") void purgeHL7InQueue(HL7InQueue hl7InQueue)
hl7InQueue
- @Authorized(value={"Update HL7 Inbound Archive","Add HL7 Inbound Archive"}, requireAll=false) HL7InArchive saveHL7InArchive(HL7InArchive hl7InArchive) throws APIException
hl7InArchive
- the archive to saveAPIException
@Authorized(value="Get HL7 Inbound Archive") HL7InArchive getHL7InArchive(Integer hl7InArchiveId)
getHL7InArchiveByUuid(String)
hl7InArchiveId
- the id to search on@Authorized(value="Get HL7 Inbound Archive") HL7InArchive getHL7InArchiveByUuid(String uuid) throws APIException
uuid
- to search onAPIException
@Authorized(value="Get HL7 Inbound Archive") List<HL7InArchive> getHL7InArchiveByState(Integer state) throws APIException
APIException
@Authorized(value="Get HL7 Inbound Queue") List<HL7InQueue> getHL7InQueueByState(Integer state) throws APIException
APIException
@Authorized(value="Get HL7 Inbound Archive") List<HL7InArchive> getAllHL7InArchives() throws APIException
APIException
@Authorized(value="Purge HL7 Inbound Archive") void purgeHL7InArchive(HL7InArchive hl7InArchive) throws APIException
hl7InArchive
- the archived item to deleteAPIException
@Authorized(value={"Update HL7 Inbound Exception","Add HL7 Inbound Exception"}, requireAll=false) HL7InError saveHL7InError(HL7InError hl7InError) throws APIException
hl7InError
- the item to saveAPIException
@Authorized(value="Get HL7 Inbound Exception") HL7InError getHL7InError(Integer hl7InErrorId) throws APIException
hl7InErrorId
- the id to search onAPIException
@Authorized(value="Get HL7 Inbound Exception") HL7InError getHL7InErrorByUuid(String uuid) throws APIException
uuid
- null
APIException
@Authorized(value="Get HL7 Inbound Exception") List<HL7InError> getAllHL7InErrors() throws APIException
HL7InError
items from the databaseHL7InError
items from the databaseAPIException
@Authorized(value="Purge HL7 Inbound Exception") void purgeHL7InError(HL7InError hl7InError) throws APIException
hl7InError
- the item to removeAPIException
Integer resolveUserId(ca.uhn.hl7v2.model.v25.datatype.XCN xcn) throws ca.uhn.hl7v2.HL7Exception
xcn
- HL7 component of data type XCN (extended composite ID number and name for persons)
(see HL7 2.5 manual Ch.2A.86)ca.uhn.hl7v2.HL7Exception
Integer resolvePersonId(ca.uhn.hl7v2.model.v25.datatype.XCN xcn) throws ca.uhn.hl7v2.HL7Exception
xcn
- HL7 component of data type XCN (extended composite ID number and name for persons)
(see HL7 2.5 manual Ch.2A.86)ca.uhn.hl7v2.HL7Exception
Integer resolveLocationId(ca.uhn.hl7v2.model.v25.datatype.PL pl) throws ca.uhn.hl7v2.HL7Exception
pl
- HL7 component of data type PL (person location) (see Ch 2.A.53)ca.uhn.hl7v2.HL7Exception
Integer resolvePatientId(ca.uhn.hl7v2.model.v25.segment.PID pid) throws ca.uhn.hl7v2.HL7Exception
pid
- A PID segment of an hl7 messageca.uhn.hl7v2.HL7Exception
Person resolvePersonFromIdentifiers(ca.uhn.hl7v2.model.v25.datatype.CX[] identifiers) throws ca.uhn.hl7v2.HL7Exception
identifiers
- CX identifier list from an identifier (either PID or NK1)ca.uhn.hl7v2.HL7Exception
- Should find a person based on a patient identifier
Should find a person based on a UUID
Should find a person based on the internal person ID
Should return null if no person is foundvoid garbageCollect()
HL7InQueue processHL7InQueue(HL7InQueue inQueue) throws ca.uhn.hl7v2.HL7Exception
HL7InQueue
item. HL7InError
is created and saved. HL7InArchive
is created and saved.HL7InQueue
is removed from the hl7 in queue table regardless of success or
failure of the processing.inQueue
- the HL7InQueue
to parse and save all encounters/obs to the dbHL7InQueue
Should create HL7InArchive after successful parsing
Should create HL7InError after failed parsing
Should fail if given inQueue is already marked as processing
Should parse oru r01 message using overridden parser provided by a moduleca.uhn.hl7v2.HL7Exception
@Logging(ignoreAllArgumentValues=true) ca.uhn.hl7v2.model.Message parseHL7String(String hl7String) throws ca.uhn.hl7v2.HL7Exception
Message
hl7String
- the hl7 string to parse and saveMessage
that the given hl7 string representsca.uhn.hl7v2.HL7Exception
Should parse the given string into Message
ca.uhn.hl7v2.model.Message processHL7Message(ca.uhn.hl7v2.model.Message hl7Message) throws ca.uhn.hl7v2.HL7Exception
Message
and saves the resulting content to the databasehl7Message
- the Message
to process and save to the db.ca.uhn.hl7v2.HL7Exception
Should save hl7Message to the database
Should parse message type supplied by module
@Authorized(requireAll=true, value={"Get HL7 Inbound Archive","Purge HL7 Inbound Archive","Add HL7 Inbound Queue"}) void migrateHl7InArchivesToFileSystem(Map<String,Integer> progressStatusMap) throws APIException
progressStatusMap
- the map holding the number of archives transferred and failed
transfersAPIException
String getUuidFromIdentifiers(ca.uhn.hl7v2.model.v25.datatype.CX[] identifiers) throws ca.uhn.hl7v2.HL7Exception
identifiers
- ca.uhn.hl7v2.HL7Exception
- Should return null if no UUID found
Should find a UUID in any position of the array
Should not fail if multiple similar UUIDs exist in identifiers
Should not fail if no assigning authority is found
Should fail if multiple different UUIDs exist in identifiersPerson createPersonFromNK1(ca.uhn.hl7v2.model.v25.segment.NK1 nk1) throws ca.uhn.hl7v2.HL7Exception
nk1
- the NK1 segment with person informationca.uhn.hl7v2.HL7Exception
- Should return a saved new person
Should return a Patient if valid patient identifiers exist
Should fail if a person with the same UUID exists
Should fail on an invalid gender
Should fail if no gender specified
Should fail if no birthdate specifiedvoid loadHL7InArchiveData(List<HL7InArchive> archives) throws APIException
archives
- APIException
void loadHL7InArchiveData(HL7InArchive archive) throws APIException
archive
- APIException
HL7QueueItem getHl7QueueItemByUuid(String uuid) throws APIException
HL7QueueItem
with the given uuid.
It calls getHL7InQueueByUuid(String)
, getHL7InArchiveByUuid(String)
and
getHL7InErrorByUuid(String)
consecutively and returns the first non-null result.
uuid
- null
APIException
Copyright © 2024 OpenMRS Inc.. All rights reserved.