From bd557ef7094e15c2c798689887c1fb6541cd2a08 Mon Sep 17 00:00:00 2001 From: DevSoftTech Server Date: Wed, 19 Aug 2026 03:56:58 +0530 Subject: [PATCH] Add discharge FHIR resource metadata --- .../Generators/DischargeFhirGenerator.php | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/app/Libraries/Abdm/Fhir/Generators/DischargeFhirGenerator.php b/app/Libraries/Abdm/Fhir/Generators/DischargeFhirGenerator.php index ac7e934..d3083fa 100644 --- a/app/Libraries/Abdm/Fhir/Generators/DischargeFhirGenerator.php +++ b/app/Libraries/Abdm/Fhir/Generators/DischargeFhirGenerator.php @@ -96,12 +96,34 @@ class DischargeFhirGenerator extends \App\Libraries\Abdm\Fhir\Generators\Abstrac $builder->addCondition([ 'resourceType' => 'Condition', 'id' => 'discharge-condition-' . $recordId . '-' . $idx, + 'clinicalStatus' => [ + 'coding' => [[ + 'system' => 'http://terminology.hl7.org/CodeSystem/condition-clinical', + 'code' => 'active', + 'display' => 'Active', + ]], + ], + 'verificationStatus' => [ + 'coding' => [[ + 'system' => 'http://terminology.hl7.org/CodeSystem/condition-ver-status', + 'code' => 'confirmed', + 'display' => 'Confirmed', + ]], + ], + 'category' => [[ + 'coding' => [[ + 'system' => 'http://terminology.hl7.org/CodeSystem/condition-category', + 'code' => 'encounter-diagnosis', + 'display' => 'Encounter Diagnosis', + ]], + ]], 'code' => [ 'coding' => $coding, 'text' => $text, ], 'subject' => ['reference' => $patientRef], 'encounter' => $encounterRef ? ['reference' => $encounterRef] : null, + 'recordedDate' => (string) ($cond['recorded_at'] ?? $timestamp), ]); } @@ -140,6 +162,11 @@ class DischargeFhirGenerator extends \App\Libraries\Abdm\Fhir\Generators\Abstrac 'intent' => 'order', 'subject' => ['reference' => $patientRef], 'encounter' => $encounterRef ? ['reference' => $encounterRef] : null, + 'authoredOn' => (string) ($med['authored_on'] ?? $timestamp), + 'requester' => is_array($practitioner) ? [ + 'reference' => 'urn:uuid:' . (string) $practitioner['id'], + 'display' => (string) ($practitioner['name'][0]['text'] ?? ''), + ] : null, 'medicationCodeableConcept' => ['text' => $name], 'dosageInstruction' => [[ 'text' => trim((string) ($med['dosage'] ?? '')),