FHIR Chat · regular expressions · IG creation

Stream: IG creation

Topic: regular expressions


view this post on Zulip Bob Milius (Mar 19 2020 at 14:31):

I need to require an Observation I'm profiling to constrain valueCodeableConcept touse a specific code system and a code that is actually a grammar for which I have a rough regular expression I can use as a first pass validation. I know I can use patternCodeableConcept or create a slice to constrain the code system, but I'm not sure how to constrain the code to the regex. I see I can use a regex with matches() in a fhirpath (http://hl7.org/fhirpath/#matchesregex-string-boolean) but not sure how to use it. Maybe invariant? I'd love to see an example if this is possible.

view this post on Zulip Noemi Deppenwiese (Mar 19 2020 at 14:40):

Not a CodeableConcept, but one of my profiles has an Identifier slice with fixed system and a regex for the value:

{
        "id": "Organization.identifier:Bbmri-EricId.system",
        "path": "Organization.identifier.system",
        "fixedUri": "http://www.bbmri-eric.eu/",
        "mustSupport": true
      },
      {
        "id": "Organization.identifier:Bbmri-EricId.value",
        "path": "Organization.identifier.value",
        "constraint": [
          {
            "key": "bbmri-id-1",
            "requirements": "Make sure valid BBMRI IDs are provided",
            "severity": "warning",
            "human": "<CC>_<local id>: SHALL contain valid ISO-3166-1 alpha 2 country code followed by _ followed by biobank ID of national registry (if present).",
            "expression": "matches('^([a-z]){2}_([a-zA-Z\\\\d])+$')",
            "source": "Organization"
          }
        ],
        "mustSupport": true
      },

view this post on Zulip Mark Kramer (Mar 19 2020 at 14:56):

@ Bob Milius If you are doing this in FHIR Shorthand, it would be (not yet available, but it will be in the next release):

Invariant:  bbmri-id-1
Description: "Make sure valid BBMRI IDs are provided"
Expression: "matches('^([a-z]){2}_([a-zA-Z\\\\d])+$')"
Severity:   #warning

Then in the profile:

* identifier.value obeys bbmri-id-1

view this post on Zulip Bob Milius (Mar 19 2020 at 15:11):

Thanks @Noemi Deppenwiese and @Mark Kramer
Mark, I'll continue with my questions about FSH and regex in the shorthand stream


Last updated: Apr 12 2022 at 19:14 UTC