Skip to main content

Crate rumtk_hl7_v2

Crate rumtk_hl7_v2 

Source

Modules§

hl7_v2_base_types
hl7_v2_complex_types
hl7_v2_constants
hl7_v2_datasets
hl7_v2_field_descriptors
hl7_v2_interpreter
hl7_v2_mllp
hl7_v2_parser
hl7_v2_search
hl7_v2_types

Macros§

rumtk_v2_find_component
Simple interface for searching for a component inside a V2Message. This macro takes a borrow of a V2Message instance and a string search pattern. The only search pattern supported at the moment takes the form <3-letter segment>(optional, segment_group)[optional, field_group].. For example, you can search with PID5.1 or PID(1)5.1 or PID(1)5[1].1.
rumtk_v2_generate_message
Macro for generating V2 string message out of an instance of [hl7_v2_parser::v2_parser::V2Message]. Basically, this is the opposite operation to crate::rumtk_v2_parse_message.
rumtk_v2_mllp_connect
Attempt to connect to an MLLP server. Returns [SafeAsyncMLLP].
rumtk_v2_mllp_get_client_ids
Convenience macro for obtaining the client id list ([ClientIDList]) off an instance of [SafeAsyncMLLP].
rumtk_v2_mllp_get_ip_port
Convenience macro for obtaining the ip and port off an instance of [SafeAsyncMLLP].
rumtk_v2_mllp_is_server
Convenience macro for querying if an [AsyncMLLP] instance is a server instance or a client instance.
rumtk_v2_mllp_iter_channels
Convenience macro for generating [MLLPChannels] that you can use to communicate with the peer endpoint(s).
rumtk_v2_mllp_listen
Create a server listener for MLLP communications. Returns [SafeAsyncMLLP].
rumtk_v2_mllp_open_client_channel
Create vector iterable using the shared [MLLP] instance to obtain a single [SafeAsyncMLLPChannel] to the endpoint listening interface. In other words, this macro creates a thread safe instance of [SafeAsyncMLLPChannel] from the client to the server. The channel provides bidirectional communication.
rumtk_v2_mllp_open_server_channels
Create vector iterable using the shared [SafeAsyncMLLP] instance to obtain channels to clients. This macro creates thread safe instances of [SafeAsyncMLLPChannels]. These are channels from the server to the clients. These channels provide bidirectional communication with the clients.
rumtk_v2_mllp_receive
Convenience macro for receiving a message via an [AsyncMLLP] instance. This macro, like the underlying function it calls, retrieves an optional which may be None if no message was available in the internal queue buffer.
rumtk_v2_mllp_send
Convenience macro for sending a message via an [AsyncMLLP] instance.
rumtk_v2_parse_message
Simple interface for creating an instance of V2Message! You can pass a string view, a String, a RUMString, or a byte slice as input.
rumtk_v2_python_exec
Macro for processing V2 message via a Python module loaded from disk. This interface attempts to cache the module to avoid repeated loads of the module.
v2_component_descriptor
Generates instance of V2ComponentDescriptor which defines how we should cast a field.