Hi Community, This article will demonstrate how to create Patient and Patient Observation Resources  by using iris-fhir-client application. ![image](https://user-images.githubusercontent.com/18219467/170976217-70b63f48-981a-4b76-9f9a-282f5f86ff59.png) I recommend to read my  first article  about this app and watch Youtube Video  before continue so let's start ## 1-Create Patient Resource below CreatePatient() function of dc.FhirClient can be use to Create Patient Resource ClassMethod CreatePatient(givenName As %String, familyName As %String, birthDate As %String,gender As %String) `function requires giveName,failyName,birthDate and gender to create Patient Resource<br> below command will create Patient` do ##class(dc.FhirClient).CreatePatient("PatientGN","PatientFN","2000-06-01","male") ![image](https://user-images.githubusercontent.com/18219467/171737063-423401ef-0d59-4ce9-ac1d-af9f5c75c9b7.png) Below is the python function in irisfhirclient.py file which will create patient
&lt;span class="hljs-keyword">import&lt;/span> json
&lt;span class="hljs-keyword">from&lt;/span> fhirpy &lt;span class="hljs-keyword">import&lt;/span> SyncFHIRClient
&lt;span class="hljs-keyword">from&lt;/span> tabulate &lt;span class="hljs-keyword">import&lt;/span> tabulate
&lt;span class="hljs-keyword">from&lt;/span> fhirpy.base.searchset &lt;span class="hljs-keyword">import&lt;/span> Raw
&lt;span class="hljs-keyword">import&lt;/span> requests

&lt;span class="hljs-function">&lt;span class="hljs-keyword">def&lt;/span> &lt;span class="hljs-title">CreatePatient&lt;/span>&lt;span class="hljs-params">(givenName,familyName,birthDate,gender,url,api_key)&lt;/span>:&lt;/span>
    headers = {&lt;span class="hljs-string">"Content-Type"&lt;/span>:contentType,&lt;span class="hljs-string">"x-api-key"&lt;/span>:api_key}
    client = SyncFHIRClient(url = url, extra_headers=headers)
    
    patient = client.resource(&lt;span class="hljs-string">"Patient"&lt;/span>)
    patient[&lt;span class="hljs-string">'name'&lt;/span>] = [
        {
            &lt;span class="hljs-string">'given'&lt;/span>: [givenName],
            &lt;span class="hljs-string">'family'&lt;/span>: familyName,
            &lt;span class="hljs-string">'use'&lt;/span>: &lt;span class="hljs-string">'official'&lt;/span>
        }
    ]

    patient[&lt;span class="hljs-string">'birthDate'&lt;/span>] = birthDate
    patient[&lt;span class="hljs-string">'gender'&lt;/span>] = gender
    &lt;span class="hljs-keyword">try&lt;/span>:
        patient.save()
    &lt;span class="hljs-keyword">except&lt;/span> Exception &lt;span class="hljs-keyword">as&lt;/span> e:
        print(&lt;span class="hljs-string">"Error while creating Patient:"&lt;/span> +str(e))       
        &lt;span class="hljs-keyword">return&lt;/span>
    print(&lt;span class="hljs-string">"Patient Created Successfully"&lt;/span>)    
  ## 2- Create Patient Observation Resource   #### Let us create Observation against our newly created Patient Resource ###### below CreateObservatoin() function of dc.FhirClient can be use to Create Patient Observatoins ClassMethod CreateObservation(patientId As %String, loincCode As %String, ObrCategory As %String, ObrValue As %Integer, ObrUOM As %String, effectiveDate As %String) Parametres * patientId is the Id of Patient * LioncCode is Lionc Code, Detail can be found here * ObrCategory is Observation Category, Detail can be found here * ObrValue is Observatoin Value * ObrUOM is Observation Unit * EffectiveDate below command will create Patient Vital Sign Observation do ##class(dc.FhirClient).CreateObservation("8111","8310-5","vital-signs",96.8,"degF","2022-01-22") ![image](https://user-images.githubusercontent.com/18219467/171738074-2a0dda54-6215-46b0-a3aa-6a2fcb27bb85.png) Let's List down patient observations do ##class(dc.FhirClient).GetPatientResources("Observation","8111") ![image](https://user-images.githubusercontent.com/18219467/172003634-3f8c9ef6-76c2-4af0-97ac-e4431750e2e1.png) Below is the python function in irisfhirclient.py file which will create patient
&lt;span class="hljs-keyword">import&lt;/span> json
&lt;span class="hljs-keyword">from&lt;/span> fhirpy &lt;span class="hljs-keyword">import&lt;/span> SyncFHIRClient
&lt;span class="hljs-keyword">from&lt;/span> tabulate &lt;span class="hljs-keyword">import&lt;/span> tabulate
&lt;span class="hljs-keyword">from&lt;/span> fhirpy.base.searchset &lt;span class="hljs-keyword">import&lt;/span> Raw
&lt;span class="hljs-keyword">import&lt;/span> requests

&lt;span class="hljs-comment">#Function to create Patient Observation&lt;/span>
&lt;span class="hljs-function">&lt;span class="hljs-keyword">def&lt;/span> &lt;span class="hljs-title">CreateObservation&lt;/span>&lt;span class="hljs-params">(patientId,loincCode,ObrCategory,ObrValue,ObrUOM,effectiveDate,url,api_key)&lt;/span>:&lt;/span>
    headers = {&lt;span class="hljs-string">"Content-Type"&lt;/span>:contentType,&lt;span class="hljs-string">"x-api-key"&lt;/span>:api_key}
    client = SyncFHIRClient(url = url, extra_headers=headers)
    observation = client.resource(
    &lt;span class="hljs-string">'Observation'&lt;/span>,
    status=&lt;span class="hljs-string">'preliminary'&lt;/span>,
    category=[{
        &lt;span class="hljs-string">'coding'&lt;/span>: [{
            &lt;span class="hljs-string">'system'&lt;/span>: &lt;span class="hljs-string">'http://hl7.org/fhir/observation-category'&lt;/span>,
            &lt;span class="hljs-string">'code'&lt;/span>: ObrCategory
        }]
    }],
    code={
        &lt;span class="hljs-string">'coding'&lt;/span>: [{
            &lt;span class="hljs-string">'system'&lt;/span>: &lt;span class="hljs-string">'http://loinc.org'&lt;/span>,
            &lt;span class="hljs-string">'code'&lt;/span>: loincCode
        }]
    })
    observation[&lt;span class="hljs-string">'effectiveDateTime'&lt;/span>] = effectiveDate
       
    observation[&lt;span class="hljs-string">'valueQuantity'&lt;/span>] = {
    &lt;span class="hljs-string">'system'&lt;/span>: &lt;span class="hljs-string">'http://unitsofmeasure.org'&lt;/span>,
    &lt;span class="hljs-string">'value'&lt;/span>: ObrValue,
    &lt;span class="hljs-string">'code'&lt;/span>: ObrUOM
    }
    
    &lt;span class="hljs-comment">#find the patient&lt;/span>
    patient = client.resources(&lt;span class="hljs-string">'Patient'&lt;/span>).search(_id=patientId).first()
    observation[&lt;span class="hljs-string">'subject'&lt;/span>] = patient.to_reference()
    
    &lt;span class="hljs-keyword">try&lt;/span>:
        observation.save()
    &lt;span class="hljs-keyword">except&lt;/span> Exception &lt;span class="hljs-keyword">as&lt;/span> e:
        print(&lt;span class="hljs-string">"Error while creating observation :"&lt;/span>+ str(e))       
        &lt;span class="hljs-keyword">return&lt;/span>
    print(&lt;span class="hljs-string">"Patient Observation Created Successfully"&lt;/span>)
That's it If you found this app useful, consider voting for my app. Thanks