Closed salvolpe closed 3 years ago
The bottom of conformance page has the operation definition for translate.
"operation": [
{
"name": "process-message",
"definition": {
"reference": "OperationDefinition/-s-process-message"
}
},
{
"name": "translate",
"definition": {
"reference": "OperationDefinition/ConceptMap--translate"
}
},
{
"name": "everything",
"definition": {
"reference": "OperationDefinition/Patient-i-everything"
}
}
]
Yes I saw that in the conformance statement but it gave me a [GET not defined] error, which I did not receive when trying to run a $translate call in the public HAPI FHIR server.
But I also noticed that there were no instances listed next to ConceptMap on the main UI page. Does that mean that I would have to manually load-in the all of the mappings? Because I see all of the functionality in the Java and structure for all the different coding systems in the omop_v5 Postgres schema. I have not tried posting any of my own ConceptMap resources to the server yet
ConceptMap has not yet been implemented. It's there to have $translate operation. ConceptMap can be implemented using OMOP's concept and concept relationship table. We will need to do this. But, we have another higher priority work to do. If you are welcomed to do this if you wish to do this.
For $translate operation, I found one error, which was caused by last update we made on OMOP version. I fixed it and pushed to repo.
This will produce the following output.
{
"resourceType": "Parameters",
"parameter": [
{
"name": "result",
"valueBoolean": true
},
{
"name": "match",
"part": [
{
"name": "equivalence",
"valueCode": "equivalent"
},
{
"name": "concept",
"valueCoding": {
"system": "http://hl7.org/fhir/ndfrt",
"code": "4014955",
"display": "INSULIN,ASPART,HUMAN 100 UNT/ML INJ"
}
}
]
}
]
}
When I ran http://localhost:8080/omoponfhir4/fhir/ConceptMap/$translate?system=http://www.nlm.nih.gov/research/umls/rxnorm&code=311040&targetsystem=http://hl7.org/fhir/ndfrt
I got the following response:
HTTP 500 Internal Server Error
{
"resourceType": "OperationOutcome",
"text": {
"status": "generated",
"div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><h1>Operation Outcome</h1><table border=\"0\"><tr><td style=\"font-weight: bold;\">ERROR</td><td>[]</td><td><pre>Failed to call access method: java.lang.IllegalArgumentException: Unable to locate Attribute with the the given name [concept1] on this ManagedType [unknown]</pre></td>\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t</tr>\n\t\t</table>\n\t</div>"
},
"issue": [
{
"severity": "error",
"code": "processing",
"diagnostics": "Failed to call access method: java.lang.IllegalArgumentException: Unable to locate Attribute with the the given name [concept1] on this ManagedType [unknown]"
}
]
}
I am currently connected to the omopv5fhir-pgsql server. Do I need to be running this against an OMOPv6 database?
I also have the following issue when trying to post a ConceptMap to the server after changing the web.xml file to READ_ONLY=False:
<OperationOutcome xmlns="http://hl7.org/fhir">
<text>
<status value="generated"></status>
<div xmlns="http://www.w3.org/1999/xhtml">
<h1>Operation Outcome</h1>
<table border="0">
<tr>
<td style="font-weight: bold;">ERROR</td>
<td>[]</td>
<td>
<pre>Invalid request: The FHIR endpoint on this server does not know how to handle POST operation[ConceptMap] with parameters [[]]</pre>
</td>
</tr>
</table>
</div>
</text>
<issue>
<severity value="error"></severity>
<code value="processing"></code>
<diagnostics value="Invalid request: The FHIR endpoint on this server does not know how to handle POST operation[ConceptMap] with parameters [[]]"></diagnostics>
</issue>
</OperationOutcome>
This is the body I sent to the server in Postman (which worked without entering values under the Params tab for the HL7's public HAPI FHIR server):
{
"resourceType": "ConceptMap",
"url": "http://hl7.org/fhir/ConceptMap/100004",
"version": "4.0.2",
"name": "FAKE SNOMED CT to ICD-10-CM mappings for fracture of ulna",
"status": "draft",
"experimental": true,
"date": "2012-06-13",
"publisher": "HL7, Inc",
"contact": [
{
"name": "FHIR project team (example)",
"telecom": [
{
"system": "url",
"value": "http://hl7.org/fhir"
}
]
}
],
"description": "Example rule-based mappings between SNOMED CT to ICD-10-CM for fracture of ulna",
"jurisdiction": [
{
"coding": [
{
"system": "http://unstats.un.org/unsd/methods/m49/m49.htm",
"code": "840",
"display": "United States of America"
}
]
}
],
"purpose": "Show example rule based mappings",
"copyright": "Creative Commons 0",
"sourceCanonical": "http://snomed.info/sct?fhir_vs",
"targetCanonical": "http://hl7.org/fhir/sid/icd-10-us",
"group": [
{
"source": "http://snomed.info/sct",
"sourceVersion": "March 2015 US Edition",
"target": "http://hl7.org/fhir/sid/icd-10-us",
"targetVersion": "2015",
"element": [
{
"code": "263204007",
"target": [
{
"code": "S52.209A",
"equivalence": "narrower",
"comment": "The target mapping to ICD-10-CM is narrower, since additional patient data on the encounter (initial vs. subsequent) and fracture type is required for a valid ICD-10-CM mapping."
}
]
},
{
"target": [
{
"code": "S52.209D",
"equivalence": "narrower",
"comment": "The target mapping to ICD-10-CM is narrower, since additional patient data on the encounter (initial vs. subsequent), fracture type and healing (for subsequent encounter) is required for a valid ICD-10-CM mapping."
}
]
}
]
}
]
}
Resolved by most recent commit to the repo. Now, when running http://localhost:8080/omoponfhir4/fhir/ConceptMap/$translate?system=http://www.nlm.nih.gov/research/umls/rxnorm&code=311040&targetsystem=http://hl7.org/fhir/ndfrt
the response is:
<Parameters xmlns="http://hl7.org/fhir">
<parameter>
<name value="result"></name>
<valueBoolean value="true"></valueBoolean>
</parameter>
<parameter>
<name value="match"></name>
<part>
<name value="equivalence"></name>
<valueCode value="equivalent"></valueCode>
</part>
<part>
<name value="concept"></name>
<valueCoding>
<system value="http://hl7.org/fhir/ndfrt"></system>
<code value="4014955"></code>
<display value="INSULIN,ASPART,HUMAN 100 UNT/ML INJ"></display>
</valueCoding>
</part>
</parameter>
</Parameters>
Based on my understanding of how OMOP on FHIR has been presented to OHDSI, we should be able to use certain aspects of Terminology Servers, such as looking through ConceptMaps and using the $translate operation. However, upon review of the Conformance Statement and resources in the provided UI, it does not seem like any of these have been fleshed out.
Does the new version of OMOP on FHIR with OMOPv6 and R4 address this? If not, will this be implemented in later versions or do you have any means by which to implement these on my own end after installation?