Saturday, July 14, 2018

RESTful web services for UCUM in CDISC

Today, I undeployed my "UCUM RESTful web services".

It is always sad when stopping something, but this time the reason is a very great one: the US National Library of Medicine NLM is taking over the service and is (as I did) it making freely available to everyone. I am a proud man.

UCUM by the way means "Unified  Code for Units of Measure", and has been developed by the Regenstrief Institute.

The "NLM UCUM Web Services" descriptions can be found at: https://ucum.nlm.nih.gov/ucum-service.html. The API is, apart from the base (the server path) exactly as I developed it 3 years ago. Also the returned XML, JSON or text is very similar to the one returned by the old service, so that users (and their applications of course) can easily adapt to the new situation.
The old web services are still described at http://xml4pharmaserver.com/WebServices/UCUM_webservices.html but are now out of service.

What does this have to do with CDISC? Everything.

Within CDISC (especially within the SDTM and Controlled Terminology groups), there is still the believe that controlled terminology should consist of lists, so that e.g. in an SDTM and SEND submission, the term can be compared against the list. So, the Controlled Terminology (CT) team developed (and is still developing) lists of units. In the latest CT version (2018-06-29) there are over 680 "unit terms" of which 5 new ones.
UCUM however is not a list, it is a notation, a system. So the number of "UCUM units" essentially is infinite. So one wonders (in the philosophy of the CT team) how one can validate whether a unit is a valid "UCUM unit" when there is no list of it.

The anwser is simple: by using RESTful web services.

One of the methods of the NLM UCUM RESTful web services is a service returning whether a submitted "UCUM unit" is valid is not. Asking yourself how that is (technically) done?
Well, each valid "UCUM unit" can be reduced to a set of base units (meter, second, gram, radian, Kelvin, Coulomb, candela) and this exactly is done by the server. If the reduction to base units is successful, "true" is returned, if it fails, "false" is returned. It's as simple as that.

RESTful web services can easily be used by every modern computer application, including the tools used by the FDA and PMDA. Other RESTful web services exist for getting whether an SDTM/SEND variable is required, expected or permissible, what the exact label is (depending on the CT version), etc.. Although implementing such services in tools is extremely easy, none of the validation tools currently used by the FDA currently uses any of these web services. Why?
Such RESTful web services could also easily be used to automatically update rules that have been implemented incorrectly (or cause false positives) in validation software, but also this is not done. Why? Another "not invented here"? Or are some people trying to make a lot of money with outdated technology using "lists"? We have proposed a much better method, but it requires that the FDA moves to a modern format for electronic submissions.

Back to UCUM and the NLM web services for it. UCUM notation is still now allowed by CDISC. For example, if your source is an electronic health record, blood pressure will for 99+% come with a UCUM notation unit, in this case "mm[Hg]". This will cause an error in SDTM, as SDTM only allows "mmHg" (the "paper" notation) as the one in the list developed by the CDISC-CT team. If UCUM notation would be allowed (it should), it could easily be validated as a correct "UCUM unit" by the NLM RESTful web service.

There are many other advantages of using UCUM notation in CDISC electronic submissions. For example, it allows to automate conversions, including for the SDTM "standardized result". Using these RESTful webservices delivers much more precise and is much less error prone than manually programming them in SDTM mapping software, as is usually done. "CDISC units" do not allow conversions to be done at all. CDISC-CT does even not publish the simplest conversion factors in a machine-readable format.

With the transfer of the "UCUM RESTful web services" to the National Library of Medicine, an extremely well trusted organization, there is not a single reason anymore to further forbid the use of UCUM notation for units in CDISC submissions.

No comments:

Post a Comment