Prescription Search Support
1.0.0 - STU1 International flag

Prescription Search Support, published by HL7 Belgium. This guide is not an authorized publication; it is the continuous build for version 1.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/hl7-be/pss/ and changes regularly. See the Directory of published versions

Functional Overview

PSS Functional data exchangeEPDPSSQSIService 1 - Given existing data, query the structured list of applicable indications POST /PlanDefinition/GetDiagnoses/$applyPayload:subject=Ydata=BundlePropose IndicationsService 2 - Given indications, query data to collect POST /PlanDefinition/GetDataToCollect/$applyPayload:subject=Ydata=BundlePropose data to collectService 3 - Given some data (+ a procedure), request recommended procedures POST /PlanDefinition/GetRecommendations/$applyPayload:subject=Ydata=BundleBundle with RequestGroup with options
Functional overview of data exchange wtih PSS system

Activity Examples

The activity examples in this implementation guide provide simplified recommendations for each type of activity to support demonstration applications.

Service Examples

The service examples in this implementation guide provide illustrations of the use of PlanDefinition to describe services where the logic is not expressed in a computable and shareable way, only the inputs and outputs of the service are described. For these examples, the PlanDefinition/$apply operation can still be used, but the implementation of the service is not shareable.

GetDiagnoses

A service that returns a set of possible indications, given patient data.

Example Scenario

Input: Male 50yo, BMI=35, shortness of breath, chest pain that worsens with deep breathin, impaired kidney function Output: Possible indications will be

  • Pulmonary Embolism
  • Acute Coronary Syndrome
  • Pneumothorax
PlanDefinition

GetDiagnoses

Request

$apply:

Parameter Value Description
subject Patient/X A reference to a Patient resource created to provide the age and gender of the patient. This does not necessarily correspond to a Patient on the server or even an actual Patient, it is used to convey the information about the subject and provide a reference for the information provided to the service.
data Bundle Data provided to the service for evaluation. This example uses the single-bundle approach, but prefetch information can be used to specify more granular breakdowns of the input data to the service.
return Bundle Bundle containing a RequestGroup and the resulting propose-diagnosis tasks
POST [base]/PlanDefinition/GetDiagnoses/$apply

Body

{
    "resourceType": "Parameters",
    "id": "input",
    "parameter": [
        {
            "name": "subject",
            "valueString": "Patient/X"
        },
        {
            "name": "data",
            "valueResource": {
                "resourceType": "Bundle",
                "id": "getdiagnoses-data",
                ...
            }
        }
    ]
}

GetDiagnoses-Data

Response
{
    "resourceType": "Parameters",
    "id": "output",
    "parameter": [
        {
            "name": "return",
            "valueResource": {
                "resourceType": "Bundle",
                "id": "getdiagnoses-return",
                ...
            }
        }
    ]
}

GetDiagnoses-Return

GetDataToCollect

PlanDefinition

GetDataToCollect

Request

$apply:

Parameter Value Description
subject Patient/X A reference to a Patient resource created to provide the age and gender of the patient. This does not necessarily correspond to a Patient on the server or even an actual Patient, it is used to convey the information about the subject and provide a reference for the information provided to the service.
data Bundle Data provided to the service for evaluation. This example uses the single-bundle approach, but prefetch information can be used to specify more granular breakdowns of the input data to the service.
return Bundle Bundle containing a RequestGroup and the resulting collect-information task
POST [base]/PlanDefinition/GetDataToCollect/$apply

Body

{
    "resourceType": "Parameters",
    "id": "input",
    "parameter": [
        {
            "name": "subject",
            "valueString": "Patient/Y"
        },
        {
            "name": "data",
            "valueResource": {
                "resourceType": "Bundle",
                "id": "getdatatocollect-data",
                ...
            }
        }
    ]
}

GetDataToCollect-Data

Response
{
    "resourceType": "Parameters",
    "id": "output",
    "parameter": [
        {
            "name": "return",
            "valueResource": {
                "resourceType": "Bundle",
                "id": "getdatatocollect-return",
                ...
            }
        }
    ]
}

GetDataToCollect-Return

GetRecommendations

PlanDefinition

GetRecommendations

Request

$apply:

Parameter Value Description
subject Patient/X A reference to a Patient resource created to provide the age and gender of the patient. This does not necessarily correspond to a Patient on the server or even an actual Patient, it is used to convey the information about the subject and provide a reference for the information provided to the service.
data Bundle Data provided to the service for evaluation. This example uses the single-bundle approach, but prefetch information can be used to specify more granular breakdowns of the input data to the service.
return Bundle Bundle containing a RequestGroup and the resulting proposed medications and orders
POST [base]/PlanDefinition/GetRecommendations/$apply

Body

{
    "resourceType": "Parameters",
    "id": "input",
    "parameter": [
        {
            "name": "subject",
            "valueString": "Patient/X"
        },
        {
            "name": "data",
            "valueResource": {
                "resourceType": "Bundle",
                "id": "getrecommendations-data",
                ...
            }
        }
    ]
}

GetRecommendations-Data

Response
{
    "resourceType": "Parameters",
    "id": "output",
    "parameter": [
        {
            "name": "return",
            "valueResource": {
                "resourceType": "Bundle",
                "id": "getrecommendations-return",
                ...
            }
        }
    ]
}

GetRecommendations-Return