শেয়ার্ড হেলথ রেকর্ড

Looking for help?
< All Topics
Print

Fhir Upgrade

Following are the contract level changes that we have fixed for our bundles to be parseable.
In the reference library, we were mapping resouce value datatype of different types even if the resource accepted only a specific kind of value for it. Hapi does a strict validation on this. We need to investigate such datatypes and use appropriate ones.

Changes in current release version

 
Entry level changes:
  1.     Entry level updated,author tags are moved to bundle level meta data. Entry doesnot have an id.Every resource is now mandated to have an id.
  2.     Currently we are populating the resource id to the entry id.
Composition
     new mandatory fields added:
  1. type ->> NEED TO CREATE A VALUESET IN TR FOR THIS. (name is ‘doc-typecodes’ with document types from loinc).
  2. author,
  3. confidentiality => http://hl7.org/fhir/v3/Confidentiality – code system

Encounter
     subject => patient
     (Fields removed )
     indication
 
Observation
   The value[x] accepts only a limited set of datatypes. Some of them that we are using like Decimal are not present. Need to send appropriate datatypes.
 

Condition
     RelatedItem is replaced by dueTo and occurredFollowing.
     status is replaced by “clinicalStatus”
     dateAsserted date takes only date without tim component. -> Need to investigate how to map bahmni chief complaint duration after this change. We need to start using Period to capture duration.

Bundle 

  1. Bundle has to have a type -> Document. Validate this?
  2. base tag is mandated at either bundle level or at individual entry level.
  3. All bundle entry ids must be a uuid,
    in DSTU1 we had urn:<uuid>, this should be changed to have only <uuid>
    example:

    DSTU1 DSTU2
    <entry id=”urn:5f982a33-4454-4b74-9236-b8157aa8effd”> <entry id=”5f982a33-4454-4b74-9236-b8157aa8effd”>
  4. All reference urls should be either urls starting with http protocol or must be uuid prefixed with ‘urn:uuid:’.
Observation [breaking]
  1. name ==> code.

 

Immunization [breaking]
  1. refusalIndicator ==> wasNotGiven
  2. refusalReason ==> getReasonNotGiven
  3. subject ==> patient

 

MedicationPrescription [not breaking]
  1. dosageInstruction  can now take both dosageQuantity and dosageRange
          [dosageInstruction.dose field can capture two types           dosageQuantity,dosageRange]
To look into later:
Composition:
Confidentiality set to String – A code from the confidentiality vs
Composition type – Currently its either Discharge or Consultation. Should we fine grain to different types?

DrugMapper – MedicationPrescription:

Mapping frequency component along with duration and period (Revisit mapping logic from bahmni treatment to fhir MedicationPrescription. esp duration and frequency)- Needs more analysis and test cases. Just fixed compilation issues.

DosageInstruction needs more analysis.

Procedure

Procedure.Outcome,Procedure.FollowUp

– is a codeableconcept from a valueset rather than plain text.We can improve the ui?

Need to capture notes along with procedure
Procedure.DiagnosticReport.result
result is set as just display. Should be set as a reference to observation

Fields that can carry multiple value types 

Ex: FamilyMemberHistory.born – Can take period, date,string. Currently we have handled date types.Should we handle all the types? 

Need More Investigation:- 

  • Drug Order Mapper (upload and download flow)
  • Chief Complaint Mapper (How to map Chief Complaint Duration?) -> Ignored the tests
  • MCIPatientServiceImplIT – should save drug orders.

 

Changes for DSTU2 May version to Sep version :-

Bundle


bundle.entry.base has been renamed to bundle.entry.fullUrl

Composition

Title is made mandatory

Table of Contents