/** * @param $PortionData * @param $CompleteData * @return array|Exception */ public static function Insert($PortionData, $CompleteData) { try { // Validate first self::Validate($PortionData); $Entry = ['observation' => ['@attributes' => ['classCode' => 'OBS', 'moodCode' => 'EVN'], 'templateId' => Component::templateId('2.16.840.1.113883.10.20.22.4.74.2'), 'id' => Component::id(Utilities::UUIDv4()), 'code' => ['@attributes' => ['code' => '311465003', 'codeSystem' => '2.16.840.1.113883.6.96', 'codeSystemName' => 'SNOED-CT', 'displayName' => 'Cognitive functions']], 'effectiveTime' => Component::time($PortionData['effectiveTime']), 'value' => ['xsi:type' => 'CD', 'code' => $PortionData['code'], 'displayName' => $PortionData['displayName'], 'codeSystem' => Utilities::CodingSystemId($PortionData['codeSystemName']), 'codeSystemName' => $PortionData['codeSystemName']]]]; // SHOULD contain zero or more [0..*] Author Participation (NEW) if (count($PortionData['Authors']) > 0) { foreach ($PortionData['Authors'] as $Author) { $Entry['observation']['author'][] = LevelOther\authorParticipation::Insert($Author, $CompleteData); } } // MAY contain zero or more [0..*] entryRelationship (CONF:14272) such that it // SHALL contain exactly one [1..1] Non-Medicinal Supply Activity (V2) if (count($PortionData['NonMedicinalSupplyActivity']) > 0) { $Entry['observation']['entryRelationship'][] = nonMedicinalSupplyActivity::Insert($PortionData['NonMedicinalSupplyActivity'], $CompleteData); } // MAY contain zero or more [0..*] entryRelationship (CONF:14272) such that it // SHALL contain exactly one [1..1] Caregiver Characteristics if (count($PortionData['CaregiverCharacteristics']) > 0) { $Entry['observation']['entryRelationship'][] = caregiverCharacteristics::Insert($PortionData['CaregiverCharacteristics'], $CompleteData); } // MAY contain zero or more [0..*] entryRelationship (CONF:14272) such that it // b. SHALL contain exactly one [1..1] Assessment Scale Observation if (count($PortionData['AssessmentScaleObservation']) > 0) { $Entry['observation']['entryRelationship'][] = assessmentScaleObservation::Insert($PortionData['AssessmentScaleObservation'], $CompleteData); } return $Entry; } catch (Exception $Error) { return $Error; } }
/** * @param $PortionData * @param $CompleteData * @return array|Exception */ public static function Insert($PortionData, $CompleteData) { try { // Validate first self::Validate($PortionData); $Entry = ['organizer' => ['@attributes' => ['classCode' => 'CLUSTER', 'moodCode' => 'EVN'], 'templateId' => Component::templateId('2.16.840.1.113883.10.20.22.4.135'), 'id' => Component::id(Utilities::UUIDv4()), 'code' => ['@attributes' => ['code' => $PortionData['code'], 'codeSystem' => Utilities::CodingSystemId($PortionData['codeSystemName']), 'codeSystemName' => $PortionData['codeSystemName'], 'displayName' => $PortionData['displayName']]], 'statusCode' => Component::statusCode('active')]]; // MAY contain zero or more [0..*] entryRelationship // SHALL contain exactly one [1..1] Non-Medicinal Supply Activity (V2) if (count($PortionData['NonMedicinalSupplyActivity']) > 0) { foreach ($PortionData['NonMedicinalSupplyActivity'] as $NonMedicinalSupplyActivity) { $Entry['organizer']['component'][] = nonMedicinalSupplyActivity::Insert($NonMedicinalSupplyActivity, $CompleteData); } } // MAY contain zero or more [0..*] entryRelationship // SHALL contain exactly one [1..1] Procedure Activity Procedure (V2) if (count($PortionData['ProcedureActivityProcedure']) > 0) { foreach ($PortionData['ProcedureActivityProcedure'] as $ProcedureActivityProcedure) { $Entry['organizer']['component'][] = procedureActivityProcedure::Insert($ProcedureActivityProcedure, $CompleteData); } } return $Entry; } catch (Exception $Error) { return $Error; } }
/** * @param $PortionData * @param $CompleteData * @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.23.2']], 'code' => ['@attributes' => ['code' => '46264-8', 'displayName' => 'Medical Equipment', 'codeSystem' => '2.16.840.1.113883.6.1', 'codeSystemName' => 'LOINC']], 'title' => 'Medical Equipment', 'text' => self::Narrative($PortionData)]]]; // SHOULD contain zero or more [0..*] entry // SHALL contain exactly one [1..1] Medical Equipment Organizer (NEW) if (count($PortionData['MedicalEquipmentOrganizer']) > 0) { foreach ($PortionData['MedicalEquipmentOrganizer'] as $MedicalEquipmentOrganizer) { $Section['component']['section']['entry'][] = LevelEntry\medicalEquipmentOrganizer::Insert($MedicalEquipmentOrganizer, $CompleteData); } } // SHOULD contain zero or more [0..*] entry // SHALL contain exactly one [1..1] Non-Medicinal Supply Activity (V2) if (count($PortionData['NonMedicinalSupplyActivity']) > 0) { foreach ($PortionData['NonMedicinalSupplyActivity'] as $NonMedicinalSupplyActivity) { $Section['component']['section']['entry'][] = LevelEntry\nonMedicinalSupplyActivity::Insert($NonMedicinalSupplyActivity, $CompleteData); } } // SHOULD contain zero or more [0..*] entry // SHALL contain exactly one [1..1] Procedure Activity Procedure (V2) if (count($PortionData['ProcedureActivityProcedure']) > 0) { foreach ($PortionData['ProcedureActivityProcedure'] as $ProcedureActivityProcedure) { $Section['component']['section']['entry'][] = LevelEntry\procedureActivityProcedure::Insert($ProcedureActivityProcedure, $CompleteData); } } return $Section; } catch (Exception $Error) { return $Error; } }
/** * @param $PortionData * @param $CompleteData * @return array|Exception */ public static function Insert($PortionData, $CompleteData) { try { // Validate first self::Validate($PortionData); $Entry = ['observation' => ['@attributes' => ['classCode' => 'OBS', 'moodCode' => 'EVN'], 'templateId' => Component::templateId('2.16.840.1.113883.10.20.22.4.67.2'), 'id' => Component::id(Utilities::UUIDv4()), 'code' => ['@attributes' => ['code' => '364644000', 'codeSystem' => '2.16.840.1.113883.6.96', 'displayName' => 'functional observable', 'codeSystemName' => 'SNOMED CT']], 'text' => self::Narrative($PortionData), 'statusCode' => Component::statusCode('completed'), 'effectiveTime' => Component::time($PortionData['effectiveTime']), 'value' => ['@attributes' => ['xsi:type' => 'CD', 'code' => $PortionData['physicalFunctionCode'], 'displayName' => $PortionData['physicalFunctionDisplayName'], 'codeSystem' => Utilities::CodingSystemId($PortionData['physicalFunctionCodeSystemName']), 'codeSystemName' => $PortionData['physicalFunctionCodeSystemName']]]]]; // MAY contain zero or one [0..1] entryRelationship (CONF:8675) // SHALL contain exactly one [1..1] Age Observation if (count($PortionData['Authors']) > 0) { foreach ($PortionData['Authors'] as $Author) { $Entry['observation']['author'][] = LevelDocument\author::Insert($Author); } } // MAY contain zero or one [0..1] entryRelationship (CONF:13892) // SHALL contain exactly one [1..1] Non-Medicinal Supply Activity (V2) if (count($PortionData['NonMedicinalSupplyActivity']) > 0) { foreach ($PortionData['NonMedicinalSupplyActivity'] as $NonMedicinalSupplyActivity) { $Entry['observation']['entryRelationship'][] = ['@attributes' => ['typeCode' => 'REFR'], 'observation' => nonMedicinalSupplyActivity::Insert($NonMedicinalSupplyActivity, $CompleteData)]; } } // MAY contain zero or one [0..1] entryRelationship (CONF:13895) // SHALL contain exactly one [1..1] Caregiver Characteristics if (count($PortionData['CaregiverCharacteristics']) > 0) { foreach ($PortionData['CaregiverCharacteristics'] as $CaregiverCharacteristics) { $Entry['observation']['entryRelationship'][] = ['@attributes' => ['typeCode' => 'REFR'], 'observation' => caregiverCharacteristics::Insert($CaregiverCharacteristics, $CompleteData)]; } } // MAY contain zero or one [0..1] entryRelationship (CONF:14465) // SHALL contain exactly one [1..1] Assessment Scale Observation if (count($PortionData['AssessmentScaleObservation']) > 0) { foreach ($PortionData['AssessmentScaleObservation'] as $AssessmentScaleObservation) { $Entry['observation']['entryRelationship'][] = ['@attributes' => ['typeCode' => 'COMP'], 'observation' => assessmentScaleObservation::Insert($AssessmentScaleObservation, $CompleteData)]; } } return $Entry; } catch (Exception $Error) { return $Error; } }
/** * @param $PortionData * @param $CompleteData * @return array|Exception */ public static function Insert($PortionData, $CompleteData) { try { // Validate first self::Validate($PortionData); $Entry = ['act' => ['@attributes' => ['classCode' => 'ACT', 'moodCode' => $PortionData['moodCode']], 'templateId' => Component::templateId('2.16.840.1.113883.10.20.22.4.131'), 'id' => Component::id(Utilities::UUIDv4()), 'code' => ['@attributes' => ['code' => $PortionData['code'], 'codeSystem' => Utilities::CodingSystemId($PortionData['codeSystemName']), 'codeSystemName' => $PortionData['codeSystemName'], 'displayName' => $PortionData['displayName']]], 'statusCode' => Component::statusCode('active')]]; // SHOULD contain zero or more [0..*] Author Participation (NEW) if (count($PortionData['Author']) > 0) { foreach ($PortionData['Author'] as $Author) { $Entry['act']['author'][] = LevelOther\authorParticipation::Insert($Author, $CompleteData); } } // MAY contain zero or more [0..*] entryRelationship // SHALL contain exactly one [1..1] Advance Directive Observation (V2) if (count($PortionData['AdvanceDirectiveObservation']) > 0) { foreach ($PortionData['AdvanceDirectiveObservation'] as $AdvanceDirectiveObservation) { $Entry['act']['entryRelationship']['entry'][] = ['@attributes' => ['typeCode' => 'REFR'], advanceDirectiveObservation::Insert($AdvanceDirectiveObservation, $CompleteData)]; } } // MAY contain zero or more [0..*] entryRelationship // SHALL contain exactly one [1..1] Medication Activity (V2) if (count($PortionData['MedicationActivity']) > 0) { foreach ($PortionData['MedicationActivity'] as $MedicationActivity) { $Entry['act']['entryRelationship']['entry'][] = ['@attributes' => ['typeCode' => 'REFR'], medicationActivity::Insert($MedicationActivity, $CompleteData)]; } } // MAY contain zero or more [0..*] entryRelationship // SHALL contain exactly one [1..1] Medication Activity (V2) if (count($PortionData['ProcedureActivityAct']) > 0) { foreach ($PortionData['ProcedureActivityAct'] as $ProcedureActivityAct) { $Entry['act']['entryRelationship']['entry'][] = ['@attributes' => ['typeCode' => 'REFR'], procedureActivityAct::Insert($ProcedureActivityAct, $CompleteData)]; } } // MAY contain zero or more [0..*] entryRelationship // SHALL contain exactly one [1..1] Goal Observation (NEW) if (count($PortionData['GoalObservation']) > 0) { foreach ($PortionData['GoalObservationAct'] as $GoalObservation) { $Entry['act']['entryRelationship']['entry'][] = ['@attributes' => ['typeCode' => 'RSON'], goalObservation::Insert($GoalObservation, $CompleteData)]; } } // MAY contain zero or more [0..*] entryRelationship // SHALL contain exactly one [1..1] Procedure Activity Observation (V2) if (count($PortionData['ProcedureActivityObservation']) > 0) { foreach ($PortionData['ProcedureActivityObservation'] as $ProcedureActivityObservation) { $Entry['act']['entryRelationship']['entry'][] = ['@attributes' => ['typeCode' => 'REFR'], procedureActivityObservation::Insert($ProcedureActivityObservation, $CompleteData)]; } } // MAY contain zero or more [0..*] entryRelationship // SHALL contain exactly one [1..1] Procedure Activity Procedure (V2) if (count($PortionData['ProcedureActivityProcedure']) > 0) { foreach ($PortionData['ProcedureActivityProcedure'] as $ProcedureActivityProcedure) { $Entry['act']['entryRelationship']['entry'][] = ['@attributes' => ['typeCode' => 'REFR'], procedureActivityProcedure::Insert($ProcedureActivityProcedure, $CompleteData)]; } } // MAY contain zero or more [0..*] entryRelationship // SHALL contain exactly one [1..1] Encounter Activity (V2) if (count($PortionData['EncounterActivity']) > 0) { foreach ($PortionData['EncounterActivity'] as $EncounterActivity) { $Entry['act']['entryRelationship']['entry'][] = ['@attributes' => ['typeCode' => 'REFR'], encounterActivity::Insert($EncounterActivity, $CompleteData)]; } } // MAY contain zero or more [0..*] entryRelationship // SHALL contain exactly one [1..1] Instruction (V2) if (count($PortionData['Instruction']) > 0) { foreach ($PortionData['Instruction'] as $Instruction) { $Entry['act']['entryRelationship']['entry'][] = ['@attributes' => ['typeCode' => 'REFR'], instruction::Insert($Instruction, $CompleteData)]; } } // MAY contain zero or more [0..*] entryRelationship // SHALL contain exactly one [1..1] Instruction (V2) if (count($PortionData['NonMedicinalSupplyActivity']) > 0) { foreach ($PortionData['NonMedicinalSupplyActivity'] as $NonMedicinalSupplyActivity) { $Entry['act']['entryRelationship']['entry'][] = ['@attributes' => ['typeCode' => 'REFR'], nonMedicinalSupplyActivity::Insert($NonMedicinalSupplyActivity, $CompleteData)]; } } // MAY contain zero or more [0..*] entryRelationship // SHALL contain exactly one [1..1] Planned Act (V2) if (count($PortionData['PlannedAct']) > 0) { foreach ($PortionData['PlannedAct'] as $PlannedAct) { $Entry['act']['entryRelationship']['entry'][] = ['@attributes' => ['typeCode' => 'REFR'], plannedAct::Insert($PlannedAct, $CompleteData)]; } } // MAY contain zero or more [0..*] entryRelationship // SHALL contain exactly one [1..1] Planned Encounter (V2) if (count($PortionData['PlannedEncounter']) > 0) { foreach ($PortionData['PlannedEncounter'] as $PlannedEncounter) { $Entry['act']['entryRelationship']['entry'][] = ['@attributes' => ['typeCode' => 'REFR'], plannedEncounter::Insert($PlannedEncounter, $CompleteData)]; } } // MAY contain zero or more [0..*] entryRelationship // SHALL contain exactly one [1..1] Planned Encounter (V2) if (count($PortionData['PlannedObservation']) > 0) { foreach ($PortionData['PlannedObservation'] as $PlannedObservation) { $Entry['act']['entryRelationship']['entry'][] = ['@attributes' => ['typeCode' => 'REFR'], plannedObservation::Insert($PlannedObservation, $CompleteData)]; } } // MAY contain zero or more [0..*] entryRelationship // SHALL contain exactly one [1..1] Planned Procedure (V2) if (count($PortionData['PlannedProcedure']) > 0) { foreach ($PortionData['PlannedProcedure'] as $PlannedProcedure) { $Entry['act']['entryRelationship']['entry'][] = ['@attributes' => ['typeCode' => 'REFR'], plannedProcedure::Insert($PlannedProcedure, $CompleteData)]; } } // MAY contain zero or more [0..*] entryRelationship // SHALL contain exactly one [1..1] Planned Procedure (V2) if (count($PortionData['PlannedSubstanceAdministration']) > 0) { foreach ($PortionData['PlannedSubstanceAdministration'] as $PlannedSubstanceAdministration) { $Entry['act']['entryRelationship']['entry'][] = ['@attributes' => ['typeCode' => 'REFR'], plannedSubstanceAdministration::Insert($PlannedSubstanceAdministration, $CompleteData)]; } } // MAY contain zero or more [0..*] entryRelationship // SHALL contain exactly one [1..1] Planned Supply (V2) if (count($PortionData['PlannedSupply']) > 0) { foreach ($PortionData['PlannedSupply'] as $PlannedSupply) { $Entry['act']['entryRelationship']['entry'][] = ['@attributes' => ['typeCode' => 'REFR'], plannedSupply::Insert($PlannedSupply, $CompleteData)]; } } // MAY contain zero or more [0..*] entryRelationship // SHALL contain exactly one [1..1] Nutrition Recommendations (NEW) if (count($PortionData['NutritionRecommendations']) > 0) { foreach ($PortionData['NutritionRecommendations'] as $NutritionRecommendations) { $Entry['act']['entryRelationship']['entry'][] = ['@attributes' => ['typeCode' => 'REFR'], nutritionRecommendations::Insert($NutritionRecommendations, $CompleteData)]; } } // MAY contain zero or more [0..*] entryRelationship // SHALL contain exactly one [1..1] Act Reference (NEW) if (count($PortionData['ActReference']) > 0) { foreach ($PortionData['ActReference'] as $ActReference) { $Entry['act']['entryRelationship']['entry'][] = ['@attributes' => ['typeCode' => 'REFR'], actReference::Insert($ActReference, $CompleteData)]; } } return $Entry; } catch (Exception $Error) { return $Error; } }
/** * @param $PortionData * @param $CompleteData * @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.14.2']], 'code' => ['@attributes' => ['code' => '47420-5', 'displayName' => 'Functional Status', 'codeSystem' => '2.16.840.1.113883.6.1', 'codeSystemName' => 'LOINC']], 'title' => 'Functional Status', 'text' => self::Narrative($PortionData)]]]; // SHOULD contain zero or more [0..*] entry // SHALL contain exactly one [1..1] Functional Status Organizer (V2) if (count($PortionData['FunctionalStatusOrganizer']) > 0) { foreach ($PortionData['FunctionalStatusOrganizer'] as $FunctionalStatusOrganizer) { $Section['component']['section']['entry'][] = LevelEntry\functionalStatusOrganizer::Insert($FunctionalStatusOrganizer, $CompleteData); } } // SHOULD contain zero or more [0..*] entry // SHALL contain exactly one [1..1] Functional Status Observation (V2) if (count($PortionData['FunctionalStatusObservation']) > 0) { foreach ($PortionData['FunctionalStatusObservation'] as $FunctionalStatusObservation) { $Section['component']['section']['entry'][] = LevelEntry\functionalStatusObservation::Insert($FunctionalStatusObservation, $CompleteData); } } // SHOULD contain zero or more [0..*] entry // SHALL contain exactly one [1..1] Caregiver Characteristics if (count($PortionData['CaregiverCharacteristics']) > 0) { foreach ($PortionData['CaregiverCharacteristics'] as $CaregiverCharacteristics) { $Section['component']['section']['entry'][] = LevelEntry\caregiverCharacteristics::Insert($CaregiverCharacteristics, $CompleteData); } } // SHOULD contain zero or more [0..*] entry // SHALL contain exactly one [1..1] Assessment Scale Observation if (count($PortionData['AssessmentScaleObservation']) > 0) { foreach ($PortionData['AssessmentScaleObservation'] as $AssessmentScaleObservation) { $Section['component']['section']['entry'][] = LevelEntry\assessmentScaleObservation::Insert($AssessmentScaleObservation, $CompleteData); } } // SHOULD contain zero or more [0..*] entry // SHALL contain exactly one [1..1] Non-Medicinal Supply Activity (V2) if (count($PortionData['NonMedicinalSupplyActivity']) > 0) { foreach ($PortionData['AssessmentScaleObservation'] as $NonMedicinalSupplyActivity) { $Section['component']['section']['entry'][] = LevelEntry\nonMedicinalSupplyActivity::Insert($NonMedicinalSupplyActivity, $CompleteData); } } // SHOULD contain zero or more [0..*] entry // SHALL contain exactly one [1..1] Self-Care Activities (ADL and IADL) (NEW) if (count($PortionData['SelfCareActivitiesADLAndIADL']) > 0) { foreach ($PortionData['SelfCareActivitiesADLAndIADL'] as $SelfCareActivitiesADLAndIADL) { $Section['component']['section']['entry'][] = LevelEntry\selfCareActivitiesADLAndIADL::Insert($SelfCareActivitiesADLAndIADL, $CompleteData); } } // SHOULD contain zero or more [0..*] entry // SHALL contain exactly one [1..1] Sensory and Speech Status (NEW) if (count($PortionData['SensoryAndSpeechStatus']) > 0) { foreach ($PortionData['SensoryAndSpeechStatus'] as $SensoryAndSpeechStatus) { $Section['component']['section']['entry'][] = LevelEntry\sensoryAndSpeechStatus::Insert($SensoryAndSpeechStatus, $CompleteData); } } return $Section; } catch (Exception $Error) { return $Error; } }
/** * @param $PortionData * @param $CompleteData * @return array|Exception */ public static function Insert($PortionData, $CompleteData) { try { // Validate first self::Validate($PortionData); $Section = ['component' => ['section' => ['templateId' => Component::templateId('2.16.840.1.113883.10.20.22.2.14'), 'code' => ['@attributes' => ['code' => '10190-7', 'codeSystem' => '2.16.840.1.113883.6.1', 'codeSystemName' => 'LOINC', 'displayName' => 'Mental Status']], 'title' => 'Mental Status', 'text' => self::Narrative($PortionData)]]]; // SHOULD contain zero or more [0..*] entry // SHALL contain exactly one [1..1] Cognitive Status Organizer (V2) if (count($PortionData['CognitiveStatusOrganizer']) > 0) { foreach ($PortionData['CognitiveStatusOrganizer'] as $CognitiveStatusOrganizer) { $Section['component']['section']['entry'][] = LevelEntry\cognitiveStatusOrganizer::Insert($CognitiveStatusOrganizer, $CompleteData); } } // SHOULD contain zero or more [0..*] entry // SHALL contain exactly one [1..1] Cognitive Status Observation (V2) if (count($PortionData['CognitiveStatusObservation']) > 0) { foreach ($PortionData['CognitiveStatusObservation'] as $CognitiveStatusObservation) { $Section['component']['section']['entry'][] = LevelEntry\cognitiveStatusObservation::Insert($CognitiveStatusObservation, $CompleteData); } } // SHOULD contain zero or more [0..*] entry // SHALL contain exactly one [1..1] Caregiver Characteristics if (count($PortionData['CaregiverCharacteristics']) > 0) { foreach ($PortionData['CaregiverCharacteristics'] as $CaregiverCharacteristics) { $Section['component']['section']['entry'][] = LevelEntry\caregiverCharacteristics::Insert($CaregiverCharacteristics, $CompleteData); } } // SHOULD contain zero or more [0..*] entry // SHALL contain exactly one [1..1] Assessment Scale Observation if (count($PortionData['AssessmentScaleObservation']) > 0) { foreach ($PortionData['AssessmentScaleObservation'] as $AssessmentScaleObservation) { $Section['component']['section']['entry'][] = LevelEntry\assessmentScaleObservation::Insert($AssessmentScaleObservation, $CompleteData); } } // SHOULD contain zero or more [0..*] entry // SHALL contain exactly one [1..1] Non-Medicinal Supply Activity (V2) if (count($PortionData['NonMedicinalSupplyActivity']) > 0) { foreach ($PortionData['NonMedicinalSupplyActivity'] as $NonMedicinalSupplyActivity) { $Section['component']['section']['entry'][] = LevelEntry\nonMedicinalSupplyActivity::Insert($NonMedicinalSupplyActivity, $CompleteData); } } // SHOULD contain zero or more [0..*] entry // SHALL contain exactly one [1..1] Cognitive Abilities Observation (NEW) if (count($PortionData['CognitiveAbilitiesObservation']) > 0) { foreach ($PortionData['CognitiveAbilitiesObservation'] as $CognitiveAbilitiesObservation) { $Section['component']['section']['entry'][] = LevelEntry\cognitiveAbilitiesObservation::Insert($CognitiveAbilitiesObservation, $CompleteData); } } // SHOULD contain zero or more [0..*] entry // SHALL contain exactly one [1..1] Mental Status Observation (NEW) if (count($PortionData['MentalStatusObservation']) > 0) { foreach ($PortionData['MentalStatusObservation'] as $MentalStatusObservation) { $Section['component']['section']['entry'][] = LevelEntry\mentalStatusObservation::Insert($MentalStatusObservation, $CompleteData); } } return $Section; } catch (Exception $Error) { return $Error; } }