|
hl7parse
|
HL7 escape and unsescape functions. More...

Go to the source code of this file.
Functions | |
| int | hl7_escape (unsigned char *inp, unsigned char **outp, int in_length, int *out_length, hl7_meta_t *meta) |
| int | hl7_unescape (unsigned char *inp, unsigned char **outp, int in_length, int *out_length, hl7_meta_t *meta) |
HL7 escape and unsescape functions.
http://healthstandards.com/blog/2006/11/02/hl7-escape-sequences/
The following escape sequences are implemented. More may follow but for performance reasons we do not support all (yet?):
| Character | Description Conversion | |
|---|---|---|
| ✓ | \E\ | Escape character converted to escape character (e.g., \) |
| ✓ | \F\ | Field separator converted to field separator character (e.g., pipe) |
| ✓ | \R\ | Repetition separator converted to repetition separator character (e.g., ~) |
| ✓ | \S\ | Component separator converted to component separator character (e.g., ^) |
| ✓ | \T\ | Subcomponent separator converted to subcomponent separator character (e.g., &) |
| ✓ | \.br\ | Begin new output line. Set the horizontal position to the current left margin and increment the vertical position by 1. |
| ✘ | \.sp <n>\ | End current output line and skip <number> vertical spaces. <number> is a positive integer or absent. If <n> is absent, skip one space. The horizontal character position remains unchanged. Note that for purposes of compatibility with previous versions of HL7, ^\.sp\ is equivalent to \.br\. |
| ✘ | \.fi\ | Begin word wrap or fill mode. This is the default state. It can be changed to a no-wrap mode using the \.nf\ command. |
| ✘ | \.nf\ | Begin no-wrap mode. |
| ✘ | \.in <n>\ | Indent <number> of spaces, where <number> is a positive or negative integer. This command cannot appear after the first printable character of a line. |
| ✘ | \.ti <n>\ | Temporarily indent <number> of spaces where number is a positive or negative integer. This command cannot appear after the first printable character of a line. |
| ✘ | \.sk <n>\ | Skip <number> spaces to the right. |
| ✘ | \.ce\ | End current output line and center the next line. |
| ✘ | \H\ | Start highlighting not converted |
| ✘ | \N\ | Normal text (end highlighting) not converted |
| ✘ | \Xdd…\ | Hexadecimal data (dd must be hexadecimal characters) converted to the characters identified by each pair of digits. |
| ✘ | \Cxxyy\ | Single-byte character set escape sequence with two hexadecimal values not converted |
| ✘ | \Mxxyyzz\ | Multi-byte character set escape sequence with two or three hexadecimal values (zz is optional) not converted |
| ✘ | \Zdd…\ | Locally defined escape sequence not converted |
| int hl7_escape | ( | unsigned char * | inp, |
| unsigned char ** | outp, | ||
| int | in_length, | ||
| int * | out_length, | ||
| hl7_meta_t * | meta | ||
| ) |
escape hl7 string
input length does contain the \0 delimiter
| int hl7_unescape | ( | unsigned char * | inp, |
| unsigned char ** | outp, | ||
| int | in_length, | ||
| int * | out_length, | ||
| hl7_meta_t * | meta | ||
| ) |
unescape hl7 string
input length does contain the \0 delimiter
1.8.13