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 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 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 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> + * &lt;complexType name="RCMR_IN030000UK06.ControlActEvent"&gt; + * &lt;complexContent&gt; + * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt; + * &lt;sequence&gt; + * &lt;element name="author" type="{urn:hl7-org:v3}MCAI_MT040101UK03.Author" minOccurs="0"/&gt; + * &lt;element name="author1" type="{urn:hl7-org:v3}MCAI_MT040101UK03.Author2" maxOccurs="2"/&gt; + * &lt;element name="reason" type="{urn:hl7-org:v3}MCAI_MT040101UK03.Reason" maxOccurs="unbounded" minOccurs="0"/&gt; + * &lt;element name="subject" type="{urn:hl7-org:v3}RCMR_IN030000UK06.Subject"/&gt; + * &lt;/sequence&gt; + * &lt;attribute name="type" type="{urn:hl7-org:v3}Classes" default="ControlAct" /&gt; + * &lt;attribute name="classCode" type="{urn:hl7-org:v3}ActClass" default="CACT" /&gt; + * &lt;attribute name="moodCode" type="{urn:hl7-org:v3}ActMood" default="EVN" /&gt; + * &lt;attribute name="typeID"&gt; + * &lt;simpleType&gt; + * &lt;list itemType="{urn:hl7-org:v3}oid" /&gt; + * &lt;/simpleType&gt; + * &lt;/attribute&gt; + * &lt;attribute name="realmCode"&gt; + * &lt;simpleType&gt; + * &lt;list itemType="{urn:hl7-org:v3}cs" /&gt; + * &lt;/simpleType&gt; + * &lt;/attribute&gt; + * &lt;attribute name="nullFlavor" type="{urn:hl7-org:v3}cs" /&gt; + * &lt;/restriction&gt; + * &lt;/complexContent&gt; + * &lt;/complexType&gt; + * </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> + * &lt;complexType name="RCMR_IN030000UK06.Message"&gt; + * &lt;complexContent&gt; + * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt; + * &lt;sequence&gt; + * &lt;element name="id" type="{urn:hl7-org:v3}II"/&gt; + * &lt;element name="creationTime" type="{urn:hl7-org:v3}TS"/&gt; + * &lt;element name="versionCode" type="{urn:hl7-org:v3}CS"/&gt; + * &lt;element name="interactionId" type="{urn:hl7-org:v3}II"/&gt; + * &lt;element name="processingCode" type="{urn:hl7-org:v3}CS"/&gt; + * &lt;element name="processingModeCode" type="{urn:hl7-org:v3}CS"/&gt; + * &lt;element name="acceptAckCode" type="{urn:hl7-org:v3}CS"/&gt; + * &lt;element name="communicationFunctionRcv" type="{urn:hl7-org:v3}MCCI_MT010101UK12.CommunicationFunctionRcv" maxOccurs="unbounded"/&gt; + * &lt;element name="communicationFunctionSnd" type="{urn:hl7-org:v3}MCCI_MT010101UK12.CommunicationFunctionSnd"/&gt; + * &lt;element name="ControlActEvent" type="{urn:hl7-org:v3}RCMR_IN030000UK06.ControlActEvent"/&gt; + * &lt;/sequence&gt; + * &lt;attribute name="type" type="{urn:hl7-org:v3}Classes" default="Message" /&gt; + * &lt;attribute name="typeID"&gt; + * &lt;simpleType&gt; + * &lt;list itemType="{urn:hl7-org:v3}oid" /&gt; + * &lt;/simpleType&gt; + * &lt;/attribute&gt; + * &lt;attribute name="realmCode"&gt; + * &lt;simpleType&gt; + * &lt;list itemType="{urn:hl7-org:v3}cs" /&gt; + * &lt;/simpleType&gt; + * &lt;/attribute&gt; + * &lt;attribute name="nullFlavor" type="{urn:hl7-org:v3}cs" /&gt; + * &lt;/restriction&gt; + * &lt;/complexContent&gt; + * &lt;/complexType&gt; + * </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> + * &lt;complexType name="RCMR_IN030000UK06.Subject"&gt; + * &lt;complexContent&gt; + * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt; + * &lt;sequence&gt; + * &lt;element name="EhrExtract" type="{urn:hl7-org:v3}RCMR_MT030101UK04.EhrExtract"/&gt; + * &lt;/sequence&gt; + * &lt;attribute name="type" type="{urn:hl7-org:v3}Classes" default="ActRelationship" /&gt; + * &lt;attribute name="typeCode" type="{urn:hl7-org:v3}ActRelationshipType" default="SUBJ" /&gt; + * &lt;attribute name="contextConductionInd" type="{urn:hl7-org:v3}bl" default="false" /&gt; + * &lt;attribute name="typeID"&gt; + * &lt;simpleType&gt; + * &lt;list itemType="{urn:hl7-org:v3}oid" /&gt; + * &lt;/simpleType&gt; + * &lt;/attribute&gt; + * &lt;attribute name="realmCode"&gt; + * &lt;simpleType&gt; + * &lt;list itemType="{urn:hl7-org:v3}cs" /&gt; + * &lt;/simpleType&gt; + * &lt;/attribute&gt; + * &lt;attribute name="nullFlavor" type="{urn:hl7-org:v3}cs" /&gt; + * &lt;/restriction&gt; + * &lt;/complexContent&gt; + * &lt;/complexType&gt; + * </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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +