Exemplo n.º 1
0
function loadUpdateClientInfoXml($filename)
{
    $xml = file_get_contents($filename);
    $clientNode = @simplexml_load_string($xml);
    if (!$clientNode) {
        throw new RuntimeException("Failed to parse " . $filename);
    }
    $resources = array();
    foreach ($clientNode->eocs->eoc as $eocNode) {
        $resource = new Resource();
        $resource->setType('perinatologie/dossier');
        // Client details
        $resource->addPropertyValue('bsn', $clientNode->bsn);
        $resource->addPropertyValue('birthdate', $clientNode->birthdate);
        $resource->addPropertyValue('zisnummer', $clientNode->zisnummer);
        $resource->addPropertyValue('firstname', $clientNode->firstname);
        $resource->addPropertyValue('lastname', $clientNode->lastname);
        // Eoc details
        $resource->addPropertyValue('reference', $eocNode->reference);
        $resource->addPropertyValue('gravida', $eocNode->gravida);
        $resource->addPropertyValue('para', $eocNode->para);
        $resource->addPropertyValue('starttimestamp', $eocNode->starttimestamp);
        $resource->addPropertyValue('edd', $eocNode->edd);
        foreach ($eocNode->teammember as $shareNode) {
            $share = new Share();
            $share->setName((string) $shareNode->name);
            $share->setIdentifierType('agb');
            $share->setIdentifier((string) $shareNode->agb);
            $share->setPermission((string) $shareNode->permission);
            $resource->addShare($share);
        }
        $resources[] = $resource;
    }
    return $resources;
}
Exemplo n.º 2
0
 private function parseDossiersXmlToResources($xml)
 {
     $rootNode = @simplexml_load_string($xml);
     if (!$rootNode) {
         echo $xml;
         throw new RuntimeException("Failed to parse response as XML...\n");
     }
     $resources = array();
     foreach ($rootNode->dossier as $dossierNode) {
         if ($dossierNode->client && $dossierNode->client->eocs) {
             $clientNode = $dossierNode->client;
             $providerNode = $dossierNode->provider;
             foreach ($dossierNode->client->eocs->eoc as $eocNode) {
                 $resource = new Resource();
                 $resource->setType('perinatologie/dossier');
                 $resource->addPropertyValue('reference', $eocNode->reference);
                 $resource->addPropertyValue('client_bsn', $clientNode->bsn);
                 $resource->addPropertyValue('client_birthdate', $clientNode->birthdate);
                 $resource->addPropertyValue('client_displayname', $clientNode->displayname);
                 $resource->addPropertyValue('client_zisnr', $clientNode->zisnr);
                 $resource->addPropertyValue('gravida', $eocNode->gravida);
                 $resource->addPropertyValue('para', $eocNode->para);
                 $resource->addPropertyValue('provider_reference', $providerNode->dbname);
                 $resource->addPropertyValue('provider_apiurl', $providerNode->apiurl);
                 $source = new Source();
                 $source->setApi('v1');
                 $resource->setSource($source);
                 $resources[] = $resource;
             }
         }
     }
     return $resources;
 }
Exemplo n.º 3
0
 private function parseResourceXmlToResource($resourceNode)
 {
     $resource = new Resource();
     $resource->setType((string) $resourceNode['type']);
     foreach ($resourceNode->property as $propertyNode) {
         $resource->addPropertyValue($propertyNode['name'], (string) $propertyNode);
     }
     return $resource;
 }