- FhirR4Builder: rewrite buildLabReportBundle() with DiagnosticReportLab profile, structured Observation valueQuantity/valueString, reference ranges, interpretation codes, Binary+DocumentReference for HTML report, Encounter resource, HFR-based bundle identifier system - FhirR4Builder: rewrite buildDischargeSummaryBundle() with optional Practitioner/Organization params, structured ABDM sections (chief complaints 422843007, medical history 1003642006, investigations 721981007, procedures 1003640003, medications 721912009, follow-up 736271009), HFR-based bundle identifier system - AbdmGateway: shareIpdDischargeBundle() now builds a real DischargeSummaryRecord FHIR bundle and posts via pushRecord() (POST /v3/records/push) instead of the stale shareIpdDischargeBundle() - AbdmGateway: shareDiagnosisReportBundle() now builds a real DiagnosticReportRecord FHIR bundle and posts via pushRecord() instead of the stale shareDiagnosisReportBundle() - AbdmGateway: add getHospitalProfileForFhir() and mapLabTypeToTitle() helpers; fix pre-existing undefined \ bug in getActiveConsentRecord() - Add ABDM_FHIR reference package, AbdmBridgeLog controller/view, bridge record migration, debug scripts and misc UI/settings updates
321 lines
17 KiB
JSON
321 lines
17 KiB
JSON
{
|
|
"resourceType" : "Bundle",
|
|
"id" : "CoverageEligibilityRequestBundle-validation-example-01",
|
|
"meta" : {
|
|
"versionId" : "1",
|
|
"profile" : ["https://nrces.in/ndhm/fhir/r4/StructureDefinition/CoverageEligibilityRequestBundle"]
|
|
},
|
|
"identifier" : {
|
|
"value" : "bc3c6c57-2053-4d0e-ac40-139ccccff645"
|
|
},
|
|
"type" : "collection",
|
|
"timestamp" : "2025-03-02T15:32:26.605+05:30",
|
|
"entry" : [{
|
|
"fullUrl" : "urn:uuid:4e80daad-ad77-4e6f-bd87-aa6f90330583",
|
|
"resource" : {
|
|
"resourceType" : "CoverageEligibilityRequest",
|
|
"id" : "4e80daad-ad77-4e6f-bd87-aa6f90330583",
|
|
"meta" : {
|
|
"profile" : ["https://nrces.in/ndhm/fhir/r4/StructureDefinition/CoverageEligibilityRequest"]
|
|
},
|
|
"language" : "en",
|
|
"text" : {
|
|
"status" : "generated",
|
|
"div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\" lang=\"en\"><a name=\"CoverageEligibilityRequest_4e80daad-ad77-4e6f-bd87-aa6f90330583\"> </a><p class=\"res-header-id\"><b>Generated Narrative: CoverageEligibilityRequest 4e80daad-ad77-4e6f-bd87-aa6f90330583</b></p><a name=\"4e80daad-ad77-4e6f-bd87-aa6f90330583\"> </a><a name=\"hc4e80daad-ad77-4e6f-bd87-aa6f90330583\"> </a><a name=\"4e80daad-ad77-4e6f-bd87-aa6f90330583-hi-IN\"> </a><div style=\"display: inline-block; background-color: #d9e0e7; padding: 6px; margin: 4px; border: 1px solid #8da1b4; border-radius: 5px; line-height: 60%\"><p style=\"margin-bottom: 0px\">Language: en</p><p style=\"margin-bottom: 0px\">Profile: <a href=\"StructureDefinition-CoverageEligibilityRequest.html\">CoverageEligibilityRequest</a></p></div><p><b>identifier</b>: 7612345</p><p><b>status</b>: Active</p><p><b>priority</b>: <span title=\"Codes:{http://terminology.hl7.org/CodeSystem/processpriority normal}\">Normal</span></p><p><b>purpose</b>: Coverage Validation</p><p><b>patient</b>: <a href=\"Bundle-CoverageEligibilityRequestBundle-validation-example-01.html#urn-uuid-9c63f1d8-bc06-43bb-b2eb-b3d4e7307a9d\">Patient</a></p><p><b>created</b>: 2025-03-02 15:32:26+0530</p><p><b>enterer</b>: <a href=\"Bundle-CoverageEligibilityRequestBundle-validation-example-01.html#urn-uuid-7774df3e-88cc-4c51-971d-89050d39fbea\">Practitioner</a></p><p><b>provider</b>: <a href=\"Bundle-CoverageEligibilityRequestBundle-validation-example-01.html#urn-uuid-b7a8c715-d607-424d-bb6c-3a9f38b6aaca\">Organization</a></p><p><b>insurer</b>: <a href=\"Bundle-CoverageEligibilityRequestBundle-validation-example-01.html#urn-uuid-a5c1f91d-0b36-4acc-9ee0-734d056c822b\">Organization</a></p><p><b>facility</b>: <a href=\"Bundle-CoverageEligibilityRequestBundle-validation-example-01.html#urn-uuid-6cf75dc9-664c-4603-b2e4-74ce882f1504\">Location</a></p><h3>Insurances</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Focal</b></td><td><b>Coverage</b></td></tr><tr><td style=\"display: none\">*</td><td>true</td><td><a href=\"Bundle-CoverageEligibilityRequestBundle-validation-example-01.html#urn-uuid-7177646e-47c2-4664-9898-a364537e25bd\">Bundle: identifier = bc3c6c57-2053-4d0e-ac40-139ccccff645; type = collection; timestamp = 2025-03-02 15:32:26+0530</a></td></tr></table></div>"
|
|
},
|
|
"identifier" : [{
|
|
"value" : "7612345"
|
|
}],
|
|
"status" : "active",
|
|
"priority" : {
|
|
"coding" : [{
|
|
"system" : "http://terminology.hl7.org/CodeSystem/processpriority",
|
|
"code" : "normal",
|
|
"display" : "Normal"
|
|
}]
|
|
},
|
|
"purpose" : ["validation"],
|
|
"patient" : {
|
|
"reference" : "urn:uuid:9c63f1d8-bc06-43bb-b2eb-b3d4e7307a9d",
|
|
"display" : "Patient"
|
|
},
|
|
"created" : "2025-03-02T15:32:26.605+05:30",
|
|
"enterer" : {
|
|
"reference" : "urn:uuid:7774df3e-88cc-4c51-971d-89050d39fbea",
|
|
"display" : "Practitioner"
|
|
},
|
|
"provider" : {
|
|
"reference" : "urn:uuid:b7a8c715-d607-424d-bb6c-3a9f38b6aaca",
|
|
"display" : "Organization"
|
|
},
|
|
"insurer" : {
|
|
"reference" : "urn:uuid:a5c1f91d-0b36-4acc-9ee0-734d056c822b",
|
|
"display" : "Organization"
|
|
},
|
|
"facility" : {
|
|
"reference" : "urn:uuid:6cf75dc9-664c-4603-b2e4-74ce882f1504",
|
|
"display" : "Location"
|
|
},
|
|
"insurance" : [{
|
|
"focal" : true,
|
|
"coverage" : {
|
|
"reference" : "urn:uuid:7177646e-47c2-4664-9898-a364537e25bd"
|
|
}
|
|
}]
|
|
}
|
|
},
|
|
{
|
|
"fullUrl" : "urn:uuid:9c63f1d8-bc06-43bb-b2eb-b3d4e7307a9d",
|
|
"resource" : {
|
|
"resourceType" : "Patient",
|
|
"id" : "9c63f1d8-bc06-43bb-b2eb-b3d4e7307a9d",
|
|
"meta" : {
|
|
"profile" : ["https://nrces.in/ndhm/fhir/r4/StructureDefinition/Patient"]
|
|
},
|
|
"text" : {
|
|
"status" : "generated",
|
|
"div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><a name=\"Patient_9c63f1d8-bc06-43bb-b2eb-b3d4e7307a9d\"> </a><p class=\"res-header-id\"><b>Generated Narrative: Patient 9c63f1d8-bc06-43bb-b2eb-b3d4e7307a9d</b></p><a name=\"9c63f1d8-bc06-43bb-b2eb-b3d4e7307a9d\"> </a><a name=\"hc9c63f1d8-bc06-43bb-b2eb-b3d4e7307a9d\"> </a><a name=\"9c63f1d8-bc06-43bb-b2eb-b3d4e7307a9d-hi-IN\"> </a><p style=\"border: 1px #661aff solid; background-color: #e6e6ff; padding: 10px;\">Adarsh Agrawal Male, DoB: 1981-01-12 ( Adhaar number: 7225-4829-5255)</p><hr/><table class=\"grid\"><tr><td style=\"background-color: #f3f5da\" title=\"Ways to contact the Patient\">Contact Detail</td><td colspan=\"3\"><a href=\"tel:+919818512600\">+919818512600</a></td></tr></table></div>"
|
|
},
|
|
"identifier" : [{
|
|
"type" : {
|
|
"coding" : [{
|
|
"system" : "https://nrces.in/ndhm/fhir/r4/CodeSystem/ndhm-identifier-type-code",
|
|
"code" : "ADN",
|
|
"display" : "Adhaar number"
|
|
}]
|
|
},
|
|
"system" : "https://uidai.gov.in/",
|
|
"value" : "7225-4829-5255"
|
|
}],
|
|
"name" : [{
|
|
"text" : "Adarsh Agrawal"
|
|
}],
|
|
"telecom" : [{
|
|
"system" : "phone",
|
|
"value" : "+919818512600",
|
|
"use" : "home"
|
|
}],
|
|
"gender" : "male",
|
|
"birthDate" : "1981-01-12"
|
|
}
|
|
},
|
|
{
|
|
"fullUrl" : "urn:uuid:7774df3e-88cc-4c51-971d-89050d39fbea",
|
|
"resource" : {
|
|
"resourceType" : "Practitioner",
|
|
"id" : "7774df3e-88cc-4c51-971d-89050d39fbea",
|
|
"meta" : {
|
|
"profile" : ["https://nrces.in/ndhm/fhir/r4/StructureDefinition/Practitioner"]
|
|
},
|
|
"text" : {
|
|
"status" : "generated",
|
|
"div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><a name=\"Practitioner_7774df3e-88cc-4c51-971d-89050d39fbea\"> </a><p class=\"res-header-id\"><b>Generated Narrative: Practitioner 7774df3e-88cc-4c51-971d-89050d39fbea</b></p><a name=\"7774df3e-88cc-4c51-971d-89050d39fbea\"> </a><a name=\"hc7774df3e-88cc-4c51-971d-89050d39fbea\"> </a><a name=\"7774df3e-88cc-4c51-971d-89050d39fbea-hi-IN\"> </a><p><b>identifier</b>: Medical License number/21-1521-3828-3227</p><p><b>name</b>: Dr. Aayush Agrawal</p></div>"
|
|
},
|
|
"identifier" : [{
|
|
"type" : {
|
|
"coding" : [{
|
|
"system" : "http://terminology.hl7.org/CodeSystem/v2-0203",
|
|
"code" : "MD",
|
|
"display" : "Medical License number"
|
|
}]
|
|
},
|
|
"system" : "https://doctor.ndhm.gov.in",
|
|
"value" : "21-1521-3828-3227"
|
|
}],
|
|
"name" : [{
|
|
"text" : "Dr. Aayush Agrawal"
|
|
}]
|
|
}
|
|
},
|
|
{
|
|
"fullUrl" : "urn:uuid:a5c1f91d-0b36-4acc-9ee0-734d056c822b",
|
|
"resource" : {
|
|
"resourceType" : "Organization",
|
|
"id" : "a5c1f91d-0b36-4acc-9ee0-734d056c822b",
|
|
"meta" : {
|
|
"profile" : ["https://nrces.in/ndhm/fhir/r4/StructureDefinition/Organization"]
|
|
},
|
|
"text" : {
|
|
"status" : "generated",
|
|
"div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><a name=\"Organization_a5c1f91d-0b36-4acc-9ee0-734d056c822b\"> </a><p class=\"res-header-id\"><b>Generated Narrative: Organization a5c1f91d-0b36-4acc-9ee0-734d056c822b</b></p><a name=\"a5c1f91d-0b36-4acc-9ee0-734d056c822b\"> </a><a name=\"hca5c1f91d-0b36-4acc-9ee0-734d056c822b\"> </a><a name=\"a5c1f91d-0b36-4acc-9ee0-734d056c822b-hi-IN\"> </a><p><b>identifier</b>: Registry of Hospitals in Network of Insurance (ROHINI) ID/4567878</p><p><b>type</b>: <span title=\"Codes:{http://terminology.hl7.org/CodeSystem/organization-type ins}\">Insurance Company</span></p><p><b>name</b>: XYZ Insurance Co. Ltd.</p><p><b>telecom</b>: <a href=\"tel:+9124326341234\">+91 243 2634 1234</a>, <a href=\"mailto:contact@xyz.org\">contact@xyz.org</a></p></div>"
|
|
},
|
|
"identifier" : [{
|
|
"type" : {
|
|
"coding" : [{
|
|
"system" : "https://nrces.in/ndhm/fhir/r4/CodeSystem/ndhm-identifier-type-code",
|
|
"code" : "ROHINI",
|
|
"display" : "Registry of Hospitals in Network of Insurance (ROHINI) ID"
|
|
}]
|
|
},
|
|
"system" : "https://rohini.iib.gov.in/",
|
|
"value" : "4567878"
|
|
}],
|
|
"type" : [{
|
|
"coding" : [{
|
|
"system" : "http://terminology.hl7.org/CodeSystem/organization-type",
|
|
"code" : "ins",
|
|
"display" : "Insurance Company"
|
|
}]
|
|
}],
|
|
"name" : "XYZ Insurance Co. Ltd.",
|
|
"telecom" : [{
|
|
"system" : "phone",
|
|
"value" : "+91 243 2634 1234",
|
|
"use" : "work"
|
|
},
|
|
{
|
|
"system" : "email",
|
|
"value" : "contact@xyz.org",
|
|
"use" : "work"
|
|
}]
|
|
}
|
|
},
|
|
{
|
|
"fullUrl" : "urn:uuid:b7a8c715-d607-424d-bb6c-3a9f38b6aaca",
|
|
"resource" : {
|
|
"resourceType" : "Organization",
|
|
"id" : "b7a8c715-d607-424d-bb6c-3a9f38b6aaca",
|
|
"meta" : {
|
|
"profile" : ["https://nrces.in/ndhm/fhir/r4/StructureDefinition/Organization"]
|
|
},
|
|
"text" : {
|
|
"status" : "generated",
|
|
"div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><a name=\"Organization_b7a8c715-d607-424d-bb6c-3a9f38b6aaca\"> </a><p class=\"res-header-id\"><b>Generated Narrative: Organization b7a8c715-d607-424d-bb6c-3a9f38b6aaca</b></p><a name=\"b7a8c715-d607-424d-bb6c-3a9f38b6aaca\"> </a><a name=\"hcb7a8c715-d607-424d-bb6c-3a9f38b6aaca\"> </a><a name=\"b7a8c715-d607-424d-bb6c-3a9f38b6aaca-hi-IN\"> </a><p><b>identifier</b>: Provider number/1234567890</p><p><b>type</b>: <span title=\"Codes:{http://terminology.hl7.org/CodeSystem/organization-type prov}\">Healthcare Provider</span></p><p><b>name</b>: XYZ Hospital Co. Ltd.</p><p><b>telecom</b>: <a href=\"tel:+9124326341278\">+91 243 2634 1278</a>, <a href=\"mailto:contact@xyz.org\">contact@xyz.org</a></p></div>"
|
|
},
|
|
"identifier" : [{
|
|
"type" : {
|
|
"coding" : [{
|
|
"system" : "http://terminology.hl7.org/CodeSystem/v2-0203",
|
|
"code" : "PRN",
|
|
"display" : "Provider number"
|
|
}]
|
|
},
|
|
"system" : "https://facility.ndhm.gov.in",
|
|
"value" : "1234567890"
|
|
}],
|
|
"type" : [{
|
|
"coding" : [{
|
|
"system" : "http://terminology.hl7.org/CodeSystem/organization-type",
|
|
"code" : "prov",
|
|
"display" : "Healthcare Provider"
|
|
}]
|
|
}],
|
|
"name" : "XYZ Hospital Co. Ltd.",
|
|
"telecom" : [{
|
|
"system" : "phone",
|
|
"value" : "+91 243 2634 1278",
|
|
"use" : "work"
|
|
},
|
|
{
|
|
"system" : "email",
|
|
"value" : "contact@xyz.org",
|
|
"use" : "work"
|
|
}]
|
|
}
|
|
},
|
|
{
|
|
"fullUrl" : "urn:uuid:6cf75dc9-664c-4603-b2e4-74ce882f1504",
|
|
"resource" : {
|
|
"resourceType" : "Location",
|
|
"id" : "6cf75dc9-664c-4603-b2e4-74ce882f1504",
|
|
"text" : {
|
|
"status" : "generated",
|
|
"div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><a name=\"Location_6cf75dc9-664c-4603-b2e4-74ce882f1504\"> </a><p class=\"res-header-id\"><b>Generated Narrative: Location 6cf75dc9-664c-4603-b2e4-74ce882f1504</b></p><a name=\"6cf75dc9-664c-4603-b2e4-74ce882f1504\"> </a><a name=\"hc6cf75dc9-664c-4603-b2e4-74ce882f1504\"> </a><a name=\"6cf75dc9-664c-4603-b2e4-74ce882f1504-hi-IN\"> </a><p><b>identifier</b>: B1-S.F2</p><p><b>status</b>: Active</p><p><b>name</b>: South Wing, second floor</p><p><b>alias</b>: XYZ Life Hospital Co. Ltd., South Wing, second floor</p><p><b>description</b>: Second floor of the Old South Wing, formerly in use by Psychiatry</p><p><b>mode</b>: Instance</p><p><b>telecom</b>: ph: 2328(Work), fax: 2329(Work), <a href=\"http://sampleorg.com/southwing\">http://sampleorg.com/southwing</a></p><p><b>address</b>: 91, Building A Pune 451855 IND (work)</p><p><b>physicalType</b>: <span title=\"Codes:{http://terminology.hl7.org/CodeSystem/location-physical-type wi}\">Wing</span></p><h3>Positions</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Longitude</b></td><td><b>Latitude</b></td><td><b>Altitude</b></td></tr><tr><td style=\"display: none\">*</td><td>-83.6945691</td><td>42.25475478</td><td>0</td></tr></table><p><b>managingOrganization</b>: <a href=\"Bundle-CoverageEligibilityRequestBundle-validation-example-01.html#urn-uuid-b7a8c715-d607-424d-bb6c-3a9f38b6aaca\">Organization</a></p></div>"
|
|
},
|
|
"identifier" : [{
|
|
"value" : "B1-S.F2"
|
|
}],
|
|
"status" : "active",
|
|
"name" : "South Wing, second floor",
|
|
"alias" : ["XYZ Life Hospital Co. Ltd., South Wing, second floor"],
|
|
"description" : "Second floor of the Old South Wing, formerly in use by Psychiatry",
|
|
"mode" : "instance",
|
|
"telecom" : [{
|
|
"system" : "phone",
|
|
"value" : "2328",
|
|
"use" : "work"
|
|
},
|
|
{
|
|
"system" : "fax",
|
|
"value" : "2329",
|
|
"use" : "work"
|
|
},
|
|
{
|
|
"system" : "url",
|
|
"value" : "http://sampleorg.com/southwing",
|
|
"use" : "work"
|
|
}],
|
|
"address" : {
|
|
"use" : "work",
|
|
"line" : ["91, Building A"],
|
|
"city" : "Pune",
|
|
"postalCode" : "451855",
|
|
"country" : "IND"
|
|
},
|
|
"physicalType" : {
|
|
"coding" : [{
|
|
"system" : "http://terminology.hl7.org/CodeSystem/location-physical-type",
|
|
"code" : "wi",
|
|
"display" : "Wing"
|
|
}]
|
|
},
|
|
"position" : {
|
|
"longitude" : -83.6945691,
|
|
"latitude" : 42.25475478,
|
|
"altitude" : 0
|
|
},
|
|
"managingOrganization" : {
|
|
"reference" : "urn:uuid:b7a8c715-d607-424d-bb6c-3a9f38b6aaca",
|
|
"display" : "Organization"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"fullUrl" : "urn:uuid:7177646e-47c2-4664-9898-a364537e25bd",
|
|
"resource" : {
|
|
"resourceType" : "Coverage",
|
|
"id" : "7177646e-47c2-4664-9898-a364537e25bd",
|
|
"meta" : {
|
|
"profile" : ["https://nrces.in/ndhm/fhir/r4/StructureDefinition/Coverage"]
|
|
},
|
|
"text" : {
|
|
"status" : "generated",
|
|
"div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><a name=\"Coverage_7177646e-47c2-4664-9898-a364537e25bd\"> </a><p class=\"res-header-id\"><b>Generated Narrative: Coverage 7177646e-47c2-4664-9898-a364537e25bd</b></p><a name=\"7177646e-47c2-4664-9898-a364537e25bd\"> </a><a name=\"hc7177646e-47c2-4664-9898-a364537e25bd\"> </a><a name=\"7177646e-47c2-4664-9898-a364537e25bd-hi-IN\"> </a><p><b>identifier</b>: <code>https://xyzinsurance.in/policynumber/</code>/235037120</p><p><b>status</b>: Active</p><p><b>type</b>: <span title=\"Codes:{http://terminology.hl7.org/CodeSystem/v3-ActCode HIP}\">health insurance plan policy</span></p><p><b>subscriber</b>: <a href=\"Bundle-CoverageEligibilityRequestBundle-validation-example-01.html#urn-uuid-9c63f1d8-bc06-43bb-b2eb-b3d4e7307a9d\">Patient</a></p><p><b>subscriberId</b>: ABC123456BI007</p><p><b>beneficiary</b>: <a href=\"Bundle-CoverageEligibilityRequestBundle-validation-example-01.html#urn-uuid-9c63f1d8-bc06-43bb-b2eb-b3d4e7307a9d\">Patient</a></p><p><b>relationship</b>: <span title=\"Codes:{http://terminology.hl7.org/CodeSystem/subscriber-relationship self}\">Self</span></p><p><b>period</b>: ?? --> 2026-03-17</p><p><b>payor</b>: <a href=\"Bundle-CoverageEligibilityRequestBundle-validation-example-01.html#urn-uuid-a5c1f91d-0b36-4acc-9ee0-734d056c822b\">Organization</a></p></div>"
|
|
},
|
|
"identifier" : [{
|
|
"system" : "https://xyzinsurance.in/policynumber/",
|
|
"value" : "235037120"
|
|
}],
|
|
"status" : "active",
|
|
"type" : {
|
|
"coding" : [{
|
|
"system" : "http://terminology.hl7.org/CodeSystem/v3-ActCode",
|
|
"code" : "HIP",
|
|
"display" : "health insurance plan policy"
|
|
}]
|
|
},
|
|
"subscriber" : {
|
|
"reference" : "urn:uuid:9c63f1d8-bc06-43bb-b2eb-b3d4e7307a9d",
|
|
"display" : "Patient"
|
|
},
|
|
"subscriberId" : "ABC123456BI007",
|
|
"beneficiary" : {
|
|
"reference" : "urn:uuid:9c63f1d8-bc06-43bb-b2eb-b3d4e7307a9d",
|
|
"display" : "Patient"
|
|
},
|
|
"relationship" : {
|
|
"coding" : [{
|
|
"system" : "http://terminology.hl7.org/CodeSystem/subscriber-relationship",
|
|
"code" : "self"
|
|
}]
|
|
},
|
|
"period" : {
|
|
"end" : "2026-03-17"
|
|
},
|
|
"payor" : [{
|
|
"reference" : "urn:uuid:a5c1f91d-0b36-4acc-9ee0-734d056c822b",
|
|
"display" : "Organization"
|
|
}]
|
|
}
|
|
}]
|
|
} |