Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Incorrect information message about definition not found for EDQM code system and use of property in value set definition #885

Open
rhausam opened this issue Apr 22, 2024 · 5 comments
Assignees

Comments

@rhausam
Copy link
Contributor

rhausam commented Apr 22, 2024

Multiple instances of the following information messages are being returned for multiple instances referencing the Medicine Dose Form EDQM and Medicine Route of Administration EDQM value sets in the pharm-quality IG:

INFORMATION: ValueSet/vs-medicine-doseform: ValueSet.compose.include[0].filter[1]: No definition can be found for the system http://standardterms.edqm.eu, and the property 'class' is not a generally known property, so the property might not be valid, or understood by the terminology ecosystem. In case its useful, the list of generally known properties for all systems is {2}

INFORMATION: ValueSet/vs-medicine-doseform: ValueSet.compose.include[0].filter[2]: No definition can be found for the system http://standardterms.edqm.eu, and the property 'domain' is not a generally known property, so the property might not be valid, or understood by the terminology ecosystem. In case its useful, the list of generally known properties for all systems is {2}

This message appears to be (erroneously) originating in the IG Publisher, as the EDQM code system is fully supported on tx.fhir.org, which is able to correctly perform the $expand and $validate-code operations on these value sets as currently defined (using the class and domain properties) without any issues. See these examples:

Request:

POST http://tx.fhir.org/r4/CodeSystem/$validate-code? HTTP/1.0
Accept-Charset: UTF-8
Accept: application/fhir+json; fhirVersion=4.0
Content-Type: application/fhir+json; fhirVersion=4.0;charset=UTF-8
User-Agent: fhir/publisher

{"resourceType":"Parameters","parameter":[{"name":"coding","valueCoding":{"system":"http://standardterms.edqm.eu","code":"10225000","display":"Gastro-resistant tablet"}},{"name":"default-to-latest-version","valueBoolean":true},{"name":"cache-id","valueId":"679dc5eb-1cfe-4381-a9a5-44ac9ba60c67"},{"name":"x-system-cache-id","valueString":"dc8fd4bc-091a-424a-8a3b-6198ef146891"}]}

Response:

200
access-control-allow-methods:GET, POST, PUT, PATCH, DELETE
access-control-allow-origin:*
access-control-expose-headers:Content-Location, Location
cache-control:public, max-age=600
connection:keep-alive
content-length:311
content-type:application/fhir+json
date:Mon, 22 Apr 2024 15:38:07 GMT
last-modified:Mon, 22 Apr 2024 15:38:07 GMT
pragma:no-cache
server:nginx
x-request-id:136-1557275

{"resourceType" : "Parameters","parameter" : [{"name" : "result","valueBoolean" : true},{"name" : "system","valueUri" : "http://standardterms.edqm.eu"},{"name" : "code","valueCode" : "10225000"},{"name" : "version","valueString" : "5 March 2019"},{"name" : "display","valueString" : "Gastro-resistant tablet"}]}

Request:

POST http://tx.fhir.org/r4/ValueSet/$expand HTTP/1.0
Accept-Charset: UTF-8
Accept: application/fhir+json; fhirVersion=4.0
Content-Type: application/fhir+json; fhirVersion=4.0;charset=UTF-8
User-Agent: fhir/publisher

{"resourceType":"Parameters","parameter":[{"name":"x-system-cache-id","valueString":"dc8fd4bc-091a-424a-8a3b-6198ef146891"},{"name":"includeDefinition","valueBoolean":false},{"name":"excludeNested","valueBoolean":false},{"name":"cache-id","valueId":"679dc5eb-1cfe-4381-a9a5-44ac9ba60c67"},{"name":"count","valueInteger":1000},{"name":"offset","valueInteger":0},{"name":"valueSet","resource":{"resourceType":"ValueSet","status":"active","compose":{"inactive":true,"include":[{"system":"http://standardterms.edqm.eu","filter":[{"property":"status","op":"=","value":"Current"},{"property":"class","op":"=","value":"ROA"},{"property":"domain","op":"=","value":"Human and Veterinary"}]}]}}}]}

Response:

200
access-control-allow-methods:GET, POST, PUT, PATCH, DELETE
access-control-allow-origin:*
access-control-expose-headers:Content-Location, Location
cache-control:public, max-age=600
connection:keep-alive
content-length:8125
content-type:application/fhir+json
date:Mon, 22 Apr 2024 15:38:37 GMT
last-modified:Mon, 22 Apr 2024 15:38:37 GMT
pragma:no-cache
server:nginx
x-request-id:136-1557341

{"resourceType" : "ValueSet","status" : "active","expansion" : {"identifier" : "urn:uuid:b4d50855-4080-42a6-b946-7913f80a079b","timestamp" : "2024-04-22T15:38:37.300Z","total" : 80,"offset" : 0,"parameter" : [{"name" : "excludeNested","valueBoolean" : false},{"name" : "offset","valueInteger" : 0},{"name" : "count","valueInteger" : 1000},{"name" : "used-codesystem","valueUri" : "http://standardterms.edqm.eu|5 March 2019"},{"name" : "version","valueUri" : "http://standardterms.edqm.eu|5 March 2019"}],"contains" : [{"system" : "http://standardterms.edqm.eu","code" : "20001000","display" : "Auricular use"},{"system" : "http://standardterms.edqm.eu","code" : "20002500","display" : "Buccal use"},{"system" : "http://standardterms.edqm.eu","code" : "20003000","display" : "Cutaneous use"},{"system" : "http://standardterms.edqm.eu","code" : "20004000","display" : "Dental use"},{"system" : "http://standardterms.edqm.eu","code" : "20006000","display" : "Endocervical use"},{"system" : "http://standardterms.edqm.eu","code" : "20007000","display" : "Endosinusial use"},{"system" : "http://standardterms.edqm.eu","code" : "20008000","display" : "Endotracheopulmonary use"},{"system" : "http://standardterms.edqm.eu","code" : "20009000","display" : "Epidural use"},{"system" : "http://standardterms.edqm.eu","code" : "20010000","display" : "Epilesional use"},{"system" : "http://standardterms.edqm.eu","code" : "20011000","display" : "Extraamniotic use"},{"system" : "http://standardterms.edqm.eu","code" : "20011500","display" : "Extracorporeal use"},{"system" : "http://standardterms.edqm.eu","code" : "20013000","display" : "Gastroenteral use"},{"system" : "http://standardterms.edqm.eu","code" : "20013500","display" : "Gastric use"},{"system" : "http://standardterms.edqm.eu","code" : "20014000","display" : "Gingival use"},{"system" : "http://standardterms.edqm.eu","code" : "20015000","display" : "Haemodialysis"},{"system" : "http://standardterms.edqm.eu","code" : "20015500","display" : "Implantation"},{"system" : "http://standardterms.edqm.eu","code" : "20019500","display" : "Infiltration"},{"system" : "http://standardterms.edqm.eu","code" : "20020000","display" : "Inhalation use"},{"system" : "http://standardterms.edqm.eu","code" : "20021000","display" : "Intestinal use"},{"system" : "http://standardterms.edqm.eu","code" : "20022000","display" : "Intraamniotic use"},{"system" : "http://standardterms.edqm.eu","code" : "20023000","display" : "Intraarterial use"},{"system" : "http://standardterms.edqm.eu","code" : "20024000","display" : "Intraarticular use"},{"system" : "http://standardterms.edqm.eu","code" : "20025000","display" : "Intrabursal use"},{"system" : "http://standardterms.edqm.eu","code" : "20025500","display" : "Intracameral use"},{"system" : "http://standardterms.edqm.eu","code" : "20026000","display" : "Intracardiac use"},{"system" : "http://standardterms.edqm.eu","code" : "20026500","display" : "Intracartilaginous use"},{"system" : "http://standardterms.edqm.eu","code" : "20027000","display" : "Intracavernous use"},{"system" : "http://standardterms.edqm.eu","code" : "20027010","display" : "Intracerebral use"},{"system" : "http://standardterms.edqm.eu","code" : "20028000","display" : "Intracervical use"},{"system" : "http://standardterms.edqm.eu","code" : "20028300","display" : "Intracholangiopancreatic use"},{"system" : "http://standardterms.edqm.eu","code" : "20028500","display" : "Intracisternal use"},{"system" : "http://standardterms.edqm.eu","code" : "20029000","display" : "Intracoronary use"},{"system" : "http://standardterms.edqm.eu","code" : "20030000","display" : "Intradermal use"},{"system" : "http://standardterms.edqm.eu","code" : "20031000","display" : "Intradiscal use"},{"system" : "http://standardterms.edqm.eu","code" : "20031500","display" : "Intraepidermal use"},{"system" : "http://standardterms.edqm.eu","code" : "20031700","display" : "Intraglandular use"},{"system" : "http://standardterms.edqm.eu","code" : "20032000","display" : "Intralesional use"},{"system" : "http://standardterms.edqm.eu","code" : "20033000","display" : "Intralymphatic use"},{"system" : "http://standardterms.edqm.eu","code" : "20035000","display" : "Intramuscular use"},{"system" : "http://standardterms.edqm.eu","code" : "20036000","display" : "Intraocular use"},{"system" : "http://standardterms.edqm.eu","code" : "20036500","display" : "Intraosseous use"},{"system" : "http://standardterms.edqm.eu","code" : "20037000","display" : "Intrapericardial use"},{"system" : "http://standardterms.edqm.eu","code" : "20038000","display" : "Intraperitoneal use"},{"system" : "http://standardterms.edqm.eu","code" : "20039000","display" : "Intrapleural use"},{"system" : "http://standardterms.edqm.eu","code" : "20039200","display" : "Intraportal use"},{"system" : "http://standardterms.edqm.eu","code" : "20039500","display" : "Intraprostatic use"},{"system" : "http://standardterms.edqm.eu","code" : "20041000","display" : "Intrasternal use"},{"system" : "http://standardterms.edqm.eu","code" : "20042000","display" : "Intrathecal use"},{"system" : "http://standardterms.edqm.eu","code" : "20043000","display" : "Intratumoral use"},{"system" : "http://standardterms.edqm.eu","code" : "20044000","display" : "Intrauterine use"},{"system" : "http://standardterms.edqm.eu","code" : "20045000","display" : "Intravenous use"},{"system" : "http://standardterms.edqm.eu","code" : "20046000","display" : "Intravesical use"},{"system" : "http://standardterms.edqm.eu","code" : "20047000","display" : "Intravitreal use"},{"system" : "http://standardterms.edqm.eu","code" : "20047500","display" : "Iontophoresis"},{"system" : "http://standardterms.edqm.eu","code" : "20048000","display" : "Laryngopharyngeal use"},{"system" : "http://standardterms.edqm.eu","code" : "20049000","display" : "Nasal use"},{"system" : "http://standardterms.edqm.eu","code" : "20051000","display" : "Ocular use"},{"system" : "http://standardterms.edqm.eu","code" : "20053000","display" : "Oral use"},{"system" : "http://standardterms.edqm.eu","code" : "20054000","display" : "Oromucosal use"},{"system" : "http://standardterms.edqm.eu","code" : "20055000","display" : "Oropharyngeal use"},{"system" : "http://standardterms.edqm.eu","code" : "20057000","display" : "Periarticular use"},{"system" : "http://standardterms.edqm.eu","code" : "20058000","display" : "Perineural use"},{"system" : "http://standardterms.edqm.eu","code" : "20059000","display" : "Periodontal use"},{"system" : "http://standardterms.edqm.eu","code" : "20059300","display" : "Periosseous use"},{"system" : "http://standardterms.edqm.eu","code" : "20059400","display" : "Peritumoral use"},{"system" : "http://standardterms.edqm.eu","code" : "20059500","display" : "Posterior juxtascleral use"},{"system" : "http://standardterms.edqm.eu","code" : "20061000","display" : "Rectal use"},{"system" : "http://standardterms.edqm.eu","code" : "20061500","display" : "Retrobulbar use"},{"system" : "http://standardterms.edqm.eu","code" : "20062000","display" : "Route of administration not applicable"},{"system" : "http://standardterms.edqm.eu","code" : "20063000","display" : "Skin scarification"},{"system" : "http://standardterms.edqm.eu","code" : "20065000","display" : "Subconjunctival use"},{"system" : "http://standardterms.edqm.eu","code" : "20066000","display" : "Subcutaneous use"},{"system" : "http://standardterms.edqm.eu","code" : "20067000","display" : "Sublingual use"},{"system" : "http://standardterms.edqm.eu","code" : "20067500","display" : "Submucosal use"},{"system" : "http://standardterms.edqm.eu","code" : "20070000","display" : "Transdermal use"},{"system" : "http://standardterms.edqm.eu","code" : "20071000","display" : "Urethral use"},{"system" : "http://standardterms.edqm.eu","code" : "20072000","display" : "Vaginal use"},{"system" : "http://standardterms.edqm.eu","code" : "20080000","display" : "Intracerebroventricular use"},{"system" : "http://standardterms.edqm.eu","code" : "20081000","display" : "Subretinal use"},{"system" : "http://standardterms.edqm.eu","code" : "20084000","display" : "Intracorneal use"}]}}

@github-actions github-actions bot added this to Inbox in Kanban board Apr 22, 2024
@grahamegrieve
Copy link
Contributor

This is a validator thing - if only looks locally for the definition of the code system, on the expectation that code systems only available to the server are too big to retrieve and check

@lmckenzi
Copy link
Contributor

@grahamegrieve Could you retrieve the CodeSystem with _summary=true? That would bring back the property definitions without bringing back the codes.

In any case, is this something you agree we should fix?

@lmckenzi lmckenzi moved this from Inbox to Waiting for Input in Kanban board Apr 30, 2024
@rhausam
Copy link
Contributor Author

rhausam commented Apr 30, 2024

The EDQM code system definition is in the fhir.tx.support.r4 package, which is where tx.fhir.org picks it up. Does the validator not also have access to that package? If it doesn't have access to the tx support package(s), presumably it should? @grahamegrieve @lmckenzi

@grahamegrieve
Copy link
Contributor

Isn't this fixed in the latest release?

@rhausam
Copy link
Contributor Author

rhausam commented May 1, 2024

No, I don't think it is fixed. I just rebuilt IPS yesterday using IG Publisher 1.6.6, and it still shows 10 VALUESET_UNKNOWN_FILTER_PROPERTY_NO_CS messages about "No definition can be found for the system http://standardterms.edqm.eu, and the property ..." (and, of course, the Validator does the same).
@grahamegrieve

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Waiting for Input
Kanban board
Waiting for Input
Development

No branches or pull requests

3 participants