Question
· Sept 26, 2023

Comment valider une ressource FHIR depuis la production ?

Salut la communauté

J'ai créé un service métier créé à partir de "HS.FHIRServer.Interop.Service" dans la production FHIR.

Je souhaite valider la ressource Patient de FHIR selon laquelle l'âge doit être supérieur à 18 ans.

Comment puis-je y parvenir à partir d'objectscript ainsi qu'à partir de DTL ?

Merci

Discussion (1)1
Connectez-vous ou inscrivez-vous pour continuer

Réponse de @Ashok Kumar 

Bonjour @Muhammad Waseem 

Vous pouvez peut-être essayer d'extraire la ressource patient du bundle ou l'utiliser si c'est déjà une ressource. Chargez la classe du modèle patient FHIR HS.FHIR.DTL.vR4.Model.Resource.Patient avec la ressource extraite. Ensuite, vous pouvez convertir la date de naissance et valider l'âge. Vous pouvez utiliser la même logique dans votre code DTL dans un processus FHIR entre le service FHIR (HS.FHIRServer.Interop.Service) et l'opération FHIR (HS.FHIRServer.Interop.Operation).

ClassMethod VaidatePatientResource(patientResourceStreram As %Stream.Object)
{
	#dim patient As HS.FHIR.DTL.vR4.Model.Resource.Patient
	try {
		set patient = ##class(HS.FHIR.DTL.vR4.Model.Resource.Patient).FromJSON(patientResourceStreram)
		Set age = $horolog - $ZdateH(patient.birthDate,3)\360
		if age<18 $$$ThrowStatus($$$ERROR($$$GeneralError, "Age is less than 18"))
	}
	catch ex {
		w ex.DisplayString()
	}
}