Shti245 0945
Shti245 0945
the SDP. These descriptions are given in JSON-LD 3 format 3. Plugin match: The service delivers all output data
following the structure of the service contract. Each function- elements specified in the workflow task, but also
ality of a service is defined by in-/outputs, function type and delivers some additional ones.
all corresponding NFPs. By means of SPARQL queries, the 4. Intersection match: The service only delivers some
service descriptions can be added, updated or deleted from the output data elements but not all of the ones specified in
registry. This step is not part of the actual workflow execution. the task. Additionally, there are also additional outputs
In OntoHealth the definition of service information is task of being delivered.
the related developer, vendor or service provider. OntoHealth 5. No match: The service delivers no relevant output data
will provide a guideline on how to properly create the service elements.
description and register the service in the platform in order to
make the service available for web service discovery.
Step 1: Pre-Filtering + ++ +
+ + Exact match
The first step in the ranking procedure is the pre-filtering pro- + + * ++ x Intersection match
cess. In this step, all the services that do not match the man- * + x
datory NFPs, which are retrieved from the task description, ++ x Subsumption match
+ x * x
are dropped and not considered for further analysis. This helps * * No match
to emphasize the discovery for services that require e.g. cer- * x
tain user permissions or any regional restriction that can be * ++ Plugin match
* +
obtained from the requesting user. The resulting services are
then used as an input for the following step. + Delivered, needed objects (service)
x Relevant objects (task)
It is defined in the semantic model if a NFP has the status of a
mandatory property or will be considered later in the raking * Additional specified objects (service)
The result of this service chain must then fulfill the functional managed by the workflow manager. Those could be either
properties of the related task. A composed service can then used for further service calls, as a result presented to the user
again be part of other composed services. The complete com- interface or any other process function defined within the
position algorithm uses a graph-based structure as well as workflow.
modified pathfinding algorithms. However, the detailed de- Input: Service S, Goal G
scription would go beyond the scope of this paper. Output: Score of Service S
A challenging part of composition is the NFP merging pro- Ng = extracted NFPs of Goal G
cess, i.e. when combining the services to a group, also their Ns = extracted NFPs of Service S
NFPs have to be combined in a way that depends on the type score = 0;
of NFP. For example, for NFP “availability” the combined
for ns in Ns do {
value is the lowest value of all involved services, while for ng = getCorrespondingNfp(ns,Ng);
NFP “price” the combined value is the sum of all involved tempscore = ng.weight * callRankingService(ns, ng);
}
services. The logic of the NFP considerations needs to be de-
veloped as a special ranking service that will be part of the score = tempscore * functionPenaltyScore;
next steps in the project. For the present conceptualization it is return score;
seen as a black-box or as a module with defined logic that
follows a hardcoded pattern.
Step 4: Ranking Table 1 - Pseudocode of ranking algorithm. The “Goal”
relates to the extracted workflow task.
The ranking algorithm is responsible to find the best fitting
service of all registered and composed services according to Task 1
x Function: cardiovascular risk calculation
their NFPs. It takes as input the set of services (atomic or x Inputs: age,gender,total cholesterol,HDL cholesterol, blood pressure
composed) and generates a list of ranked services ordered by x Outputs: risk percentage
x NFP: Availability=Austria (mandatory), Costs=min
their ranking score, which is defined as a unit-less number.
During the ranking phase, all atomic or previously composed Service 1 Service 2
services get a ranking score based on how their NFPs fit com- x Function: cardiovascular risk x Function: Body Mass Index
pared to the ones specified in the task. The pseudocode of the calculation (BMI) calculation
x Inputs: age,gender,total x Inputs: body weight, body
algorithm can be found in code Table 1. cholesterol,HDL cholesterol, height, gender, age
The actual score is not directly calculated from the NFP in- blood pressure x Outputs: BMI, interpretation
x Outputs: risk percentage x NFP: Availability=Austria ,
formation (e.g. performance indicator), but is calculated via a x NFP: Availability=Austria , Costs=€8/100k calls
distinct ranking service. This service is specified in the NFPs’ Costs=€8/100k calls
ranking instructions and is called during the ranking process. Service 3 Service 4
The arguments for the ranking service are all instances of an x Function: cardiovascular risk x Function: cardiovascular risk
NFP from the task and the corresponding ones (same class) calculation calculation
x Inputs: age,gender,total x Inputs: total cholesterol,HDL
from the service. The idea of this ranking service is to define, cholesterol,HDL cholesterol cholesterol, blood pressure
what criteria makes a good or a bad score for a specified NFP, x Outputs: risk percentage, x Outputs: risk percentage
decision support x NFP: Availability=Germany
e.g. a ranking service for NFP costs determines, that a service x NFP: Availability=Austria , Costs=€8/100k calls
with high costs should lead to a lower score. Each ranking Costs=€10/100k calls
service reveals a number as the percentage of suitability,
which is then mapped to a score value for further calculations. Figure 3 - Example Web Services. All information is semanti-
The range of the score value is not predefined and can be ad- cally modeled and processed.
justed.
During the workflow creation, the physician can specify an Service selection example
individual NFP weight depending on how important the NFP
Let’s assume the physician wants to analyze the cardiovascu-
is considered on an individual base ( 1). An NFP
lar risk (function) considering the data “age”, “gender”, “total
adds its score multiplied by its weight to the score of the ser-
cholesterol (mg/Dl)”, “HDL cholesterol (mg/Dl)” and “systol-
vice. The function penalty score (0 < 1) is
ic and diastolic blood pressure (mmHg)” (inputs) with a ser-
integrated according to the functional classification (see step
vice highly available in Austria and with minimal costs
2) to reduce the score in case of a partial match. The final
(NFPs). The output is given through a percentage score value
score defines the suitability of the service. A higher score
for “10-year risk of heart disease or stroke”. All this infor-
means, that more (or in the best case, all) NFPs are fulfilled by
mation is specified as a task and modeled semantically using
the service and thus increases the probability of getting select-
our developed ontologies. The considered task and the availa-
ed for further processing.
ble and registered services are depicted in figure 3. For
Step 5: Invocation demonstration purposes, the amount of NFPs has been limited
to Availability and Costs. Although some of the services in
The final phase in the service delivery process is the actual
this example share the same functionality, they differ in other
invocation of the service, which was previously discovered,
relevant properties such as in-/outputs and NFPs.
ranked and selected according to the highest ranking score.
Invocation enables the actual link between the semantic de- Considering the risk calculation task and the available services
scription of the service, according to the service model devel- in figure 3, Service 4 gets removed during pre-filtering, as the
oped in earlier stages of the project and the actual service im- mandatory NFP is not supported. Service 2 does not fulfill the
plementation. As we support various underlying implementa- function, and Service 1 and 3 will be considered for the fol-
tions of services (e.g. REST, WSDL) the invocation would lowing ranking. Service 1 would relate to an exact match for
need to provide a generic interface for calling a service, but output classification, Service 3 relates to a plugin match and
also be able to perform specific interaction calls, depending on both services are related to a match regarding the input classi-
the implementation of the service. Service usage including the fication. The ranking part would select Service 1 for final in-
service calls, related results and potential interaction will be vocation, as the NFPs of this service lead to a better score
M. Schweitzer et al. / Semantic Web Service Delivery in Healthcare Based on Functional and Non-Functional Properties 949
(considered NFP cost of Service 1 with €8/100k calls has a even use the information for more sophisticated and efficient
better score than Service 3 with €10/100k). No composition is composition.
needed for this example.
Acknowledgements
Implementation
This work has been supported by the Austrian Science Foun-
The service delivery platform was developed as a Java appli- dation (FWF), project number P 25895-B24.
cation. Based on the semantic model from past project results,
the RDF model was used with Apache JENA 4 to model se- References
mantic dependencies during execution. The service delivery
platform was designed according to the principle of a SOA. [1] Hsu W, Taira RK, El-Saden S, Kangarloo H, Bui A a T. Context-based
This means every step in the delivery process was realized by electronic health record: Toward patient specific healthcare. IEEE Trans
a single decoupled service. The services themselves can be Inf Technol Biomed 2012;16:228–34.
[2] Schweitzer M, Lasierra N, Hoerbst A. Observing health professionals’
seen as black-boxes. They were realized using the Jersey workflow patterns for diabetes care - First steps towards an ontology for
RESTful web services framework 5 and communicate using EHR services. Stud Health Technol Inform 2015;210:25–9.
JSON-LD. A manager web service was then introduced to [3] Dolin R, Alschuler L, Boyer S, Beebe C, Behlen FM, Biron P V, et al.
facilitate the use of the platform by bundling service calls to HL7 clinical document architecture, release 2. J Am Med Informatics
Assoc 2006;13:30–9.
the individual components to provide functionalities like, reg- [4] Bender D, Sartipi K. HL7 FHIR: An Agile and RESTful approach to
istering a new task or invoking a service based on a task. healthcare information exchange. Proc. 26th IEEE Int. Symp. Comput.
Med. Syst., IEEE; 2013, p. 326–31.
[5] Kruse CS, Kristof C, Jones B, Mitchell E, Martinez A. Barriers to
Discussion Electronic Health Record Adoption: a Systematic Literature Review. J
Med Syst 2016;40.
The developed Service Delivery Platform project is able to use [6] Unertl KM, Weinger MB, Johnson KB, Lorenzi NM. Describing and
Modeling Workflow and Information Flow in Chronic Disease Care. J
proper web services according to the business process model
Am Med Informatics Assoc 2009;16:826–36.
of the user related workflow. The workflow engine processes [7] Saleem JJ, Flanagan ME, Russ AL, McMullen CK, Elli L, Russell S a,
the tasks and allocates proper web services based on in- et al. You and me and the computer makes three: variations in exam
put/output data elements, functions and non-functional proper- room use of the electronic health record. J Am Med Inform Assoc
2014;21:e147-51.
ties. The discovery process got extended within this approach
[8] Raghupathi W, Kesh S. Interoperable Electronic Health Records
by using semantic technologies to find related suitable ser- Design:Towards a Service-Oriented Architecture. E-Service J
vices (e.g. when a data element or function shares the same 2007;5:39–57. doi:10.2979/ESJ.2007.5.3.39.
parent element, the parent or related siblings could be used as [9] Gooch P, Roudsari A. Computerization of workflows, guidelines, and
care pathways: a review of implementation challenges for process-
well) and composition, which uses semantic enriched service oriented health information systems. J Am Med Informatics Assoc
descriptions to compose several services in order to get the 2011;18:738–48.
needed result. In contrast to approaches like FHIR, which is a [10] Pavlovski CJ, Zou J. Non-Functional Requirements in Business Process
service-oriented approach for accessing EHR data, the service Modeling. Proc 5th Asia-Pacific Conf Concept Model 2008;79:103–12.
[11] Keller U, Lar R, Lausen H, Polleres A, Predoiu L, Toma I. Semantic
delivery platform is responsible for the user-determined func- Web Service Discovery. Semant Web Serv 2005:240–80.
tionality in the sense of how accessible EHR data should be [12] Schweitzer M, Hörbst A. An Approach for the Support of Semantic
processed to extract, use and present the needed information Workflows in Electronic Health Records. "In Press 2017.
related to the users’ needs. The project SMART (Substitutable [13] Rospocher M, Ghidini C, Serafini L. An ontology for the business
process modelling notation. Front Artif Intell Appl 2014;267:133–46.
Medical Applications and Reusable Technologies) on FHIR
[14] Lasierra N, Schweitzer M, Gorfer T, Toma I, Hoerbst A. Building a
[15] provides a platform for medical apps, that can be inte- semantic model to enhance the user’s perceived functionality of the
grated into EHR systems based on individual user preferences. EHR. Stud Health Technol Inform 2016;228:137–41.
The main difference to our approach is, that SMART does not [15] Mandel JC, Kreda DA, Mandl KD, Kohane IS, Ramoni RB. SMART on
FHIR: a standards-based, interoperable apps platform for electronic
support the automatic discovery or composition of web ser- health records. J Am Med Inform Assoc 2016:1–10.
vices nor is it including non-functional properties for service
discovery in order to reach the goals defined as a workflow.
The service delivery platform as part of the ongoing project Address for correspondence
OntoHealth, will be refined based on future developments and Marco Schweitzer
will get its final evaluation at the end, when the complete
[email protected]
software prototype will be tested and evaluated with real
world scenarios and related end-users (physicians). https://ehealth.umit.at
Conclusion
Providing means for users to define their information retrieval
needs based on functional and non-functional properties at the
point of care offers new ways of efficient EHR utilization. A
workflow-based EHR-access is seen as a major advantage in
efficient healthcare outcomes and even in user satisfaction.
The next steps in the project will cover to enhance the usage
of the semantic model for leveraging the service delivery pro-
cess. This means, that related semantic reasons or related logic
should provide better results on matching the requirements
given from the workflow to the set of available services or
4 https://jena.apache.org/
5 https://jersey.java.net/