Ejemplo n.º 1
0
 /**
  * @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.6.2.12'), 'code' => ['@attributes' => ['code' => $PortionData['code'], 'codeSystem' => Utilities::CodingSystemId($PortionData['codeSystemName']), 'codeSystemName' => $PortionData['codeSystemName'], 'displayName' => $PortionData['displayName']]], 'value' => ['@attributes' => ['xsi:type' => 'ED'], 'reference' => ['@attributes' => ['value' => $PortionData['findingsTag']]]]]];
         // SHALL contain at least one [1..*] entryRelationship
         // b.	SHALL contain exactly one [1..1] SOP Instance Observation
         if (count($PortionData['SOPInstanceObservation']) > 0) {
             foreach ($PortionData['SOPInstanceObservation'] as $SOPInstanceObservation) {
                 $Entry['observation']['entryRelationship'][] = sopInstanceObservation::Insert($SOPInstanceObservation, $CompleteData);
             }
         }
         // SHALL contain at least one [1..*] entryRelationship
         // b.	SHALL contain exactly one [1..1] Quantity Measurement Observation
         if (count($PortionData['QuantityMeasurementObservation']) > 0) {
             foreach ($PortionData['QuantityMeasurementObservation'] as $QuantityMeasurementObservation) {
                 $Entry['observation']['entryRelationship'][] = quantityMeasurementObservation::Insert($QuantityMeasurementObservation, $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 = ['observation' => ['@attributes' => ['classCode' => 'OBS', 'moodCode' => 'EVN'], 'templateId' => Component::templateId('2.16.840.1.113883.10.20.6.2.14'), 'code' => ['@attributes' => ['code' => '439984002', 'codeSystem' => '2.16.840.1.113883.6.96', 'codeSystemName' => 'SNM3', 'displayName' => 'Diameter of structure'], 'originalText' => self::Narrative($PortionData)], '' => '', 'statusCode' => ['@attributes' => ['code' => 'completed']], 'effectiveTime' => $PortionData['effectiveTime'], 'value' => ['@attributes' => ['xsi:type' => 'PQ', 'value' => $PortionData['value'], 'unit' => $PortionData['unit']]]]];
         // SHALL contain exactly one [1..1] SOP Instance Observation
         // (templateId:2.16.840.1.113883.10.20.6.2.8) (CONF:16083).
         if (count($PortionData['SOPInstanceObservation'] > 0)) {
             $Entry['observation']['entryRelationship'][] = sopInstanceObservation::Insert($PortionData['SOPInstanceObservation'], $CompleteData);
         }
         return $Entry;
     } catch (Exception $Error) {
         return $Error;
     }
 }
Ejemplo n.º 3
0
 /**
  * @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' => 'EVN'], 'templateId' => Component::templateId('2.16.840.1.113883.10.20.6.2.6'), 'id' => Component::id(Utilities::UUIDv4()), 'code' => ['@attributes' => ['code' => '113014', 'codeSystem' => '1.2.840.10008.2.16.4', 'codeSystemName' => 'DCM', 'displayName' => 'Study']]]];
         // MAY contain zero or one [0..1] entryRelationship
         // SHALL contain exactly one [1..1] Series Act
         if (count($PortionData['SeriesAct']) > 0) {
             foreach ($PortionData['SeriesAct'] as $SeriesAct) {
                 $Entry['act']['entryRelationship'][] = ['@attributes' => ['typeCode' => 'COMP'], sopInstanceObservation::Insert($SeriesAct, $CompleteData)];
             }
         }
         return $Entry;
     } catch (Exception $Error) {
         return $Error;
     }
 }
Ejemplo n.º 4
0
 /**
  * @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.6.2.13'), 'code' => ['@attributes' => ['code' => '18782-3', 'codeSystem' => '2.16.840.1.113883.6.1', 'codeSystemName' => 'LOINC', 'displayName' => 'Study observation']], 'statusCode' => ['@attributes' => ['code' => 'completed']], 'value' => ['xsi:type' => 'CD', 'code' => $PortionData['code'], 'codeSystem' => Utilities::CodingSystemId($PortionData['systemCodeName']), 'codeSystemName' => $PortionData['systemCodeName'], 'displayName' => $PortionData['displayName']]]];
         // SHALL contain exactly one [1..1] SOP Instance Observation
         // (templateId:2.16.840.1.113883.10.20.6.2.8) (CONF:16083).
         if (count($PortionData['SOPInstanceObservation'] > 0)) {
             $Entry['observation']['entryRelationship'][] = sopInstanceObservation::Insert($PortionData['SOPInstanceObservation'], $CompleteData);
         }
         // SHALL contain exactly one [1..1] Quantity Measurement Observation
         // (templateId:2.16.840.1.113883.10.20.6.2.14) (CONF:16084).
         if (count($PortionData['QuantityMeasurementObservation'] > 0)) {
             $Entry['observation']['entryRelationship'][] = quantityMeasurementObservation::Insert($PortionData['QuantityMeasurementObservation'], $CompleteData);
         }
         return $Entry;
     } catch (Exception $Error) {
         return $Error;
     }
 }
Ejemplo n.º 5
0
 /**
  * @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.8.2'), 'code' => ['@attributes' => ['code' => 'SEV', 'codeSystem' => '2.16.840.1.113883.5.4', 'codeSystemName' => 'ActCode', 'displayName' => 'Severity Observation']], 'statusCode' => Component::statusCode('completed'), 'value' => ['@attributes' => ['xsi:type' => 'CD', 'code' => $PortionData['severityCode'], 'codeSystem' => Utilities::CodingSystemId($PortionData['severityCodeSystemName']), 'codeSystemName' => $PortionData['severityCodeSystemName'], 'displayName' => $PortionData['severityDisplayName']]]]];
         // SHOULD contain zero or one [0..1] text
         if (isset($PortionData['Narrated'])) {
             $Entry['observation'] = ['reference' => ['@attributes' => ['value' => self::Narrative($PortionData['Narrated'])]]];
         }
         // MAY contain zero or one [0..1] entryRelationship
         // SHALL contain exactly one [1..1] Series Act
         if (count($PortionData['SeriesAct']) > 0) {
             foreach ($PortionData['SeriesAct'] as $SeriesAct) {
                 $Entry['act']['entryRelationship'][] = ['@attributes' => ['typeCode' => 'COMP'], sopInstanceObservation::Insert($SeriesAct, $CompleteData)];
             }
         }
         return $Entry;
     } catch (Exception $Error) {
         return $Error;
     }
 }