/** * Fonction permettant de tester la classe * * @return array */ function test() { $tabTest = parent::test(); /** * Test avec un Id incorrect */ $ii = new CCDAII(); $ii->setRoot("4TESTTEST"); $this->setId($ii); $tabTest[] = $this->sample("Test avec un Id incorrect", "Document invalide"); /*-------------------------------------------------------------------------------------*/ /** * Test avec un Id correct */ $ii->setRoot("1.2.250.1.213.1.1.9"); $this->setId($ii); $tabTest[] = $this->sample("Test avec un Id correct", "Document invalide"); /*-------------------------------------------------------------------------------------*/ /** * Test avec un code incorrect */ $ce = new CCDACE(); $ce->setCode(" "); $this->setCode($ce); $tabTest[] = $this->sample("Test avec un code incorrect", "Document invalide"); /*-------------------------------------------------------------------------------------*/ /** * Test avec un code correct */ $ce->setCode("SYNTH"); $this->setCode($ce); $tabTest[] = $this->sample("Test avec un code correct", "Document invalide"); /*-------------------------------------------------------------------------------------*/ /** * Test avec deux templateId correcte */ $ii = new CCDAII(); $ii->setRoot("1.2.5"); $this->appendTemplateId($ii); $tabTest[] = $this->sample("Test avec deux templateId correct", "Document invalide"); /*-------------------------------------------------------------------------------------*/ /** * Test avec trois templateId correcte */ $ii = new CCDAII(); $ii->setRoot("1.2.5.6"); $this->appendTemplateId($ii); $tabTest[] = $this->sample("Test avec trois templateId correct", "Document invalide"); /*-------------------------------------------------------------------------------------*/ /** * Test avec un author correcte */ $auth = new CCDAPOCD_MT000040_Author(); $ts = new CCDATS(); $ts->setValue("24141331462095.812975314545697850652375076363185459409261232419230495159675586"); $auth->setTime($ts); $assigned = new CCDAPOCD_MT000040_AssignedAuthor(); $ii = new CCDAII(); $ii->setRoot("1.2.5"); $assigned->appendId($ii); $auth->setAssignedAuthor($assigned); $this->appendAuthor($auth); $tabTest[] = $this->sample("Test avec un author correct", "Document invalide"); /*-------------------------------------------------------------------------------------*/ /** * Test avec un custodian correcte */ $custo = new CCDAPOCD_MT000040_Custodian(); $assign = new CCDAPOCD_MT000040_AssignedCustodian(); $custoOrg = new CCDAPOCD_MT000040_CustodianOrganization(); $ii = new CCDAII(); $ii->setRoot("1.25.2"); $custoOrg->appendId($ii); $assign->setRepresentedCustodianOrganization($custoOrg); $custo->setAssignedCustodian($assign); $this->setCustodian($custo); $tabTest[] = $this->sample("Test avec un custodian correct", "Document invalide"); /*-------------------------------------------------------------------------------------*/ /** * Test avec un recordTarget correcte */ $reco = new CCDAPOCD_MT000040_RecordTarget(); $rolePatient = new CCDAPOCD_MT000040_PatientRole(); $ii = new CCDAII(); $ii->setRoot("1.2.250.1.213.1.1.9"); $rolePatient->appendId($ii); $reco->setPatientRole($rolePatient); $this->appendRecordTarget($reco); $tabTest[] = $this->sample("Test avec un recordTarget correct", "Document invalide"); /*-------------------------------------------------------------------------------------*/ /** * Test avec un effectiveTime incorrect */ $ts = new CCDATS(); $ts->setValue("TEST"); $this->setEffectiveTime($ts); $tabTest[] = $this->sample("Test avec un effectiveTime incorrect", "Document invalide"); /*-------------------------------------------------------------------------------------*/ /** * Test avec un effectiveTime correct */ $ts->setValue("75679245900741.869627871786625715081550660290154484483335306381809807748522068"); $this->setEffectiveTime($ts); $tabTest[] = $this->sample("Test avec un effectiveTime correct", "Document invalide"); /*-------------------------------------------------------------------------------------*/ /** * Test avec un confidentialityCode incorrect */ $ce = new CCDACE(); $ce->setCode(" "); $this->setConfidentialityCode($ce); $tabTest[] = $this->sample("Test avec un confidentialityCode incorrect", "Document invalide"); /*-------------------------------------------------------------------------------------*/ /** * Test avec un confidentialityCode correct */ $ce->setCode("TEST"); $this->setConfidentialityCode($ce); $tabTest[] = $this->sample("Test avec un confidentialityCode correct", "Document invalide"); /*-------------------------------------------------------------------------------------*/ /** * Test avec un component correcte */ $comp = new CCDAPOCD_MT000040_Component2(); $nonXML = new CCDAPOCD_MT000040_NonXMLBody(); $ed = new CCDAED(); $ed->setLanguage("TEST"); $nonXML->setText($ed); $comp->setNonXMLBody($nonXML); $this->setComponent($comp); $tabTest[] = $this->sample("Test avec un component correct", "Document valide"); /*-------------------------------------------------------------------------------------*/ /** * Test avec un classCode correcte */ $this->setClassCode(); $tabTest[] = $this->sample("Test avec un classCode correct", "Document valide"); /*-------------------------------------------------------------------------------------*/ /** * Test avec un moodCode correcte */ $this->setMoodCode(); $tabTest[] = $this->sample("Test avec un moodCode correct", "Document valide"); /*-------------------------------------------------------------------------------------*/ /** * Test avec un title correct */ $st = new CCDAST(); $st->setData("TEST"); $this->setTitle($st); $tabTest[] = $this->sample("Test avec un title correct", "Document valide"); /*-------------------------------------------------------------------------------------*/ /** * Test avec un languageCode incorrect */ $cs = new CCDACS(); $cs->setCode(" "); $this->setLanguageCode($cs); $tabTest[] = $this->sample("Test avec un languageCode incorrect", "Document invalide"); /*-------------------------------------------------------------------------------------*/ /** * Test avec un languageCode correct */ $cs->setCode("TEST"); $this->setLanguageCode($cs); $tabTest[] = $this->sample("Test avec un languageCode correct", "Document valide"); /*-------------------------------------------------------------------------------------*/ /** * Test avec un setId incorrect */ $ii = new CCDAII(); $ii->setRoot("4TESTTEST"); $this->setSetId($ii); $tabTest[] = $this->sample("Test avec un setId incorrect", "Document invalide"); /*-------------------------------------------------------------------------------------*/ /** * Test avec un setId correct */ $ii->setRoot("1.25.4"); $this->setSetId($ii); $tabTest[] = $this->sample("Test avec un setId correct", "Document valide"); /*-------------------------------------------------------------------------------------*/ /** * Test avec un versionNumber incorrect */ $int = new CCDAINT(); $int->setValue("10.25"); $this->setVersionNumber($int); $tabTest[] = $this->sample("Test avec un versionNumber incorrect", "Document invalide"); /*-------------------------------------------------------------------------------------*/ /** * Test avec un versionNumber correct */ $int->setValue("10"); $this->setVersionNumber($int); $tabTest[] = $this->sample("Test avec un versionNumber correct", "Document valide"); /*-------------------------------------------------------------------------------------*/ /** * Test avec un copyTime incorrect */ $ts = new CCDATS(); $ts->setValue("TEST"); $this->setCopyTime($ts); $tabTest[] = $this->sample("Test avec un copyTime incorrect", "Document invalide"); /*-------------------------------------------------------------------------------------*/ /** * Test avec un copyTime correct */ $ts->setValue("75679245900741.869627871786625715081550660290154484483335306381809807748522068"); $this->setCopyTime($ts); $tabTest[] = $this->sample("Test avec un copyTime correct", "Document valide"); /*-------------------------------------------------------------------------------------*/ /** * Test avec un dataEnterer correct */ $data = new CCDAPOCD_MT000040_DataEnterer(); $assign = new CCDAPOCD_MT000040_AssignedEntity(); $ii = new CCDAII(); $ii->setRoot("1.2.5"); $assign->appendId($ii); $data->setAssignedEntity($assign); $this->setDataEnterer($data); $tabTest[] = $this->sample("Test avec un dataEnterer correct", "Document valide"); /*-------------------------------------------------------------------------------------*/ /** * Test avec un informant correct */ $infor = new CCDAPOCD_MT000040_Informant12(); $assigned = new CCDAPOCD_MT000040_AssignedEntity(); $ii = new CCDAII(); $ii->setRoot("1.2.5"); $assigned->appendId($ii); $infor->setAssignedEntity($assigned); $this->appendInformant($infor); $tabTest[] = $this->sample("Test avec un informant correct", "Document valide"); /*-------------------------------------------------------------------------------------*/ /** * Test avec un informationRecipient correct */ $inforReci = new CCDAPOCD_MT000040_InformationRecipient(); $inten = new CCDAPOCD_MT000040_IntendedRecipient(); $inten->setTypeId(); $inforReci->setIntendedRecipient($inten); $this->appendInformationRecipient($inforReci); $tabTest[] = $this->sample("Test avec un informationRecipient correct", "Document valide"); /*-------------------------------------------------------------------------------------*/ /** * Test avec un legalAuthenticator correct */ $legal = new CCDAPOCD_MT000040_LegalAuthenticator(); $ts = new CCDATS(); $ts->setValue("24141331462095.812975314545697850652375076363185459409261232419230495159675586"); $legal->setTime($ts); $cs = new CCDACS(); $cs->setCode("TEST"); $legal->setSignatureCode($cs); $assigned = new CCDAPOCD_MT000040_AssignedEntity(); $ii = new CCDAII(); $ii->setRoot("1.2.5"); $assigned->appendId($ii); $legal->setAssignedEntity($assigned); $tabTest[] = $this->sample("Test avec un legalAuthenticator correct", "Document valide"); /*-------------------------------------------------------------------------------------*/ /** * Test avec un authenticator correct */ $authen = new CCDAPOCD_MT000040_Authenticator(); $ts = new CCDATS(); $ts->setValue("24141331462095.812975314545697850652375076363185459409261232419230495159675586"); $authen->setTime($ts); $cs = new CCDACS(); $cs->setCode("TEST"); $authen->setSignatureCode($cs); $assigned = new CCDAPOCD_MT000040_AssignedEntity(); $ii = new CCDAII(); $ii->setRoot("1.2.5"); $assigned->appendId($ii); $authen->setAssignedEntity($assigned); $tabTest[] = $this->sample("Test avec un authenticator correct", "Document valide"); /*-------------------------------------------------------------------------------------*/ /** * Test avec un participant correct */ $part = new CCDAPOCD_MT000040_Participant1(); $associated = new CCDAPOCD_MT000040_AssociatedEntity(); $associated->setClassCode("RoleClassPassive"); $part->setAssociatedEntity($associated); $part->setTypeCode("CST"); $this->appendParticipant($part); $tabTest[] = $this->sample("Test avec un participant correct", "Document valide"); /*-------------------------------------------------------------------------------------*/ /** * Test avec un inFulfillmentOf correct */ $inFull = new CCDAPOCD_MT000040_InFulfillmentOf(); $ord = new CCDAPOCD_MT000040_Order(); $ii = new CCDAII(); $ii->setRoot("1.2.5"); $ord->appendId($ii); $inFull->setOrder($ord); $this->appendInFulfillmentOf($inFull); $tabTest[] = $this->sample("Test avec un inFulfillmentOf correct", "Document valide"); /*-------------------------------------------------------------------------------------*/ /** * Test avec un documentationOf correct */ $doc = new CCDAPOCD_MT000040_DocumentationOf(); $event = new CCDAPOCD_MT000040_ServiceEvent(); $event->setMoodCode(); $doc->setServiceEvent($event); $this->appendDocumentationOf($doc); $tabTest[] = $this->sample("Test avec un documentationOf correct", "Document valide"); /*-------------------------------------------------------------------------------------*/ /** * Test avec un relatedDocument correct */ $rela = new CCDAPOCD_MT000040_RelatedDocument(); $parent = new CCDAPOCD_MT000040_ParentDocument(); $ii = new CCDAII(); $ii->setRoot("1.2.5"); $parent->appendId($ii); $rela->setParentDocument($parent); $rela->setTypeCode("RPLC"); $this->appendRelatedDocument($rela); $tabTest[] = $this->sample("Test avec un relatedDocument correct", "Document valide"); /*-------------------------------------------------------------------------------------*/ /** * Test avec un authorization correct */ $autho = new CCDAPOCD_MT000040_Authorization(); $pocConsent = new CCDAPOCD_MT000040_Consent(); $cs = new CCDACS(); $cs->setCode(" "); $pocConsent->setStatusCode($cs); $autho->setConsent($pocConsent); $autho->setTypeCode(); $cs->setCode("TEST"); $pocConsent->setStatusCode($cs); $autho->setConsent($pocConsent); $this->appendAuthorization($autho); $tabTest[] = $this->sample("Test avec un authorization correct", "Document valide"); /*-------------------------------------------------------------------------------------*/ /** * Test avec un componentOf correct */ $compOf = new CCDAPOCD_MT000040_Component1(); $encou = new CCDAPOCD_MT000040_EncompassingEncounter(); $ivl_ts = new CCDAIVL_TS(); $hi = new CCDAIVXB_TS(); $hi->setValue("75679245900741.869627871786625715081550660290154484483335306381809807748522068"); $ivl_ts->setHigh($hi); $encou->setEffectiveTime($ivl_ts); $compOf->setEncompassingEncounter($encou); $this->setComponentOf($compOf); $tabTest[] = $this->sample("Test avec un componentOf correct", "Document valide"); /*-------------------------------------------------------------------------------------*/ return $tabTest; }
/** * 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; }