/** * @param $PortionData * @return array|Exception */ public static function Insert($PortionData, $CompleteData) { try { // Validate first self::Validate($PortionData); $Section = ['component' => ['section' => ['templateId' => ['@attributes' => ['root' => '2.16.840.1.113883.10.20.22.2.1.2']], 'code' => ['@attributes' => ['code' => '11369-6', 'displayName' => 'History of Immunizations', 'codeSystem' => '2.16.840.1.113883.6.1', 'codeSystemName' => 'LOINC']], 'title' => 'History of Immunizations', 'text' => self::Narrative($PortionData)]]]; // SHOULD contain zero or more [0..*] entry // SHALL contain exactly one [1..1] Immunization Activity (V2) if (count($PortionData['ImmunizationActivity']) > 0) { foreach ($PortionData['ImmunizationActivity'] as $ImmunizationActivity) { $Section['component']['section']['entry'][] = LevelEntry\immunizationActivity::Insert($ImmunizationActivity, $CompleteData); } } return $Section; } catch (Exception $Error) { return $Error; } }