diff --git a/gp2gp-translator/src/integrationTest/java/uk/nhs/adaptors/pss/translator/EhrExtractHandlingIT.java b/gp2gp-translator/src/integrationTest/java/uk/nhs/adaptors/pss/translator/EhrExtractHandlingIT.java
index e4dfdccc1..e5e06528f 100644
--- a/gp2gp-translator/src/integrationTest/java/uk/nhs/adaptors/pss/translator/EhrExtractHandlingIT.java
+++ b/gp2gp-translator/src/integrationTest/java/uk/nhs/adaptors/pss/translator/EhrExtractHandlingIT.java
@@ -1,7 +1,7 @@
package uk.nhs.adaptors.pss.translator;
import static org.assertj.core.api.Assertions.fail;
-import static org.awaitility.Awaitility.await;
+import static org.awaitility.Awaitility.waitAtMost;
import static org.springframework.boot.test.context.SpringBootTest.WebEnvironment.RANDOM_PORT;
import static uk.nhs.adaptors.common.util.FileUtil.readResourceAsString;
@@ -11,6 +11,7 @@
import java.io.PrintWriter;
import java.nio.charset.StandardCharsets;
+import java.time.Duration;
import java.util.List;
import java.util.Locale;
import java.util.UUID;
@@ -47,6 +48,7 @@
@DirtiesContext
@AutoConfigureMockMvc
public class EhrExtractHandlingIT {
+
private static final boolean OVERWRITE_EXPECTED_JSON = false;
private static final int NHS_NUMBER_MIN_MAX_LENGTH = 10;
private static final String EBXML_PART_PATH = "/xml/RCMR_IN030000UK06/ebxml_part.xml";
@@ -96,6 +98,7 @@ public class EhrExtractHandlingIT {
private String patientNhsNumber;
private String conversationId;
+ static final int WAITING_TIME = 10;
@BeforeEach
public void setUp() {
@@ -107,10 +110,23 @@ public void setUp() {
@Test
public void handleEhrExtractFromQueue() throws JSONException {
// process starts with consuming a message from MHS queue
- sendInboundMessageToQueue("/xml/RCMR_IN030000UK06/payload_part.xml");
+ sendInboundMessageToQueue("/xml/RCMR_IN030000UK06/payload_part.xml", EBXML_PART_PATH);
+
+ // wait until EHR extract is translated to bundle resource and saved to the DB
+ waitAtMost(Duration.ofSeconds(WAITING_TIME)).until(this::isEhrMigrationCompleted);
+
+ // verify generated bundle resource
+ verifyBundle("/json/expectedBundle.json");
+ }
+
+ @Test
+ public void handleEhrExtractWithConfidentialityCodeFromQueue() throws JSONException {
+ final String ebxmlPartPath = "/xml/RCMR_IN030000UK07/ebxml_part.xml";
+ // process starts with consuming a message from MHS queue
+ sendInboundMessageToQueue("/xml/RCMR_IN030000UK07/payload_part_with_confidentiality_code.xml", ebxmlPartPath);
// wait until EHR extract is translated to bundle resource and saved to the DB
- await().until(this::isEhrMigrationCompleted);
+ waitAtMost(Duration.ofSeconds(WAITING_TIME)).until(this::isEhrMigrationCompleted);
// verify generated bundle resource
verifyBundle("/json/expectedBundle.json");
@@ -129,15 +145,15 @@ private String generateConversationId() {
return UUID.randomUUID().toString();
}
- private void sendInboundMessageToQueue(String payloadPartPath) {
- var inboundMessage = createInboundMessage(payloadPartPath);
+ private void sendInboundMessageToQueue(String payloadPartPath, String ebxmlPartPath) {
+ var inboundMessage = createInboundMessage(payloadPartPath, ebxmlPartPath);
mhsJmsTemplate.send(session -> session.createTextMessage(parseMessageToString(inboundMessage)));
}
- private InboundMessage createInboundMessage(String payloadPartPath) {
+ private InboundMessage createInboundMessage(String payloadPartPath, String ebxmlPartPath) {
var inboundMessage = new InboundMessage();
var payload = readResourceAsString(payloadPartPath).replace(NHS_NUMBER_PLACEHOLDER, patientNhsNumber);
- var ebXml = readResourceAsString(EBXML_PART_PATH).replace(CONVERSATION_ID_PLACEHOLDER, conversationId);
+ var ebXml = readResourceAsString(ebxmlPartPath).replace(CONVERSATION_ID_PLACEHOLDER, conversationId);
inboundMessage.setPayload(payload);
inboundMessage.setEbXML(ebXml);
return inboundMessage;
@@ -190,4 +206,4 @@ private void overwriteExpectJson(String newExpected) {
private String parseMessageToString(InboundMessage inboundMessage) {
return objectMapper.writeValueAsString(inboundMessage);
}
-}
\ No newline at end of file
+}
diff --git a/gp2gp-translator/src/integrationTest/resources/xml/RCMR_IN030000UK07/ebxml_part.xml b/gp2gp-translator/src/integrationTest/resources/xml/RCMR_IN030000UK07/ebxml_part.xml
new file mode 100644
index 000000000..a0a7d3243
--- /dev/null
+++ b/gp2gp-translator/src/integrationTest/resources/xml/RCMR_IN030000UK07/ebxml_part.xml
@@ -0,0 +1,34 @@
+
+
+
+
+ YGM24-820388
+
+
+ B86041-822103
+
+ e06af803674408a9d8e8
+ {{conversationId}}
+ urn:nhs:names:services:gp2gp
+ RCMR_IN030000UK07
+
+ 31FA3430-6E88-11EA-9384-E83935108FD5
+ 2020-03-25T11:03:02Z
+ 2020-03-25T15:13:02Z
+
+ always
+
+
+
+
+
+
+
+
+
+
+ 31B75ED0-6E88-11EA-9384-E83935108FD5_patient-attachment.txt.txt
+
+
+
+
\ No newline at end of file
diff --git a/gp2gp-translator/src/integrationTest/resources/xml/RCMR_IN030000UK07/payload_part_with_confidentiality_code.xml b/gp2gp-translator/src/integrationTest/resources/xml/RCMR_IN030000UK07/payload_part_with_confidentiality_code.xml
new file mode 100644
index 000000000..db3d391c7
--- /dev/null
+++ b/gp2gp-translator/src/integrationTest/resources/xml/RCMR_IN030000UK07/payload_part_with_confidentiality_code.xml
@@ -0,0 +1,19636 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Unknown
+
+
+
+ TEMPLE SOWERBY MEDICAL PRACTICE
+
+
+
+
+
+
+
+
+ General Medical Practitioner
+
+
+
+ Mr
+ NHS
+ Test
+
+
+
+ TEMPLE SOWERBY MEDICAL PRACTICE
+
+
+ Fulford Grange
+ Micklefield Lane
+ Rawdon
+ Rawdon
+ Leeds
+ LS19 6BA
+
+
+
+
+
+
+
+
+ Clerical Worker
+
+
+
+ Dr
+ Peter
+ Whitcombe
+
+
+
+ National
+
+
+
+
+
+
+
+
+ Clerical Worker
+
+
+
+ Dr
+ David
+ McAvenue
+
+
+
+ National
+
+
+
+
+
+
+
+
+ General Medical Practitioner
+
+
+
+ Dr
+ Peter
+ Whitcombe
+
+
+
+ TEMPLE SOWERBY MEDICAL PRACTICE
+
+
+ Fulford Grange
+ Micklefield Lane
+ Rawdon
+ Rawdon
+ Leeds
+ LS19 6BA
+
+
+
+
+
+
+
+
+ Unknown
+
+
+
+ External User
+
+
+
+ National
+
+
+
+
+
+
+
+
+ General Medical Practitioner
+
+
+
+ Dr
+ David
+ McAvenue
+
+
+
+ TEMPLE SOWERBY MEDICAL PRACTICE
+
+
+ Fulford Grange
+ Micklefield Lane
+ Rawdon
+ Rawdon
+ Leeds
+ LS19 6BA
+
+
+
+
+
+
+
+
+
+
+ GP Surgery
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ EMIS Test Practice Location
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Inactive Diary Entry
+ Medication review
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GP Surgery
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ EMIS Test Practice Location
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Some example text
+
+
+
+
+
+
+ Absent Attachment
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Test request statement text
+ New line
+
+
+
+
+
+ Routine
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GP Surgery
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ EMIS Test Practice Location
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Significance : Major
+ Episodicity : First
+ This is problem Problem Info: Problem Notes: This is problem
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Each Day After Food
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GP Surgery
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ EMIS Test Practice Location
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Significance : Major
+ Episodicity : Review
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 30 day
+
+
+
+
+
+
+ One To Be Taken Each Day After Food
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GP Surgery
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ EMIS Test Practice Location
+
+
+
+
+
+
+
+
+
+
+
+ This is just a consultation to test issue of previous courses via consultations
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ capsule
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Twice A Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GP Surgery
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ EMIS Test Practice Location
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 56 day
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GP Surgery
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ capsule
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day Notes: Prescriber Notes:Issue number 1 This is the 22047 repeat
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GP Surgery
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This is a note
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day Notes: Prescriber Notes:Issue number 1 This is the generic acute for 22047
+
+
+
+
+
+
+ One To Be Taken Every Four To Six Hours When Required
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ m
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ not applicable
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ device
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ For Subcutaneous Injection, According To Requirements
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ device
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ For Subcutaneous Injection, According To Requirements
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ device
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ For Subcutaneous Injection, According To Requirements
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Local Mixture (Sucrose Crystals BP, Ferric chloride solution, Vaseline Pure Petroleum jelly (Unilever UK Home & Personal Care), Benzoyl Peroxide Aquagel 5 %)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ 1 to be taken 3 times a day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Local Mixture (Sucrose Crystals BP, Ferric chloride solution, Vaseline Pure Petroleum jelly (Unilever UK Home & Personal Care), Benzoyl Peroxide Aquagel 5 %)
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ 1 to be taken 3 times a day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ device
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ device
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Oxygen Composite cylinder with integral headset 1360 litres
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ cylinder
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ As and when required
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Oxygen Composite cylinder with integral headset 1360 litres
+
+
+
+
+
+
+
+
+
+
+
+
+ cylinder
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ As and when required
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ capsule
+
+
+
+
+ Expected Supply Duration: 30 day
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ gram
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ Apply When Required
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+
+
+ zzzzzss
+
+
+
+
+
+
+
+
+
+
+ zzzzzss
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+
+
+ Prescribing Error
+
+
+
+
+
+
+
+
+
+
+ Prescribing Error
+
+
+
+
+
+
+ One Or Two To Be Taken Four Times A Day When Required
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ capsule
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One Or Two To Be Taken Four Times A Day When Required
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ capsule
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One Or Two To Be Taken Four Times A Day When Required
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ capsule
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One Or Two To Be Taken Four Times A Day When Required
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ capsule
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One Or Two To Be Taken Four Times A Day When Required
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Paracetamol Caplets 500 mg
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+ Expected Supply Duration: 28 day Notes: Prescriber Notes:These are some pharmacy notes
+
+
+
+
+
+
+
+
+ Patient no longer requires these
+
+
+
+
+
+
+
+
+
+
+ Patient no longer requires these
+
+
+
+
+
+
+ Two To Be Taken Four Times A Day When Required
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Paracetamol Caplets 500 mg
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day Notes: Prescriber Notes:Issue number 1 These are some pharmacy notes
+
+
+
+
+
+
+ Two To Be Taken Four Times A Day When Required
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Three Times A Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Three Times A Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+
+
+ Clinical Contra-indication
+
+
+
+
+
+
+
+
+
+
+ Clinical Contra-indication
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One Tablet Daily For 21 Days; Subsequent Courses Repeated After 7-Day Tablet Free Interval
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One Tablet Daily For 21 Days; Subsequent Courses Repeated After 7-Day Tablet Free Interval
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Each Morning
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Each Morning
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+ Expected Supply Duration: 28 day Notes: Prescriber Notes:This is some more pharmacy information
+
+
+
+
+
+
+ 1 Tablet to be taken with food once per day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day Notes: Prescriber Notes:Issue number 1 This is some more pharmacy information
+
+
+
+
+
+
+ 1 Tablet to be taken with food once per day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Ferrous sulphate 200mg tablets
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Ferrous sulphate 200mg tablets
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+ Expected Supply Duration: 28 day Notes: Prescriber Notes:This is some pharmacy Information
+
+
+
+
+
+
+ One To Be Taken With Breakfast, Lunch And Evening Meal
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day Notes: Prescriber Notes:Issue number 1 This is some pharmacy Information
+
+
+
+
+
+
+ One To Be Taken With Breakfast, Lunch And Evening Meal
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+ Expected Supply Duration: 14 day
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 14 day
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 14 day
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 14 day
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ capsule
+
+
+
+
+ Expected Supply Duration: 28 day Notes: Prescriber Notes:Repeat Dispensing Pharmacy Note
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ capsule
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day Notes: Prescriber Notes:Issue number 1 Repeat Dispensing Pharmacy Note.
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ capsule
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day Notes: Prescriber Notes:Issue number 2 Repeat Dispensing Pharmacy Note.
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ capsule
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day Notes: Prescriber Notes:Issue number 3 Repeat Dispensing Pharmacy Note.
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ capsule
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day Notes: Prescriber Notes:Issue number 4 Repeat Dispensing Pharmacy Note.
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ capsule
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day Notes: Prescriber Notes:Issue number 5 Repeat Dispensing Pharmacy Note.
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ capsule
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day Notes: Prescriber Notes:Issue number 6 Repeat Dispensing Pharmacy Note.
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ capsule
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day Notes: Prescriber Notes:Issue number 7 Repeat Dispensing Pharmacy Note.
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ capsule
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day Notes: Prescriber Notes:Issue number 8 Repeat Dispensing Pharmacy Note.
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ capsule
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day Notes: Prescriber Notes:Issue number 9 Repeat Dispensing Pharmacy Note.
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ capsule
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day Notes: Prescriber Notes:Issue number 10 Repeat Dispensing Pharmacy Note.
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+ Expected Supply Duration: 150 day
+
+
+
+
+
+
+ One To Be Taken At Night
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 150 day
+
+
+
+
+
+
+ One To Be Taken At Night
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ capsule
+
+
+
+
+ Expected Supply Duration: 28 day Notes: Prescriber Notes:Repeat Dispensing Pharmacy Note
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ capsule
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day Notes: Prescriber Notes:Issue number 1 Repeat Dispensing Pharmacy Note
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ capsule
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day Notes: Prescriber Notes:Issue number 2 Repeat Dispensing Pharmacy Note
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ capsule
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day Notes: Prescriber Notes:Issue number 3 Repeat Dispensing Pharmacy Note
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ capsule
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day Notes: Prescriber Notes:Issue number 4 Repeat Dispensing Pharmacy Note
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ capsule
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day Notes: Prescriber Notes:Issue number 5 Repeat Dispensing Pharmacy Note
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+ Expected Supply Duration: 28 day Notes: Prescriber Notes:This is a pharmacy information note for Cilazapril
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day Notes: Prescriber Notes:Issue number 1 This is a pharmacy information note for Cilazapril
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Beconase Aqueous 50micrograms/dose nasal spray (GlaxoSmithKline)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ dose
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ Two Sprays To Be Used In Each Nostril Twice A Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Beconase Aqueous 50micrograms/dose nasal spray (GlaxoSmithKline)
+
+
+
+
+
+
+
+
+
+
+
+
+ dose
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ Two Sprays To Be Used In Each Nostril Twice A Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Nasonex 50micrograms/dose nasal spray (Merck Sharp & Dohme Ltd)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ dose
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ Two Sprays To Be Used In Each Nostril Once A Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Benzoyl Peroxide Aquagel 5 %
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ gram
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ Apply Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Benzoyl Peroxide Aquagel 5 %
+
+
+
+
+
+
+
+
+
+
+
+
+ gram
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ Apply Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Benzoyl Peroxide Aquagel 5 %
+
+
+
+
+
+
+
+
+
+
+
+
+ gram
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ Apply Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Benzoyl Peroxide Aquagel 5 %
+
+
+
+
+
+
+
+
+
+
+
+
+ gram
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ Apply Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+
+
+ Allergy
+
+
+
+
+
+
+
+
+
+
+ Allergy
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+ Patient Instruction: yutyuhyfhf Expected Supply Duration: 28 day Notes: Prescriber Notes:These are some pharmacy notes for Methylphenidate Patient Notes:yutyuhyfhf
+
+
+
+
+
+
+ One Or Two To Be Taken At Night
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day Notes: Prescriber Notes:Issue number 1 These are some pharmacy notes for Methylphenidate
+
+
+
+
+
+
+ One Or Two To Be Taken At Night
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+ Expected Supply Duration: 14 day
+
+
+
+
+
+
+
+
+ Adverse reaction to Central Nervous System Drugs (allergy)
+
+
+
+
+
+
+
+
+
+
+ Adverse reaction to Central Nervous System Drugs (allergy)
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 14 day
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 14 day
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Berkolol Tablets 10 mg
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ nmkljkljllk
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ dose
+
+
+
+
+ Expected Supply Duration: 23 day
+
+
+
+
+
+
+
+
+ Alergy
+
+
+
+
+
+
+
+
+
+
+ Alergy
+
+
+
+
+
+
+ One Puff To Be Inhaled When Needed (Not More Than Once Daily)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ capsule
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ capsule
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+ Expected Supply Duration: 34 day
+
+
+
+
+
+
+ One To Be Taken Three Times A Day Twenty Minutes Before Food
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 34 day
+
+
+
+
+
+
+ One To Be Taken Three Times A Day Twenty Minutes Before Food
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Lustral 50mg tablets (Pfizer Ltd)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+ Expected Supply Duration: 14 day Notes: Prescriber Notes:This is the restart
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Lustral 50mg tablets (Pfizer Ltd)
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 14 day Notes: Prescriber Notes:Issue number 1 This is the restart
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Lustral 50mg tablets (Pfizer Ltd)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+ Expected Supply Duration: 14 day
+
+
+
+
+
+
+
+
+ kjhkjkjhjkjkj
+
+
+
+
+
+
+
+
+
+
+ kjhkjkjhjkjkj
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Lustral 50mg tablets (Pfizer Ltd)
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 14 day
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Lustral 50mg tablets (Pfizer Ltd)
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 14 day
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ gram
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ Apply To The Affected Eye(s) At Night
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ gram
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ Apply To The Affected Eye(s) At Night
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+ Expected Supply Duration: 30 day
+
+
+
+
+
+
+
+
+ Adverse reaction to Prednisolone (Fat, John said)
+
+
+
+
+
+
+
+
+
+
+ Adverse reaction to Prednisolone (Fat, John said)
+
+
+
+
+
+
+ One To Be Taken Each Day After Food
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ capsule
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Twice A Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ capsule
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day Notes: Prescriber Notes:Issue number 2 This is the pharmacy message on print Patient Notes:Issue number 2 This is the patient message on print
+
+
+
+
+
+
+ One To Be Taken Twice A Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Neoclarityn 5mg tablets (Schering-Plough Ltd)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+ Expected Supply Duration: 30 day
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Neoclarityn 5mg tablets (Schering-Plough Ltd)
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 30 day
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Lipitor 10mg tablets (Pfizer Ltd)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Lipitor 10mg tablets (Pfizer Ltd)
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ capsule
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ capsule
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Each Day After Food
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Each Day After Food
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Each Day After Food
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ capsule
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ capsule
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ Two To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Lipitor 10mg tablets (Pfizer Ltd)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ Two To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Lipitor 10mg tablets (Pfizer Ltd)
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ Two To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Neoclarityn 5mg tablets (Schering-Plough Ltd)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+ Expected Supply Duration: 30 day
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Neoclarityn 5mg tablets (Schering-Plough Ltd)
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 30 day
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ dose
+
+
+
+
+ Expected Supply Duration: 100 day
+
+
+
+
+
+
+ One Puff To Be Inhaled Twice A Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ dose
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 100 day
+
+
+
+
+
+
+ One Puff To Be Inhaled Twice A Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+ Patient Instruction: Acute Pa I Expected Supply Duration: 28 day Notes: Prescriber Notes:Acute Ph I Patient Notes:Acute Pa I
+
+
+
+
+
+
+ One To Be Taken Each Day With Food
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Patient Instruction: Acute Pa I Expected Supply Duration: 28 day Notes: Prescriber Notes:Issue number 1 Acute Ph I Patient Notes:Issue number 1 Acute Pa I
+
+
+
+
+
+
+ One To Be Taken Each Day With Food
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+ Expected Supply Duration: 19 day
+
+
+
+
+
+
+ One To Be Taken Three Times A Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 19 day
+
+
+
+
+
+
+ One To Be Taken Three Times A Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+ Patient Instruction: This is PI Expected Supply Duration: 30 day Notes: Prescriber Notes:This is PT Patient Notes:This is PI
+
+
+
+
+
+
+ One To Be Taken Each Morning Before Food
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Patient Instruction: This is PI Expected Supply Duration: 30 day Notes: Prescriber Notes:Issue number 1 This is PT Patient Notes:Issue number 1 This is PI
+
+
+
+
+
+
+ One To Be Taken Each Morning Before Food
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+ Patient Instruction: yutyuhyfhf Expected Supply Duration: 28 day Notes: Prescriber Notes:These are some pharmacy notes for Methylphenidate Patient Notes:yutyuhyfhf
+
+
+
+
+
+
+ One Or Two To Be Taken At Night
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Patient Instruction: yutyuhyfhf Expected Supply Duration: 28 day Notes: Prescriber Notes:Issue number 1 These are some pharmacy notes for Methylphenidate Patient Notes:Issue number 1 yutyuhyfhf
+
+
+
+
+
+
+ One Or Two To Be Taken At Night
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ capsule
+
+
+
+
+ Expected Supply Duration: 28 day Notes: Prescriber Notes:Repeat Dispensing Pharmacy Note
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ capsule
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day Notes: Prescriber Notes:Issue number 1 Repeat Dispensing Pharmacy Note
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+ Expected Supply Duration: 63 day
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 63 day
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+ Expected Supply Duration: 84 day
+
+
+
+
+
+
+ One Tablet Daily For 21 Days; Subsequent Courses Repeated After 7-Day Tablet Free Interval
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 84 day
+
+
+
+
+
+
+ One Tablet Daily For 21 Days; Subsequent Courses Repeated After 7-Day Tablet Free Interval
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ capsule
+
+
+
+
+ Expected Supply Duration: 5 day
+
+
+
+
+
+
+ One To Be Taken Three Times A Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ capsule
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+ Expected Supply Duration: 56 day
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Each Morning Before Breakfast
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day Notes: Prescriber Notes:Issue number 1 This is Out of Hours
+
+
+
+
+
+
+ One To Be Taken Each Morning Before Breakfast
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+ Expected Supply Duration: 30 day
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 30 day
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 30 day
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 30 day
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 30 day
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 30 day
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 30 day
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+ Expected Supply Duration: 3 day
+
+
+
+
+
+
+ Six To Be Taken Each Morning As A Single Dose
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 3 day
+
+
+
+
+
+
+ Six To Be Taken Each Morning As A Single Dose
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 3 day
+
+
+
+
+
+
+ Six To Be Taken Each Morning As A Single Dose
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+
+
+ Clinical Grounds
+
+
+
+
+
+
+
+
+
+
+ Clinical Grounds
+
+
+
+
+
+
+ One To Be Taken Twice A Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Each Morning
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day Notes: Prescriber Notes:Issue number 1 This was set to 'Private' in application rather than at issue time
+
+
+
+
+
+
+ One To Be Taken Each Morning
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day Notes: Prescriber Notes:Issue number 1 Private and 'Hospital'
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ capsule
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One Or Two To be Taken Every Four Hours When Necessary. Maximum 8 Tablets in 24 Hours
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ capsule
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day Notes: Prescriber Notes:Issue number 1 Private record for notes
+
+
+
+
+
+
+ One Or Two To be Taken Every Four Hours When Necessary. Maximum 8 Tablets in 24 Hours
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Xalatan 50micrograms/ml eye drops (Pfizer Ltd)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ml
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One Drop To Be Used At Night In The Affected Eye(s)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Xalatan 50micrograms/ml eye drops (Pfizer Ltd)
+
+
+
+
+
+
+
+
+
+
+
+
+ ml
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day Notes: Prescriber Notes:Issue number 1 Private Handwritten
+
+
+
+
+
+
+ One Drop To Be Used At Night In The Affected Eye(s)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day Notes: Prescriber Notes:Issue number 1 Private PrintedScript Non EPS
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+ Expected Supply Duration: 30 day
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 30 day Notes: Prescriber Notes:Issue number 1 This is the OTC
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GP Surgery
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Test Location
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ capsule
+
+
+
+
+ 1
+
+
+
+
+ 2
+
+
+
+
+ 3
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet(s)
+
+
+
+
+
+
+
+
+
+
+
+ TAKE ONE DAILY
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Primary Source: true Location: EMIS Test Practice Location Manufacturer:
+ another company Batch: past2003 Expiration: 2003-01-17 Site: Right arm GMS : Not
+ GMS
+
+
+
+
+
+
+
+
+
+
+
+
+ Some example text
+
+
+
+
+
+
+ Absent Attachment
+
+
+
+
+
+
+
+
+
+
+
+
+ Added from a problem within a consultation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Test request statement text
+ New line
+
+
+
+
+
+
+
+ Routine
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Active Problem, Significant
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ O/E - blood pressure reading
+
+
+
+
+
+
+
+
+
+
+ Systolic arterial pressure
+
+
+
+
+
+
+
+ High Text
+
+
+
+ mm[Hg]
+
+
+
+
+ Test Range 1
+
+
+
+
+
+
+
+
+
+ Test systolic pressure text
+
+
+
+
+
+
+
+
+ Diastolic arterial pressure
+
+
+
+
+
+
+
+ Low Text
+
+
+
+ mm[Hg]
+
+
+
+
+ Test Range 2
+
+
+
+
+
+
+
+
+
+ Test diastolic pressure text
+
+
+
+
+
+
+
+ Systolic Measurement Absent: Unknown
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Some example text
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Drug Allergy - Apsrin
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ High
+
+
+
+
+ Test text 1
+
+
+
+
+ Age and sex based
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Filed Report
+
+
+
+
+
+
+
+
+
+ CommentType:LABORATORY RESULT COMMENT(E141)
+ CommentDate:20030221115000
+
+ Status: unknown
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Blood
+
+
+
+
+
+
+ CommentType:LAB SPECIMEN COMMENT(E271)
+ CommentDate:20030109000000
+
+ Received Date: 2003-01-09 13:54
+
+
+
+
+
+
+
+
+
+ Mocked code
+
+
+
+
+
+
+
+
+
+
+ Mocked code
+
+
+
+
+
+
+
+
+
+
+
+ CommentType:USER COMMENT
+ CommentDate:20100113
+
+ This is some random free text 1
+
+
+
+
+
+
+
+
+ CommentType:USER COMMENT
+ CommentDate:20100113
+
+
+ This is some random free text 2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Notes on the tired all the time entry
+
+
+
+
+
+
+
+ Comments - Aaaargh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+ Expected Supply Duration: 7 day
+
+
+
+
+
+
+ One To Be Taken At Night
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+ Expected Supply Duration: 30 day
+
+
+
+
+
+
+ One To Be Taken Twice A Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 30 day Notes: Prescriber Notes:Issue number 1 This is 'Handwritten'
+
+
+
+
+
+
+ One To Be Taken Twice A Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ capsule
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ capsule
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day Notes: Prescriber Notes:Issue number 1 This is the 'Record for Notes' case
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Daily With Breakfast
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day Notes: Prescriber Notes:Issue number 1 This is Hospital Issued medication
+
+
+
+
+
+
+ One To Be Taken Daily With Breakfast
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Each Morning Before Breakfast
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+
+
+ Prescribing Error
+
+
+
+
+
+
+
+
+
+
+ Prescribing Error
+
+
+
+
+
+
+ One To Be Taken Twice A Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Twice A Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Twice A Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Twice A Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Twice A Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Twice A Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Twice A Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Twice A Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Twice A Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Twice A Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Twice A Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Twice A Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Twice A Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Twice A Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Twice A Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Twice A Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken At Night
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ capsule
+
+
+
+
+ Expected Supply Duration: 14 day
+
+
+
+
+
+
+
+
+ Change to Medication Treatment Regime
+
+
+
+
+
+
+
+
+
+
+ Change to Medication Treatment Regime
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Twice A Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Twice A Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Twice A Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ dose
+
+
+
+
+ Expected Supply Duration: 23 day
+
+
+
+
+
+
+
+
+ some reason
+
+
+
+
+
+
+
+
+
+
+ some reason
+
+
+
+
+
+
+ One Puff To Be Inhaled When Needed (Not More Than Once Daily)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ capsule
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken At Night
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ capsule
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken At Night
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ capsule
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken At Night
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ capsule
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken At Night
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ capsule
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken At Night
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ capsule
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken At Night
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ capsule
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken At Night
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ capsule
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken At Night
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ capsule
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ capsule
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+
+
+ Recreate 22047
+
+
+
+
+
+
+
+
+
+
+ Recreate 22047
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ capsule
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day Notes: Prescriber Notes:Issue number 1 This is the 22047 issue after switch to generic
+
+
+
+
+
+
+ One To Be Taken Each Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+ One To Be Taken Every Four To Six Hours When Required
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+ Expected Supply Duration: 28 day
+
+
+
+
+
+
+
+
+ End course for acute post G -> T switch for 22047
+
+
+
+
+
+
+
+
+
+
+ End course for acute post G -> T switch for 22047
+
+
+
+
+
+
+ One To Be Taken Every Four To Six Hours When Required
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 28 day Notes: Prescriber Notes:Issue number 1 THis is the acute issue post generic -> proprietary switch for 22047
+
+
+
+
+
+
+ One To Be Taken Every Four To Six Hours When Required
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+ Expected Supply Duration: 5 day
+
+
+
+
+
+
+ One To Be Taken Twice A Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 5 day
+
+
+
+
+
+
+ One To Be Taken Twice A Day
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+ Expected Supply Duration: 150 day
+
+
+
+
+
+
+ One To Be Taken At Night
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet
+
+
+
+
+
+
+
+
+
+ Expected Supply Duration: 150 day
+
+
+
+
+
+
+ One To Be Taken At Night
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Active Problem, major
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Adverse reaction to Cetirizine Hydrochloride
+
+
+
+
+
+
+
+
+
+ Status: Active
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Adverse reaction to Mebeverine Hydrochloride
+
+
+
+
+
+
+
+
+
+
+
+ Status: Active
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Adverse reaction to Lustral
+
+
+
+
+
+
+
+
+
+ Status: Active
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Adverse reaction to Prednisolone
+
+
+
+
+
+
+
+
+
+ Status: Active Fat
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Adverse reaction to Central Nervous System Drugs
+
+
+
+
+
+
+
+
+
+ Status: Active
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ O/E - blood pressure reading
+
+
+
+
+
+
+
+
+
+
+ Systolic arterial pressure
+
+
+
+
+
+
+
+ High Text
+
+
+
+ mm[Hg]
+
+
+
+
+ Test Range 1
+
+
+
+
+
+
+
+
+
+ Test systolic pressure text
+
+
+
+
+
+
+
+
+ Diastolic arterial pressure
+
+
+
+
+
+
+
+ Low Text
+
+
+
+ mm[Hg]
+
+
+
+
+ Test Range 2
+
+
+
+
+
+
+
+
+
+ Test diastolic pressure text
+
+
+
+
+
+
+
+ Systolic Measurement Absent: Unknown
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Filed Report
+
+
+
+
+
+
+
+
+
+ CommentType:LABORATORY RESULT COMMENT(E141)
+ CommentDate:20100225154100
+
+ Status: unknown
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Adverse reaction to Central Nervous System Drugs
+
+
+
+
+
+
+
+
+
+ Status: Active
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Filed Report
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ URINE
+
+
+
+
+
+
+ CommentType:LAB SPECIMEN COMMENT(E271)
+ CommentDate:20020330092100
+
+ Received Date: 2002-03-30 09:21
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CommentType:LABORATORY RESULT
+ COMMENT(E141)
+ CommentDate:20100223000000
+
+ NEGATIVE
+ In normal pregnancies the test will usually be positive from the
+ second day after the expected menstruation.
+
+
+
+
+
+
+
+
+ CommentType:USER COMMENT
+ CommentDate:20201215151704
+
+ (q) - Normal - No Action
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SERUM
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CommentType:USER COMMENT
+ CommentDate:20201215151713
+
+ (q) - Normal - No Action
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SERUM
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CommentType:LABORATORY RESULT
+ COMMENT(E141)
+ CommentDate:20100223000000
+
+ Test not available
+
+
+
+
+
+
+
+
+ CommentType:USER COMMENT
+ CommentDate:20220324124213
+
+ No action needed
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GP Surgery
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Test Location
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ capsule
+
+
+
+
+ 1
+
+
+
+
+ 2
+
+
+
+
+ 3
+
+
+
+
+
+
+
+
+
+
+
+
+ tablet(s)
+
+
+
+
+
+
+
+
+
+
+
+ TAKE ONE DAILY
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Primary Source: true Location: EMIS Test Practice Location Manufacturer:
+ another company Batch: past2003 Expiration: 2003-01-17 Site: Right arm GMS : Not
+ GMS
+
+
+
+
+
+
+
+
+
+
+
+
+ Some example text
+
+
+
+
+
+
+ Record Attachment
+
+
+
+
+
+
+
+
+
+
+
+
+ Added from a problem within a consultation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Test request statement text
+ New line
+
+
+
+
+
+
+
+ Routine
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Active Problem, Significant
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ O/E - blood pressure reading
+
+
+
+
+
+
+
+
+
+
+ Systolic arterial pressure
+
+
+
+
+
+
+
+ High Text
+
+
+
+ mm[Hg]
+
+
+
+
+ Test Range 1
+
+
+
+
+
+
+
+
+
+ Test systolic pressure text
+
+
+
+
+
+
+
+
+ Diastolic arterial pressure
+
+
+
+
+
+
+
+ Low Text
+
+
+
+ mm[Hg]
+
+
+
+
+ Test Range 2
+
+
+
+
+
+
+
+
+
+ Test diastolic pressure text
+
+
+
+
+
+
+
+ Systolic Measurement Absent: Unknown
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Some example text
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Drug Allergy - Apsrin
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ High
+
+
+
+
+ Test text 1
+
+
+
+
+ Age and sex based
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Filed Report
+
+
+
+
+
+
+
+
+
+ CommentType:LABORATORY RESULT COMMENT(E141)
+ CommentDate:20030221115000
+
+ Status: unknown
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Blood
+
+
+
+
+
+
+ CommentType:LAB SPECIMEN COMMENT(E271)
+ CommentDate:20030109000000
+
+ Received Date: 2003-01-09 13:54
+
+
+
+
+
+
+
+
+
+ Mocked code
+
+
+
+
+
+
+
+
+
+
+ Mocked code
+
+
+
+
+
+
+
+
+
+
+
+ CommentType:USER COMMENT
+ CommentDate:20100113
+
+ This is some random free text 1
+
+
+
+
+
+
+
+
+ CommentType:USER COMMENT
+ CommentDate:20100113
+
+
+ This is some random free text 2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CommentType:SUPER COMMENT
+ CommentDate:20220321163025
+
+ Looks like Covid
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CommentType:OTHER COMMENT
+ CommentDate:20220321162705
+
+ Or maybe not?
+
+
+
+
+
+
+
+
+ CommentType:USER COMMENT
+ CommentDate:20100223000000
+
+ This should not be a part of Battery Observation.comment
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Notes on the tired all the time entry
+
+
+
+
+
+
+
+ Comments - Aaaargh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Some example text
+
+
+
+
+
+
+ Record Attachment
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/gp2gp-translator/src/main/java/uk/nhs/adaptors/pss/translator/service/BundleMapperService.java b/gp2gp-translator/src/main/java/uk/nhs/adaptors/pss/translator/service/BundleMapperService.java
index feb87fa0f..e33a9aeb4 100644
--- a/gp2gp-translator/src/main/java/uk/nhs/adaptors/pss/translator/service/BundleMapperService.java
+++ b/gp2gp-translator/src/main/java/uk/nhs/adaptors/pss/translator/service/BundleMapperService.java
@@ -22,6 +22,8 @@
import org.hl7.fhir.dstu3.model.Patient;
import org.hl7.fhir.dstu3.model.ResourceType;
import org.hl7.v3.RCMRIN030000UK06Message;
+import org.hl7.v3.RCMRIN030000UK07Message;
+import org.hl7.v3.RCMRIN030000UKMessage;
import org.hl7.v3.RCMRMT030101UK04Component3;
import org.hl7.v3.RCMRMT030101UK04EhrExtract;
import org.hl7.v3.RCMRMT030101UK04EhrFolder;
@@ -87,7 +89,7 @@ public class BundleMapperService {
private final SpecimenMapper specimenMapper;
private final SpecimenCompoundsMapper specimenCompoundsMapper;
- public Bundle mapToBundle(RCMRIN030000UK06Message xmlMessage, String losingPracticeOdsCode,
+ public Bundle mapToBundle(RCMRIN030000UKMessage xmlMessage, String losingPracticeOdsCode,
List attachments) throws BundleMappingException {
try {
@@ -243,12 +245,30 @@ private Organization getPatientOrganization(List extends DomainResource> agent
.orElse(null);
}
- private RCMRMT030101UK04EhrFolder getEhrFolder(RCMRIN030000UK06Message xmlMessage) {
- return xmlMessage.getControlActEvent().getSubject().getEhrExtract().getComponent().get(0).getEhrFolder();
+ private RCMRMT030101UK04EhrFolder getEhrFolder(RCMRIN030000UKMessage xmlMessage) {
+ if (xmlMessage instanceof RCMRIN030000UK07Message) {
+ return ((RCMRIN030000UK07Message) xmlMessage).getControlActEvent()
+ .getSubject()
+ .getEhrExtract()
+ .getComponent()
+ .get(0)
+ .getEhrFolder();
+ } else {
+ return ((RCMRIN030000UK06Message) xmlMessage).getControlActEvent()
+ .getSubject()
+ .getEhrExtract()
+ .getComponent()
+ .get(0)
+ .getEhrFolder();
+ }
}
- private RCMRMT030101UK04EhrExtract getEhrExtract(RCMRIN030000UK06Message xmlMessage) {
- return xmlMessage.getControlActEvent().getSubject().getEhrExtract();
+ private RCMRMT030101UK04EhrExtract getEhrExtract(RCMRIN030000UKMessage xmlMessage) {
+ if (xmlMessage instanceof RCMRIN030000UK07Message) {
+ return ((RCMRIN030000UK07Message) xmlMessage).getControlActEvent().getSubject().getEhrExtract();
+ } else {
+ return ((RCMRIN030000UK06Message) xmlMessage).getControlActEvent().getSubject().getEhrExtract();
+ }
}
private void addEntries(Bundle bundle, Collection resources) {
diff --git a/gp2gp-translator/src/main/java/uk/nhs/adaptors/pss/translator/service/FailedProcessHandlingService.java b/gp2gp-translator/src/main/java/uk/nhs/adaptors/pss/translator/service/FailedProcessHandlingService.java
index 998802c6e..0b332d44f 100644
--- a/gp2gp-translator/src/main/java/uk/nhs/adaptors/pss/translator/service/FailedProcessHandlingService.java
+++ b/gp2gp-translator/src/main/java/uk/nhs/adaptors/pss/translator/service/FailedProcessHandlingService.java
@@ -25,7 +25,7 @@
import java.util.List;
import org.hl7.v3.COPCIN000001UK01Message;
-import org.hl7.v3.RCMRIN030000UK06Message;
+import org.hl7.v3.RCMRIN030000UKMessage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -83,9 +83,9 @@ public boolean hasProcessFailed(String conversationId) {
return FAILED_MIGRATION_STATUSES.contains(migrationStatus);
}
- public void handleFailedProcess(RCMRIN030000UK06Message ehrExtractMessage, String conversationId) {
+ public void handleFailedProcess(RCMRIN030000UKMessage ehrExtractMessage, String conversationId) {
LOGGER.info("Received EHR Extract [Message ID: {}] but the transfer process has already failed. "
- + "Responding with NACK for unexpected condition.", ehrExtractMessage.getId().getRoot());
+ + "Responding with NACK for unexpected condition.", ehrExtractMessage.getId().getRoot());
var nackMessageData = nackAckPreparationService
.prepareNackMessageData(UNEXPECTED_CONDITION, ehrExtractMessage, conversationId);
diff --git a/gp2gp-translator/src/main/java/uk/nhs/adaptors/pss/translator/service/NackAckPreparationService.java b/gp2gp-translator/src/main/java/uk/nhs/adaptors/pss/translator/service/NackAckPreparationService.java
index 6073cd0bc..44cf09326 100644
--- a/gp2gp-translator/src/main/java/uk/nhs/adaptors/pss/translator/service/NackAckPreparationService.java
+++ b/gp2gp-translator/src/main/java/uk/nhs/adaptors/pss/translator/service/NackAckPreparationService.java
@@ -5,6 +5,7 @@
import org.hl7.v3.COPCIN000001UK01Message;
import org.hl7.v3.RCMRIN030000UK06Message;
+import org.hl7.v3.RCMRIN030000UKMessage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -88,7 +89,7 @@ private ACKMessageData prepareAckMessageData(COPCIN000001UK01Message payload,
}
- public NACKMessageData prepareNackMessageData(NACKReason reason, RCMRIN030000UK06Message payload,
+ public NACKMessageData prepareNackMessageData(NACKReason reason, RCMRIN030000UKMessage payload,
String conversationId) {
String toOdsCode = XmlParseUtilService.parseToOdsCode(payload);
@@ -126,7 +127,7 @@ public NACKMessageData prepareNackMessageData(NACKReason reason, COPCIN000001UK0
.build();
}
- public boolean sendNackMessage(NACKReason reason, RCMRIN030000UK06Message payload, String conversationId) {
+ public boolean sendNackMessage(NACKReason reason, RCMRIN030000UKMessage payload, String conversationId) {
LOGGER.debug("Sending NACK message with acknowledgement code [{}] for message EHR Extract message [{}]", reason.getCode(),
payload.getId().getRoot());
diff --git a/gp2gp-translator/src/main/java/uk/nhs/adaptors/pss/translator/task/EhrExtractMessageHandler.java b/gp2gp-translator/src/main/java/uk/nhs/adaptors/pss/translator/task/EhrExtractMessageHandler.java
index 92ecd9860..6bbf0f5fc 100644
--- a/gp2gp-translator/src/main/java/uk/nhs/adaptors/pss/translator/task/EhrExtractMessageHandler.java
+++ b/gp2gp-translator/src/main/java/uk/nhs/adaptors/pss/translator/task/EhrExtractMessageHandler.java
@@ -6,7 +6,10 @@
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
+import org.hl7.fhir.dstu3.model.Bundle;
import org.hl7.v3.RCMRIN030000UK06Message;
+import org.hl7.v3.RCMRIN030000UK07Message;
+import org.hl7.v3.RCMRIN030000UKMessage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.w3c.dom.Document;
@@ -73,7 +76,7 @@ public class EhrExtractMessageHandler {
private static final String MESSAGE_ID_PATH = "/Envelope/Header/MessageHeader/MessageData/MessageId";
- public void handleMessage(InboundMessage inboundMessage, String conversationId)
+ public void handleMessage(InboundMessage inboundMessage, String conversationId, Class extends RCMRIN030000UKMessage> destinationClass)
throws
JAXBException,
JsonProcessingException,
@@ -83,7 +86,7 @@ public void handleMessage(InboundMessage inboundMessage, String conversationId)
ParseException,
SAXException, TransformerException, UnsupportedFileTypeException {
- RCMRIN030000UK06Message payload = unmarshallString(inboundMessage.getPayload(), RCMRIN030000UK06Message.class);
+ RCMRIN030000UKMessage payload = unmarshallString(inboundMessage.getPayload(), destinationClass);
PatientMigrationRequest migrationRequest = migrationRequestDao.getMigrationRequest(conversationId);
MigrationStatusLog migrationStatusLog = migrationStatusLogService.getLatestMigrationStatusLog(conversationId);
@@ -107,7 +110,8 @@ public void handleMessage(InboundMessage inboundMessage, String conversationId)
if (!hasExternalAttachment) {
// If there are no external attachments, process the entire message now
- processAndCompleteEHRMessage(inboundMessage, conversationId, skeletonCIDAttachmentLog, migrationRequest, messageId);
+ processAndCompleteEHRMessage(inboundMessage, conversationId, skeletonCIDAttachmentLog,
+ migrationRequest, messageId, destinationClass);
} else {
//process MID messages and send continue message if external messages exist
processExternalAttachmentsAndSendContinueMessage(inboundMessage,
@@ -165,7 +169,8 @@ private PatientAttachmentLog processInternalAttachmentsAndReturnSkeletonLog(Inbo
private void processAndCompleteEHRMessage(InboundMessage inboundMessage,
String conversationId, PatientAttachmentLog skeletonCIDAttachmentLog,
- PatientMigrationRequest migrationRequest, String messageId) throws JAXBException, TransformerException,
+ PatientMigrationRequest migrationRequest, String messageId, Class extends RCMRIN030000UKMessage> destinationClass)
+ throws JAXBException, TransformerException,
SAXException, AttachmentNotFoundException, InlineAttachmentProcessingException,
BundleMappingException, JsonProcessingException {
@@ -188,8 +193,14 @@ private void processAndCompleteEHRMessage(InboundMessage inboundMessage,
var attachments = patientAttachmentLogService.findAttachmentLogs(conversationId);
// now we have the transformed payload, lets create our bundle
- var payload = unmarshallString(inboundMessage.getPayload(), RCMRIN030000UK06Message.class);
- var bundle = bundleMapperService.mapToBundle(payload, migrationRequest.getLosingPracticeOdsCode(), attachments);
+ Bundle bundle = null;
+ RCMRIN030000UKMessage payload = null;
+ if (destinationClass.getCanonicalName().contains("RCMRIN030000UK07Message")) {
+ payload = unmarshallString(inboundMessage.getPayload(), RCMRIN030000UK07Message.class);
+ } else {
+ payload = unmarshallString(inboundMessage.getPayload(), RCMRIN030000UK06Message.class);
+ }
+ bundle = bundleMapperService.mapToBundle(payload, migrationRequest.getLosingPracticeOdsCode(), attachments);
// update the db migration request
migrationStatusLogService.updatePatientMigrationRequestAndAddMigrationStatusLog(
@@ -204,9 +215,12 @@ private void processAndCompleteEHRMessage(InboundMessage inboundMessage,
}
private void processExternalAttachmentsAndSendContinueMessage(InboundMessage inboundMessage,
- PatientMigrationRequest migrationRequest, MigrationStatusLog migrationStatusLog,
- RCMRIN030000UK06Message payload, String conversationId, String messageId)
- throws ParseException, JsonProcessingException {
+ PatientMigrationRequest migrationRequest,
+ MigrationStatusLog migrationStatusLog,
+ RCMRIN030000UKMessage payload,
+ String conversationId,
+ String messageId)
+ throws ParseException, JsonProcessingException {
for (InboundMessage.ExternalAttachment externalAttachment: inboundMessage.getExternalAttachments()) {
PatientAttachmentLog patientAttachmentLog;
@@ -302,7 +316,7 @@ private PatientAttachmentLog buildPatientAttachmentLogFromExternalAttachment(
}
public void sendContinueRequest(
- RCMRIN030000UK06Message payload,
+ RCMRIN030000UKMessage payload,
String conversationId,
String patientNhsNumber,
String winningPracticeOdsCode,
@@ -322,7 +336,7 @@ public void sendContinueRequest(
}
private ContinueRequestData prepareContinueRequestData(
- RCMRIN030000UK06Message payload,
+ RCMRIN030000UKMessage payload,
String conversationId,
String patientNhsNumber,
String winningPracticeOdsCode,
diff --git a/gp2gp-translator/src/main/java/uk/nhs/adaptors/pss/translator/task/MhsQueueMessageHandler.java b/gp2gp-translator/src/main/java/uk/nhs/adaptors/pss/translator/task/MhsQueueMessageHandler.java
index 5759d0c88..031e9a2e4 100644
--- a/gp2gp-translator/src/main/java/uk/nhs/adaptors/pss/translator/task/MhsQueueMessageHandler.java
+++ b/gp2gp-translator/src/main/java/uk/nhs/adaptors/pss/translator/task/MhsQueueMessageHandler.java
@@ -7,6 +7,8 @@
import javax.xml.bind.JAXBException;
import javax.xml.transform.TransformerException;
+import org.hl7.v3.RCMRIN030000UK06Message;
+import org.hl7.v3.RCMRIN030000UK07Message;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.w3c.dom.Document;
@@ -39,7 +41,8 @@
@Component
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
public class MhsQueueMessageHandler {
- private static final String EHR_EXTRACT_INTERACTION_ID = "RCMR_IN030000UK06";
+ private static final String EHR_EXTRACT_INTERACTION_ID06 = "RCMR_IN030000UK06";
+ private static final String EHR_EXTRACT_INTERACTION_ID07 = "RCMR_IN030000UK07";
private static final String ACKNOWLEDGEMENT_INTERACTION_ID = "MCCI_IN010000UK13";
private static final String CONTINUE_ATTACHMENT_INTERACTION_ID = "COPC_IN000001UK01";
private static final String CONVERSATION_ID_PATH = "/Envelope/Header/MessageHeader/ConversationId";
@@ -75,8 +78,10 @@ public boolean handleMessage(Message message) {
if (ACKNOWLEDGEMENT_INTERACTION_ID.equals(interactionId)) {
acknowledgmentMessageHandler.handleMessage(inboundMessage, conversationId);
- } else if (EHR_EXTRACT_INTERACTION_ID.equals(interactionId)) {
- ehrExtractMessageHandler.handleMessage(inboundMessage, conversationId);
+ } else if (EHR_EXTRACT_INTERACTION_ID06.equals(interactionId)) {
+ ehrExtractMessageHandler.handleMessage(inboundMessage, conversationId, RCMRIN030000UK06Message.class);
+ } else if (EHR_EXTRACT_INTERACTION_ID07.equals(interactionId)) {
+ ehrExtractMessageHandler.handleMessage(inboundMessage, conversationId, RCMRIN030000UK07Message.class);
} else if (CONTINUE_ATTACHMENT_INTERACTION_ID.equals(interactionId)) {
continueMessageHandler.handleMessage(inboundMessage, conversationId);
} else {
diff --git a/gp2gp-translator/src/main/java/uk/nhs/adaptors/pss/translator/util/ObservationUtil.java b/gp2gp-translator/src/main/java/uk/nhs/adaptors/pss/translator/util/ObservationUtil.java
index d18ad8388..af75e8f83 100644
--- a/gp2gp-translator/src/main/java/uk/nhs/adaptors/pss/translator/util/ObservationUtil.java
+++ b/gp2gp-translator/src/main/java/uk/nhs/adaptors/pss/translator/util/ObservationUtil.java
@@ -77,6 +77,7 @@ public static CodeableConcept getInterpretation(CV interpretationCode) {
public static List getReferenceRange(
List referenceRangeList) {
+
var outputReferenceRanges = new ArrayList();
for (RCMRMT030101UK04ReferenceRange referenceRange : referenceRangeList) {
diff --git a/gp2gp-translator/src/main/java/uk/nhs/adaptors/pss/translator/util/XmlParseUtilService.java b/gp2gp-translator/src/main/java/uk/nhs/adaptors/pss/translator/util/XmlParseUtilService.java
index b184fc724..066346d06 100644
--- a/gp2gp-translator/src/main/java/uk/nhs/adaptors/pss/translator/util/XmlParseUtilService.java
+++ b/gp2gp-translator/src/main/java/uk/nhs/adaptors/pss/translator/util/XmlParseUtilService.java
@@ -16,6 +16,8 @@
import org.hl7.v3.COPCIN000001UK01Message;
import org.hl7.v3.RCMRIN030000UK06Message;
+import org.hl7.v3.RCMRIN030000UK07Message;
+import org.hl7.v3.RCMRIN030000UKMessage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.w3c.dom.Document;
@@ -84,15 +86,26 @@ public static String parseContentType(String description) throws ParseException
throw new ParseException("Unable to parse ContentType", 0);
}
- public static String parseNhsNumber(RCMRIN030000UK06Message payload) {
- return payload
- .getControlActEvent()
- .getSubject()
- .getEhrExtract()
- .getRecordTarget()
- .getPatient()
- .getId()
- .getExtension();
+ public static String parseNhsNumber(RCMRIN030000UKMessage payload) {
+ if (payload instanceof RCMRIN030000UK06Message) {
+ return ((RCMRIN030000UK06Message) payload)
+ .getControlActEvent()
+ .getSubject()
+ .getEhrExtract()
+ .getRecordTarget()
+ .getPatient()
+ .getId()
+ .getExtension();
+ } else {
+ return ((RCMRIN030000UK07Message) payload)
+ .getControlActEvent()
+ .getSubject()
+ .getEhrExtract()
+ .getRecordTarget()
+ .getPatient()
+ .getId()
+ .getExtension();
+ }
}
public static String parseFilename(String description) throws ParseException {
@@ -185,16 +198,26 @@ public static String getFromPractiseValue(Element gp2gpElement) {
return null;
}
- public static String parseFromAsid(RCMRIN030000UK06Message payload) {
- return payload.getCommunicationFunctionRcv()
+ public static String parseFromAsid(RCMRIN030000UKMessage payload) {
+ if (payload instanceof RCMRIN030000UK06Message) {
+ return ((RCMRIN030000UK06Message) payload).getCommunicationFunctionRcv()
+ .get(0)
+ .getDevice()
+ .getId()
+ .get(0)
+ .getExtension();
+ } else {
+ return ((RCMRIN030000UK07Message) payload).getCommunicationFunctionRcv()
.get(0)
.getDevice()
.getId()
.get(0)
.getExtension();
+ }
+
}
- public static String parseToAsid(RCMRIN030000UK06Message payload) {
+ public static String parseToAsid(RCMRIN030000UKMessage payload) {
return payload.getCommunicationFunctionSnd()
.getDevice()
.getId()
@@ -202,8 +225,9 @@ public static String parseToAsid(RCMRIN030000UK06Message payload) {
.getExtension();
}
- public static String parseToOdsCode(RCMRIN030000UK06Message payload) {
- return payload.getControlActEvent()
+ public static String parseToOdsCode(RCMRIN030000UKMessage payload) {
+ if (payload instanceof RCMRIN030000UK07Message) {
+ return ((RCMRIN030000UK07Message) payload).getControlActEvent()
.getSubject()
.getEhrExtract()
.getAuthor()
@@ -211,9 +235,31 @@ public static String parseToOdsCode(RCMRIN030000UK06Message payload) {
.getAgentOrganizationSDS()
.getId()
.getExtension();
+ } else {
+ return ((RCMRIN030000UK06Message) payload)
+ .getControlActEvent()
+ .getSubject()
+ .getEhrExtract()
+ .getAuthor()
+ .getAgentOrgSDS()
+ .getAgentOrganizationSDS()
+ .getId()
+ .getExtension();
+ }
+ }
+
+ public static String parseToOdsCode(RCMRIN030000UK07Message payload) {
+ return payload.getControlActEvent()
+ .getSubject()
+ .getEhrExtract()
+ .getAuthor()
+ .getAgentOrgSDS()
+ .getAgentOrganizationSDS()
+ .getId()
+ .getExtension();
}
- public static String parseMessageRef(RCMRIN030000UK06Message payload) {
+ public static String parseMessageRef(RCMRIN030000UKMessage payload) {
return payload.getId().getRoot();
}
diff --git a/gp2gp-translator/src/test/java/uk/nhs/adaptors/pss/translator/task/EhrExtractMessageHandlerTest.java b/gp2gp-translator/src/test/java/uk/nhs/adaptors/pss/translator/task/EhrExtractMessageHandlerTest.java
index 31e13d50d..72c985434 100644
--- a/gp2gp-translator/src/test/java/uk/nhs/adaptors/pss/translator/task/EhrExtractMessageHandlerTest.java
+++ b/gp2gp-translator/src/test/java/uk/nhs/adaptors/pss/translator/task/EhrExtractMessageHandlerTest.java
@@ -155,7 +155,7 @@ public void When_HandleMessageWithValidDataIsCalled_Expect_CallsMigrationStatus
when(xPathService.getNodeValue(ebXmlDocument, "/Envelope/Header/MessageHeader/MessageData/MessageId"))
.thenReturn(MESSAGE_ID);
- ehrExtractMessageHandler.handleMessage(inboundMessage, CONVERSATION_ID);
+ ehrExtractMessageHandler.handleMessage(inboundMessage, CONVERSATION_ID, RCMRIN030000UK06Message.class);
verify(migrationStatusLogService).addMigrationStatusLog(EHR_EXTRACT_RECEIVED, CONVERSATION_ID, null);
@@ -186,7 +186,7 @@ public void When_HandleMessageWithValidDataIsCalled_Expect_CallsBundleMapperServ
when(xPathService.getNodeValue(ebXmlDocument, "/Envelope/Header/MessageHeader/MessageData/MessageId"))
.thenReturn("6E242658-3D8E-11E3-A7DC-172BDA00FA67");
- ehrExtractMessageHandler.handleMessage(inboundMessage, CONVERSATION_ID);
+ ehrExtractMessageHandler.handleMessage(inboundMessage, CONVERSATION_ID, RCMRIN030000UK06Message.class);
// mapped item is private to the class, so we cannot test an exact object
verify(bundleMapperService).mapToBundle(any(RCMRIN030000UK06Message.class), any(), any());
@@ -210,7 +210,7 @@ public void When_HandleMessageWithValidDataIsCalled_Expect_CallsAttachmentHandle
when(xPathService.getNodeValue(ebXmlDocument, "/Envelope/Header/MessageHeader/MessageData/MessageId"))
.thenReturn("6E242658-3D8E-11E3-A7DC-172BDA00FA67");
- ehrExtractMessageHandler.handleMessage(inboundMessage, CONVERSATION_ID);
+ ehrExtractMessageHandler.handleMessage(inboundMessage, CONVERSATION_ID, RCMRIN030000UK06Message.class);
verify(attachmentHandlerService).storeAttachments(inboundMessage.getAttachments(), CONVERSATION_ID);
}
@@ -233,7 +233,7 @@ public void When_HandleMessageWithValidDataIsCalled_Expect_CallsAttachmentRefere
when(xPathService.getNodeValue(ebXmlDocument, "/Envelope/Header/MessageHeader/MessageData/MessageId"))
.thenReturn("6E242658-3D8E-11E3-A7DC-172BDA00FA67");
- ehrExtractMessageHandler.handleMessage(inboundMessage, CONVERSATION_ID);
+ ehrExtractMessageHandler.handleMessage(inboundMessage, CONVERSATION_ID, RCMRIN030000UK06Message.class);
verify(attachmentReferenceUpdaterService).updateReferenceToAttachment(
inboundMessage.getAttachments(), CONVERSATION_ID, inboundMessage.getPayload());
@@ -273,7 +273,7 @@ public void When_HandleLargeMessageWithValidDataIsCalled_Expect_CallSendContinue
when(xPathService.getNodeValue(any(), eq(MESSAGE_ID_PATH))).thenReturn(MESSAGE_ID);
EhrExtractMessageHandler ehrExtractMessageHandlerSpy = Mockito.spy(ehrExtractMessageHandler);
- ehrExtractMessageHandlerSpy.handleMessage(inboundMessage, CONVERSATION_ID);
+ ehrExtractMessageHandlerSpy.handleMessage(inboundMessage, CONVERSATION_ID, RCMRIN030000UK06Message.class);
verify(ehrExtractMessageHandlerSpy).sendContinueRequest(
any(RCMRIN030000UK06Message.class),
@@ -304,7 +304,7 @@ public void When_HandleMessageWithValidDataIsCalled_Expect_CallsStatusLogService
when(xPathService.getNodeValue(ebXmlDocument, "/Envelope/Header/MessageHeader/MessageData/MessageId"))
.thenReturn(MESSAGE_ID);
- ehrExtractMessageHandler.handleMessage(inboundMessage, CONVERSATION_ID);
+ ehrExtractMessageHandler.handleMessage(inboundMessage, CONVERSATION_ID, RCMRIN030000UK06Message.class);
verify(migrationStatusLogService).updatePatientMigrationRequestAndAddMigrationStatusLog(
CONVERSATION_ID, BUNDLE_STRING, INBOUND_MESSAGE_STRING, EHR_EXTRACT_TRANSLATED, MESSAGE_ID);
@@ -332,7 +332,7 @@ public void When_HandleMessage_WithStoreAttachmentsThrows_Expect_InlineAttachmen
.when(attachmentHandlerService).storeAttachments(any(), any());
assertThrows(InlineAttachmentProcessingException.class, () ->
- ehrExtractMessageHandler.handleMessage(inboundMessage, CONVERSATION_ID));
+ ehrExtractMessageHandler.handleMessage(inboundMessage, CONVERSATION_ID, RCMRIN030000UK06Message.class));
}
@Test
@@ -357,7 +357,7 @@ public void When_HandleMessage_WithStorageExceptionCause_Expect_UnexpectedCondit
.when(attachmentHandlerService).storeAttachments(any(), any());
assertThrows(InlineAttachmentProcessingException.class, () ->
- ehrExtractMessageHandler.handleMessage(inboundMessage, CONVERSATION_ID));
+ ehrExtractMessageHandler.handleMessage(inboundMessage, CONVERSATION_ID, RCMRIN030000UK06Message.class));
verify(nackAckPreparationServiceMock, times(1))
.sendNackMessage(eq(UNEXPECTED_CONDITION), any(RCMRIN030000UK06Message.class), eq(CONVERSATION_ID));
@@ -385,7 +385,8 @@ public void When_HandleMessage_WithMapToBundleThrows_Expect_BundleMappingExcepti
doThrow(new BundleMappingException("Test Exception"))
.when(bundleMapperService).mapToBundle(any(RCMRIN030000UK06Message.class), any(), any());
- assertThrows(BundleMappingException.class, () -> ehrExtractMessageHandler.handleMessage(inboundMessage, CONVERSATION_ID));
+ assertThrows(BundleMappingException.class,
+ () -> ehrExtractMessageHandler.handleMessage(inboundMessage, CONVERSATION_ID, RCMRIN030000UK06Message.class));
}
@Test
@@ -412,7 +413,8 @@ public void When_HandleMessage_WithEncodeToJsonThrows_Expect_DataFormatException
doThrow(new DataFormatException()).when(fhirParser).encodeToJson(bundle);
- assertThrows(DataFormatException.class, () -> ehrExtractMessageHandler.handleMessage(inboundMessage, CONVERSATION_ID));
+ assertThrows(DataFormatException.class,
+ () -> ehrExtractMessageHandler.handleMessage(inboundMessage, CONVERSATION_ID, RCMRIN030000UK06Message.class));
}
@Test
@@ -443,7 +445,7 @@ public void When_HandleSingleMessageWithValidDataIsCalled_Expect_NotToCallSendCo
)).thenReturn(inboundMessage.getPayload());
EhrExtractMessageHandler ehrExtractMessageHandlerSpy = Mockito.spy(ehrExtractMessageHandler);
- ehrExtractMessageHandlerSpy.handleMessage(inboundMessage, CONVERSATION_ID);
+ ehrExtractMessageHandlerSpy.handleMessage(inboundMessage, CONVERSATION_ID, RCMRIN030000UK06Message.class);
verify(ehrExtractMessageHandlerSpy, times(0)).sendContinueRequest(
any(RCMRIN030000UK06Message.class),
@@ -491,7 +493,7 @@ public void When_HandleSingleMessageWithSkeletonAttachmentAndValidDataIsCalled_E
inboundMessage.getAttachments(), CONVERSATION_ID, inboundMessage.getPayload()
)).thenReturn(inboundMessage.getPayload());
- ehrExtractMessageHandler.handleMessage(inboundMessage, CONVERSATION_ID);
+ ehrExtractMessageHandler.handleMessage(inboundMessage, CONVERSATION_ID, RCMRIN030000UK06Message.class);
verify(skeletonProcessingService, times(1)).updateInboundMessageWithSkeleton(any(), any(), any());
}
@@ -506,8 +508,7 @@ public void When_HandleSingleMessageWithAFilenameDescription_Expect_PatientAttac
SAXException, TransformerException, UnsupportedFileTypeException {
InboundMessage inboundMessage = new InboundMessage();
- var attachment = new InboundMessage.Attachment("text/xml",
- "true", "test.txt", "abcdefghi");
+ var attachment = new InboundMessage.Attachment("text/xml", "true", "test.txt", "abcdefghi");
var attachmentList = new ArrayList();
attachmentList.add(attachment);
@@ -524,7 +525,7 @@ public void When_HandleSingleMessageWithAFilenameDescription_Expect_PatientAttac
inboundMessage.getAttachments(), CONVERSATION_ID, inboundMessage.getPayload()
)).thenReturn(inboundMessage.getPayload());
- ehrExtractMessageHandler.handleMessage(inboundMessage, CONVERSATION_ID);
+ ehrExtractMessageHandler.handleMessage(inboundMessage, CONVERSATION_ID, RCMRIN030000UK06Message.class);
verify(patientAttachmentLogService, times(1)).addAttachmentLog(patientAttachmentLogCaptor.capture());
PatientAttachmentLog log = patientAttachmentLogCaptor.getValue();
@@ -546,8 +547,8 @@ public void When_HandleSingleMessageWithAFilenameDescription_Expect_PatientAttac
@Test
public void When_HandleLargeMessageWithValidDataIsCalled_Expect_ItShouldNotTranslate()
throws JAXBException, BundleMappingException, AttachmentNotFoundException,
- ParseException, JsonProcessingException, InlineAttachmentProcessingException,
- SAXException, TransformerException, UnsupportedFileTypeException {
+ ParseException, JsonProcessingException, InlineAttachmentProcessingException,
+ SAXException, TransformerException, UnsupportedFileTypeException, InstantiationException, IllegalAccessException {
Bundle bundle = new Bundle();
bundle.setId("Test");
@@ -569,7 +570,7 @@ public void When_HandleLargeMessageWithValidDataIsCalled_Expect_ItShouldNotTrans
prepareMigrationRequestAndMigrationStatusMocks();
- ehrExtractMessageHandler.handleMessage(inboundMessage, CONVERSATION_ID);
+ ehrExtractMessageHandler.handleMessage(inboundMessage, CONVERSATION_ID, RCMRIN030000UK06Message.class);
verify(bundleMapperService, times(0)).mapToBundle(any(), any(), any());
}
@@ -631,7 +632,7 @@ public void When_HandleLargeMessageWithValidDataIsCalled_Expect_AddAttachmentExa
prepareMigrationRequestAndMigrationStatusMocks();
- ehrExtractMessageHandler.handleMessage(inboundMessage, CONVERSATION_ID);
+ ehrExtractMessageHandler.handleMessage(inboundMessage, CONVERSATION_ID, RCMRIN030000UK06Message.class);
verify(patientAttachmentLogService, times(externalAttachmentsTestList.size())).addAttachmentLog(any());
}
@@ -661,7 +662,7 @@ public void When_HandleMessage_WithWebClientRequestException_Expect_ExceptionThr
doThrow(WebClientRequestException.class)
.when(sendContinueRequestHandler).prepareAndSendRequest(any());
- assertThatThrownBy(() -> ehrExtractMessageHandler.handleMessage(inboundMessage, CONVERSATION_ID))
+ assertThatThrownBy(() -> ehrExtractMessageHandler.handleMessage(inboundMessage, CONVERSATION_ID, RCMRIN030000UK06Message.class))
.isInstanceOf(WebClientRequestException.class);
}
@Test
@@ -690,7 +691,7 @@ public void When_HandleMessage_WithConnectionException_Expect_ExceptionThrown()
doThrow(ConnectionException.class)
.when(sendContinueRequestHandler).prepareAndSendRequest(any());
- assertThatThrownBy(() -> ehrExtractMessageHandler.handleMessage(inboundMessage, CONVERSATION_ID))
+ assertThatThrownBy(() -> ehrExtractMessageHandler.handleMessage(inboundMessage, CONVERSATION_ID, RCMRIN030000UK06Message.class))
.isInstanceOf(ConnectionException.class);
}
@@ -721,7 +722,7 @@ public void When_HandleMessage_WithMhsServerErrorException_Expect_MigrationFaile
doThrow(MhsServerErrorException.class)
.when(sendContinueRequestHandler).prepareAndSendRequest(any());
- assertThatThrownBy(() -> ehrExtractMessageHandler.handleMessage(inboundMessage, CONVERSATION_ID))
+ assertThatThrownBy(() -> ehrExtractMessageHandler.handleMessage(inboundMessage, CONVERSATION_ID, RCMRIN030000UK06Message.class))
.isInstanceOf(MhsServerErrorException.class);
verify(nackAckPreparationServiceMock).sendNackMessage(eq(UNEXPECTED_CONDITION), any(RCMRIN030000UK06Message.class), anyString());
@@ -757,22 +758,25 @@ public void When_HandleMessage_WithDuplicateMessage_Expect_AttachmentIsNotLogged
.thenReturn(null)
.thenReturn(patientAttachmentLog);
- ehrExtractMessageHandler.handleMessage(inboundMessage, CONVERSATION_ID);
- ehrExtractMessageHandler.handleMessage(inboundMessage, CONVERSATION_ID);
+ ehrExtractMessageHandler.handleMessage(inboundMessage, CONVERSATION_ID, RCMRIN030000UK06Message.class);
+ ehrExtractMessageHandler.handleMessage(inboundMessage, CONVERSATION_ID, RCMRIN030000UK06Message.class);
verify(patientAttachmentLogService, times(1)).addAttachmentLog(any());
}
@Test
@SneakyThrows
- public void When_HandleMessage_With_ProcessHasFailed_Expect_FailureHandled() {
+ public void When_HandleMessage_With_ProcessHasFailed_Expect_FailureHandled()
+ throws AttachmentNotFoundException, JAXBException, UnsupportedFileTypeException, BundleMappingException, ParseException,
+ JsonProcessingException, TransformerException, SAXException {
+
when(failedProcessHandlingService.hasProcessFailed(CONVERSATION_ID))
.thenReturn(true);
InboundMessage inboundMessage = new InboundMessage();
inboundMessage.setPayload(readInboundMessagePayloadFromFile());
- ehrExtractMessageHandler.handleMessage(inboundMessage, CONVERSATION_ID);
+ ehrExtractMessageHandler.handleMessage(inboundMessage, CONVERSATION_ID, RCMRIN030000UK06Message.class);
verify(failedProcessHandlingService, times(1))
.handleFailedProcess(any(RCMRIN030000UK06Message.class), eq(CONVERSATION_ID));
@@ -782,7 +786,7 @@ public void When_HandleMessage_With_ProcessHasFailed_Expect_FailureHandled() {
}
@SneakyThrows
- private void prepareMocks(InboundMessage inboundMessage) {
+ private void prepareMocks(InboundMessage inboundMessage) throws BundleMappingException {
inboundMessage.setPayload("payload");
Bundle bundle = new Bundle();
bundle.setId("Test");
diff --git a/gp2gp-translator/src/test/java/uk/nhs/adaptors/pss/translator/task/MhsQueueMessageHandlerTest.java b/gp2gp-translator/src/test/java/uk/nhs/adaptors/pss/translator/task/MhsQueueMessageHandlerTest.java
index a91d8065a..21b2e6fea 100644
--- a/gp2gp-translator/src/test/java/uk/nhs/adaptors/pss/translator/task/MhsQueueMessageHandlerTest.java
+++ b/gp2gp-translator/src/test/java/uk/nhs/adaptors/pss/translator/task/MhsQueueMessageHandlerTest.java
@@ -21,6 +21,7 @@
import javax.xml.bind.JAXBException;
import javax.xml.transform.TransformerException;
+import org.hl7.v3.RCMRIN030000UK06Message;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.InjectMocks;
@@ -115,7 +116,7 @@ public void handleEhrExtractMessageWithoutErrorsShouldReturnTrue()
assertTrue(result);
verify(mdcService).applyConversationId(CONVERSATION_ID_UPPER);
- verify(ehrExtractMessageHandler).handleMessage(inboundMessage, CONVERSATION_ID_UPPER);
+ verify(ehrExtractMessageHandler).handleMessage(inboundMessage, CONVERSATION_ID_UPPER, RCMRIN030000UK06Message.class);
verifyNoInteractions(acknowledgmentMessageHandler);
}
@@ -134,7 +135,7 @@ public void handleEhrExtractMessageWhenEhrExtractMessageHandlerThrowsErrorShould
prepareMocks(EHR_EXTRACT_INTERACTION_ID);
when(migrationRequestService.hasMigrationRequest(any())).thenReturn(true);
doThrow(new JAXBException("Nobody expects the spanish inquisition!"))
- .when(ehrExtractMessageHandler).handleMessage(inboundMessage, CONVERSATION_ID_UPPER);
+ .when(ehrExtractMessageHandler).handleMessage(inboundMessage, CONVERSATION_ID_UPPER, RCMRIN030000UK06Message.class);
boolean result = mhsQueueMessageHandler.handleMessage(message);
@@ -158,7 +159,7 @@ public void handleEhrExtractMessageWhenEhrExtractMessageHandlerThrowsErrorShould
prepareMocks(EHR_EXTRACT_INTERACTION_ID);
when(migrationRequestService.hasMigrationRequest(any())).thenReturn(true);
doThrow(new JAXBException("Nobody expects the spanish inquisition!"))
- .when(ehrExtractMessageHandler).handleMessage(inboundMessage, CONVERSATION_ID_UPPER);
+ .when(ehrExtractMessageHandler).handleMessage(inboundMessage, CONVERSATION_ID_UPPER, RCMRIN030000UK06Message.class);
boolean result = mhsQueueMessageHandler.handleMessage(message);
diff --git a/schema/src/main/java/org/hl7/v3/ObjectFactory.java b/schema/src/main/java/org/hl7/v3/ObjectFactory.java
index cfd5abdb2..e74233ebe 100644
--- a/schema/src/main/java/org/hl7/v3/ObjectFactory.java
+++ b/schema/src/main/java/org/hl7/v3/ObjectFactory.java
@@ -28,6 +28,7 @@ public class ObjectFactory {
private final static QName _EhrExtract_QNAME = new QName("urn:hl7-org:v3", "EhrExtract");
private final static QName _Message_QNAME = new QName("urn:hl7-org:v3", "Message");
private final static QName _RCMRIN030000UK06_QNAME = new QName("urn:hl7-org:v3", "RCMR_IN030000UK06");
+ private final static QName _RCMRIN030000UK07_QNAME = new QName("urn:hl7-org:v3", "RCMR_IN030000UK07");
private final static QName _COPCIN000001UK01_QNAME = new QName("urn:hl7-org:v3", "COPC_IN000001UK01");
private final static QName _IVLINTLow_QNAME = new QName("urn:hl7-org:v3", "low");
private final static QName _IVLINTHigh_QNAME = new QName("urn:hl7-org:v3", "high");
@@ -1840,6 +1841,11 @@ public JAXBElement createRCMRIN030000UK06(RCMRIN030000U
return new JAXBElement(_RCMRIN030000UK06_QNAME, RCMRIN030000UK06Message.class, null, value);
}
+ @XmlElementDecl(namespace = "urn:hl7-org:v3", name = "RCMR_IN030000UK07")
+ public JAXBElement createRCMRIN030000UK07(RCMRIN030000UK07Message value) {
+ return new JAXBElement(_RCMRIN030000UK07_QNAME, RCMRIN030000UK07Message.class, null, value);
+ }
+
/**
* Create an instance of {@link JAXBElement }{@code <}{@link COPCIN000001UK01Message }{@code >}
*
diff --git a/schema/src/main/java/org/hl7/v3/RCMRIN030000UK06Message.java b/schema/src/main/java/org/hl7/v3/RCMRIN030000UK06Message.java
index 69a028c5f..494377b78 100644
--- a/schema/src/main/java/org/hl7/v3/RCMRIN030000UK06Message.java
+++ b/schema/src/main/java/org/hl7/v3/RCMRIN030000UK06Message.java
@@ -65,7 +65,7 @@
"communicationFunctionSnd",
"controlActEvent"
})
-public class RCMRIN030000UK06Message {
+public class RCMRIN030000UK06Message implements RCMRIN030000UKMessage {
@XmlElement(required = true)
protected II id;
diff --git a/schema/src/main/java/org/hl7/v3/RCMRIN030000UK07ControlActEvent.java b/schema/src/main/java/org/hl7/v3/RCMRIN030000UK07ControlActEvent.java
new file mode 100644
index 000000000..8ea4888da
--- /dev/null
+++ b/schema/src/main/java/org/hl7/v3/RCMRIN030000UK07ControlActEvent.java
@@ -0,0 +1,355 @@
+
+package org.hl7.v3;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+
+
+/**
+ * <p>Java class for RCMR_IN030000UK06.ControlActEvent complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType name="RCMR_IN030000UK06.ControlActEvent">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="author" type="{urn:hl7-org:v3}MCAI_MT040101UK03.Author" minOccurs="0"/>
+ * <element name="author1" type="{urn:hl7-org:v3}MCAI_MT040101UK03.Author2" maxOccurs="2"/>
+ * <element name="reason" type="{urn:hl7-org:v3}MCAI_MT040101UK03.Reason" maxOccurs="unbounded" minOccurs="0"/>
+ * <element name="subject" type="{urn:hl7-org:v3}RCMR_IN030000UK06.Subject"/>
+ * </sequence>
+ * <attribute name="type" type="{urn:hl7-org:v3}Classes" default="ControlAct" />
+ * <attribute name="classCode" type="{urn:hl7-org:v3}ActClass" default="CACT" />
+ * <attribute name="moodCode" type="{urn:hl7-org:v3}ActMood" default="EVN" />
+ * <attribute name="typeID">
+ * <simpleType>
+ * <list itemType="{urn:hl7-org:v3}oid" />
+ * </simpleType>
+ * </attribute>
+ * <attribute name="realmCode">
+ * <simpleType>
+ * <list itemType="{urn:hl7-org:v3}cs" />
+ * </simpleType>
+ * </attribute>
+ * <attribute name="nullFlavor" type="{urn:hl7-org:v3}cs" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "RCMR_IN030000UK07.ControlActEvent", propOrder = {
+ "author",
+ "author1",
+ "reason",
+ "subject"
+})
+public class RCMRIN030000UK07ControlActEvent {
+
+ protected MCAIMT040101UK03Author author;
+ @XmlElement(required = true)
+ protected List author1;
+ protected List reason;
+ @XmlElement(required = true)
+ protected RCMRIN030000UK07Subject subject;
+ @XmlAttribute(name = "type")
+ @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+ protected String type;
+ @XmlAttribute(name = "classCode")
+ protected List classCode;
+ @XmlAttribute(name = "moodCode")
+ protected List moodCode;
+ @XmlAttribute(name = "typeID")
+ protected List typeID;
+ @XmlAttribute(name = "realmCode")
+ protected List realmCode;
+ @XmlAttribute(name = "nullFlavor")
+ @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+ protected String nullFlavor;
+
+ /**
+ * Gets the value of the author property.
+ *
+ * @return
+ * possible object is
+ * {@link MCAIMT040101UK03Author }
+ *
+ */
+ public MCAIMT040101UK03Author getAuthor() {
+ return author;
+ }
+
+ /**
+ * Sets the value of the author property.
+ *
+ * @param value
+ * allowed object is
+ * {@link MCAIMT040101UK03Author }
+ *
+ */
+ public void setAuthor(MCAIMT040101UK03Author value) {
+ this.author = value;
+ }
+
+ /**
+ * Gets the value of the author1 property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the author1 property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getAuthor1().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link MCAIMT040101UK03Author2 }
+ *
+ *
+ */
+ public List getAuthor1() {
+ if (author1 == null) {
+ author1 = new ArrayList();
+ }
+ return this.author1;
+ }
+
+ /**
+ * Gets the value of the reason property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the reason property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getReason().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link MCAIMT040101UK03Reason }
+ *
+ *
+ */
+ public List getReason() {
+ if (reason == null) {
+ reason = new ArrayList();
+ }
+ return this.reason;
+ }
+
+ /**
+ * Gets the value of the subject property.
+ *
+ * @return
+ * possible object is
+ * {@link RCMRIN030000UK07Subject }
+ *
+ */
+ public RCMRIN030000UK07Subject getSubject() {
+ return subject;
+ }
+
+ /**
+ * Sets the value of the subject property.
+ *
+ * @param value
+ * allowed object is
+ * {@link RCMRIN030000UK07Subject }
+ *
+ */
+ public void setSubject(RCMRIN030000UK07Subject value) {
+ this.subject = value;
+ }
+
+ /**
+ * Gets the value of the type property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getType() {
+ if (type == null) {
+ return "ControlAct";
+ } else {
+ return type;
+ }
+ }
+
+ /**
+ * Sets the value of the type property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setType(String value) {
+ this.type = value;
+ }
+
+ /**
+ * Gets the value of the classCode property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the classCode property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getClassCode().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link String }
+ *
+ *
+ */
+ public List getClassCode() {
+ if (classCode == null) {
+ classCode = new ArrayList();
+ }
+ return this.classCode;
+ }
+
+ /**
+ * Gets the value of the moodCode property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the moodCode property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getMoodCode().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link String }
+ *
+ *
+ */
+ public List getMoodCode() {
+ if (moodCode == null) {
+ moodCode = new ArrayList();
+ }
+ return this.moodCode;
+ }
+
+ /**
+ * Gets the value of the typeID property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the typeID property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getTypeID().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link String }
+ *
+ *
+ */
+ public List getTypeID() {
+ if (typeID == null) {
+ typeID = new ArrayList();
+ }
+ return this.typeID;
+ }
+
+ /**
+ * Gets the value of the realmCode property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the realmCode property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getRealmCode().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link String }
+ *
+ *
+ */
+ public List getRealmCode() {
+ if (realmCode == null) {
+ realmCode = new ArrayList();
+ }
+ return this.realmCode;
+ }
+
+ /**
+ * Gets the value of the nullFlavor property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getNullFlavor() {
+ return nullFlavor;
+ }
+
+ /**
+ * Sets the value of the nullFlavor property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setNullFlavor(String value) {
+ this.nullFlavor = value;
+ }
+
+}
diff --git a/schema/src/main/java/org/hl7/v3/RCMRIN030000UK07Message.java b/schema/src/main/java/org/hl7/v3/RCMRIN030000UK07Message.java
new file mode 100644
index 000000000..897f9e223
--- /dev/null
+++ b/schema/src/main/java/org/hl7/v3/RCMRIN030000UK07Message.java
@@ -0,0 +1,456 @@
+
+package org.hl7.v3;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+
+
+/**
+ * <p>Java class for RCMR_IN030000UK06.Message complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType name="RCMR_IN030000UK06.Message">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="id" type="{urn:hl7-org:v3}II"/>
+ * <element name="creationTime" type="{urn:hl7-org:v3}TS"/>
+ * <element name="versionCode" type="{urn:hl7-org:v3}CS"/>
+ * <element name="interactionId" type="{urn:hl7-org:v3}II"/>
+ * <element name="processingCode" type="{urn:hl7-org:v3}CS"/>
+ * <element name="processingModeCode" type="{urn:hl7-org:v3}CS"/>
+ * <element name="acceptAckCode" type="{urn:hl7-org:v3}CS"/>
+ * <element name="communicationFunctionRcv" type="{urn:hl7-org:v3}MCCI_MT010101UK12.CommunicationFunctionRcv" maxOccurs="unbounded"/>
+ * <element name="communicationFunctionSnd" type="{urn:hl7-org:v3}MCCI_MT010101UK12.CommunicationFunctionSnd"/>
+ * <element name="ControlActEvent" type="{urn:hl7-org:v3}RCMR_IN030000UK06.ControlActEvent"/>
+ * </sequence>
+ * <attribute name="type" type="{urn:hl7-org:v3}Classes" default="Message" />
+ * <attribute name="typeID">
+ * <simpleType>
+ * <list itemType="{urn:hl7-org:v3}oid" />
+ * </simpleType>
+ * </attribute>
+ * <attribute name="realmCode">
+ * <simpleType>
+ * <list itemType="{urn:hl7-org:v3}cs" />
+ * </simpleType>
+ * </attribute>
+ * <attribute name="nullFlavor" type="{urn:hl7-org:v3}cs" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "RCMR_IN030000UK07.Message", propOrder = {
+ "id",
+ "creationTime",
+ "versionCode",
+ "interactionId",
+ "processingCode",
+ "processingModeCode",
+ "acceptAckCode",
+ "communicationFunctionRcv",
+ "communicationFunctionSnd",
+ "controlActEvent"
+})
+public class RCMRIN030000UK07Message implements RCMRIN030000UKMessage {
+
+ @XmlElement(required = true)
+ protected II id;
+ @XmlElement(required = true)
+ protected TS creationTime;
+ @XmlElement(required = true)
+ protected CS versionCode;
+ @XmlElement(required = true)
+ protected II interactionId;
+ @XmlElement(required = true)
+ protected CS processingCode;
+ @XmlElement(required = true)
+ protected CS processingModeCode;
+ @XmlElement(required = true)
+ protected CS acceptAckCode;
+ @XmlElement(required = true)
+ protected List communicationFunctionRcv;
+ @XmlElement(required = true)
+ protected MCCIMT010101UK12CommunicationFunctionSnd communicationFunctionSnd;
+ @XmlElement(name = "ControlActEvent", required = true)
+ protected RCMRIN030000UK07ControlActEvent controlActEvent;
+ @XmlAttribute(name = "type")
+ @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+ protected String type;
+ @XmlAttribute(name = "typeID")
+ protected List typeID;
+ @XmlAttribute(name = "realmCode")
+ protected List realmCode;
+ @XmlAttribute(name = "nullFlavor")
+ @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+ protected String nullFlavor;
+
+ /**
+ * Gets the value of the id property.
+ *
+ * @return
+ * possible object is
+ * {@link II }
+ *
+ */
+ public II getId() {
+ return id;
+ }
+
+ /**
+ * Sets the value of the id property.
+ *
+ * @param value
+ * allowed object is
+ * {@link II }
+ *
+ */
+ public void setId(II value) {
+ this.id = value;
+ }
+
+ /**
+ * Gets the value of the creationTime property.
+ *
+ * @return
+ * possible object is
+ * {@link TS }
+ *
+ */
+ public TS getCreationTime() {
+ return creationTime;
+ }
+
+ /**
+ * Sets the value of the creationTime property.
+ *
+ * @param value
+ * allowed object is
+ * {@link TS }
+ *
+ */
+ public void setCreationTime(TS value) {
+ this.creationTime = value;
+ }
+
+ /**
+ * Gets the value of the versionCode property.
+ *
+ * @return
+ * possible object is
+ * {@link CS }
+ *
+ */
+ public CS getVersionCode() {
+ return versionCode;
+ }
+
+ /**
+ * Sets the value of the versionCode property.
+ *
+ * @param value
+ * allowed object is
+ * {@link CS }
+ *
+ */
+ public void setVersionCode(CS value) {
+ this.versionCode = value;
+ }
+
+ /**
+ * Gets the value of the interactionId property.
+ *
+ * @return
+ * possible object is
+ * {@link II }
+ *
+ */
+ public II getInteractionId() {
+ return interactionId;
+ }
+
+ /**
+ * Sets the value of the interactionId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link II }
+ *
+ */
+ public void setInteractionId(II value) {
+ this.interactionId = value;
+ }
+
+ /**
+ * Gets the value of the processingCode property.
+ *
+ * @return
+ * possible object is
+ * {@link CS }
+ *
+ */
+ public CS getProcessingCode() {
+ return processingCode;
+ }
+
+ /**
+ * Sets the value of the processingCode property.
+ *
+ * @param value
+ * allowed object is
+ * {@link CS }
+ *
+ */
+ public void setProcessingCode(CS value) {
+ this.processingCode = value;
+ }
+
+ /**
+ * Gets the value of the processingModeCode property.
+ *
+ * @return
+ * possible object is
+ * {@link CS }
+ *
+ */
+ public CS getProcessingModeCode() {
+ return processingModeCode;
+ }
+
+ /**
+ * Sets the value of the processingModeCode property.
+ *
+ * @param value
+ * allowed object is
+ * {@link CS }
+ *
+ */
+ public void setProcessingModeCode(CS value) {
+ this.processingModeCode = value;
+ }
+
+ /**
+ * Gets the value of the acceptAckCode property.
+ *
+ * @return
+ * possible object is
+ * {@link CS }
+ *
+ */
+ public CS getAcceptAckCode() {
+ return acceptAckCode;
+ }
+
+ /**
+ * Sets the value of the acceptAckCode property.
+ *
+ * @param value
+ * allowed object is
+ * {@link CS }
+ *
+ */
+ public void setAcceptAckCode(CS value) {
+ this.acceptAckCode = value;
+ }
+
+ /**
+ * Gets the value of the communicationFunctionRcv property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the communicationFunctionRcv property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getCommunicationFunctionRcv().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link MCCIMT010101UK12CommunicationFunctionRcv }
+ *
+ *
+ */
+ public List getCommunicationFunctionRcv() {
+ if (communicationFunctionRcv == null) {
+ communicationFunctionRcv = new ArrayList();
+ }
+ return this.communicationFunctionRcv;
+ }
+
+ /**
+ * Gets the value of the communicationFunctionSnd property.
+ *
+ * @return
+ * possible object is
+ * {@link MCCIMT010101UK12CommunicationFunctionSnd }
+ *
+ */
+ public MCCIMT010101UK12CommunicationFunctionSnd getCommunicationFunctionSnd() {
+ return communicationFunctionSnd;
+ }
+
+ /**
+ * Sets the value of the communicationFunctionSnd property.
+ *
+ * @param value
+ * allowed object is
+ * {@link MCCIMT010101UK12CommunicationFunctionSnd }
+ *
+ */
+ public void setCommunicationFunctionSnd(MCCIMT010101UK12CommunicationFunctionSnd value) {
+ this.communicationFunctionSnd = value;
+ }
+
+ /**
+ * Gets the value of the controlActEvent property.
+ *
+ * @return
+ * possible object is
+ * {@link RCMRIN030000UK06ControlActEvent }
+ *
+ */
+ public RCMRIN030000UK07ControlActEvent getControlActEvent() {
+ return controlActEvent;
+ }
+
+ /**
+ * Sets the value of the controlActEvent property.
+ *
+ * @param value
+ * allowed object is
+ * {@link RCMRIN030000UK07ControlActEvent }
+ *
+ */
+ public void setControlActEvent(RCMRIN030000UK07ControlActEvent value) {
+ this.controlActEvent = value;
+ }
+
+ /**
+ * Gets the value of the type property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getType() {
+ if (type == null) {
+ return "Message";
+ } else {
+ return type;
+ }
+ }
+
+ /**
+ * Sets the value of the type property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setType(String value) {
+ this.type = value;
+ }
+
+ /**
+ * Gets the value of the typeID property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the typeID property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getTypeID().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link String }
+ *
+ *
+ */
+ public List getTypeID() {
+ if (typeID == null) {
+ typeID = new ArrayList();
+ }
+ return this.typeID;
+ }
+
+ /**
+ * Gets the value of the realmCode property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the realmCode property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getRealmCode().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link String }
+ *
+ *
+ */
+ public List getRealmCode() {
+ if (realmCode == null) {
+ realmCode = new ArrayList();
+ }
+ return this.realmCode;
+ }
+
+ /**
+ * Gets the value of the nullFlavor property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getNullFlavor() {
+ return nullFlavor;
+ }
+
+ /**
+ * Sets the value of the nullFlavor property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setNullFlavor(String value) {
+ this.nullFlavor = value;
+ }
+
+}
diff --git a/schema/src/main/java/org/hl7/v3/RCMRIN030000UK07Subject.java b/schema/src/main/java/org/hl7/v3/RCMRIN030000UK07Subject.java
new file mode 100644
index 000000000..87ace0625
--- /dev/null
+++ b/schema/src/main/java/org/hl7/v3/RCMRIN030000UK07Subject.java
@@ -0,0 +1,262 @@
+
+package org.hl7.v3;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+
+
+/**
+ * <p>Java class for RCMR_IN030000UK06.Subject complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType name="RCMR_IN030000UK06.Subject">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="EhrExtract" type="{urn:hl7-org:v3}RCMR_MT030101UK04.EhrExtract"/>
+ * </sequence>
+ * <attribute name="type" type="{urn:hl7-org:v3}Classes" default="ActRelationship" />
+ * <attribute name="typeCode" type="{urn:hl7-org:v3}ActRelationshipType" default="SUBJ" />
+ * <attribute name="contextConductionInd" type="{urn:hl7-org:v3}bl" default="false" />
+ * <attribute name="typeID">
+ * <simpleType>
+ * <list itemType="{urn:hl7-org:v3}oid" />
+ * </simpleType>
+ * </attribute>
+ * <attribute name="realmCode">
+ * <simpleType>
+ * <list itemType="{urn:hl7-org:v3}cs" />
+ * </simpleType>
+ * </attribute>
+ * <attribute name="nullFlavor" type="{urn:hl7-org:v3}cs" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "RCMR_IN030000UK07.Subject", propOrder = {
+ "ehrExtract"
+})
+public class RCMRIN030000UK07Subject {
+
+ @XmlElement(name = "EhrExtract", required = true)
+ protected RCMRMT030101UK04EhrExtract ehrExtract;
+ @XmlAttribute(name = "type")
+ @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+ protected String type;
+ @XmlAttribute(name = "typeCode")
+ protected List typeCode;
+ @XmlAttribute(name = "contextConductionInd")
+ protected Boolean contextConductionInd;
+ @XmlAttribute(name = "typeID")
+ protected List typeID;
+ @XmlAttribute(name = "realmCode")
+ protected List realmCode;
+ @XmlAttribute(name = "nullFlavor")
+ @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+ protected String nullFlavor;
+
+ /**
+ * Gets the value of the ehrExtract property.
+ *
+ * @return
+ * possible object is
+ * {@link RCMRMT030101UK04EhrExtract }
+ *
+ */
+ public RCMRMT030101UK04EhrExtract getEhrExtract() {
+ return ehrExtract;
+ }
+
+ /**
+ * Sets the value of the ehrExtract property.
+ *
+ * @param value
+ * allowed object is
+ * {@link RCMRMT030101UK04EhrExtract }
+ *
+ */
+ public void setEhrExtract(RCMRMT030101UK04EhrExtract value) {
+ this.ehrExtract = value;
+ }
+
+ /**
+ * Gets the value of the type property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getType() {
+ if (type == null) {
+ return "ActRelationship";
+ } else {
+ return type;
+ }
+ }
+
+ /**
+ * Sets the value of the type property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setType(String value) {
+ this.type = value;
+ }
+
+ /**
+ * Gets the value of the typeCode property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the typeCode property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getTypeCode().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link String }
+ *
+ *
+ */
+ public List getTypeCode() {
+ if (typeCode == null) {
+ typeCode = new ArrayList();
+ }
+ return this.typeCode;
+ }
+
+ /**
+ * Gets the value of the contextConductionInd property.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public boolean isContextConductionInd() {
+ if (contextConductionInd == null) {
+ return false;
+ } else {
+ return contextConductionInd;
+ }
+ }
+
+ /**
+ * Sets the value of the contextConductionInd property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setContextConductionInd(Boolean value) {
+ this.contextConductionInd = value;
+ }
+
+ /**
+ * Gets the value of the typeID property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the typeID property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getTypeID().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link String }
+ *
+ *
+ */
+ public List getTypeID() {
+ if (typeID == null) {
+ typeID = new ArrayList();
+ }
+ return this.typeID;
+ }
+
+ /**
+ * Gets the value of the realmCode property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the realmCode property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getRealmCode().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link String }
+ *
+ *
+ */
+ public List getRealmCode() {
+ if (realmCode == null) {
+ realmCode = new ArrayList();
+ }
+ return this.realmCode;
+ }
+
+ /**
+ * Gets the value of the nullFlavor property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getNullFlavor() {
+ return nullFlavor;
+ }
+
+ /**
+ * Sets the value of the nullFlavor property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setNullFlavor(String value) {
+ this.nullFlavor = value;
+ }
+
+}
diff --git a/schema/src/main/java/org/hl7/v3/RCMRIN030000UKMessage.java b/schema/src/main/java/org/hl7/v3/RCMRIN030000UKMessage.java
new file mode 100644
index 000000000..6f74b14ab
--- /dev/null
+++ b/schema/src/main/java/org/hl7/v3/RCMRIN030000UKMessage.java
@@ -0,0 +1,10 @@
+package org.hl7.v3;
+
+import java.util.Map;
+
+public interface RCMRIN030000UKMessage {
+ II getId();
+
+ MCCIMT010101UK12CommunicationFunctionSnd getCommunicationFunctionSnd();
+
+}
diff --git a/schema/src/main/java/org/hl7/v3/RCMRMT030101UK04EhrFolder.java b/schema/src/main/java/org/hl7/v3/RCMRMT030101UK04EhrFolder.java
index f78276636..9acb1b6fd 100644
--- a/schema/src/main/java/org/hl7/v3/RCMRMT030101UK04EhrFolder.java
+++ b/schema/src/main/java/org/hl7/v3/RCMRMT030101UK04EhrFolder.java
@@ -71,7 +71,7 @@ public class RCMRMT030101UK04EhrFolder {
protected IVLTS effectiveTime;
@XmlElement(required = true)
protected TS availabilityTime;
- @XmlElement(required = true)
+ @XmlElement(required = true, type = RCMRMT030101UK04Author2.class)
protected RCMRMT030101UK04Author2 author;
@XmlElement(required = true)
protected RCMRMT030101UK04ResponsibleParty responsibleParty;
diff --git a/schema/src/main/java/org/hl7/v3/RCMRMT030101UK04ObservationStatement.java b/schema/src/main/java/org/hl7/v3/RCMRMT030101UK04ObservationStatement.java
index b7a7ccb57..a581899b2 100644
--- a/schema/src/main/java/org/hl7/v3/RCMRMT030101UK04ObservationStatement.java
+++ b/schema/src/main/java/org/hl7/v3/RCMRMT030101UK04ObservationStatement.java
@@ -105,6 +105,7 @@ public class RCMRMT030101UK04ObservationStatement {
protected RCMRMT030101UK04Subject subject;
protected List specimen;
protected List pertinentInformation;
+ @XmlElement(type=RCMRMT030101UK04ReferenceRange.class)
protected List referenceRange;
protected List informant;
@XmlElement(name = "Participant")
diff --git a/schema/src/main/resources/schema/RCMR_IN030000UK07.xsd b/schema/src/main/resources/schema/RCMR_IN030000UK07.xsd
new file mode 100644
index 000000000..7b2ea3ed9
--- /dev/null
+++ b/schema/src/main/resources/schema/RCMR_IN030000UK07.xsd
@@ -0,0 +1,1890 @@
+
+
+
+ Generated using schema builder version: 1.21p12 and DynamicMifToXSD.xsl version: 1.3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/schema/src/main/resources/schema/RCMR_MT030101UK05.xsd b/schema/src/main/resources/schema/RCMR_MT030101UK05.xsd
new file mode 100644
index 000000000..658db3311
--- /dev/null
+++ b/schema/src/main/resources/schema/RCMR_MT030101UK05.xsd
@@ -0,0 +1,1759 @@
+
+
+
+
+
+
+ Generated using schema builder version 1.21p12.
+ Stylesheets:
+
+ RoseTreeToMIFStaticModel.xsl version: 1.1
+ SplitModels.xsl version: 1.1
+ AssocInMif.xsl version:1.1
+ StaticMifToXsd.xsl version 1.1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+