本文整理汇总了PHP中Patient::getPatientDemographicDataByPid方法的典型用法代码示例。如果您正苦于以下问题:PHP Patient::getPatientDemographicDataByPid方法的具体用法?PHP Patient::getPatientDemographicDataByPid怎么用?PHP Patient::getPatientDemographicDataByPid使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Patient
的用法示例。
在下文中一共展示了Patient::getPatientDemographicDataByPid方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getEncounterSummary
public function getEncounterSummary(stdClass $params)
{
$this->setEid($params->eid);
$record = $this->getEncounter($params);
$encounter = (array) $record['encounter'];
$encounter['patient'] = $this->patient->getPatientDemographicDataByPid($encounter['pid']);
if (!empty($e)) {
return ['success' => true, 'encounter' => $e];
} else {
return ['success' => false, 'error' => "Encounter ID {$params->eid} not found"];
}
}
示例2: getPatientsZonesByFloorPlanId
public function getPatientsZonesByFloorPlanId($FloorPlanId)
{
$zones = array();
$this->db->setSQL("SELECT pz.id AS patientZoneId,\n\t\t\t\t\t\t\t\t pz.pid,\n\t\t\t\t\t\t\t\t pz.uid,\n\t\t\t\t\t\t\t\t pz.zone_id AS zoneId,\n\t\t\t\t\t\t\t\t time_in AS zoneTimerIn,\n\t\t\t\t\t\t\t\t fpz.floor_plan_id AS floorPlanId\n\t\t\t\t\t\t\t FROM patient_zone AS pz\n\t\t\t\t\t\tLEFT JOIN floor_plans_zones AS fpz ON pz.zone_id = fpz.id\n\t\t\t\t\t\t\tWHERE fpz.floor_plan_id = {$FloorPlanId} AND pz.time_out IS NULL");
foreach ($this->db->fetchRecords(PDO::FETCH_ASSOC) as $zone) {
$zone['patient'] = $this->patient->getPatientDemographicDataByPid($zone['pid']);
$zone['warning'] = $this->patient->getPatientArrivalLogWarningByPid($zone['pid']);
$pool = $this->pool->getCurrentPatientPoolAreaByPid($zone['pid']);
$zone['poolArea'] = $pool['poolArea'];
$zone['priority'] = $pool['priority'];
$zone['eid'] = $pool['eid'];
$zones[] = $zone;
}
return $zones;
}
示例3: getPatientsZonesByFloorPlanId
public function getPatientsZonesByFloorPlanId($FloorPlanId)
{
$Patient = new Patient();
$Pool = new PoolArea();
$zones = $this->pz->sql("SELECT pz.id AS patientZoneId,\n\t\t\t\t\t\t\t\t pz.pid,\n\t\t\t\t\t\t\t\t pz.uid,\n\t\t\t\t\t\t\t\t pz.zone_id AS zoneId,\n\t\t\t\t\t\t\t\t time_in AS zoneTimerIn,\n\t\t\t\t\t\t\t\t fpz.floor_plan_id AS floorPlanId\n\t\t\t\t\t\t\t FROM patient_zone AS pz\n\t\t\t\t\t\tLEFT JOIN floor_plans_zones AS fpz ON pz.zone_id = fpz.id\n\t\t\t\t\t\t\tWHERE fpz.floor_plan_id = {$FloorPlanId} AND pz.time_out IS NULL")->all();
foreach ($zones as $i => $zone) {
$zone['patient'] = $Patient->getPatientDemographicDataByPid($zone['pid']);
$zone['name'] = $Patient->getPatientFullName();
$zone['warning'] = $Patient->getPatientArrivalLogWarningByPid($zone['pid']);
$pool = $Pool->getCurrentPatientPoolAreaByPid($zone['pid']);
$zone['poolArea'] = $pool['poolArea'];
$zone['priority'] = $pool['priority'];
$zone['eid'] = $pool['eid'];
$zones[$i] = $zone;
}
unset($Patient, $Pool);
return $zones;
}
示例4: getPatientsByPoolAreaAccess
/**
* Form now this is just getting the latest open encounter for all the patients.
*
* @param $params
*
* @return array
*/
public function getPatientsByPoolAreaAccess($params)
{
Matcha::pauseLog(true);
if (is_numeric($params)) {
$uid = $params;
} elseif (!is_numeric($params) && isset($params->eid)) {
$uid = $params->eid;
} elseif (!isset($_SESSION['user']['id'])) {
return [];
} else {
$uid = $_SESSION['user']['id'];
}
$this->acl = new ACL($uid);
$pools = [];
if ($this->acl->hasPermission('use_pool_areas')) {
$this->setPatient();
$activeAreas = $this->getFacilityActivePoolAreas();
$areas = [];
$pools = [];
if (!empty($activeAreas)) {
foreach ($activeAreas as $activeArea) {
if ($activeArea['id'] == 1 && $this->acl->hasPermission('access_poolcheckin') || $activeArea['id'] == 2 && $this->acl->hasPermission('access_pooltriage') || $activeArea['id'] == 3 && $this->acl->hasPermission('access_poolphysician') || $activeArea['id'] == 4 && $this->acl->hasPermission('access_poolcheckout')) {
$areas[] = 'pp.area_id = \'' . $activeArea['id'] . '\'';
}
}
$whereAreas = '(' . implode(' OR ', $areas) . ')';
$sql = "SELECT pp.*, p.fname, p.lname, p.mname, pa.title\n\t\t\t\t\t FROM `patient_pools` AS pp\n\t\t\t\t LEFT JOIN `patient` AS p ON pp.pid = p.pid\n\t\t\t\t LEFT JOIN `pool_areas` AS pa ON pp.area_id = pa.id\n\t\t\t\t WHERE {$whereAreas}\n\t\t\t\t\t AND pp.time_out IS NULL\n\t\t\t\t\t AND pp.in_queue = '1'\n\t\t\t ORDER BY pp.time_in\n\t\t\t LIMIT 25";
$patientPools = $this->pa->sql($sql)->all();
$pools = [];
foreach ($patientPools as $patientPool) {
$patientPool['name'] = ($patientPool['eid'] != null ? '*' : '') . Person::fullname($patientPool['fname'], $patientPool['mname'], $patientPool['lname']);
$patientPool['shortName'] = Person::ellipsis($patientPool['name'], 15);
$patientPool['poolArea'] = $patientPool['title'];
$patientPool['patient'] = $this->patient->getPatientDemographicDataByPid($patientPool['pid']);
$patientPool['floorPlanId'] = $this->getFloorPlanIdByPoolAreaId($patientPool['area_id']);
$z = $this->getPatientCurrentZoneInfoByPid($patientPool['pid']);
$pools[] = empty($z) ? $patientPool : array_merge($patientPool, $z);
}
$pools = array_slice($pools, 0, 25);
}
}
Matcha::pauseLog(false);
return $pools;
}
示例5: setHeader
/**
* Method setHeader()
*/
private function setHeader()
{
$this->xmlData['realmCode'] = ['@attributes' => ['code' => 'US']];
$this->xmlData['typeId'] = ['@attributes' => ['root' => '2.16.840.1.113883.1.3', 'extension' => 'POCD_HD000040']];
// QRDA templateId
$this->xmlData['templateId'][] = ['@attributes' => ['root' => '2.16.840.1.113883.10.20.22.1.1']];
// QDM-based QRDA templateId
$this->xmlData['templateId'][] = ['@attributes' => ['root' => '2.16.840.1.113883.10.20.22.1.2']];
// QRDA templateId
$this->xmlData['templateId'][] = ['@attributes' => ['root' => '2.16.840.1.113883.10.20.24.1.1']];
// QDM-based QRDA templateId
$this->xmlData['templateId'][] = ['@attributes' => ['root' => '2.16.840.1.113883.10.20.24.1.2']];
$this->xmlData['id'] = ['@attributes' => ['root' => 'MDHT', 'extension' => '1912668293']];
$this->xmlData['code'] = ['@attributes' => ['code' => '34133-9', 'displayName' => 'Summary of episode note', 'codeSystem' => '2.16.840.1.113883.6.1', 'codeSystemName' => 'LOINC']];
if (isset($this->encounter)) {
$this->xmlData['title'] = $this->facility['name'] . ' - Clinical Office Visit Summary';
} else {
$this->xmlData['title'] = $this->facility['name'] . ' - Continuity of Care Document';
}
$this->xmlData['effectiveTime'] = ['@attributes' => ['value' => $this->timeNow]];
$this->xmlData['confidentialityCode'] = ['@attributes' => ['code' => 'N', 'codeSystem' => '2.16.840.1.113883.5.25']];
$this->xmlData['languageCode'] = ['@attributes' => ['code' => 'en-US']];
$this->patientData = $this->Patient->getPatientDemographicDataByPid($this->pid);
$this->user = $this->User->getCurrentUserData();
$this->primaryProvider = $this->User->getUserByUid($this->patientData['primary_provider']);
$this->xmlData['recordTarget'] = $this->getRecordTarget();
$this->xmlData['author'] = $this->getAuthor();
$this->xmlData['dataEnterer'] = $this->getDataEnterer();
$this->xmlData['informant'] = $this->getInformant();
$this->xmlData['custodian'] = $this->getCustodian();
$this->xmlData['informationRecipient'] = $this->getInformationRecipient();
$this->xmlData['legalAuthenticator'] = $this->getAuthenticator();
$this->xmlData['authenticator'] = $this->getAuthenticator();
$this->xmlData['documentationOf'] = $this->getDocumentationOf();
if (isset($this->encounter)) {
$this->xmlData['componentOf'] = $this->getComponentOf();
}
$this->xmlData['component']['structuredBody']['component'] = [];
}
示例6: Patient
$healthProviderGUID = UUID::v4();
$Patient = new Patient();
$Encounter = new Encounter();
$Medical = new Medical();
$Facilities = new Facilities();
/**
* Actors - (SHALL)
* ------
* Used as a container to define all of the individuals, organizations, locations, and systems associated with
* data in the summary document. Within the CCR data set, an Actor is a <Person>, <Organization> or
* <Device>. These correspond to the HL7 RIM Entity classes: LivingSubject, Person, Organization or
* Device, and are mapped accordingly to these classes as exposed in a CDA document. Whereas ASTM CCR
* enumerates all Actors in the CCR Footer and references those Actors from within the CCR Body with the
* <ActorLink> element, CCD defines many participants within the document header and body.
*/
$patientData = $Patient->getPatientDemographicDataByPid($pid);
$actors = array('Actor' => array(array('ActorObjectID' => $patientGUID, 'Person' => array('Name' => array('CurrentName' => array('Given' => $patientData['fname'], 'Family' => $patientData['lname'], 'Suffix' => $patientData['title'])), 'DateOfBirth' => array('ExactDateTime' => date("Y-m-d", strtotime($patientData['DOB']))), 'Gender' => array('Text' => $patientData['sex'], 'Code' => array('Value' => $patientData['sex'] == 'Male' ? 'M' : 'F', 'CodingSystem' => '2.16.840.1.113883.5.1'))), 'IDs' => array(array('Type' => array('Text' => $patientData['pid']), 'ID' => '2-16-840-1-113883-19-5-996756495', 'IssuedBy' => array('ActorID' => '2.16.840.1.113883.19.5'), 'Source' => array('Actor' => array('ActorID' => $softwareGUID))), array('Type' => array('Text' => 'Covered party ID'), 'ID' => '14d4a520-7aae-11db-9fe1-0800200c9a66', 'IssuedBy' => array('ActorID' => '329fcdf0-7ab3-11db-9fe1-0800200c9a66'), 'Source' => array('Actor' => array('ActorID' => $softwareGUID)))), 'Source' => array('Actor' => array('ActorID' => $softwareGUID)))));
/**
* References - (OPTIONAL)
* ----------
* Used to list the details concerning references to external data sources. Corresponds to the CDA R2
* <reference> element. Whereas ASTM CCR enumerates all references in the CCR Footer, CCD defines the
* reference within the section where it occurs.
*/
$references = array('Reference' => array(array('ReferenceObjectID' => UUID::v4(), 'Description' => array('Text' => 'Advance directive', 'Code' => array('Value' => '371538006', 'CodingSystem' => 'SNOMED CT')), 'Source' => array('Actor' => array('ActorID' => $softwareGUID)), 'Locations' => array('Location' => array(array('Actor' => array('ActorID' => 'b50b7910-7ffb-4f4c-bbe4-177ed68cbbf3')))))));
/**
* Healthcare providers - (SHALL)
* --------------------
* Represents the healthcare providers involved in the current or pertinent historical care of the patient. At a
* minimum, the patient’s key healthcare providers should be listed, particularly their primary physician and
* any active consulting physicians, therapists, and counselors.