Module health.fhir.r4.uscore501

ballerinax/health.fhir.r4.uscore501 Ballerina library

3.0.1

Overview

US Core (5.0.1) FHIR R4 model package for representing US Core profile-constrained resources in Ballerina. It helps implement US interoperability scenarios with strongly typed records.

Trademark Notice: FHIR® and the FHIR® logo are the registered trademarks of Health Level Seven International and their use does not constitute endorsement by HL7®.

Key Features

  • Typed models mapped to US Core 5.0.1 StructureDefinitions
  • Supports broad US Core resource coverage across clinical domains

Ballerina package containing FHIR resource data models compliant with http://hl7.org/fhir/us/core/ implementation guide.

FHIR R4 USCore package

Package Overview

FHIR versionR4
Implementation Guidehttp://hl7.org/fhir/us/core/

Note: This package only supports FHIR JSON payload format only. FHIR XML payload support will be added soon.

Capabilities and features

Supported FHIR resource types

1). USCoreConditionProblemsHealthConcernsProfile[Definition] [Ballerina Record]
2). USCorePediatricBMIforAgeObservationProfile[Definition] [Ballerina Record]
3). USCoreDocumentReferenceProfile[Definition] [Ballerina Record]
4). USCoreGoalProfile[Definition] [Ballerina Record]
5). USCoreHeadCircumferenceProfile[Definition] [Ballerina Record]
6). USCoreCarePlanProfile[Definition] [Ballerina Record]
7). USCorePractitionerProfile[Definition] [Ballerina Record]
8). USCoreMedicationProfile[Definition] [Ballerina Record]
9). USCoreBMIProfile[Definition] [Ballerina Record]
10). USCoreDiagnosticReportProfileNoteExchange[Definition] [Ballerina Record]
11). USCoreOrganizationProfile[Definition] [Ballerina Record]
12). USCorePediatricHeadOccipitalFrontalCircumferencePercentileProfile[Definition] [Ballerina Record]
13). USCoreBloodPressureProfile[Definition] [Ballerina Record]
14). USCoreRelatedPersonProfile[Definition] [Ballerina Record]
15). USCoreMedicationRequestProfile[Definition] [Ballerina Record]
16). USCoreBodyHeightProfile[Definition] [Ballerina Record]
17). USCoreBodyTemperatureProfile[Definition] [Ballerina Record]
18). USCoreSmokingStatusProfile[Definition] [Ballerina Record]
19). USCoreLocation[Definition] [Ballerina Record]
20). USCoreProvenance[Definition] [Ballerina Record]
21). USCoreVitalSignsProfile[Definition] [Ballerina Record]
22). USCoreDiagnosticReportProfileLaboratoryReporting[Definition] [Ballerina Record]
23). USCoreObservationSDOHAssessment[Definition] [Ballerina Record]
24). USCoreEncounterProfile[Definition] [Ballerina Record]
25). USCoreObservationSurveyProfile[Definition] [Ballerina Record]
26). USCoreConditionEncounterDiagnosisProfile[Definition] [Ballerina Record]
27). USCorePractitionerRoleProfile[Definition] [Ballerina Record]
28). USCoreHeartRateProfile[Definition] [Ballerina Record]
29). USCoreServiceRequestProfile[Definition] [Ballerina Record]
30). USCoreObservationImagingResultProfile[Definition] [Ballerina Record]
31). USCorePatientProfile[Definition] [Ballerina Record]
32). USCoreQuestionnaireResponseProfile[Definition] [Ballerina Record]
33). USCoreAllergyIntolerance[Definition] [Ballerina Record]
34). USCoreCareTeam[Definition] [Ballerina Record]
35). USCorePediatricWeightForHeightObservationProfile[Definition] [Ballerina Record]
36). USCoreBodyWeightProfile[Definition] [Ballerina Record]
37). USCoreRespiratoryRateProfile[Definition] [Ballerina Record]
38). USCoreLaboratoryResultObservationProfile[Definition] [Ballerina Record]
39). USCoreImmunizationProfile[Definition] [Ballerina Record]
40). USCoreObservationClinicalTestResultProfile[Definition] [Ballerina Record]
41). USCoreProcedureProfile[Definition] [Ballerina Record]
42). USCoreObservationSexualOrientationProfile[Definition] [Ballerina Record]
43). USCorePulseOximetryProfile[Definition] [Ballerina Record]
44). USCoreObservationSocialHistoryProfile[Definition] [Ballerina Record]
45). USCoreImplantableDeviceProfile[Definition] [Ballerina Record]

Sample Usage

This section focuses on samples depicting how to use this package to implement FHIR related integrations

Prerequisites

  1. Install Ballerina 2201.6.0 or later

1. Parse JSON FHIR resource to FHIR resource model

Sample below is using the Patient resource in health.fhir.r4.uscore501 package.

Copy
import ballerina/log;
import ballerinax/health.fhir.r4.uscore501;
import ballerinax/health.fhir.r4.parser;

public function main() {
    json patientPayload = {
        "resourceType": "Patient",
        "id": "example-patient",
        "text": {
            "status": "generated",
            "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">John Doe</div>"
        },
        "identifier": [
            {
                "system": "http://example.com/patient-ids",
                "value": "12345"
            }
        ],
        "extension": [
            {
                "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-race",
                "valueCodeableConcept": {
                    "coding": [
                        {
                            "system": "http://hl7.org/fhir/v3/Race",
                            "code": "2106-3",
                            "display": "White"
                        }
                    ]
                }
            }
        ],
        "name": [
            {
                "use": "official",
                "family": "Doe",
                "given": [
                    "John"
                ]
            }
        ],
        "gender": "male",
        "birthDate": "2000-01-01"
    };

    do {
        anydata parsedResult = check parser:parse(patientPayload, uscore501:USCorePatientProfile);
        uscore501:USCorePatientProfile patientModel = check parsedResult.ensureType();
        log:printInfo(string `Patient name : ${patientModel.name[0].toString()}`);
    } on fail error parseError {
    	log:printError(string `Error occurred while parsing : ${parseError.message()}`, parseError);
    }
}

2. Creating FHIR Resource models and serializing to JSON wire formats

Copy
import ballerina/log;
import ballerina/time;
import ballerinax/health.fhir.r4.uscore501;
import ballerinax/health.fhir.r4;

public function main() {
    uscore501:USCorePatientProfile patient = {
        meta: {
            lastUpdated: time:utcToString(time:utcNow()),
            profile: [uscore501:PROFILE_BASE_USCOREPATIENTPROFILE]
        },
        active: true,
        name: [
            {
                family: "Doe",
                given: ["Jhon"],
                use: uscore501:CODE_USE_OFFICIAL,
                prefix: ["Mr"]
            }
        ],
        address: [
            {
                line: ["652 S. Lantern Dr."],
                city: "New York",
                country: "United States",
                postalCode: "10022",
                'type: uscore501:CODE_TYPE_PHYSICAL,
                use: uscore501:CODE_USE_HOME
            }
        ],
        identifier: [],
        gender: uscore501:CODE_GENDER_MALE
    };
    r4:FHIRResourceEntity fhirEntity = new(patient);
    // Serialize FHIR resource record to Json payload
    json|r4:FHIRSerializerError jsonResult = fhirEntity.toJson();
    if jsonResult is json {
        log:printInfo(string `Patient resource JSON payload : ${jsonResult.toJsonString()}`);
    } else {
        log:printError(string `Error occurred while serializing to JSON payload : ${jsonResult.message()}`, jsonResult);
    }
}

Import

import ballerinax/health.fhir.r4.uscore501;Copy

Other versions

See more...

Metadata

Released date: 6 days ago

Version: 3.0.1


Compatibility

Platform: any

Ballerina version: 2201.12.8

GraalVM compatible: Yes


Pull count

Total: 7288

Current verison: 42


Weekly downloads


Source repository


Keywords

Healthcare

FHIR

R4

Name/FHIR US Core (5.0.1)

USCore

Vendor/Other

Area/Healthcare

Type/Library


Contributors