0

EDIT: Confirmed by SMILE support to be a bug. Is currently being worked on and will presumably be fixed in a future update.

I am trying to test a $validate operation on an update for an existing resource as described here but I keep getting an error message saying that the resource doesn't have an Id, even though it does. Am I missing a separate ID field or something?

Endpoint is ...fhir/Patient/21b4d29b-223c-473e-8f29-9c36e838dc60/$validate

{
  "resourceType": "Parameters",
  "parameter": [
    {
      "name": "mode",
      "valueString": "update"
    },
    {
      "name": "resource",
      "resource": 
      {
        "resourceType": "Patient",
        "id": "21b4d29b-223c-473e-8f29-9c36e838dc60"
      }
    }
  ]
}

The error message I get is

{
    "resourceType": "OperationOutcome",
    "issue": [
        {
            "severity": "error",
            "code": "processing",
            "diagnostics": "HAPI-0998: Resource has no ID - ID must be populated for a FHIR update"
        }
    ]
}

Let me know if any other info would be helpful, thanks!

Note I'm using Smile CDR 6.0.4 if that matters.

Blasterdude8
  • 101
  • 1
  • 5

2 Answers2

0

You have to put the resource (Patient) into the body of the POST message. If you are validating against a different profile other than the base specification then you need to provide the canonical URL for that profile.

Spindoctor
  • 434
  • 3
  • 17
0

Confirmed by SMILE support to be a bug. Is currently being worked on and will presumably be fixed in a future update.

Blasterdude8
  • 101
  • 1
  • 5