Skip to content

Commit 5ec02f4

Browse files
committed
Correct Parameters.parameter sent as bare object instead of array
patchset_resource() was assigning a single Parameter to parameters.parameter, which fhir_models serialized as a bare JSON object. FHIR R4 requires Parameters.parameter to be a JSON array. Build the parameter first then assign as [param].
1 parent ae5234b commit 5ec02f4

1 file changed

Lines changed: 8 additions & 7 deletions

File tree

lib/tests/suites/fhir_path_patch_test.rb

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -126,19 +126,20 @@ def resource_format(f)
126126

127127
def patchset_resource(op, path, name, value)
128128
parameters = get_resource(:Parameters).new
129-
parameters.parameter = new_parameter("operation")
130-
parameters.parameter.part = [
129+
param = new_parameter("operation")
130+
param.part = [
131131
new_parameter("type"),
132132
new_parameter("path"),
133133
new_parameter("value")
134134
]
135-
parameters.parameter.part[0].valueCode = op
136-
parameters.parameter.part[1].valueString = path
137-
parameters.parameter.part[2].valueString = value
135+
param.part[0].valueCode = op
136+
param.part[1].valueString = path
137+
param.part[2].valueString = value
138138
if !name.nil?
139-
parameters.parameter.part += new_parameter("name")
140-
parameters.parameter.part[3].valueString = name
139+
param.part += [new_parameter("name")]
140+
param.part[3].valueString = name
141141
end
142+
parameters.parameter = [param]
142143
parameters
143144
end
144145

0 commit comments

Comments
 (0)