Introduction

Effective infectious disease surveillance is crucial for controlling the spread of disease. It involves a multidisciplinary team of health professionals working in both government and non-government facilities. To ensure data quality and efficient participation, standardized terminology, reporting formats, and methods are essential.

Adapted from Case Definitions For Infectious Disease In Malaysia (3rd Edition January 2017).

Current Limitations:

Malaysia's current surveillance system relies on manual case notification by clinicians, followed by data entry into a standalone platform (CDCIS | e-Notifikasi) for further investigation. This manual process is inefficient and lacks centralization, hindering timely analysis and response.

Proposed Solution:

A centralized Health Information Exchange Platform (HIE) can address these limitations. This platform would offer two intergration point option to improve the notification method:

  1. Source System Integration: Source systems (e.g., hospital information systems) can share/retrieve completed notification record to HIE directly in their application.
  2. SOF Application Integration: Source systems can send raw data to the HIE, to be completed in a standalone Smart on FHIR (SOF) communicable disease notification application.

Objectives

This implementation guide use case outlines the technical specifications for exchanging data between different systems to improve surveillance efficiency.


Source System Integration Specification

Talk about Source System sending bundle with QR and supporting Resource directly to HIE.

Integration Method Considerations

Advantages

  • 1 application entry only, flow easier for user and user prefer like this
  • Application can be FHIR facade ready (refer FHIR facade documentation)

Disadvantages

  • Need to do significant changes if application not capture parameter in system
  • Overlap of function with other existing application thus indirectly
  • Version changes to notification standard may need significant changes to source system also.

API involved & Business Rules

Business Rule concept

notification br
Diagram 1

Need to explain the business rules involved. before can send need to check if similar diagnosis already exist less than 1 week in database.

Questionnaire Format

The Questionnaire is adapted from Borang Notifikasi Penyakit Berjankit (Rev 2010) and CDCIS | e-Notifikasi portal.

Refer Diagram below for the form template details:

Questionnaire Details

The Notification is structured into a FHIR Questionnaire Resource. Below are the details of the Notification Questionnaire.

Defining URL http://ig.veins.mhnexus.com/Questionnaire/cd-notification
Status Draft
Version 0.0.1
Title Communicable Disease Notification Form

The resource cannot be rendered.

<Questionnaire xmlns="http://hl7.org/fhir">
    <id value="cd-notification" />
    <meta>
        <versionId value="8" />
        <lastUpdated value="2024-07-12T10:51:04.467+08:00" />
    </meta>
    <url value="http://ig.veins.mhnexus.com/Questionnaire/cd-notification" />
    <title value="Communicable Disease Notification Form" />
    <status value="active" />
    <date value="2024-07-11T08:00:00+08:00" />
    <item>
        <linkId value="patient" />
        <text value="Patient Details" />
        <type value="reference" />
    </item>
    <item>
        <linkId value="address" />
        <text value="Address" />
        <type value="group" />
        <item>
            <linkId value="address-details" />
            <text value="Address Home / Incident Details" />
            <type value="group" />
            <item>
                <linkId value="address-incident" />
                <text value="Address Incident" />
                <type value="string" />
            </item>
            <item>
                <linkId value="postcode" />
                <text value="Postcode" />
                <type value="choice" />
                <answerValueSet value="http://fhir.hie.moh.gov.my/CodeSystem/postcode-my-core" />
            </item>
            <item>
                <linkId value="phone" />
                <text value="Phone Number" />
                <type value="string" />
            </item>
            <item>
                <linkId value="sub-district" />
                <text value="Sub District" />
                <type value="string" />
            </item>
            <item>
                <linkId value="district" />
                <text value="District" />
                <type value="choice" />
                <answerValueSet value="http://fhir.hie.moh.gov.my/CodeSystem/district-my-core" />
            </item>
            <item>
                <linkId value="sector" />
                <text value="Sector" />
                <type value="string" />
            </item>
            <item>
                <linkId value="state" />
                <text value="State" />
                <type value="choice" />
                <answerValueSet value="http://fhir.hie.moh.gov.my/CodeSystem/state-my-core" />
            </item>
            <item>
                <linkId value="locality" />
                <text value="Locality" />
                <type value="string" />
            </item>
            <item>
                <linkId value="latitude" />
                <text value="Latitude" />
                <type value="decimal" />
            </item>
            <item>
                <linkId value="longitude" />
                <text value="Longitude" />
                <type value="decimal" />
            </item>
        </item>
        <item>
            <linkId value="occupation-details" />
            <text value="Occupation Details" />
            <type value="group" />
            <item>
                <linkId value="working-address" />
                <text value="Working Address" />
                <type value="string" />
            </item>
            <item>
                <linkId value="working-phone" />
                <text value="Phone Number" />
                <type value="string" />
            </item>
            <item>
                <linkId value="working-phone-mobile" />
                <text value="Mobile Number" />
                <type value="string" />
            </item>
            <item>
                <linkId value="working-email" />
                <text value="Email" />
                <type value="string" />
            </item>
            <item>
                <linkId value="occupation-category" />
                <text value="Occupation Category" />
                <type value="choice" />
                <answerValueSet value="http://fhir.hie.moh.gov.my/CodeSystem/occupation-sector-my-core" />
            </item>
            <item>
                <linkId value="occupation-name" />
                <text value="Occupation Name" />
                <type value="string" />
            </item>
        </item>
    </item>
    <item>
        <linkId value="dx" />
        <text value="Disease Diagnosis" />
        <type value="group" />
        <item>
            <linkId value="notification-details" />
            <text value="Notification Details" />
            <type value="group" />
            <item>
                <linkId value="notification-identifier" />
                <text value="Notification Identifier" />
                <type value="string" />
            </item>
            <item>
                <linkId value="date-receive-notification" />
                <text value="Received Notification Date" />
                <type value="dateTime" />
            </item>
            <item>
                <linkId value="notification-dae" />
                <text value="Notification Date" />
                <type value="dateTime" />
            </item>
        </item>
        <item>
            <linkId value="encounter-details" />
            <text value="Encounter Details" />
            <type value="group" />
            <item>
                <linkId value="location" />
                <text value="Ward / Clinic Name / No" />
                <type value="string" />
            </item>
            <item>
                <linkId value="mrn" />
                <text value="Encounter Registration Number" />
                <type value="string" />
            </item>
            <item>
                <linkId value="encounter-date" />
                <text value="Encounter Date" />
                <type value="dateTime" />
            </item>
        </item>
        <item>
            <linkId value="dx-details" />
            <text value="Notify Details" />
            <type value="group" />
            <item>
                <linkId value="main-dx" />
                <text value="Diagnosis" />
                <type value="reference" />
            </item>
            <item>
                <linkId value="main-dx-onset" />
                <text value="Onset Date" />
                <type value="dateTime" />
            </item>
            <item>
                <linkId value="sub-dx" />
                <text value="Sub Diagnosis" />
                <type value="reference" />
                <repeats value="true" />
            </item>
        </item>
        <item>
            <linkId value="case-detect-method" />
            <text value="Case Detection Method" />
            <type value="group" />
            <item>
                <linkId value="detect-method" />
                <text value="Detection methods" />
                <type value="choice" />
                <answerOption>
                    <valueCoding>
                        <system value="http://snomed.info/sct" />
                        <code value="395098000" />
                        <display value="Active" />
                    </valueCoding>
                </answerOption>
                <answerOption>
                    <valueCoding>
                        <system value="http://snomed.info/sct" />
                        <code value="428792000" />
                        <display value="Passive" />
                    </valueCoding>
                </answerOption>
                <answerOption>
                    <valueCoding>
                        <system value="http://snomed.info/sct" />
                        <code value="360156006" />
                        <display value="Screening" />
                    </valueCoding>
                </answerOption>
            </item>
            <item>
                <linkId value="screening-method" />
                <text value="For Screening Method, Please Specify Type:" />
                <type value="choice" />
                <answerOption>
                    <valueCoding>
                        <system value="http://ig.veins.mhnexus.com/CodeSystem/screening-method-veins" />
                        <code value="1" />
                        <display value="FOMEMA" />
                    </valueCoding>
                </answerOption>
                <answerOption>
                    <valueCoding>
                        <system value="http://ig.veins.mhnexus.com/CodeSystem/screening-method-veins" />
                        <code value="2" />
                        <display value="Blood Bank" />
                    </valueCoding>
                </answerOption>
                <answerOption>
                    <valueCoding>
                        <system value="http://ig.veins.mhnexus.com/CodeSystem/screening-method-veins" />
                        <code value="3" />
                        <display value="Antenatal" />
                    </valueCoding>
                </answerOption>
                <answerOption>
                    <valueCoding>
                        <system value="http://ig.veins.mhnexus.com/CodeSystem/screening-method-veins" />
                        <code value="4" />
                        <display value="Prison" />
                    </valueCoding>
                </answerOption>
                <answerOption>
                    <valueCoding>
                        <system value="http://ig.veins.mhnexus.com/CodeSystem/screening-method-veins" />
                        <code value="5" />
                        <display value="Routing Screening" />
                    </valueCoding>
                </answerOption>
                <answerOption>
                    <valueCoding>
                        <system value="http://ig.veins.mhnexus.com/CodeSystem/screening-method-veins" />
                        <code value="6" />
                        <display value="Harm Reduction" />
                    </valueCoding>
                </answerOption>
                <answerOption>
                    <valueCoding>
                        <system value="http://ig.veins.mhnexus.com/CodeSystem/screening-method-veins" />
                        <code value="7" />
                        <display value="Pre-wedding" />
                    </valueCoding>
                </answerOption>
                <answerOption>
                    <valueCoding>
                        <system value="http://ig.veins.mhnexus.com/CodeSystem/screening-method-veins" />
                        <code value="8" />
                        <display value="screening without name" />
                    </valueCoding>
                </answerOption>
                <answerOption>
                    <valueCoding>
                        <system value="http://ig.veins.mhnexus.com/CodeSystem/screening-method-veins" />
                        <code value="99" />
                        <display value="Others" />
                    </valueCoding>
                </answerOption>
            </item>
        </item>
        <item>
            <linkId value="patient-status" />
            <text value="Patient Status" />
            <type value="group" />
            <item>
                <linkId value="deceased-status" />
                <text value="Deceased Status" />
                <type value="boolean" />
            </item>
            <item>
                <linkId value="deceased-date" />
                <text value="Deceased Date" />
                <type value="dateTime" />
            </item>
            <item>
                <linkId value="cod-dx" />
                <text value="Cause Of Death Diagnosis" />
                <type value="reference" />
            </item>
            <item>
                <linkId value="cod-dx-other" />
                <text value="Supporting Death Diagnosis" />
                <type value="reference" />
                <repeats value="true" />
            </item>
        </item>
    </item>
    <item>
        <linkId value="ix" />
        <text value="Laboratory Investigation" />
        <type value="group" />
        <item>
            <linkId value="ix-performed" />
            <text value="Laboratory Investigation Performed?" />
            <type value="boolean" />
        </item>
        <item>
            <linkId value="ix-details" />
            <text value="Investigation Details" />
            <type value="group" />
            <repeats value="true" />
            <item>
                <linkId value="ix-name" />
                <text value="Investigation Name" />
                <type value="string" />
            </item>
            <item>
                <linkId value="ix-note" />
                <text value="Note" />
                <type value="text" />
            </item>
            <item>
                <linkId value="ix-taken-date" />
                <text value="Specimen Taken Date" />
                <type value="dateTime" />
            </item>
            <item>
                <linkId value="ix-receive-date" />
                <text value="specimen Received By Laboratory Date" />
                <type value="dateTime" />
            </item>
            <item>
                <linkId value="ix-result" />
                <text value="Laboratory Investigation Result" />
                <type value="choice" />
                <answerOption>
                    <valueCoding>
                        <system value="http://snomed.info/sct" />
                        <code value="10828004" />
                        <display value="Positive" />
                    </valueCoding>
                </answerOption>
                <answerOption>
                    <valueCoding>
                        <system value="http://snomed.info/sct" />
                        <code value="260385009" />
                        <display value="Negative" />
                    </valueCoding>
                </answerOption>
                <answerOption>
                    <valueCoding>
                        <system value="http://snomed.info/sct" />
                        <code value="263921008" />
                        <display value="Pending" />
                    </valueCoding>
                </answerOption>
                <answerOption>
                    <valueCoding>
                        <system value="http://snomed.info/sct" />
                        <code value="42425007" />
                        <display value="Equivocal" />
                    </valueCoding>
                </answerOption>
            </item>
            <item>
                <linkId value="ix-result-date" />
                <text value="laboratory Result Date" />
                <type value="dateTime" />
            </item>
        </item>
        <item>
            <linkId value="case-classifcation" />
            <text value="Case Classification" />
            <type value="group" />
            <item>
                <linkId value="dx-status" />
                <text value="Diagnosis Status" />
                <type value="choice" />
                <answerOption>
                    <valueCoding>
                        <code value="1" />
                        <display value="Clinical" />
                    </valueCoding>
                </answerOption>
                <answerOption>
                    <valueCoding>
                        <code value="2" />
                        <display value="Confirmed By Laboratory Investigation" />
                    </valueCoding>
                </answerOption>
                <answerOption>
                    <valueCoding>
                        <code value="3" />
                        <display value="Probable" />
                    </valueCoding>
                </answerOption>
                <answerOption>
                    <valueCoding>
                        <code value="4" />
                        <display value="Epid link" />
                    </valueCoding>
                </answerOption>
            </item>
            <item>
                <linkId value="classification-date" />
                <text value="slasification Date" />
                <type value="dateTime" />
            </item>
            <item>
                <linkId value="infection-type" />
                <text value="Infection Type" />
                <type value="choice" />
                <answerOption>
                    <valueCoding>
                        <code value="1" />
                        <display value="Local" />
                    </valueCoding>
                </answerOption>
                <answerOption>
                    <valueCoding>
                        <code value="2" />
                        <display value="Import" />
                    </valueCoding>
                </answerOption>
            </item>
        </item>
    </item>
    <item>
        <linkId value="notifier-details" />
        <text value="Notifier details" />
        <type value="group" />
        <item>
            <linkId value="remark" />
            <text value="Remark" />
            <type value="group" />
            <item>
                <linkId value="general-remark" />
                <text value="Remark" />
                <type value="text" />
            </item>
            <item>
                <linkId value="clinical-remark" />
                <text value="Additional Clinical Information" />
                <type value="text" />
            </item>
        </item>
        <item>
            <linkId value="notifier" />
            <text value="Notifier" />
            <type value="group" />
            <item>
                <linkId value="practitioner-name" />
                <text value="Practitoner Name" />
                <type value="reference" />
            </item>
            <item>
                <linkId value="notifier-phone" />
                <text value="Phone Number" />
                <type value="string" />
            </item>
            <item>
                <linkId value="notifier-email" />
                <text value="Email" />
                <type value="string" />
            </item>
            <item>
                <linkId value="notifier-fax" />
                <text value="Fax" />
                <type value="string" />
            </item>
            <item>
                <linkId value="notifier-date" />
                <text value="Date Notification" />
                <type value="dateTime" />
            </item>
        </item>
        <item>
            <linkId value="facility-details" />
            <text value="Facility Details" />
            <type value="group" />
            <item>
                <linkId value="facility" />
                <text value="Healthcare Facility Details" />
                <type value="reference" />
            </item>
            <item>
                <linkId value="department" />
                <text value="Department" />
                <type value="reference" />
            </item>
        </item>
    </item>
</Questionnaire>

{
    "resourceType": "Questionnaire",
    "id": "cd-notification",
    "meta": {
        "versionId": "8",
        "lastUpdated": "07/12/2024 02:51:04"
    },
    "url": "http://ig.veins.mhnexus.com/Questionnaire/cd-notification",
    "title": "Communicable Disease Notification Form",
    "status": "active",
    "date": "07/11/2024 00:00:00",
    "item":  [
        {
            "linkId": "patient",
            "text": "Patient Details",
            "type": "reference"
        },
        {
            "linkId": "address",
            "text": "Address",
            "type": "group",
            "item":  [
                {
                    "linkId": "address-details",
                    "text": "Address Home / Incident Details",
                    "type": "group",
                    "item":  [
                        {
                            "linkId": "address-incident",
                            "text": "Address Incident",
                            "type": "string"
                        },
                        {
                            "linkId": "postcode",
                            "text": "Postcode",
                            "type": "choice",
                            "answerValueSet": "http://fhir.hie.moh.gov.my/CodeSystem/postcode-my-core"
                        },
                        {
                            "linkId": "phone",
                            "text": "Phone Number",
                            "type": "string"
                        },
                        {
                            "linkId": "sub-district",
                            "text": "Sub District",
                            "type": "string"
                        },
                        {
                            "linkId": "district",
                            "text": "District",
                            "type": "choice",
                            "answerValueSet": "http://fhir.hie.moh.gov.my/CodeSystem/district-my-core"
                        },
                        {
                            "linkId": "sector",
                            "text": "Sector",
                            "type": "string"
                        },
                        {
                            "linkId": "state",
                            "text": "State",
                            "type": "choice",
                            "answerValueSet": "http://fhir.hie.moh.gov.my/CodeSystem/state-my-core"
                        },
                        {
                            "linkId": "locality",
                            "text": "Locality",
                            "type": "string"
                        },
                        {
                            "linkId": "latitude",
                            "text": "Latitude",
                            "type": "decimal"
                        },
                        {
                            "linkId": "longitude",
                            "text": "Longitude",
                            "type": "decimal"
                        }
                    ]
                },
                {
                    "linkId": "occupation-details",
                    "text": "Occupation Details",
                    "type": "group",
                    "item":  [
                        {
                            "linkId": "working-address",
                            "text": "Working Address",
                            "type": "string"
                        },
                        {
                            "linkId": "working-phone",
                            "text": "Phone Number",
                            "type": "string"
                        },
                        {
                            "linkId": "working-phone-mobile",
                            "text": "Mobile Number",
                            "type": "string"
                        },
                        {
                            "linkId": "working-email",
                            "text": "Email",
                            "type": "string"
                        },
                        {
                            "linkId": "occupation-category",
                            "text": "Occupation Category",
                            "type": "choice",
                            "answerValueSet": "http://fhir.hie.moh.gov.my/CodeSystem/occupation-sector-my-core"
                        },
                        {
                            "linkId": "occupation-name",
                            "text": "Occupation Name",
                            "type": "string"
                        }
                    ]
                }
            ]
        },
        {
            "linkId": "dx",
            "text": "Disease Diagnosis",
            "type": "group",
            "item":  [
                {
                    "linkId": "notification-details",
                    "text": "Notification Details",
                    "type": "group",
                    "item":  [
                        {
                            "linkId": "notification-identifier",
                            "text": "Notification Identifier",
                            "type": "string"
                        },
                        {
                            "linkId": "date-receive-notification",
                            "text": "Received Notification Date",
                            "type": "dateTime"
                        },
                        {
                            "linkId": "notification-dae",
                            "text": "Notification Date",
                            "type": "dateTime"
                        }
                    ]
                },
                {
                    "linkId": "encounter-details",
                    "text": "Encounter Details",
                    "type": "group",
                    "item":  [
                        {
                            "linkId": "location",
                            "text": "Ward / Clinic Name / No",
                            "type": "string"
                        },
                        {
                            "linkId": "mrn",
                            "text": "Encounter Registration Number",
                            "type": "string"
                        },
                        {
                            "linkId": "encounter-date",
                            "text": "Encounter Date",
                            "type": "dateTime"
                        }
                    ]
                },
                {
                    "linkId": "dx-details",
                    "text": "Notify Details",
                    "type": "group",
                    "item":  [
                        {
                            "linkId": "main-dx",
                            "text": "Diagnosis",
                            "type": "reference"
                        },
                        {
                            "linkId": "main-dx-onset",
                            "text": "Onset Date",
                            "type": "dateTime"
                        },
                        {
                            "linkId": "sub-dx",
                            "text": "Sub Diagnosis",
                            "type": "reference",
                            "repeats": true
                        }
                    ]
                },
                {
                    "linkId": "case-detect-method",
                    "text": "Case Detection Method",
                    "type": "group",
                    "item":  [
                        {
                            "linkId": "detect-method",
                            "text": "Detection methods",
                            "type": "choice",
                            "answerOption":  [
                                {
                                    "valueCoding": {
                                        "system": "http://snomed.info/sct",
                                        "code": "395098000",
                                        "display": "Active"
                                    }
                                },
                                {
                                    "valueCoding": {
                                        "system": "http://snomed.info/sct",
                                        "code": "428792000",
                                        "display": "Passive"
                                    }
                                },
                                {
                                    "valueCoding": {
                                        "system": "http://snomed.info/sct",
                                        "code": "360156006",
                                        "display": "Screening"
                                    }
                                }
                            ]
                        },
                        {
                            "linkId": "screening-method",
                            "text": "For Screening Method, Please Specify Type:",
                            "type": "choice",
                            "answerOption":  [
                                {
                                    "valueCoding": {
                                        "system": "http://ig.veins.mhnexus.com/CodeSystem/screening-method-veins",
                                        "code": "1",
                                        "display": "FOMEMA"
                                    }
                                },
                                {
                                    "valueCoding": {
                                        "system": "http://ig.veins.mhnexus.com/CodeSystem/screening-method-veins",
                                        "code": "2",
                                        "display": "Blood Bank"
                                    }
                                },
                                {
                                    "valueCoding": {
                                        "system": "http://ig.veins.mhnexus.com/CodeSystem/screening-method-veins",
                                        "code": "3",
                                        "display": "Antenatal"
                                    }
                                },
                                {
                                    "valueCoding": {
                                        "system": "http://ig.veins.mhnexus.com/CodeSystem/screening-method-veins",
                                        "code": "4",
                                        "display": "Prison"
                                    }
                                },
                                {
                                    "valueCoding": {
                                        "system": "http://ig.veins.mhnexus.com/CodeSystem/screening-method-veins",
                                        "code": "5",
                                        "display": "Routing Screening"
                                    }
                                },
                                {
                                    "valueCoding": {
                                        "system": "http://ig.veins.mhnexus.com/CodeSystem/screening-method-veins",
                                        "code": "6",
                                        "display": "Harm Reduction"
                                    }
                                },
                                {
                                    "valueCoding": {
                                        "system": "http://ig.veins.mhnexus.com/CodeSystem/screening-method-veins",
                                        "code": "7",
                                        "display": "Pre-wedding"
                                    }
                                },
                                {
                                    "valueCoding": {
                                        "system": "http://ig.veins.mhnexus.com/CodeSystem/screening-method-veins",
                                        "code": "8",
                                        "display": "screening without name"
                                    }
                                },
                                {
                                    "valueCoding": {
                                        "system": "http://ig.veins.mhnexus.com/CodeSystem/screening-method-veins",
                                        "code": "99",
                                        "display": "Others"
                                    }
                                }
                            ]
                        }
                    ]
                },
                {
                    "linkId": "patient-status",
                    "text": "Patient Status",
                    "type": "group",
                    "item":  [
                        {
                            "linkId": "deceased-status",
                            "text": "Deceased Status",
                            "type": "boolean"
                        },
                        {
                            "linkId": "deceased-date",
                            "text": "Deceased Date",
                            "type": "dateTime"
                        },
                        {
                            "linkId": "cod-dx",
                            "text": "Cause Of Death Diagnosis",
                            "type": "reference"
                        },
                        {
                            "linkId": "cod-dx-other",
                            "text": "Supporting Death Diagnosis",
                            "type": "reference",
                            "repeats": true
                        }
                    ]
                }
            ]
        },
        {
            "linkId": "ix",
            "text": "Laboratory Investigation",
            "type": "group",
            "item":  [
                {
                    "linkId": "ix-performed",
                    "text": "Laboratory Investigation Performed?",
                    "type": "boolean"
                },
                {
                    "linkId": "ix-details",
                    "text": "Investigation Details",
                    "type": "group",
                    "repeats": true,
                    "item":  [
                        {
                            "linkId": "ix-name",
                            "text": "Investigation Name",
                            "type": "string"
                        },
                        {
                            "linkId": "ix-note",
                            "text": "Note",
                            "type": "text"
                        },
                        {
                            "linkId": "ix-taken-date",
                            "text": "Specimen Taken Date",
                            "type": "dateTime"
                        },
                        {
                            "linkId": "ix-receive-date",
                            "text": "specimen Received By Laboratory Date",
                            "type": "dateTime"
                        },
                        {
                            "linkId": "ix-result",
                            "text": " Laboratory Investigation Result",
                            "type": "choice",
                            "answerOption":  [
                                {
                                    "valueCoding": {
                                        "system": "http://snomed.info/sct",
                                        "code": "10828004",
                                        "display": "Positive"
                                    }
                                },
                                {
                                    "valueCoding": {
                                        "system": "http://snomed.info/sct",
                                        "code": "260385009",
                                        "display": "Negative"
                                    }
                                },
                                {
                                    "valueCoding": {
                                        "system": "http://snomed.info/sct",
                                        "code": "263921008",
                                        "display": "Pending"
                                    }
                                },
                                {
                                    "valueCoding": {
                                        "system": "http://snomed.info/sct",
                                        "code": "42425007",
                                        "display": "Equivocal"
                                    }
                                }
                            ]
                        },
                        {
                            "linkId": "ix-result-date",
                            "text": "laboratory Result Date",
                            "type": "dateTime"
                        }
                    ]
                },
                {
                    "linkId": "case-classifcation",
                    "text": "Case Classification",
                    "type": "group",
                    "item":  [
                        {
                            "linkId": "dx-status",
                            "text": "Diagnosis Status",
                            "type": "choice",
                            "answerOption":  [
                                {
                                    "valueCoding": {
                                        "code": "1",
                                        "display": "Clinical"
                                    }
                                },
                                {
                                    "valueCoding": {
                                        "code": "2",
                                        "display": "Confirmed By Laboratory Investigation"
                                    }
                                },
                                {
                                    "valueCoding": {
                                        "code": "3",
                                        "display": "Probable"
                                    }
                                },
                                {
                                    "valueCoding": {
                                        "code": "4",
                                        "display": "Epid link"
                                    }
                                }
                            ]
                        },
                        {
                            "linkId": "classification-date",
                            "text": "slasification Date",
                            "type": "dateTime"
                        },
                        {
                            "linkId": "infection-type",
                            "text": "Infection Type",
                            "type": "choice",
                            "answerOption":  [
                                {
                                    "valueCoding": {
                                        "code": "1",
                                        "display": "Local"
                                    }
                                },
                                {
                                    "valueCoding": {
                                        "code": "2",
                                        "display": "Import"
                                    }
                                }
                            ]
                        }
                    ]
                }
            ]
        },
        {
            "linkId": "notifier-details",
            "text": "Notifier details",
            "type": "group",
            "item":  [
                {
                    "linkId": "remark",
                    "text": "Remark",
                    "type": "group",
                    "item":  [
                        {
                            "linkId": "general-remark",
                            "text": "Remark",
                            "type": "text"
                        },
                        {
                            "linkId": "clinical-remark",
                            "text": "Additional Clinical Information",
                            "type": "text"
                        }
                    ]
                },
                {
                    "linkId": "notifier",
                    "text": "Notifier",
                    "type": "group",
                    "item":  [
                        {
                            "linkId": "practitioner-name",
                            "text": "Practitoner Name",
                            "type": "reference"
                        },
                        {
                            "linkId": "notifier-phone",
                            "text": "Phone Number",
                            "type": "string"
                        },
                        {
                            "linkId": "notifier-email",
                            "text": "Email",
                            "type": "string"
                        },
                        {
                            "linkId": "notifier-fax",
                            "text": "Fax",
                            "type": "string"
                        },
                        {
                            "linkId": "notifier-date",
                            "text": "Date Notification",
                            "type": "dateTime"
                        }
                    ]
                },
                {
                    "linkId": "facility-details",
                    "text": "Facility Details",
                    "type": "group",
                    "item":  [
                        {
                            "linkId": "facility",
                            "text": "Healthcare Facility Details",
                            "type": "reference"
                        },
                        {
                            "linkId": "department",
                            "text": "Department",
                            "type": "reference"
                        }
                    ]
                }
            ]
        }
    ]
}

QuestionnaireResponse Sample Data

The QR

  • a sample data of QR only
  • a sample data complete in a bundle

API involved:

Source System must comply to the API defined below to consider the integration point a success

Step Description Method API
1 Check ptient in database GET [base]/Patient?identifier=@patientIdentifier
2 Retrive all existing notification of patient GET [base]/QuestionnaireResponse?questionnaire=&subject.identifier=@patientIdentifier
3 Create Notification (Bundle) POST [base]
4 Update Notification PUT [base]QuestionnaireResponse/@questionnaireResponseId

For creating the notification Bundle. Source system must provide the conditional create parameter to prevent duplication of record created

Resource Conditional Create Parameter
Condition ?subject=@patientIdentifier&code=@diagnosisCode&authoredDate=ge@currentDateTime-1week&authoredDate=le@currentDateTime

Below is an example of a notification bundle example


Smart On FHIR (SOF) Integration Specification

Talk about

Diagram (Diagram 1) below is an overview of the CDN application in relation to Integration with Source System and FHIR server access via SOF launcher

notification overview
Diagram 1

Step 1: Send Record Captured from Source System to FHIR server

Talk about the FHIR Resource required and the API concept.

Below are the related FHIR Resources required to be sent from Source System

No FHIR Resource Cardinality Description Conditional Create Parameter Sample Data
1 Patient Mandatory Demographic details of patient

- source

- identifier (MRN number)

Patient Conditional Create
2 Encounter Mandatory Encounter details of patient

- source

- identifier (RN number)

Patient Conditional Create
3 Condition Mandatory Main diagnosis being the reason notification registered

- source

- code (Diagnosis Code)

Patient Conditional Create
4 Practitioner Mandatory Details of the notifier or the clinician in charge

- source

- code (Diagnosis Code)

Patient Conditional Create

These resource must be compiled as a Bundle transaction with conditional create parameter mentioned. below is an example of Complete Bundle with its conditional create defined.

The bundle will then be sent to the FHIR server based on the API below:

No API Function Method API
1 Send Resource Bundle POST [base]

Step 2: Source System launch CDN application via SOF launcher

Refer to SOF launcher guide.

Step 3, 4 & 5: CDN application handling notification process

These steps will be handled by the CDN application.

Placeholder Questionnaire

Link ID Question Answer Options
1 How old are you?
Code Display Score
0 Younger than 40 years 0
1 40-49 years 1
2 50-59 years 2
3 60 years or older 3
2 Are you a man or a women?
Code Display Score
male Male 1
female Female 0
3 If you are a woman, have you ever been diagnosed with gestational diabetes?
Code Display Score
373066001 Yes 1
373067005 No 0
4 Do you have a mother, father, sister, or brother with diabetes?
Code Display Score
373066001 Yes 1
373067005 No 0
5 Have you ever been diagnosed with high blood pressure?
Code Display Score
373066001 Yes 1
373067005 No 0
6 Are you physically active?
Code Display Score
373066001 Yes 0
373067005 No 1
7 What is your weight category?
Code Display Score
310252000 Normal (18.5-24.9kg/m2) 1
162863004 Overweight (25-29.9kg/m2) 2
162864005 Obese (30kg/m2 or greater) 3
8 Final Score Sum of all answer score

Questionnaire Communicable Disease Notification Form

Link ID Question Question Type
Patient Details
patient Patient Details reference
Address
Link ID Question Question Type
address Address group
address-details Address Home / Incident Details group
Link ID Question Question Type Answer Options
address-incident Address Incident string
  • postcode Postcode choice ValueSetPostcode (MY Core)
    phone Phone Number string
  • sub-district Sub District string
  • district District choice
  • ValueSetDistrict (MY Core)
  • sector Sector string
  • state State choice
  • ValueSetState (MY Core)
  • locality Locality string
  • latitude Latitude decimal
  • longitude Longitude decimal
  • occupation-details Occupation Details group
    Link ID Question Question Type Answer Options
    working-address Working Address string
  • working-phone Phone Number string
  • working-phone-mobile Mobile Number string
  • working-email Email string
  • occupation-category Occupation Category choice
  • ValueSetOccupationSector (MY Core)
  • occupation-name Occupation Name string
  • Disease Diagnosis
    Link ID Question Question Type
    dx Disease Diagnosis group
    notification-details Notification Details group
    Link ID Question Type
    notification-identifier Notification Identifier string
    date-receive-notification Received Notification Date dateTime
    notification-dae Notification Date dateTime
    encounter-details Encounter Details group
    Link ID Question Question Type
    location Ward / Clinic Name / No string
    mrn Encounter Registration Number string
    encounter-date Encounter Date dateTime
    dx-details Notify Details group
    Link ID Question Question Type
    main-dx Diagnosis reference
    main-dx-onset Onset Date dateTime
    sub-dx Sub Diagnosis reference
    case-detect-method Case Detection Method group
    Link ID Question Question Type Answer Options
    detect-method Detection methods choice
  • Active
  • Passive
  • Screening
  • screening-method For Screening Method, Please Specify Type: choice
  • FOMEMA
  • Blood Bank
  • Antenatal
  • Prison
  • Routine Screening
  • Harm Reduction
  • Pre-wedding
  • Screening without name
  • Others
  • patient-status Patient Status group
    Link ID Question Question Type
    deceased-status Deceased Status boolean
    deceased-date Deceased Date dateTime
    cod-dx Cause Of Death Diagnosis reference
    cod-dx-other Supporting Death Diagnosis reference
    Laboratory Investigation
    Link ID Question Question Type
    ix Laboratory Investigation group
    ix-performed Laboratory Investigation Performed? boolean
    ix-details Investigation Details group
    Link ID Question Question Type Answer Option
    ix-name Investigation Name string
  • ix-note Note text
  • ix-taken-date Specimen Taken Date dateTime
  • ix-receive-date specimen Received By Laboratory Date dateTime
  • ix-result Laboratory Investigation Result choice
  • Positive
  • Negative
  • Pending
  • Equivocal
  • ix-result-date laboratory Result Date dateTime
  • case-classifcation Case Classification group
    Link ID Question Question Type Answer Options
    dx-status Diagnosis Status choice
  • Clinical
  • Confirmed By Laboratory Investigation
  • Probable
  • Epid link
  • classification-date Classification Date dateTime
  • infection-type Infection Type choice
  • Local
  • Import
  • Notifier Details
    Link ID Question Question Type
    notifier-details Notifier details group
    remark Remark group
    Link ID Question Question Type
    general-remark Remark Text
    clinical-remark Additional Clinical Information Text
    notifier Notifier group
    Link ID Question Question Type
    practitioner-name Practitoner Name reference
    notifier-phone Phone Number string
    notifier-email Email string
    notifier-fax Fax string
    notifier-date Date Notification dateTime
    facility-details Facility Details group
    Link ID Question Question Type
    facility Healthcare Facility Details reference
    department Department reference