fix pr comments

This commit is contained in:
Itay Goren 2020-08-31 22:16:26 +03:00
parent 0c1c61b275
commit 84e55aa825
3 changed files with 81 additions and 82 deletions

View File

@ -14,93 +14,15 @@ public class MedicationRequest10_40Test {
@Test
@DisplayName("Test 10_40 MedicationRequest conversion")
public void testMedicationRequestConversion() throws IOException {
String dstu2_string =
"{'resourceType': 'MedicationOrder',"+
" 'dateWritten': '2016-11-13',"+
" 'status': 'active',"+
" 'id': 'T5YI1tCzs--JEvCICFbx8zgB',"+
" 'identifier': [{'use': 'usual',"+
" 'system': 'urn:oid:1.2.840.114350.1.13.0.1.7.2.798268',"+
" 'value': '988736'},"+
" {'use': 'usual',"+
" 'system': 'urn:oid:1.2.840.114350.1.13.0.1.7.3.798268.801',"+
" 'value': '988736:2150291843'}],"+
" 'patient': {'display': 'Jason Argonaut',"+
" 'reference': 'https://open-ic.epic.com/Argonaut/api/FHIR/DSTU2/Patient/Tbt3KuCY0B5PSrJvCu2j-PlK.aiHsu2xUjUM8bWpetXoB'},"+
" 'prescriber': {'display': 'Historical Provider, MD',"+
" 'reference': 'https://open-ic.epic.com/Argonaut/api/FHIR/DSTU2/Practitioner/T-kmjPGEVPAmnBfmx56HsKgB'},"+
" 'medicationReference': {'display': 'amitriptyline 10 MG tablet',"+
" 'reference': 'https://open-ic.epic.com/Argonaut/api/FHIR/DSTU2/Medication/T0eKLT7EB2ApMM8HCEURdMAB'},"+
" 'dosageInstruction': [{'text': 'Take 10 mg by mouth nightly.',"+
" 'asNeededBoolean': False,"+
" 'route': {'text': 'Oral',"+
" 'coding': [{'system': 'urn:oid:1.2.840.114350.1.13.0.1.7.4.698288.330',"+
" 'code': '15',"+
" 'display': 'Oral'}]},"+
" 'method': {'text': 'Take',"+
" 'coding': [{'system': 'urn:oid:1.2.840.114350.1.13.0.1.7.4.798268.8600',"+
" 'code': '11',"+
" 'display': 'Take'}]},"+
" 'timing': {'repeat': {'frequency': 1,"+
" 'period': 1.0,"+
" 'periodUnits': 'd',"+
" 'boundsPeriod': {'start': '2016-11-15T00:00:00Z',"+
" 'end': '2016-11-23T00:00:00Z'}}},"+
" 'doseQuantity': {'value': 10.0,"+
" 'unit': 'mg',"+
" 'code': 'mg',"+
" 'system': 'http://unitsofmeasure.org'}}],"+
" 'dispenseRequest': {'validityPeriod': {'start': '2016-11-15T00:00:00Z',"+
" 'end': '2016-11-23T00:00:00Z'}}}";
String r4_expected_string =
"{\"resourceType\": \"MedicationRequest\","+
" \"id\": \"T5YI1tCzs--JEvCICFbx8zgB\","+
" \"identifier\": [{\"use\": \"usual\","+
" \"system\": \"urn:oid:1.2.840.114350.1.13.0.1.7.2.798268\","+
" \"value\": \"988736\"},"+
" {\"use\": \"usual\","+
" \"system\": \"urn:oid:1.2.840.114350.1.13.0.1.7.3.798268.801\","+
" \"value\": \"988736:2150291843\"}],"+
" \"status\": \"active\","+
" \"intent\": \"order\","+
" \"medicationReference\": {\"reference\": \"https://open-ic.epic.com/Argonaut/api/FHIR/DSTU2/Medication/T0eKLT7EB2ApMM8HCEURdMAB\","+
" \"display\": \"amitriptyline 10 MG tablet\"},"+
" \"subject\": {\"reference\": \"https://open-ic.epic.com/Argonaut/api/FHIR/DSTU2/Patient/Tbt3KuCY0B5PSrJvCu2j-PlK.aiHsu2xUjUM8bWpetXoB\","+
" \"display\": \"Jason Argonaut\"},"+
" \"authoredOn\": \"2016-11-13T00:00:00\","+
" \"requester\": {\"reference\": \"https://open-ic.epic.com/Argonaut/api/FHIR/DSTU2/Practitioner/T-kmjPGEVPAmnBfmx56HsKgB\","+
" \"display\": \"Historical Provider, MD\"},"+
" \"dosageInstruction\": [{\"text\": \"Take 10 mg by mouth nightly.\","+
" \"timing\": {\"repeat\": {\"boundsPeriod\": {\"start\": \"2016-11-15T00:00:00Z\","+
" \"end\": \"2016-11-23T00:00:00Z\"},"+
" \"count\": 0,"+
" \"frequency\": 1,"+
" \"frequencyMax\": 0,"+
" \"period\": 1.0,"+
" \"periodUnit\": \"d\"}},"+
" \"asNeededBoolean\": \"False\","+
" \"route\": {\"coding\": [{\"system\": \"urn:oid:1.2.840.114350.1.13.0.1.7.4.698288.330\","+
" \"code\": \"15\","+
" \"display\": \"Oral\"}],"+
" \"text\": \"Oral\"},"+
" \"method\": {\"coding\": [{\"system\": \"urn:oid:1.2.840.114350.1.13.0.1.7.4.798268.8600\","+
" \"code\": \"11\","+
" \"display\": \"Take\"}],"+
" \"text\": \"Take\"},"+
" \"doseAndRate\": [{\"doseQuantity\": {\"value\": 10.0,"+
" \"unit\": \"mg\","+
" \"system\": \"http://unitsofmeasure.org\","+
" \"code\": \"mg\"}}]}],"+
" \"dispenseRequest\": {\"validityPeriod\": {\"start\": \"2016-11-15T00:00:00Z\","+
" \"end\": \"2016-11-23T00:00:00Z\"}}}";
InputStream dstu2_input = this.getClass().getResourceAsStream("/example_medication_request_10.json");
InputStream r4_exepected_input = this.getClass().getResourceAsStream("/example_medication_request_40.json");
InputStream input = org.apache.commons.io.IOUtils.toInputStream(dstu2_string, "UTF-8");
org.hl7.fhir.dstu2.model.MedicationOrder dstu2 = (org.hl7.fhir.dstu2.model.MedicationOrder) new org.hl7.fhir.dstu2.formats.JsonParser().parse(input);
org.hl7.fhir.dstu2.model.MedicationOrder dstu2 = (org.hl7.fhir.dstu2.model.MedicationOrder) new org.hl7.fhir.dstu2.formats.JsonParser().parse(dstu2_input);
VersionConvertorAdvisor40 advisor = new IGR2ConvertorAdvisor();
org.hl7.fhir.r4.model.Resource r4_actual = VersionConvertor_10_40.convertResource(dstu2, advisor);
org.hl7.fhir.r4.formats.JsonParser r4_parser = new org.hl7.fhir.r4.formats.JsonParser();
org.hl7.fhir.r4.model.Resource r4_expected = r4_parser.parse(r4_expected_string);
org.hl7.fhir.r4.model.Resource r4_expected = r4_parser.parse(r4_exepected_input);
Assertions.assertTrue(r4_expected.equalsDeep(r4_actual),
"Failed comparing\n" + r4_parser.composeString(r4_actual) + "\nand\n" + r4_parser.composeString(r4_expected));

View File

@ -0,0 +1,37 @@
{"resourceType": "MedicationOrder",
"dateWritten": "2016-11-13",
"status": "active",
"id": "T5YI1tCzs--JEvCICFbx8zgB",
"identifier": [{"use": "usual",
"system": "urn:oid:1.2.840.114350.1.13.0.1.7.2.798268",
"value": "988736"},
{"use": "usual",
"system": "urn:oid:1.2.840.114350.1.13.0.1.7.3.798268.801",
"value": "988736:2150291843"}],
"patient": {"display": "Jason Argonaut",
"reference": "https://open-ic.epic.com/Argonaut/api/FHIR/DSTU2/Patient/Tbt3KuCY0B5PSrJvCu2j-PlK.aiHsu2xUjUM8bWpetXoB"},
"prescriber": {"display": "Historical Provider, MD",
"reference": "https://open-ic.epic.com/Argonaut/api/FHIR/DSTU2/Practitioner/T-kmjPGEVPAmnBfmx56HsKgB"},
"medicationReference": {"display": "amitriptyline 10 MG tablet",
"reference": "https://open-ic.epic.com/Argonaut/api/FHIR/DSTU2/Medication/T0eKLT7EB2ApMM8HCEURdMAB"},
"dosageInstruction": [{"text": "Take 10 mg by mouth nightly.",
"asNeededBoolean": "False",
"route": {"text": "Oral",
"coding": [{"system": "urn:oid:1.2.840.114350.1.13.0.1.7.4.698288.330",
"code": "15",
"display": "Oral"}]},
"method": {"text": "Take",
"coding": [{"system": "urn:oid:1.2.840.114350.1.13.0.1.7.4.798268.8600",
"code": "11",
"display": "Take"}]},
"timing": {"repeat": {"frequency": 1,
"period": 1.0,
"periodUnits": "d",
"boundsPeriod": {"start": "2016-11-15T00:00:00Z",
"end": "2016-11-23T00:00:00Z"}}},
"doseQuantity": {"value": 10.0,
"unit": "mg",
"code": "mg",
"system": "http://unitsofmeasure.org"}}],
"dispenseRequest": {"validityPeriod": {"start": "2016-11-15T00:00:00Z",
"end": "2016-11-23T00:00:00Z"}}}

View File

@ -0,0 +1,40 @@
{"resourceType": "MedicationRequest",
"id": "T5YI1tCzs--JEvCICFbx8zgB",
"identifier": [{"use": "usual",
"system": "urn:oid:1.2.840.114350.1.13.0.1.7.2.798268",
"value": "988736"},
{"use": "usual",
"system": "urn:oid:1.2.840.114350.1.13.0.1.7.3.798268.801",
"value": "988736:2150291843"}],
"status": "active",
"intent": "order",
"medicationReference": {"reference": "https://open-ic.epic.com/Argonaut/api/FHIR/DSTU2/Medication/T0eKLT7EB2ApMM8HCEURdMAB",
"display": "amitriptyline 10 MG tablet"},
"subject": {"reference": "https://open-ic.epic.com/Argonaut/api/FHIR/DSTU2/Patient/Tbt3KuCY0B5PSrJvCu2j-PlK.aiHsu2xUjUM8bWpetXoB",
"display": "Jason Argonaut"},
"authoredOn": "2016-11-13T00:00:00+02:00",
"requester": {"reference": "https://open-ic.epic.com/Argonaut/api/FHIR/DSTU2/Practitioner/T-kmjPGEVPAmnBfmx56HsKgB",
"display": "Historical Provider, MD"},
"dosageInstruction": [{"text": "Take 10 mg by mouth nightly.",
"timing": {"repeat": {"boundsPeriod": {"start": "2016-11-15T00:00:00Z",
"end": "2016-11-23T00:00:00Z"},
"count": 0,
"frequency": 1,
"frequencyMax": 0,
"period": 1.0,
"periodUnit": "d"}},
"asNeededBoolean": "False",
"route": {"coding": [{"system": "urn:oid:1.2.840.114350.1.13.0.1.7.4.698288.330",
"code": "15",
"display": "Oral"}],
"text": "Oral"},
"method": {"coding": [{"system": "urn:oid:1.2.840.114350.1.13.0.1.7.4.798268.8600",
"code": "11",
"display": "Take"}],
"text": "Take"},
"doseAndRate": [{"doseQuantity": {"value": 10.0,
"unit": "mg",
"system": "http://unitsofmeasure.org",
"code": "mg"}}]}],
"dispenseRequest": {"validityPeriod": {"start": "2016-11-15T00:00:00Z",
"end": "2016-11-23T00:00:00Z"}}}