Label updates
You can add Custom Patient Labels (fields which are specific to your business. These are managed using specialised code - XSL-FO. CareRight supports the ability to print single labels or sheets of multiple labels. The content of these labels is patient centric and this information can be customised to your organisational needs.
Review a Custom Patient label
- From the Administration menu, click the Patients menu.
- Select Custom Patient labels menu.
- The Custom Patient Labels screen will display.
- To view the label details, select the Show button next to the relevant label.
- Note: Please see label field definitions in the table below.
- In the Test section, enter a patient name and click Test.
- The Label will generate and once complete a green message advising the process is finished and PDF successfully generated
- Click View the Result to view a PDF of the label.
Field | Description |
Name | This is a unique name for the label — needs to be descriptive. |
Enabled | Advises whether or not the label is active (enabled). |
Default Template | |
Created At | The date when the label was created. |
Updated At | The date when the label was last updated. |
Edit a Custom Patient label
- Access the Custom Patient Label menu.
- The Custom Patient Labels screen will display.
- To edit the label details, select the Edit button next to the relevant label.
- The label details information will display.
- You are able to edit the label name, select the Enabled check box and modify the XSL-FO template code.
- Once your update is complete , select the Update Custom patient label button.
- The label will be updated.
The XSL-FO code is below as follows. I have highlighted the section with the page margins. If you change the value of the margins and save the code “Update Custom Patient Label” you will be able to ‘Test’ the label using the instructions above in Review a Custom Patient label.
<?xml version="1.0" ?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:hsqueue="xalan://com.healthsolve.xsl.MessageQueue"> <xsl:template match="/patient"> <fo:root> <xsl:call-template name="build-master-page"/> <fo:page-sequence master-reference="A4-38933"> <fo:flow flow-name="xsl-region-body"> <xsl:call-template name="layout-table"/> </fo:flow> </fo:page-sequence> </fo:root> </xsl:template> <!-- sets up the overall page dimensions OfficeMax A4 x24 210x297mm label 64x33.8mm--> <xsl:template name="build-master-page"> <!-- set up the page for A4 portrait --> <fo:layout-master-set> <fo:simple-page-master master-name="A4-38933" page-height="297mm" page-width="210mm" margin-top="17mm" margin-bottom="12mm" margin-left="8mm" margin-right="6mm"> <fo:region-body/> </fo:simple-page-master> </fo:layout-master-set> </xsl:template> <!-- generates table to hold the 3x8 label grid --> <xsl:template name="layout-table"> <fo:block> <fo:table> <fo:table-column column-width="66mm"/> <fo:table-column column-width="66mm"/> <fo:table-column column-width="66mm"/> <fo:table-body> <xsl:call-template name="layout-table-row"/> </fo:table-body> </fo:table> </fo:block> </xsl:template> <!-- generates 8 rows, each containing 3 labels --> <xsl:template name="layout-table-row"> <xsl:param name="iteration" select="8"/> <fo:table-row height="33mm" display-align="center" padding-top="6mm" padding-bottom="5mm"> <!-- left column --> <fo:table-cell padding-left="3mm" padding-right="1mm"><xsl:call-template name="patient-label-data"/></fo:table-cell> <!-- middle column --> <fo:table-cell padding-left="3mm" padding-right="1mm"><xsl:call-template name="patient-label-data"/></fo:table-cell> <!-- right column --> <fo:table-cell padding-left="3mm" padding-right="1mm"><xsl:call-template name="patient-label-data"/></fo:table-cell> </fo:table-row> <!-- recursively add additional label rows --> <xsl:if test="$iteration > 1"> <xsl:call-template name="layout-table-row"> <xsl:with-param name="iteration" select="$iteration - 1"/> </xsl:call-template> </xsl:if> </xsl:template> <!-- generates the label key-value pairs --> <xsl:template name="patient-label-data"> <fo:table> <fo:table-column column-width="14mm"/> <fo:table-column column-width="44mm"/> <fo:table-body> <xsl:call-template name="patient-label-row"> <xsl:with-param name="label">Name</xsl:with-param> <xsl:with-param name="text" select="display_name"/> </xsl:call-template> <xsl:call-template name="patient-label-row"> <xsl:with-param name="label">NHI</xsl:with-param> <xsl:with-param name="text" select="crn"/> </xsl:call-template> <xsl:call-template name="patient-label-row"> <xsl:with-param name="label">DOB</xsl:with-param> <xsl:with-param name="text" select="date_of_birth"/> </xsl:call-template> <xsl:call-template name="patient-label-row"> <xsl:with-param name="label">Address</xsl:with-param> <xsl:with-param name="text" select="home_address/display_address"/> </xsl:call-template> <xsl:call-template name="patient-label-row"> <xsl:with-param name="label">Phone</xsl:with-param> <xsl:with-param name="text" select="home_phone"/> </xsl:call-template> <xsl:call-template name="patient-label-row"> <xsl:with-param name="label">Mobile</xsl:with-param> <xsl:with-param name="text" select="mobile_phone"/> </xsl:call-template> <xsl:call-template name="patient-label-row"> <xsl:with-param name="label">Provider</xsl:with-param> <xsl:with-param name="text" select="primary_providUpdate er"/> </xsl:call-template> </fo:table-body> </fo:table> </xsl:template> <!-- displays a key-value pair --> <xsl:template name="patient-label-row"> <xsl:param name="label"/> <xsl:param name="text"/> <fo:table-row> <fo:table-cell> <fo:block font-size="8pt" font-weight="bold"> <xsl:value-of select="$label"/> </fo:block> </fo:table-cell> <fo:table-cell> <fo:block font-size="8pt"> <xsl:value-of select="$text"/> </fo:block> </fo:table-cell> </fo:table-row> </xsl:template> </xsl:stylesheet>