/** * Retourne un HealthCareFacility * * @return CCDAPOCD_MT000040_HealthCareFacility */ function setHealthCareFacility() { $healt = new CCDAPOCD_MT000040_HealthCareFacility(); $valeur = self::$cda_factory->healt_care; $ce = new CCDACE(); $ce->setCode($valeur["code"]); $ce->setCodeSystem($valeur["codeSystem"]); $ce->setDisplayName($valeur["displayName"]); $healt->setCode($ce); return $healt; }
/** * Retourne le code associé au sexe de la personne * * @param String $sexe String * * @return CCDACE */ function getAdministrativeGenderCode($sexe) { $ce = new CCDACE(); $ce->setCode(mb_strtoupper($sexe)); $ce->setCodeSystem("2.16.840.1.113883.5.1"); switch ($sexe) { case "f": $ce->setDisplayName("Féminin"); break; case "m": $ce->setDisplayName("Masculin"); break; default: $ce->setCode("U"); $ce->setDisplayName("Inconnu"); } return $ce; }
/** * Création d'une organisation * * @param CMediUsers $user CMediUsers * * @return CCDAPOCD_MT000040_Organization */ function setOrganization($user) { $factory = self::$cda_factory; $organization = new CCDAPOCD_MT000040_Organization(); $user->loadRefFunction(); $etablissement = $user->_ref_function->loadRefGroup(); $this->setIdEtablissement($organization, $etablissement); $ii = new CCDAII(); $ii->setRoot($factory->root); $organization->appendId($ii); $insdustry = $factory->industry_code; $ce = new CCDACE(); $ce->setCode($insdustry["code"]); $ce->setDisplayName($insdustry["displayName"]); $ce->setCodeSystem($insdustry["codeSystem"]); $organization->setStandardIndustryClassCode($ce); if ($etablissement->raison_sociale) { $name = $etablissement->raison_sociale; } else { $name = $etablissement->text; } $on = new CCDAON(); $on->setData($name); $organization->appendName($on); $tel = new CCDATEL(); $tel->setValue("tel:{$etablissement->tel}"); $organization->appendTelecom($tel); $ad = new CCDAAD(); $street = new CCDA_adxp_streetAddressLine(); $street->setData($etablissement->adresse); $street2 = new CCDA_adxp_streetAddressLine(); $street2->setData($etablissement->cp . " " . $etablissement->ville); $ad->append("streetAddressLine", $street); $ad->append("streetAddressLine", $street2); $organization->appendAddr($ad); return $organization; }
/** * Création d'un clinicalDocument * * @return CCDAPOCD_MT000040_ClinicalDocument */ function setClinicalDocument() { $factory = self::$cda_factory; $participation = parent::$participation; $actRelationship = parent::$actRelationship; //déclaration du document $clinicaldocument = new CCDAPOCD_MT000040_ClinicalDocument(); /** * Création de l'entête */ //Création de l'Id du document $ii = new CCDAII(); $ii->setRoot($factory->id_cda); $clinicaldocument->setId($ii); //création du typeId $clinicaldocument->setTypeId(); //Ajout du realmCode FR $cs = new CCDACS(); $cs->setCode($factory->realm_code); $clinicaldocument->appendRealmCode($cs); //Ajout du code langage fr-FR $cs = new CCDACS(); $cs->setCode($factory->langage); $clinicaldocument->setLanguageCode($cs); //Ajout de la confidentialité du document $confidentialite = $factory->confidentialite; $ce = new CCDACE(); $ce->setCode($confidentialite["code"]); $ce->setCodeSystem($confidentialite["codeSystem"]); $ce->setDisplayName($confidentialite["displayName"]); $clinicaldocument->setConfidentialityCode($ce); //Ajout de la date de création du document $ts = new CCDATS(); $ts->setValue($this->getTimeToUtc($factory->date_creation)); $clinicaldocument->setEffectiveTime($ts); //Ajout du numéro de version $int = new CCDAINT(); $int->setValue($factory->version); $clinicaldocument->setVersionNumber($int); //Ajout de l'identifiant du lot $ii = new CCDAII(); $ii->setRoot($factory->id_cda_lot); $clinicaldocument->setSetId($ii); //Ajout du nom du document $st = new CCDAST(); $st->setData($factory->nom); $clinicaldocument->setTitle($st); //Ajout du code du document (Jeux de valeurs) $ce = new CCDACE(); $code = $factory->code; $ce->setCode($code["code"]); $ce->setCodeSystem($code["codeSystem"]); $ce->setDisplayName($code["displayName"]); $clinicaldocument->setCode($ce); /** * Déclaration Template */ //conformité HL7 foreach ($factory->templateId as $_templateId) { $clinicaldocument->appendTemplateId($_templateId); } /** * Création des éléments obligatoire constituant le document */ //Ajout des patients $clinicaldocument->appendRecordTarget($participation->setRecordTarget()); //Ajout de l'établissement $clinicaldocument->setCustodian($participation->setCustodian()); //Ajout des auteurs $clinicaldocument->appendAuthor($participation->setAuthor()); //Ajout de l'auteur legal $clinicaldocument->setLegalAuthenticator($participation->setLegalAuthenticator()); //Ajout des actes médicaux(ccam et cim10) $clinicaldocument->appendDocumentationOf($actRelationship->setDocumentationOF()); //Ajout de la rencontre(Contexte : séjour, consultation, opération) $clinicaldocument->setComponentOf($actRelationship->setComponentOf()); //Ajout du document parent $clinicaldocument->appendRelatedDocument($actRelationship->appendRelatedDocument()); /** * Création du corp du document */ $clinicaldocument->setComponent($actRelationship->setComponent2()); return $clinicaldocument; }