FHIR Implementation Guide Testables Using Test Script Validation

Hello Folks!
We are in the process of coming up with a testing validation methodology of validating fhir profiles built in fhir implementation guide https://fhir.openmrs.org/. Thanks to @abertnamanya.

This methodology is a bit similar with current fhir2 integration tests used in fhir2module, However, we would love our approach to be based on.

  • Fhir IG resource Profiles are to be validated using the same resources in the fhir2 module. There should be a mechanism that will trigger a running Fhir IG if and only if its resource changes. Forexample if we happen to change this payload
{
  "resourceType": "Patient",
  "identifier": {
    "extension": [{
      "url": "http://fhir.openmrs.org/ext/patient/identifier#location",
      "valueReference": {
        "reference": "Location/92ab9667-4686-49af-8be8-65a4b58fc49c",
        "type": "Location"
      }
    }],
    "use": "official",
    "type": {
      "text": "Test Identifier Type"
    },
    "value": "4444-6"
  },
  "name": [
    {
      "given": [
        "Adam"
      ],
      "family": "John"
    }
  ]

Fhir ig should get a notification that something in the fhir2 module integration tests has changed within its validated JSON payload. This will also improve our integration tests to be well-validated with our fhir running IG resources and hence fhir ig testable.

We had several discussions with @abertnamanya @pmanko @mozzy @josecosta about this. And one idea is to write test Scripts that will validate these resources using postman which works but is limited to fhir2 module integration tests. something like

  pm.test("Successful PUT request", function () {*
     pm.expect(pm.response.code).to.be.oneOf([200]);*
 });

Looking for more ideas and suggestions of how to come up with methodology that will validate fhir ig resources with fhir2 integration tests. cc @pmanko @ibacher @mozzy @abertnamanya .

Best Regards. Sharif.

Hello Folks, Bringing back this thread,

We resolved to postman testing, Postman testing requires writing test scripts using Postman Sandbox. Postman sandbox is a JavaScript execution environment that’s available to you while writing pre-request and test scripts for requests (both in Postman and Newman). Whatever code you write in these sections is executed in this sandbox.

As a testable ig, we envision using testscripts against our endpoints in postman for validation. cc @pmanko