urn:refnet:template

This classification denotes a ReferralNet template message and its compliance to the XML serialisation specification.

ReferralNet templates are populated using the following procedure.

  • The template archive is retrieved. The archive consisting of a zip file with the following structure
    • index.html, the html file containing the input form
    • <additional resource, ie. folder, image, CSS, etc…>
  • A TemplateResult object serialized in XML is retrieved from the BODY classification of the message. This object contains all of the name/value pairs for entry data input by the user when filling out the form, as well as a list of TemplateTable definitions. The TemplateTable definitions are, in essence, a representation of an html table, with row header names and row value arrays. A sample TemplateResult, for MD3 sample patient David Anderson looks like:
<?xml version="1.0" encoding="ISO-8859-1"?>
<result>
	<value>
		<name>patientRole.patient.name.given</name>
		<value>DAVID</value>
	</value>
	<value>
		<name>quit_history</name>
		<value>FIRST_TIME</value>
	</value>
	<value>
		<name>patientRole.telecom.HP</name>
		<value>9456 2345</value>
	</value>
	<value>
		<name>patientRole.addr.city</name>
		<value>MELBOURNE</value>
	</value>
	<value>
		<name>patientRole.patient.birthTime</name>
		<value>04/01/1955</value>
	</value>
	<value>
		<name>patientRole.addr.postalCode</name>
		<value>3000</value>
	</value>
	<value>
		<name>styled-textarea</name>
		<value>Notes</value>
	</value>
	<value>
		<name>patientRole.patient.name.family</name>
		<value>ANDERSON</value>
	</value>
	<value>
		<name>patientRole.telecom.MC</name>
		<value/>
	</value>
	<value>
		<name>patientRole.patient.id.mc</name>
		<value>4133400271</value>
	</value>
	<value>
		<name>patientRole.addr.state</name>
		<value>VIC</value>
	</value>
	<value>
		<name>contact_request</name>
		<value>CONTACT_PATIENT_NO</value>
	</value>
	<value>
		<name>patientRole.patient.name.prefix</name>
		<value>MR</value>
	</value>
	<value>
		<name>patientRole.addr.streetAddessLine</name>
		<value>61 WALLACE ST  </value>
	</value>
	<value>
		<name>patientRole.telecom.WP</name>
		<value>9123 3456</value>
	</value>
	<table>
		<id>medications</id>
		<headers>
			<value>Name</value>
			<value>Strength</value>
			<value>Dosage</value>
			<value>Frequency</value>
			<value>Repeats</value>
		</headers>
		<row>
			<value>CELESTONE-M</value>
			<value>0.02%</value>
			<value>1</value>
			<value>mane</value>
			<value>0</value>
		</row>
		<row>
			<value>ORUDIS SR</value>
			<value>200mg</value>
			<value>1</value>
			<value>mane</value>
			<value>3</value>
		</row>
		<row>
			<value>POLY-TEARS</value>
			<value>0.3%-0.1%</value>
			<value>1</value>
			<value>mane</value>
			<value>5</value>
		</row>
		<row>
			<value>AROPAX</value>
			<value>20mg</value>
			<value>1</value>
			<value>mane</value>
			<value>5</value>
		</row>
		<row>
			<value>IMIGRAN</value>
			<value>50mg</value>
			<value/>
			<value/>
			<value>5</value>
		</row>
	</table>
</result>

  • The names of the name-value pairs conform wherever possible to the hl7 RIM specification as such:
dob=patientRole.patient.birthTime
businessphone=patientRole.telecom.WP
homephone=patientRole.telecom.HP
title=patientRole.patient.name.prefix
firstname=patientRole.patient.name.given
lastname=patientRole.patient.name.family
postcode=patientRole.addr.postalCode
state=patientRole.addr.state
street=patientRole.addr.streetAddessLine
suburb=patientRole.addr.city
gender=patientRole.patient.administrativeGenderCode
initials=patientRole.patient.initials
medicareno=patientRole.patient.id.mc
medicareref=patientRole.patient.id.mc.mr
mobilephone=patientRole.telecom.MC
urnumber=patientRole.patient.id.pi
  • Placeholders for tables(medications, allergies, problems) are of the form
    <referralnet:table id="medications"/>

    and may be placed inside the "index.html" page of the template archive.

  • Merging the TemplateResult object with the template archive index.html page is a four stage process:
    • "index.html" is read into memory as a string.
    • The <referralnet:table id="x"/> tags are replaced with HTML tables generated from the affiliated(by id) TemplateTable objects in TemplateResult.
    • A DOM is created(the Java client uses Cobra) using the subsequent HTML string.
    • The DOM tree is navigated, populating fields according to the name-value pairs from TeplateResult.
 
dev/template.txt · Last modified: 2009/05/04 05:06 by timc